是什么

voice dictation 允许在 Claude Code CLI 中用语音代替键盘输入 prompt,音频实时流式传输到 Anthropic 服务器转录,转录结果插入到 prompt 输入框,支持语音和键盘混合输入。

核心机制

启用

/voice          # 切换开关,保持当前模式
/voice hold     # 启用 hold 模式(按住说话)
/voice tap      # 启用 tap 模式(点击开始/发送)
/voice off      # 禁用

持久化配置

{
  "voice": {
    "enabled": true,
    "mode": "tap"
  }
}

两种录音模式

模式操作适合场景
Hold(默认)按住 Space 录音,松开停止短句,精确控制录音时长
Tap按 Space 开始,再按 Space 发送长句,不需要持续按键

Hold 模式有短暂预热期(检测长按),预热期间输入的字符会自动删除。使用 modifier 组合键(如 meta+k)可跳过预热。

重新绑定录音键

{
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "meta+k": "voice:pushToTalk"
      }
    }
  ]
}

关键细节

  • 需要 Claude Code v2.1.69+(tap 模式需要 v2.1.116+)
  • 仅支持 Claude.ai 账号认证,不支持 API key、Bedrock、Vertex、Foundry
  • 不支持远程环境:Claude Code on the Web、SSH session
  • WSL 需要 WSLg(WSL2 + Microsoft Store 安装版自带)
  • 转录不消耗 Claude messages 或 token,不计入 /usage 限额
  • 自动识别编程词汇:regex、OAuth、JSON、localhost 等
  • 当前项目名和 git 分支名自动添加为识别提示

与其他概念的关联

实践要点

  • 长句用 tap 模式,避免长时间按住 Space
  • 修改录音键为 modifier 组合(如 meta+k)跳过 hold 模式的预热延迟
  • 转录结果插入在光标位置,可以先定位光标再录音,实现精确插入