本文由 AI Insight 研究团队 基于三个开源仓库的源码阅读与交叉验证撰写。所有代码片段均标注 GitHub 链接(共 12 篇信源),但开源项目迭代很快——如果你读到时某段代码已经变了,欢迎来 GitHub 指正。
while(tool_call) 循环,三家写出了完全不同的味道[1][2][3]你每天用 Claude Code、Gemini CLI 或 OpenCode 写代码,它们帮你读文件、跑命令、改 bug。但你有没有好奇过——当你按下回车的那一刻,背后到底发生了什么?
市面上已经有足够多的「15 个 AI 编程工具横评」[7]了。它们告诉你「用什么」,却不告诉你「为什么这样造的」。
我们做了一件大部分人好奇但没时间做的事:把三个仓库并排打开,问同一个工程问题,看三家怎么做。结果发现,这三个看起来功能差不多的工具,底层的设计哲学相差十万八千里。
先来一张身份证:
| 维度 | Claude Code | Gemini CLI | OpenCode |
|---|---|---|---|
| 厂商 | Anthropic | SST (anomalyco) | |
| 语言 | TypeScript | TypeScript | TypeScript (Bun) |
| 运行时 | Bun | Node.js (npm) | Bun |
| 架构 | 单文件 bundle (~7.6MB) | Monorepo (6 个包) | Monorepo (18 个包) |
| UI 框架 | React + Ink | React + Ink | Go TUI → OpenTUI |
| 模型支持 | Claude only | Gemini only | 75+ providers |
| 许可证 | 专有许可 (代码公开) | Apache 2.0 | MIT |
GitHub Star 数据截至 2026 年 2 月 15 日[1][2][3]
Claude Code 的代码在 GitHub 上公开,但许可证写着「All rights reserved」[1]——它不是开源软件。Gemini CLI (Apache 2.0) 和 OpenCode (MIT) 才是真正的开源。这个区别在你想 fork 修改时很重要。