返回指南
比较·2026年9月21日·更新于 2026年9月24日·阅读约 11 分钟

Hermes 对比 OpenCode:持久运行的助手还是交互式编程代理

Hermes Agent 和 OpenCode 并不是同一工具的两个构建版本——前者是通过消息渠道访问的持续运行个人代理,后者是你从终端、桌面应用或编辑器中驱动的交互式编程代理——而第三个诚实答案是委派,因为 Nous 提供了捆绑的 Hermes 技能,可将编程工作交给 OpenCode CLI。

最后审核于 。

Hermes Agent 和 OpenCode 并不是同一事物的两个构建版本:Hermes 是一个始终在线的个人代理,可跨消息渠道回复并在会话之间保留记忆;OpenCode 则是一个交互式编码代理,你通过终端、桌面应用或编辑器驱动它。两者均采用 MIT 许可证,页面核查当天两者都提交了代码,并且都接受第三方端点,无需付费层级。因此,决策依据不是功能评分,而是代理运行在哪里、谁被允许与它通信,以及在无人输入时什么仍会产生费用。

先说两个名称陷阱,因为在这项比较的搜索结果中都能遇到它们。这里的 OpenCode 是anomalyco/opencode:未归档,采用 MIT 许可证,默认分支为 dev,拥有 209,062 个 star,最新版本为 2026 年 9 月 14 日发布的v1.18.31。GitHub 仍将 sst/opencode 解析到它:该路径返回的是此仓库自身的记录,因此这是所有者之间的迁移,而不是第二个仍在运行的项目。迁移发生的原因不是 API 能够确定的,因此本页面不作说明。另一个仓库 opencode-ai/opencode 自 2025 年 9 月起已归档并为只读状态,其 README 自己写道项目“已以 Crush 的名称继续”——关于这一边界,请参阅Crush 与 OpenCode 的比较。此外,“Hermes”还指 Nous Research 的开放权重模型系列、一个 JavaScript 引擎和一家包裹承运商;本页面仅指 NousResearch/hermes-agent(未归档,采用 MIT 许可证,拥有 247,674 个 star,最新版本为 v2026.9.14,名称为“Hermes Agent v0.21.3”,于 2026 年 9 月 14 日发布)。全部四个仓库的状态均于 2026 年 9 月 21 日从 GitHub REST API 读取。

你应该选择哪一个?

当工作在你离开键盘时到达,请选择 Hermes Agent。其文档描述了“通过一个网关连接 20 多个平台”——CLI、Telegram、Discord、Slack、WhatsApp、Signal、Matrix、Mattermost、Email、SMS 等——以及七种终端后端和计划任务。这种可达性带来了 OpenCode 根本没有的权限维度:网关决定谁可以向代理发起通信,并且它默认关闭——“如果未配置允许列表且未设置 GATEWAY_ALLOW_ALL_USERS,所有用户都会被拒绝。”成本路径是最需要认真考虑的地方,因为始终在线的代理会在你不注意时产生费用;迁移障碍则很具体:macOS 安装程序仅支持 Apple Silicon,并将 Intel macOS 列为不受支持的平台(安装文档,2026 年 9 月 21 日)。

当工作内容是一个代码仓库且你在监督它时,请选择 OpenCode。它具备 Hermes 文档未说明的代码专用工具:Language Server Protocol 集成,使用诊断结果向代理提供反馈;内置 plan 代理将文件编辑和 bash 设置为 ask;以及只读的 explore 和 scout 子代理。其权限模型与 Hermes 恰好相反:“大多数权限默认为 "allow"”,而 doom_loop 和 external_directory 默认为 ask,.env 文件则被拒绝。因此,OpenCode 默认开放,由你将其关闭;Hermes 默认关闭,由你将其打开。成本路径更简单——你不在会话中时不会运行任何内容;迁移成本则与 Hermes 相反:OpenCode 没有记录跨会话记住你的信息,因此其持久性来自你编写并提交的 AGENTS.md 文件。

当诚实的答案是委派时,请选择两者。Nous 提供了一个捆绑的 Hermes 技能,将编码工作作为外部进程交给 OpenCode CLI——对有界任务执行一次性 opencode run,或通过 Hermes 的终端工具运行后台交互式会话。这是第一方文档,而不是临时变通方案;这也是为什么该比较并不完全是替代关系的问题:两个代理不共享会话或上下文窗口,因此 OpenCode 使用自己的凭据和自己的计量。凭据和计量细节属于使用 Codex 和 OpenCode 的 Hermes Agent,其中涵盖该工作流中的四个凭据面。

