
刷到 Anthropic 封杀第三方 Agent 的消息,手痒去升级 OpenCode。结果呢?升级命令说成功了,版本号愣是不变。折腾了老半天,好不容易升到 1.1.10,发现还不是最新的------1.1.11 才有 Codex OAuth 登录。
环境:macOS (zsh) · OpenCode 1.0.220 → 1.1.10 → 1.1.11
TL;DR(太长不看版)
读完这篇,你能省掉我浪费的 2 小时:
- ❌
opencode upgrade会骗你说成功,别信 - ❌
brew upgrade opencode只能升到 1.1.10(homebrew/core 落后) - ✅ 正解 :
brew install anomalyco/tap/opencode才能装 1.1.11
想知道我怎么一步步踩坑的,继续往下看 👇
先说说 OpenCode 是什么
如果你还没听过 OpenCode,简单介绍一下:它是一个开源的终端 AI 编程助手,类似 Cursor 但跑在命令行里。
🔗 官网:opencode.ai
📦 GitHub:github.com/opencode-ai...
核心卖点:
- 多模型切换:一个客户端接入多家 AI------Claude、GPT-4、Gemini、Codex 都能用,不用装一堆工具
- 免费额度:官方提供 OpenCode Zen 模式,有免费额度可以白嫖,对个人开发者很友好
- 开源透明:代码全开源,不用担心数据安全问题
- 终端原生:对 vim/tmux 党来说,不用离开终端就能用 AI 辅助编码
说白了,OpenCode 想做的是「AI 编程助手的统一入口」------你有什么 API key 就用什么模型,没有就用免费的。
Codex 又是什么
这次升级的重点是支持 OpenAI Codex 登录。
Codex 是 OpenAI 专门为代码场景优化的模型,ChatGPT Plus/Pro 用户可以直接用账号登录(OAuth 方式),不用单独搞 API key。
对于已经订阅了 ChatGPT 的人来说,这等于白送一个编程助手------不用额外花钱买 API 额度。
瓜从天上掉下来
1 月 10 号,刷到一条推文,差点把我下巴惊掉:
太TM高效了。Anthropic的阿莫迪刚刚发疯拉黑了Opencode、Cursor这些Agent对Claude的访问,OpenAI立刻官宣和OpenCode合作,然后OpenCode光速升级到1.1.11支持OAuth登录Codex。我已经在OpenCode里面用上了Codex了。打脸来的太快。
Anthropic 这边刚拉黑,OpenAI 那边秒接盘,OpenCode 连夜适配------这剧情,比追剧还刺激。
既然瓜都吃了,那得亲自试试新版本吧?打开终端,准备升级。
❌ 坑 1:先试 opencode upgrade
bash
$ opencode upgrade
▄
█▀▀█ █▀▀█ █▀▀█ █▀▀▄ █▀▀▀ █▀▀█ █▀▀█ █▀▀█
█░░█ █░░█ █▀▀▀ █░░█ █░░░ █░░█ █░░█ █▀▀▀
▀▀▀▀ █▀▀▀ ▀▀▀▀ ▀ ▀ ▀▀▀▀ ▀▀▀▀ ▀▀▀▀ ▀▀▀▀
┌ Upgrade
│
● Using method: brew
│
● From 1.0.220 → 1.1.10
│
◇ Upgrade complete
│
└ Done
漂亮!Done 了。验证一下:
bash
$ opencode --version
1.0.220
嗯?还是 1.0.220?
升级命令都说 Done 了啊,版本号怎么纹丝不动?
❌ 坑 2:问 ChatGPT,它拍胸脯说没问题
把截图甩给 ChatGPT,它一口咬定:
是的,升级已成功完成。从终端输出可以明确确认:
- 升级前版本:1.0.220
- 升级后版本:1.1.10
- 状态提示:Upgrade complete / Done
我又跑了一遍 opencode --version,还是 1.0.220。
"不对啊老哥,你再看看?"
ChatGPT 话锋一转:
你已经成功升级了 CLI 本体(1.1.10),但 UI 右下角的 1.0.220 不是 CLI 版本,而是「工作区 / Agent 构建版本号」。这是设计行为,不是升级失败。
说得挺像那么回事。但我跑的是 --version,这怎么可能是 UI 显示问题?
bash
$ opencode --version
1.0.220
这输出白纸黑字,CLI 版本就是 1.0.220。ChatGPT 你在糊弄谁?
🔍 ChatGPT 终于开始正经排查
追问了几轮,它改口了:
升级"表面成功",但你当前实际执行的 opencode 仍然是 1.0.220。可能是 PATH 里有多个 opencode。
行,查一下:
bash
$ which opencode
/opt/homebrew/bin/opencode
$ type -a opencode
opencode is /opt/homebrew/bin/opencode
就一个。没有什么多版本冲突。
ChatGPT 又给了个说法:
结论:你当前执行的
/opt/homebrew/bin/opencode本身就是 1.0.220。brew 显示"升级完成",但实际并没有把 Cellar 中的二进制替换成 1.1.10。
好吧,那绕过 opencode 自己的升级命令,直接用 brew:
❌ 坑 3:brew upgrade 直接卡死
bash
$ brew upgrade opencode
==> Auto-updating Homebrew...
Adjust how often this is run with $HOMEBREW_AUTO_UPDATE_SECS or disable with
$HOMEBREW_NO_AUTO_UPDATE=1. Hide these hints with $HOMEBREW_NO_ENV_HINTS=1 (see man brew).
然后...没了。光标在那闪,一动不动。
ChatGPT 说这是 Homebrew 在跑 brew update,卡在拉 GitHub 的索引上了。国内网络嘛,懂的都懂。
那跳过自动更新:
❌ 坑 4:跳过 auto-update,还是卡
bash
$ HOMEBREW_NO_AUTO_UPDATE=1 brew uninstall opencode
Uninstalling /opt/homebrew/Cellar/opencode/1.0.220... (10 files, 96.3MB)
$ HOMEBREW_NO_AUTO_UPDATE=1 brew install opencode
又卡。
Ctrl+C 中断,换思路。
⚠️ 开魔法,终于升到 1.1.10(但还不够)
这回不折腾了,挂上魔法重来:
bash
$ brew upgrade opencode
==> Auto-updating Homebrew...
==> Auto-updated Homebrew!
==> Upgrading 1 outdated package:
opencode 1.0.220 -> 1.1.10
==> Fetching downloads for: opencode
✔︎ Bottle opencode (1.1.10) Downloaded 32.8MB/ 32.8MB
==> Upgrading opencode
1.0.220 -> 1.1.10
==> Installing dependencies for opencode: icu4c@78 and sqlite
...
🍺 /opt/homebrew/Cellar/opencode/1.1.10: 10 files, 96.8MB
==> Running `brew cleanup opencode`...
Removing: /opt/homebrew/Cellar/opencode/1.0.220... (10 files, 96.3MB)
验证:
bash
$ opencode --version
1.1.10
成了!
等等,推文说的是 1.1.11 才有 Codex OAuth 登录啊。我这 1.1.10 打开一看,压根没有 OpenAI 的登录选项。
白折腾了?
❌ 坑 5:原来 homebrew/core 的版本落后了
去官网 opencode.ai/download 一看,人家给的安装命令是:
bash
brew install anomalyco/tap/opencode
跟我之前用的 brew install opencode 不是一个 tap!
homebrew/core 里的 opencode 只更新到 1.1.10,官方 tap(anomalyco/tap)才有最新的 1.1.11。
✅ 换官方 tap 重装
先试着装官方 tap 的版本:
bash
$ brew install anomalyco/tap/opencode
==> Tapping anomalyco/tap
Cloning into '/opt/homebrew/Library/Taps/anomalyco/homebrew-tap'...
remote: Enumerating objects: 5507, done.
remote: Total 5507 (delta 0), reused 2 (delta 0), pack-reused 5504 (from 2)
Receiving objects: 100% (5507/5507), 926.01 KiB | 368.00 KiB/s, done.
Resolving deltas: 100% (1830/1830), done.
Tapped 3 formulae (15 files, 1.1MB).
Error: opencode was installed from the homebrew/core tap
but you are trying to install it from the anomalyco/tap tap.
Formulae with the same name from different taps cannot be installed at the same time.
To install this version, you must first uninstall the existing formula:
brew uninstall opencode
Then you can install the desired version:
brew install anomalyco/tap/opencode
报错了,说已经装了 homebrew/core 的 opencode,不能同时装两个同名的。
行,那先卸载:
bash
$ brew uninstall opencode
Uninstalling /opt/homebrew/Cellar/opencode/1.1.10... (10 files, 96.8MB)
==> Autoremoving 8 unneeded formulae:
c-ares
libnghttp3
libngtcp2
libuv
node
ripgrep
simdjson
uvwasi
Uninstalling /opt/homebrew/Cellar/node/25.2.1... (2,270 files, 75.8MB)
Uninstalling /opt/homebrew/Cellar/ripgrep/15.1.0... (14 files, 6.4MB)
...
卸干净了,连依赖都一起删了。
再装官方 tap 的:
bash
$ brew install anomalyco/tap/opencode
==> Fetching downloads for: opencode
✔︎ Bottle Manifest ripgrep (15.1.0) Downloaded 8.8KB/ 8.8KB
✔︎ Bottle ripgrep (15.1.0) Downloaded 2.2MB/ 2.2MB
✔︎ Formula opencode (1.1.11) Verified 32.8MB/ 32.8MB
==> Installing opencode from anomalyco/tap
==> Installing anomalyco/tap/opencode dependency: ripgrep
==> Pouring ripgrep--15.1.0.arm64_tahoe.bottle.tar.gz
🍺 /opt/homebrew/Cellar/ripgrep/15.1.0: 14 files, 6.4MB
🍺 /opt/homebrew/Cellar/opencode/1.1.11: 4 files, 96.9MB, built in 1 second
==> Running `brew cleanup opencode`...
Removing: /Users/dev/Library/Caches/Homebrew/opencode--1.1.10... (32.8MB)
1.1.11!终于是最新版了!
✅ 验证:Codex OAuth 登录出现了
打开 opencode:
text
Connect a provider esc
Search
Popular
OpenCode Zen (Recommended)
Anthropic (Claude Max or API key)
GitHub Copilot
OpenAI (ChatGPT Plus/Pro or API key)
Google
~/Projects/company_codes/poster-system:main 1.1.11
OpenAI 的选项出来了!右下角也显示 1.1.11 了。
踩坑清单
| 我干了啥 | 啥结果 |
|---|---|
opencode upgrade |
❌ 骗我说成功了 |
| 信了 ChatGPT "那是 UI 问题" | ❌ 白白浪费时间 |
brew upgrade opencode |
❌ 卡在 auto-update |
| 跳过 auto-update 重装 | ❌ 还是卡 |
| 开魔法 + brew upgrade | ⚠️ 只升到 1.1.10 |
| 换官方 tap 重装 | ✅ 终于 1.1.11 |
几点感想
opencode upgrade 这命令,说白了就是套了层壳调 brew。brew 那边有问题,它不会告诉你,就硬说成功了。挺坑的。
ChatGPT 一开始非说"那是 UI 显示问题",我差点信了。实际上 --version 的输出就是 CLI 版本,跟什么工作区没关系。这提醒我一件事:AI 给的解释听着合理,不代表对。手里有证据,就该信证据。
在国内用 Homebrew,魔法基本是刚需。brew update 要拉 GitHub,没魔法大概率卡死。
最坑的是 homebrew/core 和官方 tap 版本不同步 。homebrew/core 只有 1.1.10,官方 anomalyco/tap 才有 1.1.11。你用 brew upgrade opencode 升到头也是 1.1.10,根本拿不到最新功能。
给同样踩坑的人
想要最新版 OpenCode(带 Codex OAuth 登录),别用 homebrew/core,直接用官方 tap:
bash
# 1. 先把魔法开好
# 2. 如果之前装过 homebrew/core 的,先卸载
brew uninstall opencode
# 3. 装官方 tap 的
brew install anomalyco/tap/opencode
# 4. 验证
opencode --version
# 应该显示 1.1.11
以后升级也用官方 tap:
bash
brew upgrade anomalyco/tap/opencode
一句话总结
homebrew/core 是后妈,anomalyco/tap 才是亲爹。 升级 OpenCode,认准官方 tap。
觉得有用?转发给同样在折腾的朋友 👇
你用的是哪个 AI 编程助手?评论区聊聊~