Skip to main content
Glama

Not-Happy-Jan

Multi-sensory feedback for AI coding agents: hold music while your agent works, then a local voice β€” cheerful on success, furious on failure β€” plus a buzz or flash on devices you already own.

"Not happy, Jan β€” the issue is…"

πŸ“– Read the docs Β· 🎬 Watch the demo Β· πŸš€ Quick start

⚠️ Public alpha β€” early and for fun, with rough edges. Open an issue or start a discussion.

Install

curl -fsSL https://raw.githubusercontent.com/guruswami-ai/not-happy-jan/main/install.sh | bash

One non-interactive command, no sudo. Requirements: Python 3.10+, about 8 GB RAM (16 GB recommended) and, for the default profile, about 5 GB disk. The full live-voice experience runs on Apple Silicon or Linux with an NVIDIA GPU; the minimal profile speaks from the bundled voice bank on any supported Mac or Linux box.

Profile

Use it when

Command

Default

Full cloned voices, dynamic lines and hold music, loaded on demand

bash install.sh

Full

You want warm local services for sub-second replies (macOS)

bash install.sh --full

Minimal

CI, low RAM, or no model downloads

bash install.sh --minimal

β†’ Compare them in Requirements & tiers and Install profiles. Linux or NVIDIA host? Start with the Linux guide. Nothing plays? The Quick start has the first checks (nhj voices, nhj devices, nhj status).

Related MCP server: @zeph-to/mcp-server

60-second quick start

nhj test ok                       # hear/feel/see a β€œdone” on every configured channel
nhj voices                        # meet Jan, Bazza and Karren
nhj set jan.ockerism 11           # tune a character live β€” or just ask your agent
nhj mode rave                     # try a one-word mode; `nhj status` shows where you are

What you'll experience

  • 🎷 Hold music while the agent works, pausing when it finishes β€” a zero-attention working/done signal.

  • πŸ‘© Jan says β€œall done”, πŸ§‘β€πŸ’Ό Bazza escalates warnings, and πŸ“£ Karren takes over when it breaks.

  • πŸ“Ÿ More than speakers: alerts can fan out to a haptic mouse, pixel clocks, a LaMetric, a Vestaboard or a physical bell.

  • 🧭 Many agents, still legible: alerts name the session, several coding CLIs are supported, and voice can be enabled per project.

Documentation

Start at the docs site, or jump by intent:

Security & privacy

Inference runs on your machine; cloned-voice references do not leave it. Local services bind to 127.0.0.1 by default, LAN access is opt-in, a secret guard can scan prompts for leaked credentials, and install/uninstall are reversible user-only operations. See SECURITY.md.

Credits & license

Built on the agent-feedback idea from AgentVibes by Paul Preibisch β€” and taken way too far. Live voices use Qwen3-TTS via mlx-audio on Apple Silicon, or audio.cpp on Linux/NVIDIA.

Code is MIT. Media and voice assets are licensed separately with mixed provenance; see Media provenance and only use voice references you own or have documented consent to use.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that plays notification sounds when AI coding assistants like Windsurf or Cursor require user attention, such as when coding is complete or when user approval is needed.
    10 npm
    2
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    MCP server for AI agents to send notifications, copy to clipboard, request confirmations, and collect text input from users across their devices.
    10
    45 npm
    Apache 2.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server enabling AI agents to provide real-time positive and negative feedback to users through connected devices, with configurable channels for PiShock/OpenShock (negative) and Intiface (positive).
    24 PyPI
    AGPL 3.0
  • A
    license
    A
    quality
    D
    maintenance
    A local MCP server that rings a bell through your speakers to provide audible notifications when AI completes tasks or needs attention.
    2
    MIT