Hermes Agent 与 OpenCode:逐项比较

维度Hermes AgentOpenCode
它是什么持久网关代理;仓库描述为“与你一同成长的代理”编码代理;仓库描述为“开源编码代理。”
运行位置7 种终端后端:local、Docker、SSH、Daytona、Singularity、Modal、Vercel Sandbox在你自己的机器上运行的终端、桌面应用或 IDE 扩展
谁可以向它发起通信网关允许列表和私信配对;默认拒绝未知用户终端或编辑器前的任何人;没有发送者授权层
工具权限默认值默认 approvals.mode: smart;默认 approvals.cron_mode: deny大多数权限默认为 allow;doom_loop 和 external_directory 需要询问
不可化约的安全底线无论 --yolo、approvals.mode: off 或无头 cron 审批如何设置,都会拒绝的一组硬性规则明确的 deny 规则在 --auto 下仍然强制执行
会话之间的记忆MEMORY.md(2,200 个字符)和 USER.md(1,375 个字符)位于 ~/.hermes/memories/ 中,另有带 FTS5 搜索功能的 SQLite state.db依次为本地 AGENTS.md、~/.config/opencode/AGENTS.md、~/.claude/CLAUDE.md;未记录跨会话用户记忆
代码专用工具文件编辑和终端执行(terminal、process、read_file、patch);破坏性文件操作前的检查点,文档说明为可选且默认关闭;在此处核查的 Hermes 页面中没有 LSP 集成将 LSP 诊断反馈给代理;只读的 explore 和 scout 代理,以及将文件编辑和 bash 设置为 ask 的 plan 代理
编辑器界面文档将其定位为“不是拴在 IDE 上的编码副驾”支持 VS Code、Cursor、Windsurf 和 VSCodium 的扩展;opencode acp 通过 JSON-RPC 将其作为 ACP 子进程启动
并行性默认最多并发 10 个子代理,每个代理都会开始一个全新的对话会话内调用内置的 general、explore 和 scout 子代理;代理页面对任一方向都未记录并发限制
自定义端点协议三种传输方式:chat_completions、anthropic_messages、codex_responses通过 npm 提供两种线路格式:@ai-sdk/openai-compatible 和 @ai-sdk/openai

这些行于 2026 年 9 月 21 日读取自Hermes 文档索引、记忆、委派、工具、检查点和安全页面,以及 OpenCode 的规则、代理、ACP、IDE和权限页面。每个报告某项缺失的单元格——没有跨会话用户记忆、没有 LSP、没有并发限制、没有发送者授权层——都表示所列页面中未出现该内容,而不是供应商声明该功能不存在。

两者都接受第三方端点——但条件不同

两种产品都不会将自定义基础 URL 限制在某个方案之后。OpenCode Zen 是 Anomaly 自己的网关,其文档称它“完全可选,你不需要使用它也能使用 OpenCode”;Hermes 从自己的配置文件读取命名供应商,因此 Nous Portal 在其中只是一个选项,而非必需项。差异在于协议覆盖范围。Hermes 将 anthropic_messages 与 chat_completions 和 codex_responses 一样,作为 providers: 区块中 ~/.hermes/config.yaml 的一等传输值(Hermes 供应商文档)。OpenCode 记录了按供应商设置的通用 baseURL 覆盖——“在使用代理服务或自定义端点时很有用”——并通过 npm 选择线路格式,但其供应商页面没有提供 Anthropic 协议自定义端点的配置示例。应将其理解为文档中的缺失,而不是已证明的限制。

