Codex、OpenCode、Antigravity 和 Claude Code 的語音模式:哪個 CLI 有?

我們在 2026 年 10 月 13 日檢查了五個程式設計代理 CLI 和兩個應用。Codex CLI 和 oh-my-pi 能進行語音對話,Claude Code 和 Antigravity CLI 只能把語音聽寫進提示詞,OpenCode 沒有任何內建功能。每個怎麼啟動、音訊發往哪裡,以及語音要花多少令牌。

人們在 Google 裡輸入「codex voice mode」「opencode voice mode」和「antigravity voice mode」,找到的答案卻把兩種不同的東西混在同一個名字下面。所以我們在 2026 年 10 月 13 日開啟了建置機上安裝的每一個 CLI,讀了它自己的命令列表,再拿它和廠商當天的文件逐一對照。

先說兩個詞,因為整個答案都取決於它們。

聽寫是單向的。你說話,文字落進提示詞,你按下 Enter,然後在螢幕上讀回答。

語音模式是雙向的。你說話,代理去幹活,回答被念給你聽。你的眼睛可以離開終端。

簡短的回答

工具檢查的版本聽寫進提示詞語音回覆怎麼啟動
Claude Code2.1.296有無/voice
Codex CLI0.162.1沒有單獨的模式有/voice
OpenCode1.19.0僅限外掛無無內建
Antigravity CLI1.3.4有無/voice
oh-my-pi18.1.2有,在本機上有/live
Paseo(應用)當天的文件有有應用裡的語音模式
T3 Code(應用)當天的儲存庫有,iOS 應用無composer 裡的麥克風

本頁剩下的部分是每一行的細節,然後是緊接著會冒出來的問題:對代理說話會不會比打字多花令牌。

Claude Code:是聽寫,不是對話

Claude Code 有語音聽寫(2.1.69 或更高版本)。你用 /voice 開啟一次,它就會在各個會話之間保持開啟:

/voice
Voice mode enabled (hold). Hold space to record. Dictation language: en (/config to change).

說話時按住 Space 鍵,鬆開就停止。你說話時文字會出現在提示詞裡,在轉寫最終確定之前顯示為灰色,你還可以在同一條訊息裡混用打字和聽寫。如果你不想一直按著鍵,/voice tap 會在第一次輕按時開始錄音,第二次輕按時傳送提示詞,前提是轉寫內容至少有三個詞。這個鍵是 voice:pushToTalk 綁定,你可以在 ~/.claude/keybindings.json 裡把它改到 meta+k 這樣的修飾鍵組合上。

限制寫在語音聽寫文件裡。音訊會流式傳到 Anthropic 的伺服器做轉寫,不在本地處理。它需要 claude.ai 登入:用 Anthropic API 金鑰、Bedrock 或其他雲提供商時,/voice 是一條未知命令。它需要本地麥克風,所以在 SSH 會話或雲端會話裡不能用。聽寫語言跟隨 language 設定,支援 20 種語言,預設回退到英語。

它不做的事是說話。Claude 一如既往用文字回答。Claude 應用有真正的語音模式,在行動版、桌面版和網頁端處於測試階段,但 Anthropic 的語音模式幫助頁面說得很清楚:在 Claude Cowork 和 Claude Code 裡,可以用聽寫,但沒有語音模式。

Codex CLI:用 /voice 進行真正的語音對話

這是大多數人在找的那個,也是文件講得最不清楚的那個。

OpenAI 的 Codex 語音頁面介紹的是由 GPT-Live 驅動的 ChatGPT Voice:一場你在 ChatGPT 桌面應用裡針對某個 Codex 任務開啟的語音對話,或者在手機與桌面主機配對後,透過 iOS 上的 Codex 開啟。頁面列出了 Plus、Pro、Business、Edu 和 Enterprise 套餐、同一時間只能有一個語音對話處於活動狀態,以及一個只把語音轉成提示詞文字的獨立聽寫功能。它沒有提到 CLI。

CLI 有它自己的。在 codex-cli 0.162.1 裡,斜槓命令列表(在開源儲存庫裡,也在安裝好的二進位制檔案裡)包含 /voice,描述為「start or stop voice; use /voice settings to choose a voice」。你可以確認你的安裝裡這個功能是開著的:

codex features list | grep realtime
# realtime_conversation   stable   true

在會話裡,/voice 會在當前執行緒上開啟一場即時對話。你說話,Codex 出聲回答,雙方的字幕在終端裡滾動。鍵位對映裡有一個開始或停止對話的動作,還有一個給你的麥克風靜音的動作,兩個都可以重新綁定。CLI 在三種情況下會拒絕,每種都有一條提示:在對話的第一條訊息之前(「Start a conversation before using voice mode」),在旁支對話裡,以及在沒有音訊棧的建置上(「Voice requires macOS, an MSVC-based Windows build, or a glibc-based Linux build」)。

這場對話中有兩個模型在工作:一個和你交談的即時語音模型,以及真正幹活的 Codex 執行緒。語音這一側把你的請求交給執行緒,原始碼把這一步叫作 handoff,再把結果說給你聽。下面講令牌的部分時請記住這一點。

