awesome-opencode 生态深度调研报告

生成时间: 2026-06-18 任务: 调研 OpenCode 生态及其与 Hermes Agent 的关系


1. 项目概况

1.1 OpenCode CLI(已归档)

属性值
仓库https://github.com/opencode-ai/opencode
Stars12,988
Forks1,479
语言Go
许可证MIT
创建时间2025-03-16
归档状态已归档(Archived)—— 项目已迁移至 Crush

1.2 Crush(官方继任者)

属性值
仓库https://github.com/charmbracelet/crush
Stars25,437
Forks1,835
语言Go
许可证FSL-1.1-MIT(Functional Source License)
创建时间2025-05-21
活跃度非常活跃(最近推送: 2026-06-17)

Crush 由 Charm 团队维护,支持 macOS / Linux / Windows / FreeBSD / OpenBSD / NetBSD / Android。

1.3 OpenCode Go(云 API 服务)

属性值
端点https://opencode.ai/zen/go/v1
认证Bearer Token(API Key)
协议OpenAI API 兼容(chat/completions)
定价订阅制(约 $60/月)
模型数20 个可用模型

2. OpenCode CLI 核心功能

2.1 功能总览

类别功能说明
TUIBubble Tea 终端界面带 vim 风格编辑器的完整 TUI
多 AI 提供商OpenAI, Anthropic, Gemini, Bedrock, Groq, Azure, OpenRouter, GitHub Copilot, 自托管多种后端
会话管理SQLite 持久化保存/恢复/切换多会话
工具系统bash, glob, grep, ls, view, write, edit, patchAI 可调用
网络工具fetch(URL 抓取), sourcegraph(代码搜索)代码库感知
MCP 集成stdio / SSE 传输外部工具扩展
LSP 集成diagnostics, 多语言支持(gopls, typescript-language-server)代码智能
自定义命令Markdown 文件定义可带命名参数
自动压缩上下文窗口达 95% 时自动总结防止 OOC
非交互模式-p flag, 支持 text/json 输出脚本化使用

2.2 命令行界面

opencode              # 启动 TUI
opencode -p "prompt"  # 单次非交互模式
opencode -c /path     # 指定工作目录
opencode -d           # 调试模式
opencode -f json      # JSON 输出

3. Crush(继任者)增强功能

3.1 重大增强

功能描述
Agent Skills 标准支持 agentskills.io 开放标准,SKILL.md 技能包
MCP 三传输stdio + HTTP + SSE,支持 shell 值展开
多客户端工作空间crush serve 模式,多 TUI 共享会话/权限
全局上下文文件CRUSH.md + AGENTS.md 跨项目指令
桌面通知终端失焦时推送
Hook 系统事件钩子扩展
Git 归属设置assisted-by / co-authored-by 自动添加到提交
Catwalk 提供商自动更新社区驱动的提供商数据库
用户可调用技能user-invocable: true 技能从命令面板触发
自定义提供商openai-compat / anthropic 类型
本地模型支持Ollama / LM Studio

3.2 许可证差异

OpenCodeCrush
许可证MIT(完全开放)FSL-1.1-MIT
说明标准开放源码源码可见,商业部署受限;2年后自动转 MIT

4. 架构分析

4.1 OpenCode 内部架构

opencode/
├── cmd/              # Cobra CLI 入口
├── internal/
│   ├── app/          # 核心应用服务
│   ├── config/       # 配置管理
│   ├── db/           # SQLite 数据库操作及迁移
│   ├── llm/          # LLM 提供商 + 工具集成
│   ├── tui/          # TUI 组件(Bubble Tea)
│   ├── logging/      # 日志基础设施
│   ├── message/      # 消息处理
│   ├── session/      # 会话管理
│   └── lsp/          # LSP 协议集成
└── go.mod            # Go 1.24.0

4.2 Crush 内部架构

crush/
├── cmd/              # CLI 入口
├── internal/
│   ├── agent/        # Agent 编排 + 工具 + 技能
│   │   ├── prompt/   # 提示词模板
│   │   ├── templates/# coder/task/title 模板
│   │   ├── tools/    # 内置工具集
│   │   │   └── mcp/  # MCP 工具集成
│   │   └── hyper/    # Charm Hyper provider
│   ├── backend/      # Agent 后端
│   ├── config/       # 配置 + 动态 MCP
│   ├── proto/        # 协议定义
│   ├── server/       # 服务端(crush serve)
│   └── ui/           # TUI + chat 组件
└── go.mod            # Go 1.26.4 + Charm v2

