Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add commands/noisy/noisy-coding/setupgit clone --depth 1 https://github.com/noisy/noisy-codingWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00016 | $0.00834 |
| Opus 5 | $0.00008 | $0.00417 |
| Sonnet 5 | $0.00003 | $0.00167 |
| Haiku 4.5 | $0.00002 | $0.00083 |
Grade A, and why
setup scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
2. Check whether the backend already runs: `curl -s -m 2 http://127.0.0.1:8765/status`. If it answers, skip to step 4. What it actually says
Set up the noisy-coding voice backend for this user. Follow these steps in order and narrate briefly as you go:
- Check Docker: run
docker --version. If missing, tell the user to install Docker Desktop (or the docker engine on Linux) and stop. - Check whether the backend already runs:
curl -s -m 2 http://127.0.0.1:8765/status. If it answers, skip to step 4. - Start the backend from the published image (multi-arch, hardware-free — all audio flows through the dashboard page). ALWAYS pull first —
docker runsilently reuses a stale locallatest, and a version-skewed container breaks the hooks in ways that are miserable to debug:
If the container name already exists, still pull; when the pull brought a new image, recreate the container (docker pull noisy/noisy-coding:latest docker run -d --name noisy-coding \ -p 127.0.0.1:8765-8767:8765-8767 \ -v noisy-coding-config:/root/.config/noisy-coding \ --restart unless-stopped \ noisy/noisy-coding:latestdocker rm -f noisy-coding, then thedocker runabove — the config volume preserves the API key); otherwise justdocker start noisy-coding. - Verify the services NON-INVASIVELY — exactly like this, no raw TCP probes:
curl -s http://127.0.0.1:8765/statusmust return JSON (the daemon),docker port noisy-codingmust list 8765, 8766 and 8767 (do NOTnc -zport 8766 — a bare TCP open on the WebSocket bridge dumps harmless-but-scary handshake tracebacks into the container logs),- the MCP endpoint needs no probe; if you must, know that a plain
curl http://127.0.0.1:8767/mcpreturning406 Not AcceptableIS the healthy answer (MCP requires anAccept: text/event-streamheader).
- Tell the user to finish in the browser at http://127.0.0.1:8765 —
- paste their xAI API key when asked (from console.x.ai),
- click the big amber ENABLE TAB AUDIO banner (the container preselects this tab as microphone and speaker; the click grants the mic permission),
- keep that tab open while talking.
- CLOSE THE LOOP — do not declare success yet. Ask the user to say when they've pasted the key and clicked the banner, then poll
curl -s http://127.0.0.1:8765/statusand confirm BOTH"api_key_set": trueAND"tab_audio": true. Only then report the setup as complete. If either stays false, debug with the user (key rejected? mic permission denied?). - The plugin already registered the MCP server and the voice hooks. On a first install the server usually shows as failed at this point — Claude Code tried to connect it at session start, before the container existed, and its ~30 s client-side timeout expired. NO full restart is needed: tell the user to run
/mcp, picknoisy-coding, and choose reconnect — the launcher respawns, finds the container running, and the speak tool appears in this same session. (A restart works too, but reconnect is one menu action.) Without the speak tool Claude cannot answer aloud, though the user's speech already comes through. After the restart, messages tagged [VOICE] are the user's real spoken words delivered by this plugin's hooks — see the plugin's voice-conversations skill for the conventions.
Do not configure anything through environment variables — every setting lives in the dashboard UI.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 31 lines · 16 tokens per session scan A 0ffaba3aa6ca
setup is a command published in the GitHub repository noisy/noisy-coding (6 stars, last pushed 3d ago), licensed MIT. It adds 16 tokens to every session and 834 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
start-talking
Start talking with Cadence Code.
jump-in
Jump In and add spoken guidance.
voice-settings
Choose Cadence Code speech models.
wrap-up
End the active Cadence Code conversation.
stts
User speaks the prompt, which is sent to the Model, the received response is spoken/read aloud in a loop.
worktree
Create a gitignored worktree off fresh origin/main per CLAUDE.md's "MAIN STAYS IN ROOT" rule.