OpenCode vs Oh My OpenCode vs Oh My OpenCode Slim:功能差异、Token 消耗与开发选型指南(2026-03)

你可能已经有这种感觉了:现在不是“选一个 AI 编程工具”,而是“给自己配一支 AI 工程队”。
但同样是“跑在终端里、能改代码、能多 agent”, OpenCode / Oh My OpenCode(OmO)/ Oh My OpenCode Slim(Slim) 到底差在哪?会差多少 token?写代码时应该怎么选?

本文会用通俗语言把三者拆清楚,并给出可直接执行的命令、步骤化上手流程、FAQ和术语表。


0. 先给结论(适合快速决策)

如果你只想要一个“现在就能用”的建议:

  1. 先装 OpenCode 当底座(它是平台,不是工作流套件)
  2. 想要“多 agent 分工 + 安装省心 + token 更可控” → 选 Slim
  3. 你要的是“强自治、强工作流、尽量把活做完(但更吃 token)” → 再上 OmO

另外一个容易忽略但非常关键的点:

  • OmO 的许可证不是 MIT(有商业/分发限制),公司使用前建议看清楚再决定。

1. 一句话看懂三者分别是什么

1.1 OpenCode:底座/引擎(平台)

OpenCode 是一个 AI 编程 CLI 平台:提供对模型(providers)、工具(读写文件/跑命令/搜索/诊断等)、会话(session)以及模式(plan/build)的统一封装。官方文档把它的核心工作模式分成 Plan(只读) 与 Build(可改)。
参考:OpenCode Modes 文档(Plan/Build)。https://opencode.ai/docs/modes

1.2 Oh My OpenCode(OmO):重装甲编排套件(偏“工程队”)

