Hermes Agent không thay thế Codex hoặc OpenCode — nó điều khiển chúng. Hermes cung cấp hai skill đi kèm, codex và opencode, khởi chạy từng CLI dưới dạng subprocess, và mỗi subprocess thanh toán bằng thông tin xác thực riêng thay vì dùng nhà cung cấp model của Hermes. Đây là sự thật cần tính đến khi lập kế hoạch: một quy trình làm việc, bốn bề mặt thông tin xác thực, ba đồng hồ đo riêng biệt và hai bề mặt chỉ giao tiếp được với endpoint cung cấp Responses API.
Trang này nói về Hermes Agent, phần mềm agent từ Nous Research được cấp phép theo MIT — không phải Hermes 3 hay Hermes 4, dòng model open-weight của cùng công ty, không phải engine JavaScript cùng tên và cũng không phải thương hiệu hàng xa xỉ. Kiểm tra trực tiếp repository vào ngày 19 tháng 9 năm 2026 trả về archived: false, giấy phép MIT và một lần push trong ngày đó; bản phát hành mới nhất là Hermes Agent v0.21.3, được gắn thẻ v2026.9.14 vào ngày 14 tháng 9 năm 2026. Để biết chi phí chạy chính agent này, xem giá Hermes Agent.
Ba thứ mang tên "codex" bên trong Hermes
Đây là điểm xung đột cần làm rõ đầu tiên, vì cả ba đều xuất hiện trong cấu hình và chỉ một trong số đó là điều hầu hết mọi người muốn nói khi dùng hermes codex.
| Tên | Đó là gì | Cấu hình ở đâu | Ai chạy vòng lặp công cụ |
|---|---|---|---|
Skill codex | Một skill đi kèm ủy quyền công việc lập trình cho Codex CLI dưới dạng subprocess | Không cần cấu hình gì trong Hermes; CLI phải được cài đặt và xác thực | Codex, dưới dạng một tiến trình riêng; Hermes đọc đầu ra của nó |
codex_responses | Một giá trị transport cho nhà cung cấp tùy chỉnh — giao thức truyền tải mà Hermes sử dụng | providers.<name>.transport trong ~/.hermes/config.yaml | Hermes |
codex_app_server | Một runtime chuyển các lượt OpenAI riêng của Hermes đến Codex app-server | model.openai_runtime, hoặc /codex-runtime codex_app_server | Runtime của Codex; Hermes trở thành lớp shell bao quanh nó |
Nguồn: codex skill đi kèm, tài liệu nhà cung cấp và trang runtime Codex app-server, tất cả được đọc vào ngày 19 tháng 9 năm 2026.
Ủy quyền một tác vụ lập trình cho Codex
Skill codex là phiên bản 1.0.1, được cấp phép MIT và nêu rõ nhiệm vụ là "Delegate coding to OpenAI Codex CLI (features, PRs)." Các điều kiện tiên quyết được nêu rõ: đã cài Codex bằng npm install -g @openai/codex; xác thực OpenAI được cấu hình bằng OPENAI_API_KEY hoặc một phiên OAuth Codex; công việc phải chạy bên trong một git repository, vì Codex từ chối chạy bên ngoài repository; và các lệnh terminal cần pty=true vì Codex là một ứng dụng terminal tương tác.
Lệnh khởi chạy là một lệnh terminal chạy nền — codex exec --sandbox workspace-write 'Refactor the auth module' với workdir — trả về một session id. Từ đó Hermes thăm dò session, đọc log, trả lời lời nhắc phê duyệt bằng hành động submit và dừng tiến trình nếu có lỗi. Kết quả đến agent chính dưới dạng đầu ra của process cùng với bất kỳ thay đổi nào Codex để lại trong working tree; hai tiến trình không chia sẻ gì trong bộ nhớ.
Skill ghi lại hai ranh giới thay vì che giấu chúng. --full-auto vẫn hoạt động nhưng CLI hiện tại cảnh báo nên dùng --sandbox workspace-write thay thế. Khi Codex được gọi từ bối cảnh gateway hoặc service của Hermes — chẳng hạn một phiên agent điều khiển bằng chat — việc sandbox workspace-write có thể thất bại dù cùng lệnh hoạt động trong shell tương tác, với các lỗi bubblewrap hoặc user-namespace như setting up uid map: Permission denied. Cách khắc phục do chính skill đưa ra là --sandbox danger-full-access, thao tác này loại bỏ hoàn toàn sandbox của Codex; nếu chọn cách đó, ranh giới tiến trình nơi bạn chạy Hermes trở thành lớp cô lập duy nhất còn lại.
Ủy quyền một tác vụ lập trình cho OpenCode
Skill opencode là phiên bản 1.2.0, được cấp phép MIT và được mô tả là "Delegate coding to OpenCode CLI (features, PR review)." Cài đặt bằng npm i -g opencode-ai@latest hoặc brew install anomalyco/tap/opencode, sau đó opencode auth login và xác minh bằng opencode auth list. Tài liệu riêng của OpenCode cũng cung cấp lệnh /connect trong giao diện terminal, lệnh này ghi thông tin xác thực vào ~/.local/share/opencode/auth.json — cả hai cách đều hiện hành, nên làm theo cách này không có nghĩa cách kia đã lỗi thời.
Đối với công việc có giới hạn, skill ưu tiên chạy một lần: opencode run 'Add retry logic to API calls and update tests', dùng --model provider/model để ghim model. Các phiên tương tác được chạy nền với pty và điều khiển bằng poll, log và submit. Một điểm dễ mắc lỗi được skill in đậm nhấn mạnh: không gửi /exit — đây không phải là lệnh OpenCode hợp lệ và thay vào đó sẽ mở hộp thoại chọn agent. Thoát bằng Ctrl+C hoặc hành động kill.
Cách đặt tên ở đây cũng có một điểm dễ nhầm riêng. Gói npm opencode-ai là sản phẩm hiện hành; tổ chức GitHub có tên opencode-ai chứa dự án tiền nhiệm đã lưu trữ, lần push cuối vào ngày 18 tháng 9 năm 2025. Repository hiện tại là anomalyco/opencode, không phải sst/opencode — GitHub API phân giải đường dẫn cũ sang đường dẫn mới, và tổ chức sst hiện hiển thị "Chúng tôi đã chuyển sang https://github.com/anomalyco". Bản phát hành mới nhất v1.18.31, ngày 14 tháng 9 năm 2026 (GitHub REST API, ngày 19 tháng 9 năm 2026).
Sơ đồ thực sự quyết định hóa đơn của bạn
Đây là phần tài liệu của cả hai nhà cung cấp đều không đề cập, vì mỗi bên chỉ sở hữu một nửa. Quy trình này có bốn bề mặt thông tin xác thực, mỗi bề mặt được cấu hình trong một tệp khác nhau. Cả bốn đều có thể trỏ đến endpoint bên thứ ba — nhưng không theo cùng điều kiện, và hai bề mặt Codex chỉ chấp nhận Responses API.
| Giao diện | Tệp cấu hình | Thông tin xác thực được sử dụng | Giao thức truyền tải bắt buộc | Đồng hồ đo bạn đọc |
|---|---|---|---|---|
| Các lượt riêng của Hermes | ~/.hermes/config.yaml | key_env, api_key hoặc key_cmd | Bất kỳ giá trị nào trong chat_completions, anthropic_messages, codex_responses | Hermes /usage |
| Codex CLI được ủy quyền | ~/.codex/config.toml | Biến env_key, hoặc ~/.codex/auth.json | Chỉ Responses API | Tài khoản ChatGPT hoặc OpenAI API |
| OpenCode CLI được ủy quyền | opencode.json | options.apiKey, hoặc ~/.local/share/opencode/auth.json | Do gói npm bạn chỉ định quyết định | opencode stats |
| Môi trường thực thi app-server của Codex | model.openai_runtime, cộng thêm [model_providers.<name>] tương ứng trên tuyến nhà cung cấp được đặt tên | codex login và hermes auth add openai-codex trên tuyến đăng ký; nếu không thì env_key của nhà cung cấp tùy chỉnh được đặt tên | Responses API — wire_api = "responses" ở phía Codex | Gói đăng ký ChatGPT, hoặc đồng hồ đo riêng của nhà cung cấp được đặt tên |
Hermes nêu rõ sự tách biệt: OAuth Codex riêng của nó nằm trong ~/.hermes/auth.json trong khi session của CLI độc lập nằm trong ~/.codex/auth.json, và trang runtime bổ sung lý do — Hermes cố ý không chia sẻ trạng thái OAuth với Codex CLI để tránh hai bên làm hỏng trạng thái của nhau khi làm mới token. Vì vậy, một tác vụ lập trình được ủy quyền không kế thừa cấu hình nhà cung cấp của Hermes; nó đọc ~/.codex/config.toml hoặc opencode.json, và chỉ sử dụng cùng số dư nếu bạn cố ý trỏ nó đến cùng một khóa. Đây là một tính năng khi bạn muốn cô lập phạm vi ảnh hưởng, nhưng sẽ gây bất ngờ nếu bạn cho rằng một số dư duy nhất bao phủ mọi thứ.
Runtime app-server thay đổi điều gì
Nếu bật Codex app-server runtime, phép tính thay đổi theo ba cách cần biết trước khi bật. Nó định tuyến các lượt openai/*, openai-codex/* và nhà cung cấp tùy chỉnh được đặt tên; bảng tính năng đánh dấu các nhà cung cấp không phải OpenAI khác là "n/a — not routed through codex", và provider: custom ẩn danh với base URL trần được nêu rõ là không đủ điều kiện vì không có tên ổn định để chuyển cho Codex. Bốn công cụ Hermes không còn khả dụng trên runtime này — delegate_task, memory, session_search và todo — vì chúng cần vòng lặp agent đang chạy, còn callback không trạng thái không thể điều khiển chúng. Và dòng chi phí mà hầu hết mọi người bỏ sót: với nhà cung cấp openai-codex, các tác vụ phụ cũng mặc định chạy qua gói đăng ký ChatGPT của bạn — tạo tiêu đề, nén ngữ cảnh, tự động phát hiện hình ảnh và nhánh đánh giá tự cải thiện chạy nền — vì auxiliary client của Hermes sử dụng nhà cung cấp chính khi không đặt ghi đè cho từng tác vụ.
Endpoint bên thứ ba không bị loại khỏi runtime này, nhưng bạn phải dùng thêm một tệp cấu hình thứ hai. Trang runtime mô tả tuyến này: một mục providers.<name> trong ~/.hermes/config.yaml với openai_runtime: codex_app_server, cùng một bảng [model_providers.<name>] có cùng tên trong ~/.codex/config.toml chứa base_url, env_key và wire_api = "responses". Hermes chỉ gửi model và tên nhà cung cấp khi thread bắt đầu và không bao giờ chuyển tiếp khóa, vì vậy biến môi trường đó phải có mặt trong tiến trình nơi Hermes chạy; các lệnh gọi phụ tiếp tục sử dụng mục riêng của Hermes cho nhà cung cấp đó. Một lưu ý được cùng trang nêu rõ: hai tên phải khớp chính xác, nếu không Codex sẽ báo nhà cung cấp không xác định thay vì chuyển dự phòng sang endpoint Hermes. Giữ runtime mặc định (openai_runtime: auto) với nhà cung cấp custom: vẫn là tuyến đơn giản hơn và là tuyến duy nhất không yêu cầu endpoint cung cấp Responses. Cũng lưu ý rằng Hermes trỏ subprocess Codex đến ~/.codex/ bất kể profile Hermes nào đang hoạt động, vì vậy hermes -p work và hermes -p personal dùng chung một xác thực Codex trừ khi bạn đặt CODEX_HOME và đăng nhập lại.
Trỏ cả ba bề mặt đang mở đến một endpoint
Mọi khối bên dưới đều được đọc từ tài liệu nguồn của nhà cung cấp, chưa được kiểm thử khi chạy. Kunavo chưa thực thi một session Hermes, một codex exec hoặc một opencode run đến endpoint của mình, và hướng dẫn thiết lập đã công bố là tài liệu tham khảo cấu hình chứ không phải bài kiểm tra tương thích. Hãy giữ sẵn một tuyến đang hoạt động trong khi thử nghiệm.
# 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:kunavotransport là toàn bộ câu chuyện đối với các lượt riêng của Hermes. Kunavo cung cấp /v1/chat/completions, /v1/messages và /v1/responses, vì vậy mỗi trong ba giá trị transport của Hermes đều có một endpoint tương ứng — khớp ở cấp tài liệu, chưa phải khớp đã kiểm thử. Tài liệu nhà cung cấp của Hermes cho biết việc tự phát hiện dựa trên URL chỉ xảy ra dự phòng khi trường này để trống, vì vậy hãy đặt giá trị cho nó. Chuyển đổi giữa phiên bằng /model custom:kunavo:<model-id>.
# 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.Phần Codex là một cổng kiểm tra nghiêm ngặt, và đáng xem ở cấp mã nguồn thay vì chỉ tin theo. Trong codex-rs/model-provider-info/src/lib.rs, được đọc vào ngày 19 tháng 9 năm 2026, enum giao thức truyền tải chỉ có đúng một biến thể: Responses. Đặt wire_api = "chat" hiện là lỗi cấu hình nghiêm trọng với thông báo yêu cầu bạn đặt responses thay thế. Một gateway chỉ giao tiếp bằng Chat Completions hoàn toàn không thể là nhà cung cấp Codex. Tài liệu tham chiếu khóa hiện tại nằm tại learn.chatgpt.com — mọi tài liệu vẫn trích dẫn developers.openai.com/codex/… đều chuyển hướng 308, điều chúng tôi đã xác nhận trong cùng ngày.
{
"$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" } }
}
}
}Đối với OpenCode, gói npm quyết định định dạng truyền tải: @ai-sdk/openai-compatible gọi /chat/completions, còn @ai-sdk/openai gọi /responses. Hãy đặt tên tương ứng với đường dẫn mà endpoint của bạn thực sự cung cấp; tài liệu không mô tả trường hợp lỗi khi đặt tên cho đường dẫn còn lại và chúng tôi chưa kiểm thử. Việc các skill đi kèm có tôn trọng nhà cung cấp tùy chỉnh được cấu hình theo cách này hay không là một suy luận từ tài liệu sub-CLI — các skill chỉ đơn giản gọi shell subprocess, vì vậy chúng có thể sẽ tôn trọng — nhưng không tài liệu Hermes nào nêu điều đó và chúng tôi chưa chạy thử.
Một ước tính minh họa qua ba đồng hồ đo
Đây là phép tính token minh họa, không phải chi phí tác vụ đo được và không phải mức trần hóa đơn. Giả sử một ngày bận rộn: bộ điều phối và các slot phụ của nó nhận 1.500.000 token đầu vào chưa được cache và 80.000 token đầu ra, còn mỗi worker lập trình được ủy quyền nhận 2.000.000 token đầu vào và 120.000 token đầu ra. Các tỷ lệ này chỉ là giả định để minh họa. Mức giá là giá catalog Kunavo hiện hành cho mỗi một triệu token.
| Vai trò | Đầu vào / đầu ra giả định | Trên Claude Sonnet 4.6 | Trên Claude Haiku 4.5 |
|---|---|---|---|
| Các lượt điều phối Hermes cùng những slot phụ trợ | 1,5M / 80K | $3,99 | $1,33 |
| Worker Codex được ủy quyền | 2,0M / 120K | $5,46 | $1,82 |
| Worker OpenCode được ủy quyền | 2,0M / 120K | $5,46 | $1,82 |
Theo các giả định này, chạy cả ba vai trò trên các model Claude Sonnet 4.6 có chi phí $14,91 trong ngày, trong khi đưa bộ điều phối và lưu lượng phụ của nó lên Claude Haiku 4.5 và để cả hai worker lập trình chạy trên các model Claude Sonnet 4.6 có chi phí $12,25. Khoảng chênh lệch đó là lý do nên lựa chọn model theo từng vai trò, đồng thời cũng giải thích vì sao sơ đồ thông tin xác thực ở trên quan trọng: nếu các worker lập trình dùng các tài khoản riêng, phép tính này phải được thực hiện ba lần, theo ba đồng hồ đo, thay vì một lần.
Số tiền trong catalog của Kunavo là mức sàn thanh toán chứ không phải mức trần: khi upstream báo cáo khoản phí, hóa đơn là giá trị lớn hơn giữa chi phí catalog và chi phí upstream nhân với mức markup áp dụng. Phí bộ nhớ đệm và công cụ bên ngoài nằm ngoài ví dụ này. Mức nạp tối thiểu là $10 tín dụng trả trước, đây là mức tối thiểu để nạp tiền chứ không phải phí tác vụ hay gói đăng ký — xem chi tiết thanh toán.
Phương thức trả tiền nào phù hợp khi nào
| Phương thức | Có lợi khi | Bạn phải từ bỏ điều gì |
|---|---|---|
| Gói đăng ký ChatGPT điều khiển Codex | Lập trình là khối lượng công việc chủ yếu, mức sử dụng của bạn phù hợp với hạn mức gói và bạn muốn các plugin gốc cùng sandbox của app-server runtime | Lượt của bộ điều phối bị giới hạn trong OpenAI trên runtime đó, và bốn công cụ Hermes cùng các slot phụ chuyển sang gói đăng ký |
| Một gateway trên runtime mặc định của Hermes | Một số dư trả trước dùng chung cho các lượt Hermes và cả hai worker lập trình quan trọng hơn mức giá cố định, đồng thời bạn muốn dùng model khác nhau cho từng vai trò | Codex đặc biệt yêu cầu một endpoint Responses thực sự; chúng tôi chưa kiểm thử khi chạy bất kỳ nội dung nào ở đây |
| Khóa nhà cung cấp trực tiếp trong từng công cụ | Bạn muốn cô lập phạm vi ảnh hưởng theo từng công cụ và có hóa đơn riêng từ mỗi nhà cung cấp | Ba số dư và ba đồng hồ đo cần theo dõi, đồng thời một nhà cung cấp thứ hai có nghĩa là một tài khoản thứ hai |
| OpenCode Zen | Bạn chỉ quan tâm đến worker OpenCode và muốn một catalog được tuyển chọn với số dư tự động nạp lại | Zen bản thân là một gateway, vì vậy hãy so sánh nó với các gateway khác thay vì coi mức giá của nó là "chi phí của OpenCode" — CLI được cấp phép MIT và miễn phí |
| Model cục bộ thông qua nhà cung cấp tùy chỉnh của Hermes | Chi phí biên bằng không và dữ liệu không bao giờ rời khỏi máy | Độ tin cậy của việc gọi công cụ, điều mà cả ba agent này đều phụ thuộc; tài liệu riêng của Hermes liệt kê các cờ theo từng server chỉ để khiến việc gọi công cụ hoạt động |
Hai điều chỉnh đối với những cách diễn đạt phổ biến. "Codex có giá $20 một tháng" và "Codex tính phí theo token" đều sai theo cùng một cách: learn.chatgpt.com (được đọc vào ngày 19 tháng 9 năm 2026) mô tả hai nhánh — các gói ChatGPT có tên Free, Go, Plus, Pro, Business và Enterprise & Edu với hạn mức bao gồm việc sử dụng Codex, hoặc một khóa API được tính theo mức giá API tiêu chuẩn mà không cần gói đăng ký. Chỉ nhánh thứ hai mới cho phép thay thế bằng endpoint bên thứ ba. Chúng tôi cố ý không in hạn mức tin nhắn theo từng gói: trang đó nêu rằng số lượng phụ thuộc vào model và quy mô tác vụ, còn việc chúng tôi đọc nội dung này được thực hiện thông qua trình tóm tắt thay vì HTML đã render. Hãy kiểm tra tài khoản của bạn. Ở phía còn lại, OpenCode Zen nêu rằng dịch vụ này "hoàn toàn tùy chọn và bạn không cần dùng dịch vụ này để sử dụng OpenCode", tính phí theo từng request từ số dư tín dụng và mặc định nạp lại $20 khi số dư giảm xuống dưới $5 — một khác biệt kiểm soát chi phí thực sự so với số dư trả trước do bạn tự nạp.
Thiết lập xong rồi đọc cả ba đồng hồ đo
Bắt đầu với bề mặt bạn thực sự cần. Kunavo công bố tài liệu tham khảo thiết lập cho cả hai worker lập trình: Codex CLI bao quát khối nhà cung cấp chỉ hỗ trợ Responses, còn OpenCode bao quát lựa chọn gói npm quyết định định dạng truyền tải. Thực hiện một lần ủy quyền có giới hạn, sau đó đọc khoản phí mà mỗi tài khoản ghi nhận cho lần đó — /usage của Hermes, opencode stats --days 7 và tài khoản riêng của worker Codex — trước khi cho rằng bất kỳ con số nào trong ba con số bao phủ các con số còn lại. Tạo tài khoản Kunavo khi bạn sẵn sàng nạp tiền cho một khóa.
Bạn đang so sánh hai worker lập trình thay vì kết nối chúng với nhau? OpenCode vs Codex trả lời trực tiếp câu hỏi đó, còn API tương thích OpenAI giải thích ý nghĩa thực tế của hai định dạng truyền tải.
Câu hỏi thường gặp
Hermes Agent có tích hợp Codex không?
Có, và có hai tích hợp riêng biệt. Hermes cung cấp một skill đi kèm có tên codex, phiên bản 1.0.1, sử dụng giấy phép MIT, với mô tả là "Ủy thác việc lập trình cho OpenAI Codex CLI (tính năng, PR)." Skill này gọi `codex exec` thông qua các công cụ terminal và tiến trình của Hermes, vì vậy Codex CLI thực hiện việc lập trình còn Hermes đọc đầu ra của nó. Ngoài ra, Hermes có một môi trường thực thi Codex app-server mà bạn có thể chủ động bật, chuyển các lượt của chính Hermes sử dụng openai/*, openai-codex/* và các nhà cung cấp tùy chỉnh có tên tới Codex CLI app-server, để môi trường thực thi của Codex thực thi vòng lặp công cụ còn Hermes trở thành lớp shell bao quanh nó. Skill được bật mặc định; môi trường thực thi bị tắt trừ khi bạn bật cờ. Cả hai đều được đọc từ kho Hermes Agent vào ngày 19 tháng 9 năm 2026.
Làm thế nào để sử dụng OpenCode với Hermes Agent?
Cài đặt CLI bằng `npm i -g opencode-ai@latest` hoặc `brew install anomalyco/tap/opencode`, xác thực bằng `opencode auth login` và xác nhận bằng `opencode auth list`, lệnh này phải hiển thị ít nhất một nhà cung cấp. Skill opencode đi kèm Hermes (phiên bản 1.2.0, MIT) sau đó ủy quyền một tác vụ có giới hạn bằng `opencode run 'Add retry logic to API calls and update tests'` từ thư mục dự án, tùy chọn ghim một model bằng `--model provider/model`. Theo dõi một tiến trình chạy nền bằng poll của công cụ process và các hành động log, trả lời lời nhắc bằng submit, rồi thoát bằng Ctrl+C hoặc kill. Không gửi /exit — skill nêu rõ đây không phải là lệnh OpenCode hợp lệ và thay vào đó sẽ mở hộp thoại chọn agent. Đã đọc từ tệp skill và opencode.ai vào ngày 2026-09-19.
Tài khoản nào thanh toán khi Hermes ủy quyền một tác vụ lập trình cho Codex hoặc OpenCode?
Tài khoản riêng của sub-CLI, không phải tài khoản điều khiển Hermes. Cả hai skill đều khởi chạy công cụ dưới dạng subprocess, và mỗi subprocess xác thực từ kho thông tin xác thực riêng: ~/.codex/auth.json hoặc OPENAI_API_KEY đối với Codex, và ~/.local/share/opencode/auth.json hoặc các biến môi trường của nhà cung cấp đối với OpenCode. Hermes ghi lại OAuth Codex riêng của mình trong một tệp khác, ~/.hermes/auth.json, đồng thời nêu rõ rằng nó cố ý không chia sẻ trạng thái OAuth với Codex CLI để tránh làm hỏng việc làm mới token. Vì vậy tồn tại ba đồng hồ đo và bạn đọc chúng theo ba cách: /usage riêng của Hermes cho bộ điều phối, `opencode stats` cho worker OpenCode và tài khoản ChatGPT hoặc OpenAI API cho worker Codex.
Codex CLI được ủy quyền có thể trỏ đến API bên thứ ba thay vì OpenAI không?
Chỉ khi endpoint đó cung cấp Responses API. Trong mã nguồn Codex được đọc vào ngày 2026-09-19, enum giao thức truyền tải chỉ có đúng một biến thể là Responses, và `wire_api = "chat"` hiện được giải tuần tự thành lỗi nghiêm trọng yêu cầu bạn đặt `wire_api = "responses"`. Do đó, một endpoint chỉ triển khai /v1/chat/completions không thể là nhà cung cấp Codex với bất kỳ cấu hình nào. Khai báo nhà cung cấp trong [model_providers.<id>] ở ~/.codex/config.toml với base_url và env_key, chọn một id khác openai, ollama hoặc lmstudio vì các tên này đã được dành riêng, và để trống requires_openai_auth để khóa được lấy từ biến môi trường thay vì auth.json.
Hermes codex skill có phải là codex_responses transport không?
Không, và có ba khóa cấu hình khác nhau chứa từ codex. Skill là một đích ủy quyền: Hermes gọi Codex CLI qua shell để thực hiện công việc lập trình. codex_responses là một giá trị transport cho mục nhà cung cấp tùy chỉnh trong ~/.hermes/config.yaml, cùng với chat_completions và anthropic_messages, mô tả giao thức truyền tải mà Hermes sử dụng để giao tiếp với endpoint đó. codex_app_server là một giá trị runtime cho model.openai_runtime, quyết định Hermes chạy vòng lặp công cụ riêng hay chuyển lượt xử lý cho app-server của Codex CLI. Thay đổi một giá trị không làm thay đổi các giá trị còn lại.
opencode còn được SST duy trì không?
Dự án vẫn đang hoạt động nhưng tên chủ sở hữu đã thay đổi. GitHub API phân giải sst/opencode thành anomalyco/opencode; vào ngày 2026-09-19, dự án này trả về archived false, giấy phép MIT, một lần push trong cùng ngày và trang chủ opencode.ai; bản phát hành mới nhất là v1.18.31 từ ngày 2026-09-14. Bản thân tổ chức sst hiện có mô tả "We've moved to https://github.com/anomalyco". Lưu ý điểm dễ nhầm: tên gói npm vẫn là opencode-ai và hiện hành, trong khi tổ chức GitHub có tên opencode-ai chứa dự án tiền nhiệm đã lưu trữ, lần push cuối vào 2025-09-18. Cùng một chuỗi nhưng là hai thứ khác nhau.
Đã kiểm tra ngày 19 tháng 9 năm 2026: các tệp skill codex và opencode của Hermes Agent, cùng tài liệu runtime app-server và nhà cung cấp Codex trong repository đó; codex-rs/model-provider-info/src/lib.rs trong openai/codex; tài liệu tham chiếu về giá và cấu hình của learn.chatgpt.com, bao gồm các chuyển hướng 308 từ developers.openai.com; các trang provider và Zen của opencode.ai; và trạng thái repository của cả bốn dự án thông qua GitHub REST API. Chưa kiểm tra: bất kỳ nội dung nào trong số này khi chạy. Không thực thi session Hermes, codex exec, opencode run hay request nào từ các công cụ này đến endpoint Kunavo, và hạn mức tin nhắn theo từng gói cùng mức giá model Zen được cố ý lược bỏ vì việc chúng tôi đọc hai trang đó được thực hiện thông qua trình tóm tắt. Mức giá token Kunavo lấy từ catalog hiện hành; mọi con số đô la ở đây đều là phép tính token minh họa.