0. OpenCode 项目演进时间线

June 20, 2026 · View on GitHub

完整历史从 Kujtim Hoxha 的个人 Go 项目(2025-03)到 Anomaly Innovations / SST 团队接手 + 双重重写(Go→TS + Bubble Tea→OpenTUI),到 v1.17.x 多客户端开源平台(截至 2026-06)。

数据来源/root/git/opencode/ git log 实测 + GitHub API。下方时间线与统计为 2026-04-25 抓取的历史快照。

时间线一览

2025-03-21  ─┬─  Kujtim Hoxha 个人项目,Go + Bubble Tea TUI,初始 commit

2025-04-22  ─┼─  Dax Raad(SST 创始人)第一个 commit (CI #43)
2025-04-30  ─┼─  GitHub repo 转到 anomalyco(Anomaly Innovations 接手)

2025-05-31  ─┼─  Dax 主导,引入 TypeScript / Bun / models.dev
2025-06-08  ─┤   "Add TypeScript server initialization config to LSP server"
2025-06-12  ─┼─  Bun runtime 集成(BunProc.install)

[Backend 已切 TS + Bun,TUI 仍 Go Bubble Tea]

2025-10-31  ─┼─  PR #2685 "OpenTUI is here" —— Dax 引入新 TUI 框架
2025-11-02  ─┴─  commit "DELETE GO BUBBLETEA CRAP HOORAY" —— 删除老 Go TUI

2025-11-06       opentui v0.1.36 升级
2025-11-12       opentui v0.1.42(已在生产使用)

2026-03-31       opentui v0.1.93
2026-04-14       opentui v0.1.99
2026-04-23       "opentui snapshot" 准备发布
2026-04-24  ─┼─  "full opentui release" —— 稳定版发布
2026-04-25  ─┴─  当前 v1.14.24

阶段一:起源(2025-03 ~ 2025-04)—— Kujtim Hoxha 单人项目

最早的 4 个 commit:

2025-03-21 18:20  initial
2025-03-23 14:56  add help
2025-03-23 19:19  add initial stuff
2025-03-23 22:25  initial agent setup

仅 1 周内 Kujtim Hoxha 独立搭出基本可工作 agent —— Go 写的 backend + Bubble Tea(charmbracelet/bubbletea)TUI。早期 commit 节奏:

2025-03-24  initial working agent
2025-03-25  additional tools
2025-03-27  rework llm
2025-04-03  add initial lsp support  ← LSP 在第 2 周就有了

Kujtim 的设计选择

  • Go 语言(性能 + 单二进制分发)
  • Bubble Tea TUI(Go 生态最成熟的 TUI 框架)
  • LSP 早期集成(后来成为 OpenCode 的招牌特性之一)

阶段二:接手(2025-04-22 ~ 2025-04-30)

2025-04-22 21:16  Dax Raad: CI (#43)              ← Dax 第一个 commit
2025-04-30        GitHub repo anomalyco/opencode 创建

Dax RaadSST(Serverless Stack Toolkit) 创始人,旗下公司 Anomaly Innovationsanoma.ly)—— 此前以构建 Next.js 全栈框架 + Console 著称。

关键判断:repo 创建时间(2025-04-30)晚于 Dax 第一个 commit(2025-04-22)—— 推测是 Kujtim 主动转让项目给 Anomaly,Dax 之前是用 fork 贡献,转手后改为主仓库直接 commit。

阶段三:第一次重写(2025-05 ~ 2025-06)—— Go backend → TypeScript + Bun

Dax 上手后立即开始 backend rewrite:

2025-05-30  Update package dependencies         ← 引入 npm 生态
2025-05-31  Standardize code style              ← TypeScript 风格统一
2025-05-31  lazy load LLMs even harder
2025-05-31  tool rework
2025-06-04  implemented todo tool               ← 业务功能 TS 重写
2025-06-08  Add TypeScript server init for LSP
2025-06-12  Bun runtime 集成(BunProc.install)
2025-06-23  bundle models.dev at build time     ← models.dev 动态 Provider

核心变动

  • Backend 从 Go → TypeScript + Bun runtime
  • 新增 models.dev 集成 —— 100+ Provider 零代码接入(OpenCode 的招牌特性)
  • 重写工具系统(Read/Write/Edit/Bash 等)
  • LSP 集成增强

TUI 暂未动:仍是原 Go + Bubble Tea,通过 client-server 模式与 TS backend 通信(HTTP/WebSocket)。这种 "polyglot 架构" 持续了 ~5 个月。

阶段四:第二次重写(2025-10-31 ~ 2025-11-02)—— Go TUI → OpenTUI

2025-10-06  Add missing files and fix type aliases for opentui features
            ← 第一个 OpenTUI 相关 commit(铺垫)
2025-10-31  PR #2685 "OpenTUI is here"          ← OpenTUI 正式引入
2025-11-02  "DELETE GO BUBBLETEA CRAP HOORAY"   ← 老 Go TUI 删除
2025-11-06  opentui v0.1.36 升级
2025-11-11  opentui v0.1.41 + Kitty keyboard 支持
2025-11-12  opentui v0.1.42(修 CJK/grapheme 问题)

OpenTUI 是 Dax 自家团队(SST/Anomaly)开发的全新 TUI 框架——Bun 原生、SolidJS 渲染、tree-sitter 语法高亮、原生 SGR 鼠标 + alt-screen + 虚拟滚动。

为什么自建 OpenTUI 而非用 Ink?

  • Ink 基于 React,渲染开销大(每次状态更新整树重建)
  • Ink 是 inline 模式,没有 alt-screen,长会话闪烁
  • 需要原生 mouse / kitty keyboard / tree-sitter 等高级能力

代价:OpenCode 与 OpenTUI 同时迭代,双方版本紧耦合。git log 大量看到 opentui 升级 + revert + roll back。

阶段五:稳定化(2025-12 ~ 2026-04)

OpenTUI 在快速迭代(v0.1.36 → v0.1.99,~50 个版本,4 个月),OpenCode 跟版升级压力大:

2026-04-14  upgrade opentui to 0.1.99 (#22283)
2026-04-17  upgrade opentui to 0.1.100 (#22928)
2026-04-17  back to opentui 0.1.99             ← 0.1.100 出问题立即回退
2026-04-17  roll back opentui

可见 OpenTUI 仍在 v0.1.x,每个版本都有兼容性风险。OpenCode 形成了一套"上 → 测 → 退 → 等修复 → 再上"的工作流。

2026-04-22  opentui snapshot          ← 准备发布
2026-04-23  new snapshot
2026-04-24  full opentui release      ← 稳定版发布

2026-04-24 的 "full opentui release" 是 OpenCode v1.14.x 稳定在 OpenTUI 上的关键节点——不是首次使用 OpenTUI(那是 2025-10-31),而是全面稳定

同期 Effect 框架重度迁移:

git log 大量 commit:
"refactor(core): migrate ... to Effect Schema"
"refactor(provider): migrate provider domain to Effect Schema"
"refactor(session): migrate session domain to Effect Schema"
"refactor(tool): migrate tool framework + all 18 built-in tools to Effect Schema"

Effect 是 TypeScript 函数式 effect system —— SST 团队的 signature 技术栈。OpenCode 大量代码迁移到 Effect Schema(取代原 Zod)。

阶段六:商业化(2025-Q4 起)

OpenCode 的 OpenCode ZenOpenCode Go 付费计划上线:

计划价格内容
免费/开源$0自带任意 provider API key
OpenCode Zen按量付费编码优化 model + 月度限额
OpenCode Go$5 首月 → $10/月GLM-5、Kimi K2.5、MiniMax M2.5/M2.7 转售

属于 "open core + hosted" 模式 —— SST 团队的传统玩法(SST Console 也是同样定价结构)。

阶段七:中国 AI 生态深度绑定(2025-Q4 起,与商业化同步)

虽然项目方完全是美国/西方公司(Anomaly Innovations / SST),OpenCode 的商业生态 90% 绑定中国 AI——这是它最有意思也最容易被忽视的特点。

7.1 内置 provider:9/11 是中国 AI 实验室

实测 opencode models 列出的所有 provider 前缀:

deepseek/                      ← DeepSeek(杭州,幻方旗下)
kimi-for-coding/               ← Kimi For Coding(Moonshot 编程版)
minimax/                       ← MiniMax(上海)国际版
minimax-cn/                    ← MiniMax 中国大陆版
minimax-cn-coding-plan/        ← MiniMax 中国 Coding Plan
minimax-coding-plan/           ← MiniMax 国际 Coding Plan
moonshotai/                    ← Moonshot AI(北京)国际版
moonshotai-cn/                 ← Moonshot 中国大陆版
zai-coding-plan/               ← Z.AI(智谱国际品牌)Coding Plan
zhipuai-coding-plan/           ← Zhipu AI(北京)中国 Coding Plan
opencode/                      ← OpenCode 自家转售

11 个 provider 中,10 个是中国 AI 实验室或其衍生(剩下 1 个是 OpenCode 自家),没有原生 OpenAI / Anthropic / Google provider 作为默认——这些反而要走 models.dev 动态加载("自带 API key"模式)。

-cn 后缀的版本特别值得关注:表明 OpenCode 专门为中国大陆访问做了端点适配——大陆用户可直接用 minimax-cn-coding-plan/... 而无需 VPN。

7.2 OpenCode Go 订阅:纯中国 AI 转售

OpenCode Go 付费计划($5 首月 → $10/月)的全部包含模型都是中国 AI

模型提供方备注
GLM-5Zhipu AI(智谱,北京)智谱 GLM 系列旗舰
Kimi K2.5Moonshot AI(北京)月之暗面 Kimi 编程版
MiniMax M2.5MiniMax(上海)标准版
MiniMax M2.7MiniMax(上海)旗舰版

没有 Claude、GPT、Gemini 出现在 Go 订阅里——这是一个明确的商业选择。

7.3 多语言文档:中文 first-class

README.zh.md 简体中文 + README.zht.md 繁体中文 都在仓库根目录的语言切换列表里。22 种语言里,中文(简+繁)排在第二、第三位(仅次于英文)。

7.4 商业逻辑:AI 套利

美国/欧洲市场已被 Cursor / Claude Code / Copilot 占据

OpenCode 想要差异化

中国 AI 实验室(Kimi / DeepSeek / Zhipu / MiniMax)coding-tier 模型
   ↓ 价格优势:~ Claude/GPT-4 的 1/5 ~ 1/10
   ↓ 在 SWE-bench 等编程 benchmark 表现接近顶级
   ↓ 但西方开发者难直接接入(境外 API 限速 / 注册门槛 / 双 API 端点)

OpenCode = "西方开发者访问中国 coding 模型的最佳通道"

OpenCode 的商业护城河本质是 AI 套利——把中国 AI 实验室的便宜+好用模型,包装成西方 developer 友好的 CLI + 订阅。

7.5 与同类 Agent 的对比

Agent注册地商业绑定中国生态权重
OpenCode🇺🇸 美国(Anomaly Innovations)🇨🇳 9/11 中国 provider + Go 订阅纯中国模型极重
Qwen Code🇨🇳 中国(阿里 Qwen)🇨🇳 主推 Qwen 自家模型重(自家)
Claude Code🇺🇸 美国(Anthropic)🇺🇸 仅 Claude 模型
Codex CLI🇺🇸 美国(OpenAI)🇺🇸 仅 OpenAI 模型
Cursor🇺🇸 美国(Anysphere)🇺🇸 主流 Western models

OpenCode 是唯一商业模式建立在"美国包装中国 AI"上的 CLI agent——技术栈完全西方(Bun/TS/Solid/OpenTUI 都是西方栈),但生态/商业 90% 是中国。

7.6 战略地位

OpenCode 占据了一个其他 agent 没占的位置:

              西方主流市场
            (Cursor / Claude Code)


       OpenCode ────●────  中国本土市场
       (横跨东西方)       (Qwen Code)


              不绑定单一厂商
              (provider-agnostic)
  • 不是西方主流(不绑 Anthropic/OpenAI)
  • 不是中国本土(不绑 Qwen/Kimi 单家)
  • 是 west-meets-east 的中介层

这种定位让 OpenCode 比纯 Western agent 多拿到中国市场,又比纯 Chinese agent 多拿到西方开发者——双向套利

7.7 风险

这种深度绑定也带来风险:

  1. 中美关系恶化 —— 如美国出口管制扩大到 AI 模型 API,OpenCode 的"中国转售"商业模式可能受冲击
  2. 中国 API 政策变动 —— 如中国境外访问被限制,国际版 provider 可能失效
  3. 中国 AI 实验室自建 CLI —— 阿里有 Qwen Code,DeepSeek/Moonshot/Zhipu 也可能各自建立官方 agent,绕过 OpenCode 中介层
  4. 价格优势消失 —— 如中国 AI 跟 OpenAI/Anthropic 一样涨价,套利空间消失

OpenCode 长期能否守住这个定位,取决于中国 AI 是否持续保持"性价比 + 难直接访问"的双重特性。

当前状态(2026-04-25)

维度数值
Stars149,294(实测,gh API)
Forks17,128
Total commits11,750
Active contributors数百(Top 10 占 ~70% commits)
Repo 创建时间2025-04-30
当前版本v1.14.24
LicenseMIT

核心团队(按 commit 数)

排名贡献者Commits主要负责
1Dax Raad1,845架构 + agent loop + 商业化
2Adam (adamdottv)1,266TUI + Console UI + 主题
3Aiden Cline1,144工具 + tooling
4GitHub Action839自动化(download stats / release)
5Frank659
6David Hill534
7opencode-agent[bot]509agent 自己 PR
8Kit Langton466
9Jay V333
10Kujtim Hoxha< 333原作者,仍偶有 commit

Kujtim Hoxha 仍是项目的一部分 —— 转手后没有完全离开,仍偶有贡献。属于"友好转让"。

opencode-agent[bot] —— 最高级别 dogfood

opencode-agent[bot] 给自家仓库提了 509 个 PR——OpenCode 自己用自己写代码改 bug。这是其他 agent 项目少有的 dogfood 程度(Claude Code 的 claude.ai/code 也类似但未公开数据)。

与其他 Agent 项目的差异

项目起源核心定位重写次数
OpenCode个人(Kujtim)→ 公司(Anomaly)provider-agnostic 平台2 次(Go→TS、Bubble Tea→OpenTUI)
Claude CodeAnthropic 官方闭源旗舰(内部,不公开)
Qwen CodeGemini CLI 分叉Qwen 生态0(继承 Gemini CLI)
Codex CLIOpenAI 官方OpenAI 生态1(Go→Rust,2025-Q3)
OpenHands学术研究 → 公司research agent1(CodeAct→OpenHands)

OpenCode 是唯一从个人项目演化到商业化产品的 agent,且经历双重重写——Backend 重写(Go→TS)+ TUI 重写(Bubble Tea→OpenTUI)。

演进规律的启示

1. "重写"不是失败,是技术升级窗口

OpenCode 两次重写都是主动选择

  • Go → TS:为了 npm 生态 + 100+ Provider 接入 + 多客户端共享代码
  • Bubble Tea → OpenTUI:为了 alt-screen + 虚拟滚动 + 现代 TUI 能力

每次重写都换来质的飞跃(功能集 + 性能)。

2. polyglot 架构作为过渡

2025-06 ~ 2025-10 的 5 个月,OpenCode 跑的是 TS backend + Go TUI 混合架构。这种过渡架构让团队不用一次性重写所有东西,可以分模块迁移。

3. 自建框架的代价

OpenTUI 是 Anomaly 自家产品 —— OpenCode 既是用户也是消费者。这让 OpenCode 能定义 OpenTUI roadmap(与 LLM agent 用例对齐),但代价是 OpenTUI 仍在 v0.1.x 不成熟,OpenCode 跟版升级开销大。

4. open core + hosted 商业化

继承 SST 团队风格 —— 核心 100% 开源,付费 = 模型转售 + 配额。与 Cursor 闭源、Claude Code 服务订阅截然不同

数据来源

  • Git 历史:/root/git/opencode/ 11,750 commits(截至 2026-04-25)
  • GitHub API:gh repo view anomalyco/opencode --json stargazerCount,forkCount(2026-04-25 实测)
  • 原作者 GitHub 主页:github.com/kujtimiihoxha
  • Dax Raad / SST:sst.devanoma.ly
  • OpenTUI:github.com/sst/opentui(依赖来源)

免责声明:基于 git log 分析的时间线推测——具体接手过程(Kujtim 是否完全转交所有权 / 是否仍有股权 / 是否签了正式协议)未公开,本文仅基于公开 commit 时间和 repo owner 变化推断。