返回指南
整合·2026年9月21日·更新於 2026年9月24日·閱讀約 10 分鐘

使用 Codex 與 OpenCode 的 Hermes Agent:四個憑證介面、三種計量

Hermes 不會取代 Codex 或 OpenCode——它會驅動它們,而每個子程序都使用自己的憑證付費,不會使用 Hermes 的模型提供者。

最後審核於 。

Hermes Agent 不會取代 Codex 或 OpenCode——它會驅動它們。Hermes 隨附兩個內建技能,codex 和 opencode,會將每個 CLI 作為子程序啟動,而每個子程序都使用自己的憑證付款,而不是使用 Hermes 的模型提供者。 這是值得據此規劃的事實:一個工作流程、四個憑證介面、三個獨立計量表,以及兩個只會與提供 Responses API 的端點通訊的介面。

本頁介紹的是來自 Nous Research、採 MIT 授權的 Hermes Agent 代理軟體——不是 Hermes 3 或 Hermes 4(同一家公司推出的開放權重模型系列),不是同名的 JavaScript 引擎,也不是奢侈品品牌。2026 年 9 月 19 日對該儲存庫進行即時檢查時,回傳 archived: false、MIT 授權,以及當日的推送;最新發布版本是Hermes Agent v0.21.3,於 2026 年 9 月 14 日標記為 v2026.9.14。如需了解代理本身的執行成本,請參閱 Hermes Agent 定價。

Hermes 內部三個稱為「codex」的事物

首先要釐清的是這個名稱衝突,因為三者都會出現在設定中,而其中只有一個是大多數人所說的 hermes codex。

名稱它是什麼設定位置誰執行工具迴圈
codex 技能將程式設計委派給 Codex CLI 作為子程序執行的內建技能Hermes 中不需進行任何設定;必須安裝並驗證 CLICodex 作為獨立程序執行;Hermes 讀取其輸出
codex_responses自訂提供者的 傳輸值——Hermes 與之通訊時使用的線路協定providers.<name>.transport中的 ~/.hermes/config.yamlHermes
codex_app_server將 Hermes 自己的 OpenAI 回合交給 Codex app-server 的執行階段model.openai_runtime,或 /codex-runtime codex_app_serverCodex 的執行階段;Hermes 成為包裝它的 shell

來源:內建的 codex 技能、提供者文件與 Codex app-server 執行階段頁面,全部讀取於 2026 年 9 月 19 日。

將程式設計任務委派給 Codex

codex 技能版本為 1.0.1,採 MIT 授權,其明定工作是「將程式設計委派給 OpenAI Codex CLI(功能、PR)。」其先決條件明確:已透過 npm install -g @openai/codex 安裝 Codex;OpenAI 驗證設定為 OPENAI_API_KEY 或 Codex OAuth 工作階段;工作必須在 Git 儲存庫內執行,因為 Codex 拒絕在儲存庫外執行;終端機呼叫需要 pty=true,因為 Codex 是互動式終端機應用程式。

啟動方式是背景執行的終端機呼叫——codex exec --sandbox workspace-write 'Refactor the auth module',並帶有 workdir——其會傳回工作階段 ID。接著 Hermes 會輪詢工作階段、讀取記錄、以 submit 動作回應核准提示,若執行出錯則將其終止。結果會以程序輸出以及 Codex 留在工作樹中的內容傳回主要代理;兩個程序之間不會在記憶體中共享任何資料。

技能文件記錄而非隱藏了兩個界線。--full-auto 仍可運作,但目前的 CLI 會警告應改用 --sandbox workspace-write。此外,當 Codex 從 Hermes 閘道或服務環境——例如由聊天驅動的代理工作階段——被呼叫時,workspace-write 沙箱可能會失敗,即使完全相同的指令在互動式 shell 中可以運作,並出現 bubblewrap 或使用者命名空間錯誤,例如 setting up uid map: Permission denied。技能本身建議使用 --sandbox danger-full-access,這會完全移除 Codex 沙箱;若採用此方式,執行 Hermes 的程序邊界就成為唯一剩下的隔離措施。