在比较费率卡之前,有一个 Hermes 特有的配置属性值得先了解。只有一种自定义端点情况,供应商文档明确描述 Hermes 会自行开启缓存:基础 URL 包含 x.ai,并且每次请求都会发送 x-grok-conv-id 标头。对于其他自定义端点,文档描述的是检测机制,而不是一概开启或关闭——Hermes 会将按模型设置的 prompt_caching 声明与“完全匹配供应商路由和运行时模型 ID”,因此通过网关解析裸别名时也能获得缓存标记;而“如果省略,Hermes 会继续进行正常的供应商和模型能力检测”;prompt_caching: false 会关闭这些标记。标记只是客户端的一半:某个端点是否会在没有标记的情况下缓存,取决于该端点自身的行为,因此请查阅供应商文档,不要假定答案一定是会或不会。Hermes 的模型配置文档说明了这项成本的重要性:缓存费率相对于完整输入价格大约可折扣 75–90%。同一组页面还提到两点:Hermes 对自定义的 OpenAI 兼容端点“不提供自动的目录规模输出上限”,因此适用服务器自身的默认值;对于自托管服务器,供应商文档将工具调用归在服务器一侧——llama.cpp 需要 --jinja,vLLM 需要 --enable-auto-tool-choice。

Kunavo 在 https://api.kunavo.com/v1 提供 /v1/chat/completions 和 /v1/responses,并在 https://api.kunavo.com 提供 Anthropic Messages。表面上看,这意味着 Hermes 可以通过其三种传输方式访问 Kunavo(Messages 路由仅响应 Claude 模型),而 OpenCode 可以通过其两个 npm 包访问——但这只是源文档审查,并非经过测试的集成。本文未对任一客户端连接 Kunavo 端点进行运行时测试,Kunavo 自己的OpenCode 集成文档也带有更早的验证时间戳。对于 Hermes,Hermes Agent 自定义 API涵盖供应商配置块;Anthropic 基础 URL 文档涵盖 Messages 传输所需的主机根 URL 形式。

Kunavo 不提供嵌入、文本转语音或语音转文本模型,因此这些步骤都无法指向 Kunavo。Hermes 提供 text_to_speech 工具,其工具页面列出了一个由 Nous Portal 托管的网关,涵盖网页搜索、图像生成、TTS 和浏览器自动化;这部分工作仍由你为其配置的供应商负责。

每条路线使用相同令牌的成本

两个客户端本身都不收费。两个代码仓库均采用 MIT 许可证,Hermes 自己的 FAQ 也明确写道:“Hermes Agent 本身免费且开源(MIT 许可证)。你只需支付所选供应商的 LLM API 使用费用。”两者的差异在于各自发送的工作形态。

这是用于说明的令牌算术,不是实测任务成本,也不是账单上限。假设一次工作会话包含400,000 个未缓存输入令牌和 25,000 个输出令牌。对于 Hermes 的工作形态,再加上一个委派批次,其中包含三个子代理,每个子代理有 300,000 个输入令牌和 20,000 个输出令牌——该数字仅用于说明,并非实测;Hermes 文档中的默认值最多允许十个子代理。费率采用实时的Kunavo 目录价格,单位为每百万令牌。

形状模型假设令牌数目录估算
OpenCode 风格的交互式会话Claude Sonnet 5400k 输入 / 25k 输出$0.73
Hermes 编排器加 3 个委派工作器全程使用 Claude Sonnet 51.3M 输入 / 85k 输出$2.42
同一次运行,将编排器切换到更便宜的档位Claude Haiku 4.5 编排器,Claude Sonnet 5 工作器1.3M 输入 / 85k 输出$2.05

可以从两个角度看。在这些假设下,委派工作器占总成本 $1.68(总计 $2.42),这与 Hermes 自己的委派文档在定性层面的描述一致——“实际成本在工作器模型上”。编排器档位是节省成本的关键:在那里指定 Claude Haiku 4.5 后,同一次运行的成本降至 $2.05。Hermes 提供 delegation.model、delegation.provider、delegation.base_url 和 delegation.api_key,因此工作器可以完全指向与编排器不同的位置。请记住本例省略的倍数因素:“每个辅助任务默认使用 auto——这意味着 Hermes 也会为该任务尝试使用你的主模型”,包括压缩、视觉、摘要、审批评分、MCP 路由、标题生成和技能搜索。

如果你正在将 Kunavo 与 OpenCode 自己的网关进行比较,结果会因模型而异,因此每次都要明确写出模型名称:

模型OpenCode Zen 发布价,每 1MKunavo 目录价,每 1M在此模型上
Claude Opus 5$5.00 输入 / $25.00 输出$3.50 输入 / $17.50 输出Kunavo 更低
Claude Sonnet 5$2.00 输入 / $10.00 输出$1.40 输入 / $7.00 输出维度
Claude Haiku 4.5$1.00 输入 / $5.00 输出$0.70 输入 / $3.50 输出Kunavo 更低

