voicehook

io.github.voicehook-ai由 GitHub 帳號 voicehook-ai 發布v1.0.0更新於 Nov 7, 2026

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

已驗證Streamable HTTP可網頁執行開發者工具溝通與協作

概覽

AI 產生的概覽

Voicehook 讓助理發起或加入瀏覽器語音通話,在繼續工作的同時朗讀進度,並發布狀態、卡片和決策問題。

可以做什麼
發起通話並取得人類連結和分享文字,或憑邀請連結以標籤加入通話並打招呼,必要時等待對方開啟連結。等待下一輪(使用者發言、決策、操作員、上下文、通話結束),並以語音機器人身分朗讀文字。維護語音機器人據以回答的狀態板,並在通話頁面顯示文字、程式碼、連結或圖片卡片。向活動流發布簡短動態,並在決策板提出是/否或最多三個選項的問題,答案在下一輪回傳。結束後離開通話。
適用情境
適合想用語音與編碼助理交流、而不必閱讀終端機輸出的情境,或在長任務繼續執行時聽取進度。適合透過 MCP 連接器讓單一助理加入通話;本機多工作階段情境則引導使用獨立的 CLI。
執行需求
遠端 MCP 端點 voicehook.ai/mcp,在 Claude 用戶端中作為自訂連接器加入,或透過 Claude Code 外掛接入;未宣告金鑰。需要瀏覽器開啟通話連結,加入既有通話需要帶代碼的邀請連結。CLI 方式需要 uv/uvx 和 shell。
安裝前請注意
通話收費:每天約 10 分鐘免費,之後按 10 歐元起預付。助理會朗讀並發布到共享通話頁面,因此它說出、展示或寫入狀態板的內容都會被通話參與者看到和聽到。邀請連結含代碼,應視為敏感資訊;README 提醒在一般瀏覽器中開啟,而非應用程式內建瀏覽器。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 voicehook,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.voicehook-ai%2Fvoicehook/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "voicehook": {
      "type": "http",
      "url": "https://voicehook.ai/mcp?utm_source=mcpregistry&utm_campaign=d11-registry"
    }
  }
}

README

voicehook-agent

[CI] [CodeQL] [License: MIT] [Plugin version] [CLI version]

Talk to your coding agents instead of reading their output.

[Installing the voicehook-join plugin in Claude Code: two commands, then the plugin is enabled]

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; an image card REQUIRES context (all information in the image as text, invisible on the page: the voicebot cannot see images)
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

bash
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 , 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).

Watcher (0.32.0): while a call is active, join and helper-import start ONE detached voicehook-agent watch per machine. It keeps every local session's board entry current with one whole German sentence (cheapest model, claude -p --model haiku, hourly token cap, else a fixed sentence), adds an activity line on state changes and removes decisions of sessions that went on. Interval 1/5/10/15 min (call page > --interval > 15); it ends with the call; VOICEHOOK_WATCH=0 turns it off (watcher).

Session Watcher (0.34.0, named so since 0.35.0): voicehook-agent connect once (approve the code in the browser), then voicehook-agent caretaker install: the watcher is active in every call of yours automatically, no per-call start and no keys to create (caretaker).

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

來源:README.md,提交 867a888

工具

0
SourceWeft 尚未讀取此伺服器的工具。

版本歷史

1
  1. v1.0.0最新Oct 17, 2026

評分

已滿足適用檢查項的 85%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分