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 分