OpenCode vs Kilo Code:怎么选
你主要在终端里工作,想直接用上游项目,自己管理各家模型的 API key。
你想在 VS Code 或 JetBrains 里用同一个 Agent,通过一个 Kilo 账号使用 500+ 模型,并且需要云端 Agent 或 PR 自动代码审查。
事实对比
| opencode | Kilo Code — 开源全能编码代理 | |
|---|---|---|
| 定位 | 开源、面向终端 TUI 的编码智能体 | 在 VS Code、JetBrains 和 CLI 中,用 AI 构建、交付和迭代,支持 500+ 模型,零加价。 |
| 源码审查 | 47/100 · 缺口较多 评测后又发布了 20 个正式版本,分数可能过期 | 55/100 · 缺口较多 评测后又发布了 8 个正式版本,分数可能过期 |
| 交付形态 | 命令行工具 · 桌面应用 | IDE 插件 · 命令行工具 · 云服务 / SaaS |
| 费用 | 软件免费,模型调用费用自付 | 有免费版,另有付费云服务 |
| 上手难度 | 低 · 几分钟可跑通 | 低 · 几分钟可跑通 |
| 完整支持的平台 | — | — |
| 许可证 | MIT | MIT |
| 主语言 | TypeScript | TypeScript |
| Star | ★ 218k近 7 天 +674.4/天 | ★ 28k近 7 天 +11.7/天 |
| 最近更新 | 今天 | 今天 |
| 最新正式版本 | v1.19.3 · 2026-10-16 | jetbrains/v7.1.11 · 2026-10-16 |
源码审查(FARS)逐维对比
| opencode | Kilo Code — 开源全能编码代理 | |
|---|---|---|
| 信任安全 / 29 |
8
扣分理由证据显示:AGENTS.md 描述了权限系统(plan agent 默认拒绝文件编辑、bash 命令需确认),但未提供具体权限配置细节;SECURITY.md 明确说明无沙箱,权限系统仅为 UX 功能,不提供安全隔离。用户确认机制在 plan agent 中提及,但未详细说明所有场景。数据流透明度在 CONTEXT.md 中有详细描述(如 Session History、Context Source 等),但未明确说明数据流向外部服务。敏感数据处理未明确提及。依赖安全方面,package.json 有 patchedDependencies 和 trustedDependencies,但未提供漏洞扫描或审计证据。外部影响方面,SECURITY.md 提到服务器模式需设置密码,但未详细说明。回滚机制未提及。来源归属方面,README 和 CONTRIBUTING 提供了维护者信息,但发布者未验证。扣分原因:权限系统描述不完整,用户确认仅部分场景,数据流透明度缺乏外部数据流向说明,敏感数据处理未明确,依赖安全缺乏审计证据,外部影响描述有限,回滚缺失,来源归属因发布者未验证而受限。 |
14
扣分理由证据显示:权限系统存在,但明确声明不是沙箱,仅作为UX功能;--auto模式禁用所有权限提示,需用户自行判断;SECURITY.md明确威胁模型,但未提供数据流透明性细节;依赖有overrides和patches,但未提供漏洞扫描证据;外部效果包括终端和浏览器控制,但未提供回滚机制;来源归属有LICENSE和README中的fork声明。扣分原因:权限系统非安全隔离,数据流不透明,敏感数据处理未明确,回滚机制缺失。 |
| 可靠稳定 / 14 |
6
扣分理由证据显示:AGENTS.md 和 CONTEXT.md 内部一致性较高,术语定义清晰,规则明确。依赖可用性方面,package.json 列出了大量依赖,但未提供依赖可用性保证或镜像信息。失败消息方面,CONTEXT.md 描述了错误处理(如 SessionNotFoundError),但未提供用户友好的失败消息示例。扣分原因:依赖可用性缺乏保证,失败消息描述有限。 |
8
扣分理由证据显示:包结构清晰,测试存在但未执行;依赖版本固定,有overrides和patches;失败消息未在源码中体现。扣分原因:静态审查无法验证测试通过,失败消息未提供。 |
| 适用触发 / 18 |
12
扣分理由证据显示:README 多语言版本提供了安装和使用说明,覆盖多种平台和包管理器,受众广泛。能力边界在 AGENTS.md 和 CONTEXT.md 中有明确描述(如 build 和 plan agent 的权限差异)。触发精度方面,AGENTS.md 提供了具体的命令和规则(如分支命名、提交格式)。环境适配方面,README 提供了多种安装方式,CONTEXT.md 描述了 PTY 环境等。扣分原因:能力边界描述虽明确但未覆盖所有场景,触发精度在部分规则上可能不够精确。 |
10
扣分理由证据显示:面向多平台(VS Code、JetBrains、CLI),提供多种agent和自定义agent;能力边界在README中列出;触发精度未明确;环境适配有安装说明。扣分原因:触发精度未明确。 |
| 规范维护 / 18 |
11
扣分理由证据显示:信息架构清晰,AGENTS.md、CONTEXT.md、CONTRIBUTING.md 分工明确。安装说明在 README 中详细,覆盖多种平台。命名稳定性方面,AGENTS.md 规定了分支和提交命名规范。示例和 FAQ 在 README 和 CONTRIBUTING 中有提供。已知限制在 SECURITY.md 中明确说明(如无沙箱)。许可证为 MIT,明确。版本变更日志未提供,但 package.json 有版本信息。维护责任在 CONTRIBUTING 中明确。扣分原因:版本变更日志缺失,维护责任虽明确但发布者未验证。 |
11
扣分理由证据显示:README结构清晰,安装说明详细,命名稳定,有FAQ和已知限制(SECURITY.md),MIT许可证,版本号存在但无changelog,维护责任有CONTRIBUTING和RELEASING。扣分原因:无changelog。 |
| 有效结果 / 13 |
7
扣分理由证据显示:输出可用性方面,README 提供了清晰的安装和使用示例,CONTEXT.md 定义了术语,有助于理解。边际价值方面,作为开源编码代理,提供了多种功能(如 agents、SDK)。成本效益方面,未提供性能或资源消耗数据。扣分原因:成本效益缺乏数据支持。 |
9
扣分理由证据显示:输出可用性高(多平台),边际价值高(500+模型),成本效益好(零加价)。扣分原因:静态审查无法验证实际效果。 |
| 证据核验 / 8 |
3
扣分理由证据显示:声明可追溯性方面,README 和 CONTEXT.md 中的声明有文档支持,但未提供测试或验证证据。跨来源佐证方面,多语言 README 内容一致,但未提供外部验证。事实与推断分离方面,文档区分了描述和设计意图,但未明确标注。扣分原因:缺乏测试证据,跨来源佐证有限,事实与推断分离不够明确。 |
3
扣分理由证据显示:README中的声明有部分支持(如fork),但缺乏独立验证;测试存在但未执行;事实与推断未明确区分。扣分原因:缺乏独立验证,事实与推断未区分。 |
关键差异
不适合谁
- 需要长期稳定维护保障的企业团队
- 只使用图形界面、不愿碰终端的用户
- 需要完全离线或数据不出本地的团队
- 不愿注册账号、拒绝把代码交给云端服务的用户
- 需要成熟稳定、文档完备工具链的企业团队