4.3 关键依赖对比

组件OpenCodeCrush
Go 版本1.24.01.26.4
TUI 框架bubbletea v1, bubbles v0.21bubbletea v2, bubbles v2
样式库lipgloss v1, glamour v0.9lipgloss v2, glamour v2
MCP 库mark3labs/mcp-go v0.17.0自实现
LLM SDKanthropic-sdk-go, openai-go (beta)charmbracelet/openai-go
数据库ncruces/go-sqlite3 + gooseSQLite 内建
CLI 框架cobra + vipercobra + viper

5. 支持的 LLM 提供商

5.1 OpenCode CLI

OpenAI(GPT-4.1/4o/o1/o3)、Anthropic(Claude 4/3.7/3.5)、Google Gemini、AWS Bedrock、Azure OpenAI、Groq、OpenRouter、GitHub Copilot、VertexAI、自托管。

5.2 Crush(通过 Catwalk)

Anthropic、OpenAI、Google Gemini、AWS Bedrock、Azure OpenAI、Groq、OpenRouter、Charm Hyper、Synthetic、Z.ai、MiniMax、Hugging Face、Cerebras、io.net、Alibaba、Avian、OpenCode(Zen & Go)、VertexAI、自定义兼容端点、Ollama、LM Studio。

5.3 OpenCode Go 云 API 模型清单

模型 ID类型来源
deepseek-v4-pro / deepseek-v4-flash推理DeepSeek
minimax-m3 / m2.7 / m2.5通用/代码MiniMax
kimi-k2.7-code / k2.6 / k2.5代码/通用Kimi (Moonshot)
glm-5.2 / glm-5.1 / glm-5通用Zhipu AI
qwen3.7-max / plus / qwen3.6-plus / qwen3.5-plus推理Alibaba
mimo-v2-pro / v2-omni / v2.5-pro / v2.5多模态Mimo
hy3-preview预览(新兴)

共 20 个模型,按 OpenAI 兼容 API 格式提供。


6. MCP 集成分析

6.1 OpenCode

  • 传输: stdio, SSE
  • 配置: .opencode.json 的 mcpServers 段
  • 安全: 权限系统(每次调用需批准)
  • 库: mark3labs/mcp-go v0.17.0

6.2 Crush

  • 传输: stdio, HTTP, SSE(三传输)
  • 增强特性:
    • Shell 值展开((command))
    • HTTP 传输自定义 Header
    • 每服务器独立超时设置
    • disabled_tools 支持禁用特定工具
    • Docker MCP 支持
  • 代码结构: internal/agent/tools/mcp/

6.3 OpenCode Go 云 API 的 MCP 关系

OpenCode Go 云 API 本身不提供 MCP 服务器能力。它是模型推理网关。MCP 是 CLI 客户端的能力。


7. 与 Hermes Agent 的关系(重点)

7.1 集成模式

        Hermes Agent
            |
            |  模型推理(chat/completions)
            v
    +------------------+
    | OpenCode Go API  |  <-- 云网关(交易模式)
    | /zen/go/v1      |
    +--------+---------+
             |
    +--------+---------+
    | 模型聚合 20 个  |
    | DeepSeek / Qwen  |
    | GLM / Kimi / MM  |
    +------------------+

7.2 Hermes 配置中的 OpenCode

model:
  default: deepseek-v4-flash
  provider: opencode-go
  base_url: https://opencode.ai/zen/go/v1
  api_mode: chat_completions
  api_key: ${OPENCODE_GO_API_KEY}
 
auxiliary:
  vision:
    provider: opencode-go
    model: mimo-v2.5

7.3 Hermes 的 OpenCode 监控脚本

脚本功能运行方式
opencode_go_status.pyAPI key 健康检测 + 额度查询手动 / cron
opencode_go_usage.py详细用量追踪(workspace 抓取)需 session cookie
opencode_quota_monitor.sh3 层自动降级看门狗cron(每小时)
reconnect_opencode.shOP 恢复后自动切回状态触发

7.4 3 层自动降级架构

层级提供商模型账户角色
L0opencode-godeepseek-v4-proOpenClaw($60/mo)主用
L1opencode-go-fallbackflash 系列Hermes($60/mo)自动降级
L2deepseek 直连deepseek-v4-proDeepSeek 账户最终保底

7.5 互补性分析

