目前使用的AI工具

除了Claude Code和Codex,还有其他一些终端式的AI工具比较趁手。

先把结论放在前面:日常写代码还是Claude Code和Codex用得最多;需要换模型、接私有端点或者想折腾配置的时候,我会开OpenCode;遇到跨模块重构、迁移这种大工程,再让Oh My Openagent上去拆任务。

OpenCode

OpenCode是一个开源的终端AI编程工具,也有桌面端和IDE插件。
它和Claude Code最大的区别是不绑定模型:Anthropic、OpenAI、Google、OpenRouter这些常见的提供商都有现成支持,本地ollama或者自己搭的OpenAI兼容端点也能接进来。

安装方式挺多,Node最省事也适配多平台:

1
npm install -g opencode-ai

macOS和Linux也可以用官方脚本:

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

用起来和大多数终端agent差不多。进到项目目录直接执行:

1
2
cd /path/to/project
opencode

第一次进项目先跑一下/init,它会读一遍代码结构,在根目录生成AGENTS.md。
这个文件可以提交到git,后面agent每次都会参考它,比每次重新解释项目结构省事。

日常操作里我比较常用的是这几个:

  • Tab切换Plan和Build模式。或者一路build模式给出只读边界。
  • /undo和/redo回滚或重做修改。
  • /model切换模型提供商。

至于配置提供商嘛,也是靠它自己来更新。

OpenCode的配置放在项目根目录的opencode.json,也可以放全局配置。接自定义端点大概是这样:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
"$schema": "https://opencode.ai/config.json",
"model": "my-endpoint/my-model",
"provider": {
"my-endpoint": {
"npm": "@ai-sdk/openai-compatible",
"name": "My Endpoint",
"options": {
"baseURL": "https://api.example.com/v1",
"apiKey": "{env:MY_API_KEY}"
},
"models": {
"my-model": {
"name": "My Model"
}
}
}
}
}

用下来的感受是:启动快,TUI的键位顺手,Plan/Build切换比记一堆命令舒服;切模型只要改一行配置,拿便宜模型跑搜索和改文档,贵模型做设计,成本可控。

缺点也有。前不久刚出一个bug,泄露了大部分人的apikey。
然后是迭代了2.0,结果1.0很多插件都用不了了。
不同provider的工具调用能力参差不齐,同一个prompt在A模型上好好的,换B模型就开始胡说。
Windows原生终端的TUI偶尔会有渲染问题。所以它更适合愿意折腾、手里有多个模型来源的人。
只想开箱即用,Claude Code和Codex确实更省心。

Oh my OpenAgent

如果OpenCode是一个好用的单体agent,Oh My OpenAgent(后面简称OmO)就是在它上面加了一层调度。

这个项目最早叫oh-my-opencode,是基于OpenCode 1.0制作的一个插件。
后来改名成了oh-my-openagent。现在它有三个版本:OpenCode插件、Codex插件,以及独立的omo命令。我现在用它的独立命令版本,所以下面说的主要是这个。

它和普通OpenCode的区别在于,你不再只跟一个主agent对话。
主agent负责拆任务,然后把子任务丢给不同的category:architect做设计,ultrabrain啃硬逻辑,quick跑杂活,writing写文档,每个category可以绑不同的模型。
还有explore、librarian这类只读agent,专门搜代码和查文档;Kibitzer会在旁边记着之前踩过的坑,必要时提醒主agent。

最直观的用法是ulw,也就是ultrawork。在prompt里带上这个词,agent会先读代码、做计划、再动手,做完还会自己验证。
大任务可以上mass ulw,直接展开成一张agent图,每个部分并行跑,最后再汇总。

1
curl -fsSL https://get.omo.dev/install.sh | bash

独立版直接运行omo。然后直接说需求就行:

1
ulw 帮我把这个模块的单元测试补到80%覆盖率,顺便把CI跑通

需要先看计划再动手,可以用:

1
2
/ulw-plan 重构支付回调,先给我一份可执行的计划
/ulw-execute

配置方面,独立版是~/.omo/omo.jsonc,项目里还可以再加一层覆盖。模型不用一个个手动指定,OmO有profile和fallback链,想固定某个category的模型再改配置。
装完可以跑omo doctor看看各个provider和模型是否就绪。

用下来的感受:它适合干大活。跨模块重构、迁移、补测试、查一个陌生仓库的架构,这些任务它拆得很细,并行跑起来确实比单agent快。
尤其是你手里有几个不同厂商的模型时,让它按任务类型路由,比所有活都堆给一个模型合理,顺便还能把简单任务丢给便宜模型省点钱。

但它不适合小活。改个typo、调一行样式,启动和规划的开销比干活还大。
token消耗也不是开玩笑的,mass ulw更是如此。
另外它很有自己的主见,目录结构、agent提示词、工作流都有一套自己的想法,配置项多,版本更新快。

怎么选

我的用法比较简单:

一条路用到底。

原来我是一直用OpenCode,结果升级2.0之后直接给我劝退了,转去了OmO。
结果没过几天,OpenCode那个漏洞就爆出来了。

这几个工具不冲突,反正都是终端里敲命令。
工具没有绝对的好坏,只有合不合手。