Zen 的数据来自Anomaly 自己的费率卡,读取日期为 2026 年 9 月 21 日;该费率卡说明价格按每 1M 个令牌计算。这里展示的是更长表格中的三行,因此不要据此推断未列出的模型。Zen 还会在余额低于 $5 时自动充值 $20;在比较余额而非费率之前,这项资金行为值得确认。OpenCode Go 是一个独立的每月 $10 产品,按请求而非令牌计量,并且可“与任何代理”一起使用(已于 2026 年 9 月 21 日核查),因此它无法与本页任何按令牌计费的费率(包括 Kunavo 的费率)进行比较。

还有一项 OpenCode 没有对应项:如果你托管持续运行的代理,Hermes Cloud公布 Medium 实例运行时每天 $0.56、停止时每天 $0.03(10 个并发会话、2GB RAM、4 个 vCPU);部署需要至少 $2 的余额或有效订阅,并说明这些费用涵盖计算和存储,而推理及工具使用费另行收取(已于 2026 年 9 月 21 日核查)。OpenCode 运行在你自己的机器上,空闲时不收费。

Kunavo 的目录金额是计费下限,而不是上限:上游报告费用后,账单取目录成本与上游成本乘以适用加价率两者中的较高值。本例不包含缓存费用和外部工具费用。最低充值金额为预付余额 $10,没有免费层级——这是资金最低要求,不是任务费用或订阅费用。请参阅计费详情,选择路线后创建账户。

两者之间无法迁移的内容

切换代理后,实际迁移的内容比看起来少得多,而且双方都将状态保存在各自的位置。

  • Hermes 状态位于 ~/.hermes/:包括 memories/MEMORY.md 和 memories/USER.md、skills/、config.yaml 以及 state.db。记忆“在设计上按配置文件隔离”,文档还警告:“不要让两个代理进程指向同一个 Hermes 主目录。”记忆页面没有记录导出或导入机制,因此请将这些路径视为已知事实,而将可移植性视为未经验证。
  • OpenCode 状态位于 ~/.local/share/opencode/(包括 auth.json 和按项目划分的会话数据),配置位于 ~/.config/opencode/。其持久且可移植的资产是仓库中的 AGENTS.md 文件;它们随仓库迁移,而不是随代理迁移。
  • 技能和指令不可互换。 Hermes 会将自己的技能写入磁盘,并称其格式兼容某项开放技能标准,但本文核查的内容没有证明 OpenCode 会加载 Hermes 技能,也没有证明 Hermes 会读取 AGENTS.md。
  • 通道设置没有对应项。 网关允许列表、私信配对和 cron 计划是 Hermes 的概念;OpenCode 方面没有可将它们导入的内容。

想进一步比较?Hermes 与 OpenClaw介绍另一个持续运行的助手,OpenCode 与 Claude Code介绍另一个交互式编码代理,而OpenCode 定价和Hermes Agent 定价分别介绍两种产品自身的商业条款。

常见问题

Hermes Agent 和 OpenCode 有什么区别?

它们在你一天中的不同位置发挥作用。Hermes Agent 是一个持久运行的网关进程:其文档描述了通过一个网关连接 20 多个消息平台——CLI、Telegram、Discord、Slack、WhatsApp、Signal、Matrix、Mattermost、Email、SMS 等——七种终端后端(local、Docker、SSH、Daytona、Singularity、Modal、Vercel Sandbox)、计划任务,以及在会话之间持久存在的记忆文件。OpenCode 是交互式编码代理,其自身文档称它可作为终端界面、桌面应用或 IDE 扩展使用,并可将语言服务器协议(Language Server Protocol)的诊断信息反馈给代理,还会从 AGENTS.md 读取项目指令。Hermes 可以编辑文件和运行终端命令,因此诚实的对比应是代码专用工具与始终在线的可达性,而不是其中哪一个能写入文件。两者均核查于 2026 年 9 月 21 日。

Hermes Agent 比 OpenCode 更好吗?

两个项目发布的内容都无法回答这个问题,本页面也不会编造评分。两者没有共同基准、可比的任务套件或实测完成数据,因此你看到的任何排名都只是某人的体验,而非证据。应改为根据四个可核查维度做决定:代理必须在哪里运行、谁被允许与它通信、自定义端点路径可到达哪些协议,以及在无人输入时什么仍会产生费用。最后一点上两者确实不同——Hermes 的设计目标是持续运行,并将工作委派给子代理批次;OpenCode 则在你运行它时运行。