OpenCode:沒有任何內建

OpenCode 1.19.0 既沒有語音命令,也沒有聽寫。它的二進位制檔案裡僅有的「speech」字串,是提供商目錄里語音模型的描述,你可以從自己的程式碼裡呼叫它們,但那不是和 OpenCode 說話的方式。

社群填補了這個空缺。opencode-voice 是一個往 OpenCode 提示詞裡聽寫的外掛:Ctrl+X V 開始錄音,Enter 停止並插入轉寫內容,轉寫可以在本地 Whisper、OpenAI、ElevenLabs 或 Handy 應用之間選擇。它的 README 對現狀很坦誠:預發布軟體,僅限 Linux x64,麥克風採集還是實驗性的。它不會把回覆念出來。

在 macOS 或 Windows 上,作業系統自帶的聽寫在任何終端裡都能用,OpenCode 也不例外。

Antigravity CLI:用 /voice 聽寫

Antigravity CLI 有聽寫,文件在它的 /voice 頁面上。/voice、它的別名 /record,或者 F5 鍵,都能啟動它。文字落進提示詞輸入框,在你自己傳送之前不會發出去。

三個限制。它需要互動式會話,在 --print 模式下被禁用。它不對商業或企業帳戶開放。另外,如果你是在聽寫功能上線之前登入的,在你執行 /logout 並重新登入之前,轉寫都會失敗。

SSH 的情況比大多數工具處理得好:在你自己的機器上執行 agy mic-serve,用 ssh -R 24713:127.0.0.1:4713 <server> 開啟一條反向隧道,再在伺服器上用 ANTIGRAVITY_MIC=127.0.0.1:24713 agy 啟動 CLI。這樣你的麥克風就會把聲音送進遠端會話。沒有語音回覆。

oh-my-pi:兩樣都有,而且聽寫留在你的機器上

oh-my-pi(omp)是這裡唯一兩樣都做的 CLI,而且它的聽寫從不離開你的機器。

語音轉文字預設關閉。在設定裡(Speech 分組)開啟它,然後按住 Space 鍵錄音,鬆開就轉寫。模型在本機執行:預設是 Parakeet TDT v3,配置較低的機器可以改用不同大小的 Whisper。一個設定決定聽寫什麼時候傳送:從不傳送、鬆開時、鬆開且句子完整時,或者在你說出「submit」時。

對話是 /live,或者 Ctrl+L。CLI 把它描述為「Codex-backed realtime voice mode」,聲音在設定裡(Live Voice)選擇。另外,omp say 會用 Kokoro-82M 把任意文字念出來,這也是一個在本地執行的語音模型。

Paseo 和 T3 Code:語音在應用裡,而不在 CLI 裡

在同樣的搜尋裡還會冒出兩個應用。

Paseo 執行一個管理你的程式設計代理的守護程序,有桌面、移動、網頁和 CLI 客戶端。它既做聽寫,也做語音模式對話。語音處理可以在你的機器上執行(Parakeet 做語音轉文字,Kokoro 做文字轉語音,ONNX 模型跑在 CPU 上),也可以走 OpenAI,而語音模式本身是一個執行在 Claude、Codex 或 OpenCode 上的隱藏代理會話。預設的本地語音模型只支援英語;另一個 Parakeet 模型覆蓋 25 種歐洲語言。Paseo 的其餘部分,我們在 Paseo 替代方案頁面上和 AgentsRoom 做了比較。

T3 Code 在它的 iOS 應用裡有語音輸入:轉寫在手機上執行並填進草稿,它從不自己傳送任何東西。沒有語音回覆。

語音模式會多用令牌嗎?

這是緊跟在「有沒有」後面的問題,而每個工具的答案都不一樣。

  • Claude Code 的聽寫:不會。Anthropic 的文件說,轉寫不消耗 Claude 訊息或令牌,也不計入 /usage 顯示的額度。你聽寫的內容會變成一條普通提示詞,花費和敲出來的同一條提示詞一樣。
  • Claude 應用裡的語音模式:根據 Anthropic 的幫助頁面,它和文字一樣計入你的常規用量額度。
  • Codex CLI 的 /voice:只要對話開著,就有一個即時語音模型在 Codex 執行緒旁邊執行。OpenAI 的頁面沒有說語音對話怎麼計入 Codex 的額度。我們沒有找到數字,所以也不給出數字。
  • Antigravity CLI:只有聽寫,文件沒有說它怎麼計算。
  • oh-my-pi:本機上的聽寫不花令牌,也不傳送任何東西。/live 走的是 Codex 的即時語音。

底層的規則在哪裡都一樣:幹活的模型讀的是文字。說出來的一輪和敲出來的一輪計費相同。改變你帳單的是輪數和會話的深度,而語音往往會帶來更多、更短的輪次。關於手機我們也說過同樣的話,見 Claude Code 的 Remote Control 會多用令牌嗎。

AgentsRoom 在它們旁邊做了什麼

AgentsRoom 的 Voice Mode 走的是另一條路:一場不取決於你執行哪個 CLI 的語音對話。

