Claude Code /voice 的限制在哪
Claude Code /voice 音频上传 Anthropic、要 Claude.ai 账号、不支持中文。五种场景对号:认证方式、SSH、Cursor、中文、音频边界。
/voice 是 Claude Code 内置的,一条命令就能用。要不要再装一个全局听写 App,不看功能列表,看你自己的五个条件:公司用什么方式认证、代码跑在哪台机器、除了 Claude Code 还往哪里打字、说不说中文、音频能不能出机器。
这篇只比范围和数据流向,不比快慢。/voice 的每一条都来自 Anthropic 的语音听写文档(有简体中文版),查阅于 2026-09-18。那页会改,决定前自己再看一眼。
文档里的硬规则(截至 2026-09-18)
| 事项 | Anthropic 文档怎么写 |
|---|---|
| 音频 | 录音以流的方式传到 Anthropic 服务器转写。原话:「音频不在本地处理。」 |
| 账号 | 必须用 Claude.ai 账号登录。Claude Code 配成直接用 Anthropic API key、Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 时不可用 |
| 麦克风 | 需要本机麦克风,云端会话和 SSH 会话里不工作 |
| 计费 | 转写不消耗消息数或 token,不计入 /usage |
| 语言 | 支持表列了 20 种,没有中文。language 设成表外的值,启用时会警告,听写回退英文 |
| 识别提示 | 当前项目名和 git 分支名自动加入;针对 regex、OAuth、JSON、localhost 这类词做了调校 |
| 单次时长 | tap 模式下静音 15 秒或满两分钟自动停止 |
用法本身很简单:/voice 开启,默认按住 Space 说、松开插入;/voice tap 改成点一下开始、再点一下发送。文字落在输入框光标处,打字和说话能混在同一条消息里。文档里还有一处不太自洽:tap 模式的三词自动发送规则提到中文按词计数,但支持表里没有中文。以表为准,用之前自己试一句。
五种场景,逐个对号
一、公司让 Claude Code 走 Bedrock 或 API key。 文档写得直白:/voice 只在 Claude.ai 账号下可用,报错就是 Voice mode requires a Claude.ai account;组织管理员策略也可以直接关掉它。这不是你能调的设置。ListenIn 从不跟 Claude Code 通信,它只是把文字粘进当前光标,Claude Code 怎么认证跟它无关。
二、代码在远端机器上。 SSH、Dev Containers、Codespaces:麦克风在你手边,Claude Code 跑在远端,/voice 拿不到本机麦克风,VS Code 扩展的 Remote 会话同理。ListenIn 粘进的是本机的终端窗口,跟你按一次 ⌘V 一样;shell 在哪台机器是终端的事,它不知道也不用知道。
三、你不止对一个输入框说话。 /voice 的转写只进 Claude Code 自己的输入框(CLI 和 VS Code 扩展)。Cursor 的聊天框、浏览器里的 PR 描述、Slack、commit message,都不在范围内。ListenIn 是一个触发键管所有光标,细节在语音编程页;fn 被系统占用时的处理,看 fn 键冲突那篇。
四、你说中文,或者一句话里中英混。 支持表里没有中文,简体繁体都没有。ListenIn 的中英混说不用切模式,句子里嵌的 header、hook 这类英文词原样留下;「识别语言」选「中文(含中英混说)」即可。港台读者多一步:「中文字形」选「锁定繁体」,口述繁体落下来就是繁体,展开在繁简锁定那篇。中文这条线的完整做法见用中文跟 Claude Code 说话。
五、音频不能出机器。 /voice 的音频上 Anthropic 服务器,文档没有给本地选项。ListenIn 的音频留在 Mac 上,清稿只发文字,还可以全程本地。下面的对照表把这条拆开。
五条都不沾,/voice 大概率够用,直接跳到最后一节。
/voice 赢在哪
只跟 Claude Code 说话的人,/voice 有四样是全局 App 抄不来的:
- 零安装。 不下载,不给「辅助功能」授权,不挑触发键。一条命令,加终端的一次麦克风权限弹窗。
- 不另外计费。(细节见上表。)
- 知道你的分支。 项目名和 git 分支名自动进识别提示(见上表)。ListenIn 不读你的仓库,做不到这件事;它给你的是一本自己填的个人词典,手改一次的词下次记住,作用在清稿这一段,不是重新训练 Apple 的识别器。
- 自动发送。 tap 模式满三个词自动提交;hold 模式可以在设置里加
"autoSubmit": true。ListenIn 的「AI 指令」里有「说完自动回车执行」,做同一件事,默认就是开的;想发送前先看一眼就把它关掉。
一个菜单栏 App 为什么绕得开这些边界
ListenIn 只做两件事:听本机麦克风,把文字粘到 Mac 当前的文字光标处。上面五条差异全从这一个设计来:不跟 agent 通信,所以认证方式无关;粘进本机窗口,所以远端 shell 不是特例;认光标不认 App,所以 Cursor 和邮件一视同仁。
代价有两条。第一,往其他 App 里粘贴需要一次「辅助功能」授权,这是 /voice 零安装的反面。第二,终端开着安全键盘输入时,ListenIn 不会往里粘,改给一张复制卡:「有 App 开着安全输入,暂时无法粘贴 · 点击复制」;但如果你按触发键那一刻安全输入已经开着,那一下根本到不了 ListenIn,也不会有卡片——卡片只在听写开始之后、粘贴之前开关才亮起时出现。详见终端听写与安全键盘输入。
ListenIn 不是编程 agent。它不读仓库、不跑命令、不批准改动,只把指令整理好放到 agent 能读到的位置。单次听写也不设时长上限。
数据流向对照
Claude Code /voice(文档,2026-09-18) | ListenIn | |
|---|---|---|
| 音频 | 流式传到 Anthropic 服务器,不在本机处理 | 留在 Mac 上。Apple 语音引擎,macOS 26 的新引擎和旧引擎都强制本机识别 |
| 文字 | 转写落进 Claude Code 输入框 | 识别文字进入清稿:ListenIn 内置服务、你自己 key 的服务商,或本地 Ollama |
| 账号 | 必须 Claude.ai 登录 | 不用。免费档不需要账号 |
| 能用在 | Claude Code CLI 和 VS Code 扩展,仅本机 | Mac 上任何文字光标,包括跑着远程 shell 的终端 |
ListenIn 这一栏要加两个脚注。
第一,「音频留在 Mac 上」有代价。macOS 14–15 上,听写语言包没下载的话,识别直接失败,不会悄悄改走 Apple 的云端,你会看到「听写语言不可用」。这是故意的,修法在语言包那篇。
第二,「清稿只发文字」仍然意味着默认配置下有文字离开 Mac。安全页按模式列了每一项会发什么,从来不是音频。想全程零云端:「设置 → 模型」选「Ollama(本地)」,再把「模式」切到「离线」,配置过程在这篇。
落进输入框的文字长什么样
/voice 把你说的原样插入。文档描述的是编程词汇调校,不是重组。
ListenIn 的清稿是识别之后单独的一道,规则一条:只重排,不发明。去掉嗯啊和说错重来的部分,修同音识别错误,整理格式;不补内容,也不替你回答口述的那个问题。
打开「在 AI 编码工具里写成 prompt」,对着 Claude Code、Cursor、VS Code、Xcode 或常见终端(Terminal、iTerm2、Warp、Ghostty、kitty)的口述会被整理成 prompt:目标先行,步骤编号,约束单独成块。下面这条原始转写来自 ListenIn 自己的内部回归测试集(cmd-struct-02 用例):
我们要做一个数据迁移的计划呃第一大块是准备工作里面包括先备份数据库还有把那个 schema 导出来然后还要检查磁盘空间第二大块是执行迁移就是跑那个脚本然后看日志第三大块是验证就是对一下行数嗯就这些
这条用例的断言是:必须有 1. 2. 3. 三个编号,schema 原样保留,「嗯」和「就这些」消失;用例备注里要的形状是三大块为母项、子项缩进。下面是满足这些断言的示例(说明断言用,不是实际产品输出):
数据迁移计划:
1. 准备工作
- 备份数据库
- 导出 schema
- 检查磁盘空间
2. 执行迁移:跑脚本,看日志
3. 验证:核对行数
反方向也有断言。同一个测试集里的 cmd-gate-01,输入是「嗯帮我改一下这个报错就是那个 login.ts 里面的」,要求输出不许出现编号或列表符号,总长不超过 40 个字符。一句话的请求就该是一句话,撑成列表和不整理一样糟。
三个相关开关:
- 清稿力度自己选:「忠实(只加标点)」「标准(去嗯啊、修口误)」「精炼(整理重组、分点)」。
- Ask Anything 作用在选中的文字上:任意地方选一段,按它的键,说「缩短」或「改成编号列表」,选中部分就地替换。适合已经打好、想再改的 prompt。
- AI 指令是第二个键,清好的 prompt 落进你选的「目标 App」,「说完自动回车执行」可选。
一个坑:[Pasted text #N]
结构化的 prompt 是多行的。Claude Code 的终端配置文档(同样查阅于 2026-09-18)说,往输入框粘贴超过 800 个字符或超过三行,会折叠成 [Pasted text #1 +120 lines] 这样的占位符,提交时完整内容照发。什么都没丢,只是发送前看不到全文。
文档没有描述在框里就地展开占位符的办法;它对大段内容的建议是写进文件再让 Claude 读。想发送前通读,就先口述到草稿文件;信得过就直接回车,完整消息会出现在对话里。
怎么选
只跟 Claude Code 说话、用 Claude.ai 登录、在本机工作、听写语言是英文:/voice 可能就够了,内置、不另外计费、还知道你的分支名。
开头那五条里中了任何一条,就是全局听写 App 接手的地方:Bedrock 或 API key、SSH 机器、Claude Code 旁边还开着 Cursor、句子里有中文、一条指得出来的音频边界。和其他听写工具怎么比,看对比页。
在自己的 Mac 上试一下
免费档不用注册;音频不出本机。