Skip to content

Latest commit

 

History

History
41 lines (34 loc) · 2.87 KB

File metadata and controls

41 lines (34 loc) · 2.87 KB

OpenCode 源码分析(面向 Code Agent 开发者)

本系列文档基于 OpenCode v1.17.8 开源源码分析(MIT 许可,25 包 TypeScript monorepo + Bun runtime + OpenTUI/SolidJS TUI),提炼出对 Qwen Code 等 Code Agent 开发者有参考价值的架构设计和实现模式。

阅读对象:正在开发或改进 CLI Code Agent 的工程师

OpenCode 的独特价值:多客户端架构(TUI + Web + Desktop 共享后端)、21 种 Hook 类型、38 种 LSP 集成、100+ Provider 动态加载。这些是 Qwen Code 和 Claude Code 都没有的设计。

文档索引

文档 开发者关注点 Qwen Code 对标
00-项目演进历史 个人项目→公司接手→双重重写时间线 重构 / 演进经验
01-概述与对标 能力矩阵、架构差异、独特设计 功能差距 + 可借鉴模式
02-命令与工具 16 工具 + 7 代理 + 命令面板 工具/代理架构
03-技术架构 多客户端、LSP 集成、认证、插件 Hook 插件系统 + LSP + 多客户端路线
04-Hook 与插件 21 种 Hook 类型、npm 插件、tool.definition Hook 扩展性 + 工具定义修改
05-会话与快照 Session Fork/Restore、Git 快照、云端 Share、SQLite Session 管理 + 文件状态追踪
06-Provider 动态加载 models.dev 动态发现、构建时快照、内置 Provider 零代码接入新 Provider
07-权限系统 命令 token 解析、Doom Loop、文件时间锁 安全机制参考
EVIDENCE.md 源码分析原始证据

OpenCode vs 其他 Agent:定位差异

维度 OpenCode Claude Code Qwen Code Gemini CLI
定位 多客户端平台 终端深度 Agent 终端 Agent(Gemini fork) 终端 Agent
客户端 TUI + Web + Desktop TUI + Remote Control TUI + WebUI + VSCode TUI
Provider 数 100+(models.dev 动态) 1(Claude) 10+(多 Provider) 1(Gemini)
LSP 集成 38 种语言 实验性 实验性
Formatter 26 种
Hook 类型 21 种 27 事件 × 6 处理器 20 事件 × command/JS ~11 事件 × command
许可证 MIT 专有 Apache 2.0 Apache 2.0

源码位置

  • 仓库:github.com/anomalyco/opencode
  • 许可证:MIT
  • 当前版本:v1.17.8(2026-06,dev 分支源码)
  • 开发:原作者 Kujtim Hoxha(2025-03 起)→ Anomaly Innovations / SST 团队接手(2025-04-30 起,Dax Raad 主导)
  • Stars:149,294 / Forks:17,128 / Commits:11,750(2026-04-25 实测)