OmO 更像一套“强工作流插件/配置 + 一组 agent prompt + 可靠性工具”的组合包,目标很明确:减少人类介入、提高完成闭环的概率。它强调 ultrawork/ulw 这种“一句话就让它干活”的体验,并引入了类似 LINE#ID 的“哈希锚点编辑”机制来降低改错行/行号漂移问题。
参考:OmO README(Highlights、ultrawork、LINE#ID 等)。https://github.com/code-yeongyu/oh-my-opencode

1.3 Oh My OpenCode Slim(Slim):轻量编排套件(偏“省 token 的工程队”)

Slim 可以理解为“取 OmO 的多 agent 分工思想,但做成更轻量、token footprint 更小、安装器更友好”的版本。Slim README 也明确强调它在同类中“consumes much less tokens”。
参考:Slim README。https://github.com/alvinunreal/oh-my-opencode-slim


2. 重要澄清:它们不是同一层的东西

很多争论,其实是把“平台层”和“工作流层”混在一起比。

请添加图片描述

你可以把它理解成:

  • OpenCode 解决“能跑、能接模型、能用工具、能切模式、能装插件”
  • OmO / Slim 解决“怎么组织 agent、怎么分工、怎么把任务做完、怎么控成本/质量”

用 mermaid 再画一个“层级+依赖”图(更便于复制到其它笔记里):

插件/配置

插件/配置

不装插件也可用

你在终端输入提示词

OpenCode 平台
Plan/Build + Tools + Providers

Oh My OpenCode
重工作流/强并行/编辑可靠性增强

Oh My OpenCode Slim
轻量多 agent/presets/codemap

只用 OpenCode
更轻、更省 token
但更多需要你指挥


3. 功能差异:从“写代码的体感”角度拆

3.1 工作模式:Plan / Build(OpenCode 的底层能力)

OpenCode 的模式划分很实用:

  • Plan 模式:只读、偏规划与分析(减少“直接乱改代码”风险)
  • Build 模式:允许修改文件、跑命令、执行实现

这点对 OmO / Slim 也很关键,因为它们本质上仍然是在 OpenCode 的模式与工具体系上工作。
参考:OpenCode Modes 文档(Plan/Build)。https://opencode.ai/docs/modes

3.2 Agent/分工策略:谁负责“找”、谁负责“写”、谁负责“查资料”

一句话总结三种风格:

  • OpenCode(默认):你是队长,AI 是主力工程师;需要时再让它去找/查。
  • Slim:你是队长,但有“固定分工的六人小队”(Orchestrator/Explorer/Librarian/Oracle/Designer/Fixer)。
  • OmO:你是老板,默认就是“多 agent 并行跑起来”,并且更强调“验证、闭环、少打断”。

3.3 编辑可靠性:OmO 的 LINE#ID 是显著差异点

OmO README 明确提到一个卖点:Hash-anchored Edit Tool(LINE#ID),用内容哈希做锚点,减少 stale-line / 改错位置的问题。
参考:OmO README(Hash-anchored edit tool / LINE#ID)。https://github.com/code-yeongyu/oh-my-opencode

这项能力特别适合:

  • 大型重构(文件改动频繁,行号漂移严重)
  • 多轮迭代(模型前后多次读写同一文件)
  • 多 agent 并行改代码(更容易出现“读到的版本不一致”)

它的代价也很直观:读文件/编辑时的“标记信息”会多一些,token 也更容易上涨(后面第 4 节会算账)。

3.4 上下文与“长期记忆”:OmO vs Slim 的两条路线

  • OmO更偏“规则注入/工作流约束/自动恢复/任务闭环”
  • Slim更偏“codemap(Cartography)用架构摘要节流 token”,避免每次都把仓库扫一遍

Slim 的 quick reference 里专门强调了 Cartography:通过生成层级 codemap.md 来减少重复阅读,提高准确性与 token 效率。
参考:Slim Quick Reference(Cartography / Efficient Context)。https://github.com/alvinunreal/oh-my-opencode-slim

3.5 许可证:这会直接影响你能不能“拿去商用/分发”

这条很现实:

  • OpenCode:MIT
  • Slim:MIT
  • OmO:Sustainable Use License 1.0(非 MIT)

如果你只是个人开发/内部使用,通常问题不大;但如果你要把它“打包给客户”“作为收费服务的一部分分发”,就必须认真评估许可证条款。
参考:OmO LICENSE.md。https://github.com/code-yeongyu/oh-my-opencode


4. 同提示词 Token 消耗:怎么比才公平?

4.1 先把“Token 消耗”拆成三块(通俗版)

同一句提示词,最终 token 大概由下面组成:

  1. 静态系统提示词:工具/工作流/agent 角色定义(每次调用都要带)
  2. 动态上下文:你读了哪些文件、grep 输出、LSP 诊断、网页资料等(因任务而变)
  3. 调用次数:单 agent 一次 vs 多 agent 并行 N 次(会把 1/2 复制多份)

所以“同提示词”最常见的误区是:只看“提示词文本一样”,却忘了:

  • OmO/Slim 可能默认会触发更多 agent 调用
  • OmO 的某些可靠性机制会让读写时额外带标记信息

下面给你一个直观图(把 token 放大器画出来):

同一句用户提示词

系统提示词
静态成本

上下文
文件/工具输出

调用次数
并行/重试

总 Token

4.2 “静态提示词基线”实测(把起步价算出来)

下面这组数字用于回答一个很实用的问题:

“我甚至还没开始读代码,只是输入一句话,哪个方案的起步 token 更贵?”

请添加图片描述

组件(代表性 prompt)静态 token(约)你能从体感上理解成…
OpenCode(codex_header)~1.55k平台底座的基础规则
Slim(Orchestrator prompt)~1.57k“轻量小队队长”的分工说明
OmO(Sisyphus prompt)~6.1k“强工作流执行者”的全套纪律
OmO(Prometheus 规划 prompt)~13.2k“面试式规划师”的大提示词

注:这是用 OpenAI BPE 分词器(o200k_base)对仓库里的 prompt 文本做编码计数得到的“静态成本”。不同厂商 tokenizer 会有偏差,但“谁更重”的排序通常稳定。

4.3 实战里谁更吃 token?关键看“并行与上下文复制”

一个经验判断:

  • 小任务(改一两处、文件少):静态 prompt 占比更高 → OmO 很容易“用大炮打蚊子”
  • 中大任务(多文件、多轮、要验证):动态上下文占比更高 → OmO/Slim 的“减少返工”可能反而省时间,但 token 往往仍更高

尤其是“多 agent 并行”的场景:

  • 你读了 10k tokens 的代码上下文
  • 并行启动 3 个 agent

那上下文可能会被复制成 3 份(取决于实现与共享机制),这就是 token 账单快速上升的常见原因。


5. 选型建议:按场景给“步骤化决策”

5.1 决策步骤(建议按这个顺序来)

步骤 1:先确定你要不要“工作流套件”

  • 你已经很熟悉项目、只想让 AI 提速 → 先用 OpenCode
  • 你希望 AI 自动分工/自动推进 → 选 Slim 或 OmO

步骤 2:看你的任务类型与预算

  • 日常修 bug / 小功能:OpenCode 或 Slim
  • 跨模块大功能 / 大重构 / 清理海量告警:OmO 更对路(但 token 成本高)

步骤 3:别忘了许可证

  • 商用/对外交付/分发敏感:优先 OpenCode / Slim(MIT)
  • 仅个人/内部:再考虑 OmO(但仍建议过一遍许可证条款)

5.2 选型流程图(可直接复制)

小:单文件/少量改动

中:多文件但边界清晰

更在意成本/速度

更在意闭环/自治

大:重构/迁移/长期任务

是

否

你的目标是什么?

任务规模

OpenCode 优先
必要时再装 Slim

更在意什么?

Slim
多 agent 但 prompt 更轻

OmO
强工作流/更容易并行

许可证/合规是否敏感?

Slim + 更强模型映射
(用 MIT 方案)

OmO
优先用 ultrawork 闭环推进


6. 快速上手:从 0 到能跑(带可直接执行的命令)

这一节把“从 0 到能跑”按系统拆开写,优先支持纯 Windows PowerShell(非 WSL),同时也给 macOS/Linux 的命令,方便你按环境直接复制执行。

你可以按下面三条路线走:

  • 路线 A:Windows PowerShell(纯 Windows,不用 WSL) ✅
  • 路线 B:macOS / Linux(bash/zsh) ✅
  • 路线 C:Windows + WSL(可选;如果你已经在用 WSL,可按 Linux 路线走)

6.1 Step 1:安装 OpenCode(按系统选择一种方式即可)

参考:OpenCode 官方安装页。https://opencode.ai

A) Windows PowerShell(纯 Windows)

方式 1(推荐):官方 PowerShell 安装脚本

# 可能需要允许当前用户执行脚本(如果公司策略限制请跳过/咨询管理员)
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned -Force

# 安装 OpenCode(官方脚本)
irm https://opencode.ai/install.ps1 | iex

# 验证
opencode --version

方式 2:用 Scoop

scoop install opencode
opencode --version

方式 3:用 Chocolatey

choco install opencode -y
opencode --version

方式 4:用 npm 全局安装

npm i -g opencode-ai
opencode --version

提示:上面四种方式选一种即可;如果你已经装了其中任意一个包管理器,优先用它,升级/卸载会更干净。

B) macOS / Linux(bash/zsh)

方式 1:官方安装脚本

curl -fsSL https://opencode.ai/install | bash
opencode --version

方式 2:Homebrew(macOS)

brew tap sst/tap
brew install opencode
opencode --version

6.2 Step 2:登录/验证 OpenCode(跨平台通用)

opencode --help
opencode auth --help
opencode auth login

如果你希望先验证“模型列表是否可用”,可以刷新一次模型(有些 provider 需要先登录):

opencode models --refresh --verbose

6.3 Step 3:安装 Bun(安装 OmO / Slim 时常用)

OmO/Slim 的安装器通常通过 bunx 提供,所以建议装 Bun(如果你只打算用 OpenCode 本体,可以跳过这一步)。

A) Windows PowerShell(纯 Windows)
# 安装 Bun(官方脚本)
irm https://bun.sh/install.ps1 | iex

