更新与卸载
通过 Anyy 原生安装脚本安装的 resident 版本可以自更新。更新器会校验发布包、先验证候选二进制,再原子切换当前版本;空间允许时还会保留上一个活动版本作为回退目标。
先检查,不做修改
anyy update --check
该命令只读,会显示:
- 当前版本与最新版本;
- 检测到的安装来源;
- 是否支持自更新;
- resident 安装的磁盘空间和版本布局预检。
--check 不停止 Gateway,也不改文件。可以先确认版本和空间,再安排真正更新。
安装更新
anyy update
如果常驻 Gateway 服务正在运行,Anyy 会先停止它,完成版本与服务定义更新,再重新启动并等待新版就绪。如果 Gateway 是手工启动的,更新器会报告它,但不会擅自改造成系统服务。
一次正常更新包含:
- 解析当前 Profile Home,并获取更新锁;
- 检查安装来源和目标版本;
- 检查临时目录与 Home 的可用空间;
- 下载对应平台的压缩包和校验文件;
- 校验 SHA-256,并验证压缩包路径安全;
- 把候选版本安装到独立版本目录;
- 运行候选版本的
anyy --version健康检查; - 原子切换活动版本,并记录旧目标;
- 按更新前状态恢复 Gateway 服务。
完成后会显示旧版本、新版本、回退是否可用、命令入口状态和 Gateway 结果。
指定版本
anyy update --version v0.1.105
示例版本需要替换为实际存在的发布版本。不传 --version 时,Anyy 使用发布源报告的最新版本。
空间不足时使用 compact
anyy update --compact
compact 会先清理非活动版本,并始终保留当前活动版本;只有空间检查确实无法通过时,才可能删除上一个回退目标。
优先手动释放磁盘空间。compact 不会删除个人数据,但可能清掉二进制回退历史。
哪些内容不会被更新删除
更新器只处理程序版本、命令入口和服务定义,不会删除 Profile 数据,包括:
config.yaml和凭据文件;state.db、会话和记忆;- Skills 和 MCP 配置;
- Workspace 文件;
- backups、logs 和 cache。
进行高风险环境调整前,可以另做一份备份:
anyy backup create --output /safe/path/anyy-backup.tar.gz
凭据默认不进备份;只有明确添加 --include-secrets 才会包含。
不是原生安装时怎么更新
anyy update 只会自更新 resident 安装。anyy update --check 如果检测到其他来源,应回到原安装工具:
| 安装来源 | 更新方式 |
|---|---|
| Homebrew | 使用安装该 formula 的 brew upgrade 流程 |
| npm | 使用原包管理器和原包名升级 |
| Docker | 按 Docker 部署重建可信源码镜像,或拉取已经配置的可信镜像,再重新创建 Service |
| 源码构建 | 更新源码并按项目构建说明重建 |
以 --check 实际打印的建议为准,不要把包管理器文件和 resident 版本目录混在一起。
自定义发布源
自建可信镜像可以指定:
anyy update --base-url https://releases.example.com/anyy
--base-url 不是独立校验机构;它同时提供二进制和 checksum。只使用你运营或明确信任的地址。
更新后验证
anyy --version
anyy status
anyy doctor
anyy dashboard
在 Dashboard 里发送一个小测试请求。如果更新器没有恢复原先运行的 Gateway,会返回非零结果并说明原因;随后用 anyy gateway status 检查,修复后明确执行 start 或 restart。
卸载
交互式卸载会让你选择范围并再次确认:
anyy uninstall
| 模式 | 删除内容 | 保留内容 |
|---|---|---|
--keep-data | 程序版本、命令入口、Gateway 服务 | Profile 配置和个人数据 |
--full | 程序、入口、服务,以及范围内全部 Anyy 数据 | 不保留所选 Home 中的 Anyy 数据 |
非交互卸载必须明确选择模式:
anyy uninstall --keep-data --yes
anyy uninstall --full --yes
单独使用 --yes 会被拒绝。
anyy uninstall --full 会删除范围内的配置、凭据、会话、记忆、Skills、Workspace 文件等内容。只要其中有需要保留的资料,就先创建并验证备份。
卸载命令只适用于原生 resident 布局。包管理器、容器或源码安装应由原安装系统移除。
常见问题
| 现象 | 处理方法 |
|---|---|
| 不支持 self-update | 按 anyy update --check 打印的安装来源建议更新 |
| 另一个安装/更新正在运行 | 等待同一个 Home 的锁释放后重试 |
| 空间预检失败 | 清理临时目录或 Home;确认能接受较少回退历史后再用 compact |
| checksum 不匹配 | 从可信发布源重试,不要绕过校验 |
| Gateway 没有恢复 | 运行 anyy gateway status,修复服务错误后 start/restart |
| 卸载拒绝当前目录 | 确认这是 resident 安装,并检查 --home 指向真实 Home |