它作用於終端,而不是 CLI。你在一個已經在執行的代理上開啟它。你的這一輪會被轉寫,作為你的訊息發進那個代理的終端,代理在它自己的會話裡幹活,它的回覆會用你挑選的聲音念出來。免持會在每次回覆之後重新開啟麥克風。語言會被自動識別。它對 Claude Code、Codex、GitHub Copilot CLI、Cursor 以及 AgentsRoom 執行的另外 10 個代理 CLI 都一樣,在 macOS、Windows 和 Linux 的桌面應用裡都能用。

令牌開銷很小,而且看得見:在第一條語音訊息裡,代理會收到一段簡短的前言,要求它給出兩到五句的口頭回復,不要念出 markdown 或檔案路徑,之後每五條訊息提醒一次。語音處理本身執行在我們的後端,從和聽寫共享的語音額度里扣除,或者走你自己的 OpenAI API 金鑰。

如果只想聽寫,composer 裡有一個麥克風按鈕,在語音聽寫頁面上有介紹。CLI 內建的語音你照樣可以在它的終端裡用:兩者並不互相排斥。

怎麼在你自己的機器上核實

版本變化很快,這個頁面也會過時。下面是一分鐘核心實表格每一行的方法:

claude --version       # then /voice in a session
codex --version        # then: codex features list | grep realtime
opencode --version     # no voice command in the help
agy --version          # then /voice in a session
omp --version          # then the Speech settings, and /live

如果 /voice 在 Claude Code 裡回答「Unknown command」,說明你是用 API 金鑰或雲提供商登入的,而不是用 claude.ai 帳戶。如果 Codex 的列表裡沒有 realtime_conversation,說明你的 CLI 比我們檢查的版本舊。

常見問題

Codex CLI 有語音模式嗎?

有。在 codex-cli 0.162.1 裡,/voice 命令會在當前執行緒上開啟一場語音對話:你說話,Codex 出聲回答,雙方的字幕顯示在終端裡。/voice settings 用來選擇聲音。它需要一場已經開始的對話,在旁支對話裡不能用,並且執行在支援它的 macOS、Windows 和 Linux 建置上。OpenAI 自己的語音頁面介紹的是 ChatGPT 桌面應用裡和 iOS 上 Codex 裡的 ChatGPT Voice,而不是這條 CLI 命令,所以我們在 CLI 本身裡做了核實。

Claude Code 有語音模式嗎?

Claude Code 有的是語音聽寫,不是語音對話。執行 /voice,然後說話時按住 Space 鍵(或者用 /voice tap),轉寫內容就會落進提示詞。Claude 仍然用文字回答。它需要 claude.ai 登入和本地麥克風,所以用 API 金鑰、在 SSH 會話或雲端會話裡都不能用。Anthropic 表示 Claude 應用的語音模式在 Claude Code 裡不可用。

OpenCode 有語音模式嗎?

沒有內建。OpenCode 1.19.0 既沒有語音命令,也沒有聽寫。一個社群外掛 opencode-voice 用 Ctrl+X V 加上了往提示詞裡聽寫的功能,但它是預發布軟體,而且只能在 Linux x64 上執行。除此之外,你就用作業系統自帶的聽寫。

Antigravity CLI 有語音模式嗎?

它有聽寫。/voice、它的別名 /record,或者 F5 鍵,會把你說的話轉成文字放進提示詞輸入框,但不會傳送。它需要互動式會話,在 --print 模式下被禁用,並且不對商業或企業帳戶開放。透過 SSH 時,agy mic-serve 會把你自己機器的麥克風轉發到伺服器。沒有語音回覆。

Claude 的語音模式會多用令牌嗎?

這取決於你說的是哪種語音。根據 Anthropic 的文件,Claude Code 的聽寫不消耗 Claude 訊息或令牌,也不計入 /usage 裡的額度:你聽寫的內容就變成一條普通提示詞。Claude 應用裡的語音模式和文字一樣,計入你的常規用量額度。兩種情況下模型看到的都是文字,所以說出來的一輪和敲出來的同樣一輪花費相同,真正起作用的是輪數和會話的深度。

語音聽寫和語音模式有什麼區別?

聽寫是單向的:你說話,文字落進提示詞,你在螢幕上讀回答。語音模式是雙向的:你說話,回答被念給你聽。Claude Code 和 Antigravity CLI 做聽寫。Codex CLI 和 oh-my-pi 兩樣都做。OpenCode 不裝外掛的話兩樣都不做。

下載 AgentsRoom

在一個視窗中執行你所有專案的所有 AI 代理。

免費下載 AgentsRoom

配套應用:隨時隨地監控你的 Agent

使用 Claude、Codex、Antigravity CLI 或其他 AI 提供商。

獲取擴充功能
Chrome Web Store

把 Bug 和需求直接傳送到您的公開待辦清單。

多專案管理
多供應商
多代理執行
即時狀態
檔案差異與提交
行動應用
即時預覽
代理團隊
瀏覽器自動化
Backlog 驅動開發
提示詞庫
技能庫
檢視所有功能

繼續閱讀