voicehook

السجل الرسمي البحث والويب

Talk with your agents. A voice call in the browser that your agent can start or join.

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).

Remote (streamable-http)
Claude Code
claude mcp add --transport http voicehook 'https://voicehook.ai/mcp?utm_source=mcpregistry&utm_campaign=d11-registry'
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "voicehook": {
            "type": "http",
            "url": "https://voicehook.ai/mcp?utm_source=mcpregistry&utm_campaign=d11-registry"
        }
    }
}

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. voicehook-agent
  2. Three ways to connect
  3. CLI quickstart
  4. Pricing
  5. Documentation
  6. Development, CI and releases
  7. License

voicehook-agent

Talk to your coding agents instead of reading their output.

voicehook.ai is a voice call in the browser. Hit "invite agent", hand the link to Claude Code, Codex or opencode, and talk to it while it keeps working. Delta, the voice in the call, answers from the status board and FAQ your agent keeps up to date, so you hear what is going on without opening a terminal.

This repo holds the agent side: the voicehook-join Claude Code plugin and the voicehook-agent CLI that lets any agent with a shell join a call.

Three ways to connect

Your agentHow to connect
Claude CodePlugin, two commands (see below). Details
claude.ai / Claude DesktopCustom connector https://voicehook.ai/mcp (Settings, Connectors, Add custom connector; no key). Guide
Any agent with a shellQuickstart A (HTTPS bridge, nothing to install) or the CLI

Which one? MCP (connector or plugin) is the entry: nothing to install, one agent per call, the only path with create_call, cards and decisions. The CLI is the pro tool for multi-agent work on one machine. The HTTPS bridge is the protocol underneath and the fallback.

MCP/bridge = one agent in the call; activity lines are only what that agent writes by hand. For several agents/sessions on one machine working on one call, use the voicehook-agent CLI (pro): its multi-session relay + Claude Code hook feed the live activity log, status and decisions of ALL local sessions into the call automatically. MCP/bridge run on the server and cannot see the user's local sessions.