將程式設計任務委派給 OpenCode

opencode 技能版本為 1.2.0,採 MIT 授權,描述為「將程式設計委派給 OpenCode CLI(功能、PR 審查)。」使用 npm i -g opencode-ai@latest 或 brew install anomalyco/tap/opencode 安裝,接著執行 opencode auth login 並以 opencode auth list 驗證。OpenCode 自己的文件也提供終端機 UI 中的 /connect 指令,該指令會將憑證寫入 ~/.local/share/opencode/auth.json——兩條路徑目前都有效,因此採用其中一條不代表另一條已過時。

對於受限工作,技能偏好一次完成:opencode run 'Add retry logic to API calls and update tests',並使用 --model provider/model 固定模型。互動式工作階段會以 pty 在背景執行,並透過 poll、log 和 submit 驅動。技能以粗體特別指出一個陷阱:不要傳送 /exit——它不是有效的 OpenCode 指令,反而會開啟代理選擇器對話框。使用 Ctrl+C 或 kill 動作結束。

這裡的命名本身就有一個即時陷阱。npm 套件 opencode-ai 才是目前的產品;名為 opencode-ai 的 GitHub 組織 存放的是已封存的前身,最後一次推送是在 2025 年 9 月 18 日。目前的儲存庫是 anomalyco/opencode,不是 sst/opencode;GitHub API 會將舊路徑解析至新路徑,而 sst 組織目前顯示「我們已移至 https://github.com/anomalyco」。最新版本為 v1.18.31,2026 年 9 月 14 日(GitHub REST API,2026 年 9 月 19 日)。

真正決定帳單的對照表

這是兩家供應商的文件都沒有涵蓋的部分,因為每家只負責其中一半。在這個工作流程中有四個憑證介面,每個都在不同檔案中設定。四者都可以指向第三方端點,但條件並不相同,而且兩個 Codex 介面只接受 Responses API。

介面設定檔使用的憑證要求的線路協定查看的計費表
Hermes 自身的回合~/.hermes/config.yamlkey_env、api_key 或 key_cmdchat_completions、anthropic_messages、codex_responses 任一項Hermes /usage
委派的 Codex CLI~/.codex/config.tomlenv_key 變數,或 ~/.codex/auth.json僅限 Responses APIChatGPT 或 OpenAI API 帳戶
委派的 OpenCode CLIopencode.jsonoptions.apiKey,或 ~/.local/share/opencode/auth.json由你指定的 npm 套件決定opencode stats
Codex app-server 執行階段model.openai_runtime,以及指定供應商路徑中相符的 [model_providers.<name>]訂閱路徑中的 codex login 與 hermes auth add openai-codex;否則使用指定自訂供應商的 env_keyResponses API — Codex 端的 wire_api = "responses"ChatGPT 訂閱,或指定供應商自己的計費表

Hermes 清楚說明了這項分離:它自己的 Codex OAuth 位於 ~/.hermes/auth.json,而獨立 CLI 的工作階段位於 ~/.codex/auth.json;執行階段頁面也補充了原因——Hermes 刻意不與 Codex CLI 共用 OAuth 狀態,以避免兩者在更新權杖時互相覆蓋。因此,委派的編碼工作不會繼承 Hermes 的供應商設定;它會讀取 ~/.codex/config.toml 或 opencode.json,只有在你刻意將其指向同一個金鑰時,才會使用同一個餘額。當你需要隔離影響範圍時,這是一項優點;但若你以為一個餘額涵蓋所有用途,就會成為意外。

app-server 執行階段帶來的變化