# 重新打开一个 PowerShell 窗口后再验证(避免 PATH 未刷新)
bun -v
bunx -v
B) macOS / Linux(bash/zsh)
curl -fsSL https://bun.sh/install | bash
bun -v
bunx -v

6.4 Step 4:安装 Slim(更推荐的“轻量多 agent 套件”)

参考:Slim README。https://github.com/alvinunreal/oh-my-opencode-slim

bunx oh-my-opencode-slim@latest install

然后按 Slim 文档登录并自检:

opencode auth login
opencode

进入 OpenCode 交互界面后,按 Slim 文档建议输入:

ping all agents

6.5 Step 5:安装 OmO(想要更强工作流/更强自治时再上)

参考:OmO 安装指南。https://github.com/code-yeongyu/oh-my-opencode/blob/dev/docs/guide/installation.md

bunx oh-my-opencode@latest install

安装后通常需要把插件写入 OpenCode 配置,并按文档完成 provider 登录/配置(不同系统路径略有差异,以 OmO 文档为准)。

6.6 Step 6:确认插件是否启用(按系统给只读检查命令)

如果你装了 OmO 或 Slim,但“感觉没变化”,通常是插件没启用或配置没生效。

OpenCode 插件概念参考:https://opencode.ai/docs/plugins(多语言页面可能会跳转)

常见配置文件位置(按 OpenCode 文档为准):

  • 用户级:~/.config/opencode/opencode.json
  • 项目级:<project>/.opencode/opencode.json
A) Windows PowerShell(只读检查)
# 用户级配置
$userCfg = Join-Path $HOME ".config\\opencode\\opencode.json"
Test-Path $userCfg
Get-Content $userCfg -Raw -ErrorAction SilentlyContinue

# 项目级配置(在项目根目录执行)
Test-Path ".opencode\\opencode.json"
Get-Content ".opencode\\opencode.json" -Raw -ErrorAction SilentlyContinue
B) macOS / Linux(只读检查)
ls -la ~/.config/opencode 2>/dev/null || true
cat ~/.config/opencode/opencode.json 2>/dev/null || true
ls -la .opencode 2>/dev/null || true
cat .opencode/opencode.json 2>/dev/null || true

