为天喜(Tianxi)PC 客户端确定版本更新策略而做的横向调研:claude-code、antigravity、openclaw(深入)+ opencode(参考)。2026-08-22 完成,结论部分为对天喜的建议初稿。
对比总表
| 维度 | Claude Code | Antigravity | OpenClaw | OpenCode(参考) |
|---|---|---|---|---|
| 产品形态 | 终端 CLI(native 二进制) | VS Code fork 桌面 IDE | CLI + Gateway 服务 + macOS 桌面 app | 终端 CLI |
| 分发形态 | native 安装脚本(推荐)/ npm / Homebrew / WinGet | dmg / exe / tar.gz 安装包 | npm / git 源码 / install.sh / Docker / Sparkle appcast | curl 脚本 / npm / brew / scoop / choco |
| 更新触发 | native 装:后台自动更新;claude update 手动;brew/winget 装默认不自动 | 默认自动更新到最新;设置 Update Mode 可改 manual/none | openclaw update 一站式手动;auto-updater 默认关闭,开启后按时策略执行 | opencode upgrade [ver] 手动;autoupdate 配置可开/关 |
| 更新通道 | claude install stable|latest|<具体版本> | 单通道 latest;releases 页提供全部历史版本手动下载 | stable / beta / dev 三通道(npm dist-tag: latest/beta/dev;git 装=dev),可 --tag 指定 | 指定任意版本号升级 |
| 灰度/节奏 | 未公开灰度机制;后台静默应用 | 未公开;随 latest 直推 | 有明确灰度:stable 延迟 6h + 12h 确定性 jitter 分散应用;beta 每小时检查即装 | 无 |
| 更新粒度/重启 | 二进制整体替换;下次启动生效 | 整包更新,重启生效 | 包级原子替换;Gateway 服务协调重启(—no-restart 可选) | 二进制替换 |
| 原子性保障 | 多版本目录并存(~/.local/share/claude/versions) | — | 临时 prefix 安装→校验 dist 清单→切换;失败 --omit=optional 重试 | — |
| 回滚 | 指定版本重装 | releases 页下载旧版重装 | npm i -g openclaw@<ver> 钉版本 / git 钉 commit;doctor + restart 收尾 | 指定版本重装 |
| 可管控性(企业侧) | ~/.claude.json autoUpdates:false;DISABLE_AUTOUPDATER 环境变量 | update.mode=manual/none | OPENCLAW_NO_AUTO_UPDATE=1 环境变量硬禁;update.auto.enabled;checkOnStart 可关 | autoupdate: false 配置 |
| 升级质量保障 | claude doctor 检查 | — | openclaw doctor(配置迁移+健康检查)+ 完整 e2e 升级测试集(通道切换/迁移/upgrade-survivor/坏插件) | — |
| 版本号风格 | semver 2.1.x | semver 2.x(双产品线:Antigravity 2.0 / Antigravity IDE) | CalVer 2026.x.y(+ -beta.n) | semver 0.x/1.x |
各家要点展开
Claude Code(Anthropic)
- 安装方式决定更新行为:官方推荐 native 安装(
curl -fsSL https://claude.ai/install.sh | bash),后台自动更新;npm/WinGet/Homebrew 装的默认不自动更新(交给各自包管理器) - 手动:
claude update|upgrade(检查并安装);claude install [stable|latest|<ver>]装 native 指定通道/版本 - 多版本保留:
~/.local/share/claude/versions/下并存多个版本(本机实测 2.1.173、2.1.81 与在用的 2.1.239 并存)——更新失败可退 - 管控:
~/.claude.json的autoUpdates: false(本机即关闭)、autoUpdatesProtectedForNative、DISABLE_AUTOUPDATER环境变量 - 启发:安装方式即更新策略,同一产品按分发渠道区分更新行为;版本保留目录是廉价回滚方案
Antigravity(Google)
- VS Code fork,继承 VS Code 更新机制:设置里
Update: Mode= default(启动时检查自动更)/ manual(手动检查)/ none(永不检查)——默认自动,但一键可关 - 官网 releases 页公开全部历史版本下载,官方明示「想留在旧版,把 Update Mode 设为 manual 或 none」——回滚 = 手动下载旧版重装
- 多平台多架构包齐全(dmg 双架构 / exe 双架构 / tar.gz 双架构);两条产品线并行(Antigravity 2.0 与 Antigravity IDE 各自版本序列)
- 启发:IDE 类桌面应用的更新预期就是「默认自动 + 设置可关 + 旧版可下载」,简单直接
OpenClaw(最成熟,重点参考)
- 一站式更新命令:
openclaw update自动识别安装类型(npm/git)→ 拉最新 → 跑openclaw doctor(配置迁移+体检)→ 重启 Gateway;支持--channel beta/dev、--tag、--dry-run预览、--json、openclaw update status --json查状态 - 三通道:stable(npm latest)/ beta / dev(git main);beta 通道缺失或落后于 stable 时自动回退;当前版本是 beta 时自动留在 beta 通道(通道粘性)
- 安装形态可切换且保留状态:
--channel dev= npm 装切到 git 源码装;--channel stable切回;~/.openclaw的配置/凭据/工作区不受影响 - 自动更新默认关闭,开启后分通道策略:
- stable:延迟 6h + 12h 确定性 jitter → 错峰灰度,避免全网同时踩新版问题
- beta:每小时检查、立即应用
- dev:不自动更,手动
- 原子替换:全局 npm 更新先装到临时 prefix → 校验打包产物清单 → 整体切换,避免新旧文件叠加;失败以
--omit=optional重试一次 - 硬开关:
OPENCLAW_NO_AUTO_UPDATE=1环境变量可无视配置强禁自动更新(事故止血用) - 回滚:
npm i -g openclaw@<版本>钉版本或 git 钉 commit,然后 doctor + gateway restart - macOS 桌面端走 Sparkle appcast.xml(app 内更新 + 发布说明)
- 版本号 CalVer(2026.5.12-beta.1),升级有完整 e2e 测试(通道切换/配置迁移/upgrade-survivor/坏插件恢复/重启鉴权)
OpenCode(参考)
opencode upgrade [version]手动升级,--method自动/指定安装方式(curl/npm/pnpm/bun/brew/choco/scoop)——升级路径感知安装方式- 配置
"autoupdate": false可关闭自动更新(本机即关闭) - 形态最简:单二进制 + 手动升级 + 一个配置开关
对天喜的建议(初稿)
天喜语境:联想 PC 预装生态的 AI 助手客户端(PC Settings App 升级而来),Windows 为主、装机量大、AI 产品迭代快。
- 双通道起步:stable + beta(内部 dogfood/灰度用户),版本号建议 CalVer(2026.x.y)便于对齐发布节奏;通道选择进设置页
- 默认自动更新 + 错峰灰度:学 OpenClaw——stable 更新延迟 N 小时 + 随机/确定性 jitter 分散安装,避免全量同时踩雷;首版可简化为「按用户 ID 分桶分批放量」
- 可管控是硬需求(PC 厂商预装 + 企业客户):
- 设置内一键关闭自动更新(学 Antigravity 的 update.mode)
- 环境变量/策略文件级硬禁用(学 OPENCLAW_NO_AUTO_UPDATE),支持企业 IT 锁定版本
- 原子更新 + 版本保留:临时目录安装→校验→切换(学 OpenClaw);保留上一版本目录(学 Claude Code),更新失败/用户反馈差时可回滚或自动回退
- 更新后体检:客户端内置 doctor——启动时校验关键组件、自动修复/上报(学 openclaw doctor);AI 助手依赖的模型网关凭据、插件状态都要查
- 客户端版本与能力版本解耦:AI 产品迭代快主要体现在模型/提示词/技能(云端),客户端 shell 更新频率应显著低于能力迭代——把「能力热更」与「客户端更新」分开设计,减少用户感知的更新次数
- Windows 侧工程:静默后台下载 + 下次启动应用(不打断使用);差分包(delta)控制带宽;更新弹窗带 changelog(学 Sparkle appcast 的发布说明)
- 升级测试集:参考 OpenClaw 的 e2e(通道切换/迁移/升级存活/坏包恢复),天喜至少覆盖:升级中断恢复、配置迁移、回滚路径
关系
- 调研对象:claude-code、antigravity、openclaw、opencode
- 服务对象:天喜(更新策略制定)
- 下游产出:tianxi-update-strategy-design(详版设计方案,2026-08-22)