pathroleuse it when
MCP (voicehook.ai/mcp)entry + distributiona single agent in a call, cloud/sandbox sessions, starting a call yourself
CLI (voicehook-agent)pro tool for multi-agent workseveral agents/sessions on one machine in one call, live activity log of all sessions
Bridge (/api/bridge/*)protocol underneath + fallbackno MCP client and no CLI

Details and install without git: docs/CLI.md.

In Claude Code:

/plugin marketplace add voicehook-ai/voicehook-agent
/plugin install voicehook-join@voicehook

Once connected, paste an invite link (https://voicehook.ai/r/<slug>?invite=<code>) into your agent and it joins the call.

MCP tools (connector and plugin):

toolwhat it does
create_callstart a new call for your user (main agent only: never delegate create_call to a subagent, the link would stay in its thread): human_url plus share_text (pass it on verbatim: open the link in a normal browser, not an app's built-in browser); hard rule: show share_text as text first, then join again until connected, then the next loop
joinjoin a call from an invite link with your chip label; greets for you in the call language (greet, default on); returns the session, the call language and the call context (first_actions); before the person opened a create_call link it waits (up to 200 s in Claude clients, else 50 s) and returns waiting_for_human with next_action: call it again at once until it returns the session, never end the turn before; a local Claude Code also gets local_cli_hint (this CLI keeps it in the call)
nextwait up to 50 s for the next turn (user, decision, operator, context, ended); call it at least every 10 to 15 s, one loop per agent; after a pause it brings missed
saythe voicebot speaks the text
statusstatus board (never spoken) the voicebot answers from, optional chip emoji
showa card on the call page (text, code, link or image), never spoken
activityone line of 3 to 8 words for the activity feed, on every step
decidea question for the Decision Board (yes/no or up to 3 options); the answer comes back in next
leaveleave the call

On 5xx, 503 or a network error the agent simply calls the tool again after 2 s; the session stays valid. Several agents in one call: rules.

CLI quickstart

uvx voicehook-agent join 'https://voicehook.ai/r/<slug>?invite=<code>' --name <your-own-name> --model <your-model-name>
  • --name and --model are mandatory: a display name the agent picks for itself and the exact model it runs on. Name your real model and vendor, never "Claude" unless you are Claude.
  • Use the full invite link, including ?invite=<code>.
  • stdout prints what the user and the voicebot say; every line on stdin is spoken.

In a call, keep voicehook-agent listen running in your harness's background mode (Claude Code: run_in_background, never &/nohup): it exits on the first event that needs you, which wakes you; start it again after handling it. Since 0.21.4 the Stop hook (voicehook-agent hook install) blocks a turn end while your join is connected and nobody listens (listen guard). Since 0.21.5 the join itself holds your presence and spools every event durably while you work (event spool): listen picks them up with a cursor, nothing is lost, and the Stop hook warns on unread events. When you wait for the human, ALWAYS decide, never only a status (0.21.6: status --waiting ... --question ... shows "wartet auf dich" together with the decision). In a call: answer every utterance first (say), hand work longer than 2 tool calls to background agents, keep turns short; since 0.21.7 new utterances reach you mid-turn through the PostToolUse hook.

Every decision and every status entry MUST carry hidden background for the voicebot (0.21.4): --context "..." plus the 3 most likely follow-up questions with prepared answers, --faq "Frage::Antwort" (no answer yet: say who works on it and the ETA, "In Arbeit bei <Name>, Ergebnis ca. 10 Min"). Activity lines may carry them too. On status they attach to the item they follow; without them the CLI prints a hint (see docs/CLI.md).

For a loop without polling (say, next, status, leave), the status board, the activity hook and all flags see docs/CLI.md. Since 0.21.0: decide --context "..." gives Delta the background of a question, ui large decisions / ui layout thirds / ui focus voicehook control the call page of the humans, status|activity --project NAME tags your project (docs/CLI.md).

Since 0.23.0 the agent in the call can give Delta standing rules and facts while the call runs, so he answers more himself: voicehook-agent delta-rule add "Sprich den Kunden mit Sie an", voicehook-agent delta-note add "Der Release ist am Freitag", ... list, ... rm <id>. Silent, from his next turn, max 20 rules and 30 facts of 300 characters.

Right after join (0.21.4) the CLI lists the other Claude Code / Codex sessions running on this machine and suggests asking the human "Soll ich die anderen N Sessions hier einbinden, damit sie ihren Status in den Call bringen?"; on yes the agent runs the printed setup commands. Agents on MCP or the bridge cannot see local sessions: they say it works in principle with the CLI installed: uv tool install voicehook-agent && voicehook-agent hook install.

Several Claude Code sessions on one machine (0.15.0): run voicehook-agent hook install once; while one session is in a call, every other session reports turn goal, PR, deploy and errors under its own name in the call's activity feed (multi-session relay). Since 0.16.0 such a helper session can also ask the human (decide, answer via relay-next or decide --wait) and keep its own status board (status --doing ...) (helper sessions).

OpenAI Codex CLI (0.20.0): voicehook-agent hook install --agent codex writes the same automation into ~/.codex (hooks.json, notify, a local MCP server with status, decide, next, activity; backup first), then trust the hooks once with /hooks in Codex (other coding agents).

Pricing

About 10 minutes free every day. Prepaid from 10 EUR, no subscription.

Documentation

DocumentContents
docs/CLI.mdInstall, agent loop commands, status board and FAQ, speaking style, activity feed and hooks, shapes, self-update, Claude Code plugin, skill registration
docs/PROTOCOL.mdstdin/stdout protocol, data-channel topics, relay flags, HTTPS bridge, wake marker, server behaviour, environment variables
docs/DEVELOPMENT.mdCI jobs, plugin releases, CLI releases, PyPI setup
OPERATOR-PROTOCOL.mdServer-side operator protocol (voicehook.ai)

Development, CI and releases

CI runs tests, ruff, plugin validation, a secret scan and a skill drift check on every PR. Release tags, the plugin release checklist and the PyPI setup are in docs/DEVELOPMENT.md.

License

MIT, see LICENSE.


Made in Germany, hosted in Nuremberg (Hetzner). No cookies, no tracking, no call recordings. Nothing you or your agent say is stored. Privacy policy

الأسئلة الشائعة

ما هو voicehook؟

Talk with your agents. A voice call in the browser that your agent can start or join.

كيف أثبّت voicehook؟

يعمل كخادم بعيد. في Claude Code: claude mcp add --transport http voicehook 'https://voicehook.ai/mcp?utm_source=mcpregistry&utm_campaign=d11-registry'. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج voicehook إلى مفتاح API؟

لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.

هل voicehook مفتوح المصدر؟

نعم. شيفرته متاحة على GitHub بترخيص MIT.

من يصون voicehook؟

ينشره voicehook-ai. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.