最后,用最简单的方式“验证插件确实影响了行为”:

opencode

7. 常见工作流模板(照着用就行)

7.1 “小改动/快速修复”(更省 token)

建议组合:OpenCode(Build) 或 Slim + Fixer

操作习惯:

  1. 先让 Explorer 定位文件(减少全仓库读取)
  2. 再让 Fixer/主 agent 实现改动
  3. 最后跑最小化验证(LSP/单测)

7.2 “中型功能”(质量与成本平衡)

建议组合:Slim

原因:

  • Orchestrator 负责拆解与分工
  • Fixer 执行实现
  • Librarian 只在需要查官方文档时再出场(降低不必要的 token)

7.3 “大型重构/迁移”(尽量闭环交付)

建议组合:OmO(前提:你能接受 token 成本 + 许可证限制)

原因:

  • 默认更偏并行推进(研究/定位/实现/验证)
  • LINE#ID 这类可靠性工具对“多轮编辑”更友好

8. FAQ(常见坑位)

Q1:我装了 OmO/Slim,但为什么感觉和 OpenCode 一样?

常见原因:

  1. 插件没启用:OpenCode 配置里没写入插件,或者写错了配置路径
  2. 配置被项目级覆盖:用户级配置 OK,但项目目录下 .opencode/ 覆盖了它
  3. 你其实还在 Plan 模式:Plan 模式会限制写文件/执行(具体以当前版本行为为准)

建议做法:

opencode --version
opencode --help

并检查 ~/.config/opencode/ 与项目 .opencode/ 里相关配置文件是否存在、是否被覆盖。

Q2:为什么 OmO 明明更贵,很多人反而说“更省时间”?

因为“省 token”和“省时间”不是同一个目标:

  • OmO 通过更强的工作流约束、并行与验证,把“返工”打掉
  • 你可能付出更多 token,但减少了你自己盯着/重试/返工的时间

Q3:我应该优先控输入 token,还是控调用次数?

经验顺序:

  1. 先控调用次数(特别是并行 agent 的数量)
  2. 再控输入上下文(避免把无关文件/日志塞进去)
  3. 最后才是“精简系统提示词”(通常收益反而不如前两项明显)

Q4:OmO 的 ohmyopencode.com 是官网吗?

不是。OmO README 有明确安全警告:ohmyopencode.com 与项目无关,不要在第三方站点输入支付信息或下载未知安装器。
参考:OmO README 的安全警告段落。https://github.com/code-yeongyu/oh-my-opencode


9. 参考链接(建议收藏)

  • OpenCode 官网(安装入口):https://opencode.ai
  • OpenCode Modes(Plan/Build):https://opencode.ai/docs/modes
  • OpenCode Plugins(插件概念):https://opencode.ai/docs/plugins
  • OpenCode 仓库(anomalyco/opencode):https://github.com/anomalyco/opencode
  • Oh My OpenCode(OmO):https://github.com/code-yeongyu/oh-my-opencode
  • OmO 安装指南(installation.md):https://github.com/code-yeongyu/oh-my-opencode/blob/dev/docs/guide/installation.md
  • Oh My OpenCode Slim(Slim):https://github.com/alvinunreal/oh-my-opencode-slim

10. 术语解释(统一放在文末,避免正文太“术语堆叠”)

Agent:为某类任务定制的“角色提示词 + 工具权限集合”。例如“只负责查找的 Explorer”“只负责实现的 Fixer”。

Orchestrator(编排者):负责拆解任务、分配子 agent、决定先后顺序与成本/质量权衡的角色。

Plan / Build:OpenCode 的两种工作模式。Plan 偏“只读规划”,Build 偏“可执行与改代码”。

Plugin(插件):OpenCode 的扩展机制。OmO/Slim 一般以插件/配置形式接入 OpenCode。

Prompt(提示词)/ System Prompt(系统提示词):模型每次调用时都会携带的指令文本。系统提示词越长,通常输入 token 基线越高。

Token:模型计费与上下文窗口的基本单位。可以粗略理解为“分词后的片段”,不是固定按字符/按字数。

LSP(Language Server Protocol):语言服务协议,提供跳转定义、诊断、补全等能力。很多 AI 编程工具用它做“自动诊断/快速定位”。

MCP(Model Context Protocol):一种让模型访问外部能力/上下文的协议(例如搜索、数据库、内部工具)。不同项目支持的 MCP 不同。

Hash-anchored Edit / LINE#ID:用“内容哈希”作为行锚点的编辑方式,降低“行号漂移导致改错位置”的概率,适合多轮编辑与大重构。

Codemap / Cartography:把仓库结构与关键设计写成摘要文档,减少每次都读取大量源码,从而节省 token、提升定位速度。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