Hermes Agent 和 OpenCode 能协同工作吗?

可以,Nous Research 将其记录为 Hermes 的捆绑技能,而不是社区变通方案。在通过 npm i -g opencode-ai@latest 或 brew install anomalyco/tap/opencode 安装 CLI,并使用 opencode auth login 或供应商环境变量进行身份验证后,该技能会通过一次性命令委派范围明确的任务,例如 opencode run 'Add retry logic to API calls and update tests';交互式会话则通过 Hermes 的终端工具运行,并启用 background 和 pty。两个代理不共享会话或上下文窗口——OpenCode 作为外部进程运行,拥有自己的凭据和独立的用量计量。以上内容于 2026 年 9 月 21 日从 Hermes 技能文档中读取。

一个 API 密钥能同时覆盖 Hermes Agent 和 OpenCode 吗?

同一个密钥可以在两者中配置,但这是两个独立的配置,彼此都不会继承对方的设置。Hermes 从 ~/.hermes/config.yaml 的 providers 区块读取命名供应商,其中 transport 可以是 chat_completions、anthropic_messages 或 codex_responses。OpenCode 从 opencode.json 的 provider 区块读取供应商,其中 npm 字段选择线路格式——/v1/chat/completions 使用 @ai-sdk/openai-compatible,/v1/responses 使用 @ai-sdk/openai。Hermes 委派给 OpenCode CLI 的任务会读取 OpenCode 自己的配置,因此只有在你有意将其指向同一处时,才会使用同一余额。此处的两份配置均读取自 2026 年 9 月 21 日的官方文档,且均未针对 Kunavo 进行运行时测试。

哪一个运行成本更低?

两边的客户端软件成本相同:零。Hermes Agent 采用 MIT 许可证,其 FAQ 称你只需支付所选供应商的 LLM API 使用费;OpenCode 的仓库也采用 MIT 许可证,运行它无需订阅方案。差异在于每种工作形态消耗什么。OpenCode 在你处于会话中时计费。Hermes 在你自己的回合之外还有三个文档化的乘数:辅助任务默认为 auto,这意味着它也会尝试使用主模型进行压缩、视觉处理、摘要、审批评分、MCP 路由、标题生成和技能搜索;委派批次默认最多并发 10 个子代理;Hermes 自己的委派文档称,实际成本在工作模型上。可选托管是单独一项——Hermes Cloud 公布 Medium 实例运行时每天 $0.56、停止时每天 $0.03,并说明这涵盖计算和存储,而推理及工具使用费另计;OpenCode 运行在你的机器上,因此没有空闲费用。两项数据均核查于 2026 年 9 月 21 日。

这是 2025 年归档的同一个 OpenCode 吗?

不是。两个不同的仓库曾使用过这个名称。当前产品是 opencode.ai 上的 anomalyco/opencode——未归档,采用 MIT 许可证,最新版本 v1.18.31 于 2026 年 9 月 14 日发布;GitHub 仍将较旧的 sst/opencode 路径解析到它,因为该路径返回的是同一仓库,而不是第二个仍在运行的项目。另一个独立仓库 opencode-ai/opencode 已由其所有者归档,自 2025 年 9 月起为只读状态;其工作后来以 Crush 的名称继续。取自已归档仓库的配置、CLI 标志和价格描述的是另一条项目谱系,而不是当前项目。仓库状态读取自 2026 年 9 月 21 日的 GitHub API。

核查日期为 2026 年 9 月 21 日:包括两个代码仓库的 GitHub REST API、最新版本和两个同名仓库,以及本页全文链接到的 hermes-agent.nousresearch.com、portal.nousresearch.com 和 opencode.ai 文档及定价页面。由于来源无法确定,本文省略了两个主题:OpenCode 的供应商页面一方面称 /connect 提供 Claude Pro/Max 选项,另一方面称 Anthropic 禁止路由这些模型的插件;此外,双方都没有发布任务性能测量结果,因此本文不对任一代理进行排名。未执行运行时测试——没有 Hermes 会话、没有 opencode run,也没有任一客户端向 Kunavo 端点发起请求。Kunavo 令牌费率来自实时目录;本页所有美元数字均为说明性令牌算术。