如果啟用 Codex app-server 執行階段,計算方式會有三項變化,值得在切換前了解。它會路由 openai/*、openai-codex/* 和 具名自訂供應商的回合;其功能表將其他非 OpenAI 供應商標示為「n/a — not routed through codex」,而沒有穩定名稱、只有基本 base URL 的匿名 provider: custom 明確不符合資格,因為沒有可交給 Codex 的名稱。四個 Hermes 工具將無法使用——delegate_task、memory、session_search 和 todo——因為它們需要正在執行的代理迴圈,而無狀態回呼無法驅動它們。還有多數人會忽略的成本項目:使用 openai-codex 供應商時,輔助工作預設也會透過你的 ChatGPT 訂閱流動——包括標題生成、內容壓縮、視覺自動偵測,以及背景自我改進審查分支——因為未設定每項工作的覆寫值時,Hermes 的輔助用戶端會使用主要供應商。

第三方端點並未被此執行階段排除,但你需要多一份設定檔。執行階段頁面記載的路徑是:在 ~/.hermes/config.yaml 中加入 providers.<name> 項目並設定 openai_runtime: codex_app_server,再在 ~/.codex/config.toml 中加入相同 名稱的 [model_providers.<name>] 表格,填入 base_url、env_key 和 wire_api = "responses"。Hermes 啟動執行緒時只會傳送模型和供應商名稱,絕不轉送金鑰,因此該環境變數必須存在於執行 Hermes 的程序中;輔助呼叫仍會使用 Hermes 自己對該供應商的項目。相同頁面也說明一項注意事項:兩個名稱必須完全相符,否則 Codex 會回報未知供應商,而不是回退至 Hermes 端點。維持預設執行階段(openai_runtime: auto)並使用 custom: 供應商仍是較簡單的路徑,也是唯一不要求端點支援 Responses 的路徑。另請注意,無論目前啟用哪個 Hermes 設定檔,Hermes 都會將 Codex 子程序指向 ~/.codex/;因此 hermes -p work 和 hermes -p personal 共用一組 Codex 驗證資訊,除非你設定 CODEX_HOME 並重新登入。

將三個公開介面都指向同一個端點

以下每個區塊都是取自供應商原始文件,而非經過執行階段測試。Kunavo 尚未對其端點執行 Hermes 工作階段、codex exec 或 opencode run,而已發布的設定指南是設定參考,不是相容性測試。在嘗試這些設定時,請保留一條可運作的路徑。

~/.hermes/config.yaml——格式取自 Hermes 提供者文件,未經執行期測試
# Surface 1: Hermes' own turns.
providers:
  kunavo:
    api: https://api.kunavo.com/v1     # aliases: base_url, url
    key_env: KUNAVO_API_KEY
    transport: chat_completions        # set it explicitly; auto-detection is only a fallback

model:
  default: claude-sonnet-4-6
  provider: custom:kunavo

transport 就是 Hermes 自身回合的全部設定。Kunavo 提供 /v1/chat/completions、/v1/messages 和 /v1/responses,因此 Hermes 的三個傳輸值各自都有相符的端點——這是文件層級的相符,而非經過測試的相符。Hermes 的供應商文件指出,基於 URL 的自動偵測只會在欄位空白時作為後備機制,因此請設定該欄位。使用 /model custom:kunavo:<model-id> 在工作階段中途切換。

~/.codex/config.toml——格式取自 Codex 設定參考與原始碼
# Surface 2: the delegated Codex CLI. Keep this OUTSIDE Hermes' managed block.
model = "claude-sonnet-4-6"
model_provider = "kunavo"

[model_providers.kunavo]
name = "Kunavo"
base_url = "https://api.kunavo.com/v1"
env_key = "KUNAVO_API_KEY"   # the NAME of the variable, not the key itself
# wire_api defaults to "responses", and "responses" is the only value that parses.
# Leave requires_openai_auth unset: true sends Codex to auth.json instead of env_key.

Codex 這一部分有硬性門檻,值得直接查看原始碼,而不是僅憑信任。在 2026 年 9 月 19 日查閱的 codex-rs/model-provider-info/src/lib.rs 中,通訊協定列舉恰好只有一個變體:Responses。設定 wire_api = "chat" 現在會導致硬性設定錯誤,錯誤訊息會告訴你改為設定 responses。只支援 Chat Completions 的閘道根本不能作為 Codex 供應商。目前的設定鍵參考文件位於 learn.chatgpt.com;任何仍引用 developers.openai.com/codex/… 的連結都會收到 308 重新導向,這是我們在同一天確認的。

opencode.json——格式取自 opencode.ai/docs/providers
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "kunavo": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Kunavo",
      "options": {
        "baseURL": "https://api.kunavo.com/v1",
        "apiKey": "{env:KUNAVO_API_KEY}"
      },
      "models": { "claude-sonnet-4-6": { "name": "Claude Sonnet 4.6" } }
    }
  }
}

對 OpenCode 而言,線路格式由 npm 套件決定:@ai-sdk/openai-compatible 呼叫 /chat/completions,@ai-sdk/openai 呼叫 /responses。請指定與端點實際提供的路徑相符者;文件沒有說明指定另一者時的失敗方式,我們也未進行測試。內建技能是否會遵守以此方式設定的自訂供應商,是根據子 CLI 文件作出的推論——技能只是透過子程序執行 shell 指令,因此應該會遵守——但 Hermes 的文件沒有明確說明此點,我們也未執行測試。

三個計費表的估算範例

這些是說明性的權杖算術,不是實測工作成本,也不是帳單上限。假設忙碌的一天:協調器及其輔助工作槽收到1,500,000 個未快取輸入權杖和 80,000 個輸出權杖,每個受委派的編碼工作者收到2,000,000 個輸入權杖和 120,000 個輸出權杖。這些比例是假設值,僅供說明。費率是目前的Kunavo 目錄每百萬權杖價格。

角色假設的輸入/輸出在 Claude Sonnet 4.6 上在 Claude Haiku 4.5 上
Hermes 協調器回合及其輔助插槽1.5M / 80K$3.99$1.33
委派的 Codex 工作程序2.0M / 120K$5.46$1.82
委派的 OpenCode 工作程序2.0M / 120K$5.46$1.82

在這些假設下,讓三個角色全部使用 Claude Sonnet 4.6 模型,一天的估算為 $14.91;若讓協調器及其輔助流量使用 Claude Haiku 4.5,並讓兩個編碼工作者都使用 Claude Sonnet 4.6 模型,估算則為 $12.25。這個差距正是按角色選擇模型的理由,也說明了上方憑證對照表的重要性:如果編碼工作者使用不同帳戶,就必須針對三個計費表分別計算三次,而不是只計算一次。

Kunavo 的目錄金額是計費下限而非上限:上游回報費用時,帳單會取目錄成本與上游成本乘以適用加價率兩者中較高者。快取費用和外部工具不在此範例之內。最低加值金額是$10 的預付額度,這是資金最低額,而不是工作費用或訂閱費用——請參閱 計費詳細資訊。

何時選擇哪種資金路徑

方式適用時機你放棄的功能
由 ChatGPT 訂閱驅動 Codex編碼是主要工作負載,你的使用量符合方案額度,而且你想要 app-server 執行階段的原生外掛程式和沙箱在該執行階段中,協調器回合受 OpenAI 限定,四個 Hermes 工具及輔助工作槽會轉移至訂閱
Hermes 預設執行階段上的閘道Hermes 回合及兩個編碼工作者共用一個預付餘額比固定費率更重要,而且你希望不同角色使用不同模型Codex 明確要求真正的 Responses 端點;此處沒有任何內容經過我們的執行階段測試
每個工具直接使用供應商金鑰你希望各工具的影響範圍彼此隔離,並分別收到各供應商的帳單需要查看三個餘額和三個計費表,而且第二家供應商意味著第二個帳戶
OpenCode Zen你只關心 OpenCode 工作者,並希望使用具備自動重新載入餘額的精選目錄Zen 本身就是閘道,因此應將其與其他閘道比較,而不是把它的費率視為「OpenCode 的成本」——CLI 採 MIT 授權且免費
透過 Hermes 的自訂供應商使用本機模型零邊際成本,且資料永遠不會離開這台機器工具呼叫的可靠性是這三個代理都依賴的能力;Hermes 自己的文件列出每部伺服器的旗標,甚至必須如此才能讓工具呼叫運作

先釐清兩種常見說法。「Codex 每月要花 $20」和「Codex 按權杖計費」都犯了同一種錯誤:learn.chatgpt.com(於 2026 年 9 月 19 日查閱)描述了兩條分支——ChatGPT 方案 Free、Go、Plus、Pro、Business 及 Enterprise & Edu,其額度涵蓋 Codex 使用量;或使用按標準 API 費率計費、無需訂閱的 API 金鑰。只有第二條分支才有可能替換為第三方端點。我們刻意不列出各方案的訊息額度:該頁面指出數量取決於模型和任務規模,而我們是透過摘要器而非轉譯後的 HTML 閱讀該頁面。請查閱你自己的帳戶。另一方面,OpenCode Zen 表示它「完全是選用的,不使用它也能使用 OpenCode」,會從預付額度餘額按請求扣款,且預設會在餘額低於 $5 時自動加值 $20——這與自行加值的預付餘額相比,確實存在成本控管上的差異。

完成設定後,查看三個計費表

從你實際需要的介面開始。Kunavo 為兩個編碼工作者都發布了設定參考:Codex CLI涵蓋僅限 Responses 的供應商區塊,OpenCode涵蓋決定線路格式的 npm 套件選擇。執行一次有界限的委派,然後查看每個帳戶為其記錄的費用——Hermes 的 /usage、opencode stats --days 7,以及 Codex 工作者自己的帳戶——再假設三個數字中的任何一個涵蓋其他數字。準備為金鑰提供資金時,建立 Kunavo 帳戶。

你是在比較兩個編碼工作者,而不是要將它們串接在一起嗎?OpenCode 與 Codex 的比較會直接處理這個問題,而OpenAI 相容 API則說明兩種線路格式在實務上的含義。

常見問題

Hermes Agent 有 Codex 整合嗎?

有,而且是兩個彼此獨立的整合。Hermes 隨附名為 codex 的技能,版本為 1.0.1,採 MIT 授權,描述為「將程式設計委派給 OpenAI Codex CLI(功能、PR)。」它會透過 Hermes 的終端機與程序工具呼叫 `codex exec`,因此由 Codex CLI 執行程式設計,而 Hermes 讀取其輸出。除此之外,Hermes 還有一個選擇加入的 Codex app-server 執行階段,會將 Hermes 自己的 openai/*、openai-codex/* 以及具名自訂提供者回合交給 Codex CLI app-server,因此由 Codex 的執行階段執行工具迴圈,而 Hermes 成為包裝它的 shell。技能是預設值;除非切換旗標,否則執行階段會關閉。兩者的資訊都來自 2026-09-19 的 Hermes Agent 儲存庫。

如何在 Hermes Agent 中使用 OpenCode?

使用 `npm i -g opencode-ai@latest` 或 `brew install anomalyco/tap/opencode` 安裝 CLI,使用 `opencode auth login` 進行驗證,並以 `opencode auth list` 確認;該指令應至少顯示一個提供者。接著,Hermes 隨附的 opencode 技能(版本 1.2.0,MIT)會在專案目錄中透過 `opencode run 'Add retry logic to API calls and update tests'` 委派一項受限任務,也可選擇使用 `--model provider/model` 固定模型。使用程序工具的 poll 與 log 動作監控背景執行,使用 submit 回應提示,並以 Ctrl+C 或 kill 結束。不要傳送 /exit——技能指出它不是有效的 OpenCode 指令,反而會開啟代理選擇器對話框。內容取自 2026-09-19 的技能檔案與 opencode.ai。

當 Hermes 將程式設計任務委派給 Codex 或 OpenCode 時,由哪個帳戶付款?

由子 CLI 自己的帳戶付款,而不是驅動 Hermes 的帳戶。兩個技能都會將工具作為子程序啟動,而每個子程序都從自己的憑證儲存區驗證:Codex 使用 ~/.codex/auth.json 或 OPENAI_API_KEY,OpenCode 使用 ~/.local/share/opencode/auth.json 或提供者環境變數。Hermes 將自己的 Codex OAuth 記錄在另一個檔案 ~/.hermes/auth.json 中,並表示為避免干擾 token 更新,它刻意不與 Codex CLI 共用 OAuth 狀態。因此存在三個計量表,且需用三種方式讀取:協調器使用 Hermes 自己的 /usage,OpenCode 工作程序使用 `opencode stats`,Codex 工作程序則使用 ChatGPT 或 OpenAI API 帳戶。

委派的 Codex CLI 可以指向第三方 API,而不是 OpenAI 嗎?

只有在該端點提供 Responses API 時才可以。在 2026-09-19 讀取的 Codex 原始碼中,線路協定列舉恰好只有一個變體 Responses,而 `wire_api = "chat"` 現在會反序列化為硬錯誤,要求你設定 `wire_api = "responses"`。因此,只實作 /v1/chat/completions 的端點,在任何設定下都不能成為 Codex 提供者。請在 ~/.codex/config.toml 的 [model_providers.<id>] 下定義提供者,設定 base_url 與 env_key;選擇的 id 不得為 openai、ollama 或 lmstudio,因為這些名稱已保留;並不要設定 requires_openai_auth,讓金鑰從環境變數而非 auth.json 取得。

Hermes 的 codex 技能與 codex_responses 傳輸是同一件事嗎?

不是,而且有三個不同的設定金鑰都包含 codex 一詞。技能是委派目標:Hermes 呼叫 Codex CLI 來執行程式設計工作。codex_responses 是 ~/.hermes/config.yaml 中自訂提供者項目的傳輸值,與 chat_completions 和 anthropic_messages 並列,用於描述 Hermes 與該端點通訊時使用的線路協定。codex_app_server 是 model.openai_runtime 的執行階段值,用來決定 Hermes 執行自己的工具迴圈,還是將該回合交給 Codex CLI app-server。變更其中一個不會改變其他項目。

opencode 仍由 SST 維護嗎?

專案仍在運作,但擁有者名稱已變更。GitHub API 將 sst/opencode 解析為 anomalyco/opencode;在 2026-09-19,該儲存庫回傳 archived false、MIT 授權、同日的推送,以及首頁 opencode.ai;最新版本是 2026-09-14 的 v1.18.31。sst 組織本身現在的描述是「我們已移至 https://github.com/anomalyco」。請注意這個陷阱:npm 套件名稱仍是 opencode-ai,且它是目前的產品,而名為 opencode-ai 的 GitHub 組織則持有已封存的前身專案,最後一次推送為 2025-09-18。同一字串代表兩個不同事物。

截至 2026 年 9 月 19 日已檢查:Hermes Agent 的 codex 和 opencode 技能檔案、該儲存庫中的 Codex app-server 執行階段與供應商文件;openai/codex 中的 codex-rs/model-provider-info/src/lib.rs;learn.chatgpt.com 的定價與設定參考,包括從 developers.openai.com 進行的 308 重新導向;opencode.ai 的供應商與 Zen 頁面;以及透過 GitHub REST API 取得的四個專案儲存庫狀態。未檢查:以上任何內容是否實際執行。沒有執行 Hermes 工作階段、codex exec、opencode run,也沒有執行這些工具對 Kunavo 端點發出的請求;各方案訊息額度和 Zen 模型費率刻意省略,因為我們是透過摘要器閱讀那兩個頁面。Kunavo 權杖費率來自目前的目錄;此處每個美元數字都是說明性的權杖算術。