维度Hermes AgentOpenCode / Crush关系
定位全功能 AI 代理系统终端 AI 编码助手供需互补
模型推理自身不提供模型OpenCode Go 是模型网关Hermes 是云 API 消费者
MCP 客户端自身工具集系统内置 MCP 客户端位置不同,可协同
Agent 技能Hermes Skillsagentskills.io 标准概念一致
代码编辑通过 terminal/工具深度代码编辑(edit/patch/LSP)互补
知识存储GBrain(知识图谱)SQLite 会话存储Hermes 存储更强大
自动化cron + agent 编排非交互模式 + hook可组合使用

7.6 核心洞察

  1. OpenCode Go 云 API 是 Hermes 的模型生命线:Hermes 的默认推理链路完全依赖 opencode-go 网关。若此服务不可用,将触发自动降级到 DeepSeek 直连。

  2. Hermes 不直接使用 OpenCode CLI 或 Crush:Hermes 没有集成 OpenCode/Crush 作为子代理或工具。它使用的是 opencode-go 的云 API 端点。

  3. OpenCode Go 模型聚合解决了中国区模型访问痛点:通过单一 API 端点,Hermes 可访问 DeepSeek、Qwen、GLM、Kimi、MiniMax 等多种中国顶级模型。

  4. 三方生态拓扑:

Hermes Agent --模型推理--> OpenCode Go Cloud API
                              |
              DeepSeek  MiniMax  Kimi  GLM  Qwen  Mimo
  1. Crush 作为 OpenCode 继任者 与 Hermes 无直接集成,但其 agentskills.io 标准和 Hermes Skills 系统概念一致,有互操作潜力。

8. 结论与建议

关键发现

  1. OpenCode 生态已分裂为三部分:Archived 原始 CLI、Charm 的 Crush(25k+ stars)、商业云 API(opencode.ai/zen/go)。

  2. Hermes 只消费云 API 部分,不使用 CLI 客户端。OpenCode/Crush 的 TUI、MCP 客户端、LSP、技能系统等与 Hermes 当前架构无直接关联。

  3. OpenCode Go 云 API 对 Hermes 至关重要,不仅是默认提供商,还通过 3 层降级确保推理可靠性。

  4. Crush 增长迅猛(25k+ vs 原版 13k),社区认可度高。

潜在集成方向

方向可行性价值
Hermes 作为 Crush 的 MCP 服务器高让 Crush 能查询 Hermes 知识库
Crush 作为 Hermes 的子代理中深度编码任务委派
Skills 标准互操作性高统一 agentskills.io 标准
Hermes 使用 Catwalk provider 列表中扩展模型支持范围

附录

A. OpenCode CLI 工具列表

工具描述
glob按模式查找文件
grep搜索文件内容
ls列出目录
view查看文件
write写文件
edit / patch文件编辑
bash执行命令
fetch抓取 URL
sourcegraph代码搜索
agent子代理任务
diagnosticsLSP 诊断

B. Crush 内置工具

bash, edit, view, ls, grep, glob, fetch, web_fetch, web_search, sourcegraph, crush_info, crush_logs, download, diagnostics, job_kill, job_output, list_mcp_resources, read_mcp_resource, lsp_restart, mcp-*(动态), references, rg, search, todos。

C. 参考资料

  1. OpenCode 源码: https://github.com/opencode-ai/opencode
  2. Crush 源码: https://github.com/charmbracelet/crush
  3. Catwalk 提供商数据库: https://github.com/charmbracelet/catwalk
  4. OpenCode Go 云 API: https://opencode.ai/zen/go/v1
  5. Agent Skills 标准: https://agentskills.io
  6. Hermes Agent 文档: https://hermes-agent.nousresearch.com/docs

2026-10-09 Codex 审阅

本文原始 Go 项目 opencode-ai/opencode 确已归档,其后续为 Charm Crush;这条项目线不能与当前仍维护、TypeScript 实现的 anomalyco/opencode 混为一谈。当前 OpenCode Go 官方页列出 Go 40/月两个计划,具有用量限制;原文 $60/月、20 个模型及本地账户路由均为旧记录,不能当成当前报价或账户状态。Zen 官方页另采用按量付费。Crush 的 FSL-1.1-MIT 为源码可见许可,不能笼统说所有商业部署都禁止,具体限制应读完整许可。本文 Hermes 提供商、监控脚本、自动降级状态未在本轮做运行验证,也不构成自动启用付费保底的授权。