更新与卸载
先确认要操作哪一套 Anyy,再决定更新还是卸载。原生 resident 安装支持自更新;容器、包管理器和源码构建应使用各自的发布方式。
操作前核对环境
anyy --version
anyy config
anyy update --check
检查当前版本、Home、安装来源、目标版本及空间预检。--check 不切换发行版,也不停止 Gateway。
本手册对应 v0.1.107。旧阶段体验目录不属于正式 resident 布局;不能对它伪造安装标记来使用自更新。开发数据需要单独保全,别用新建的空目录覆盖已有会话和凭据。
更新正式安装
anyy update
更新器取得对应 Home 的锁,下载平台发行包与校验文件,验证 SHA-256 和归档内容,把候选程序放入独立版本目录,再通过 anyy --version 检查候选。成功后原子切换 current,并记录原活动版本。
若原 Gateway 服务正在运行,更新过程会停服务、更新定义并重新启动,等待新版就绪。手工启动的 Gateway 不会被擅自转为系统服务;按命令输出处理它的状态。
需要指定一个实际存在的版本时:
anyy update --version v0.1.107
默认跟随发布源报告的最新版本。需要可信镜像时才使用 --base-url URL;发布包和校验值都来自这个镜像,因此它也是信任边界。
空间不足时怎么处理
优先释放临时目录与 Home 空间。可以接受减少回滚记录时再运行:
anyy update --compact
紧凑模式保留当前活动版本,先处理非活动版本;只有空间仍不足时才可能移除上一个回滚目标。它不删除个人数据,但不能保证保留所有旧二进制。
更新保留什么,备份还需要做吗?
程序更新不删除 Profile 的配置、凭据、会话、记忆、Skills、MCP 设置和工作区。发生数据库迁移时,只换回旧二进制并不能撤销数据变化。
重要调整前应另存可恢复的备份:
anyy backup create --output /safe/path/anyy-backup.tar.gz
默认不额外收集托管的 secrets/ 和 mcp/oauth/ 目录;需要这些材料时再选择 --include-secrets。但配置和工作文件会按原样备份,用户直接写在其中的密钥仍可能进入普通归档。所有备份都应作为敏感数据保管,详见备份与恢复。
更新后做一个小检查
anyy --version
anyy gateway status
anyy status
anyy doctor
anyy dashboard
确认版本与 Gateway 状态一致,再进行一次小对话。Dashboard 是独立进程,旧界面进程不会仅因磁盘上的程序已更新就自动替换。服务恢复失败时,更新命令会报告非零结果;先修复输出中的原因,再明确启动或重启服务。
卸载时先选择范围
anyy uninstall
交互流程会展示计划并让你确认。非交互方式必须写清保留数据还是完整卸载:
anyy uninstall --keep-data --yes
anyy uninstall --full --yes
| 选择 | 程序和服务 | 个人数据 |
|---|---|---|
--keep-data | 移除所选安装的程序、命令入口与服务 | 保留配置、会话、记忆等数据 |
--full | 移除程序、入口与服务 | 删除所选 Home 范围内的配置、凭据、会话、记忆、Skills 和工作区等 |
--yes 不能单独使用。完整卸载前先确认备份和 Home;这不会替你搜索、删除其他项目或外部共享的 Skills 目录。命令只移除归属该安装的入口,不应覆盖或删除别的同名命令。
卸载命令只支持原生 resident 布局。自编译、容器或包管理器安装,按它们的管理方式移除。独立 Dashboard 也需要按其生命周期停止,不能把停止 Gateway 当成所有界面都已退出。
常见阻碍
| 提示或现象 | 处理方式 |
|---|---|
| 不支持自更新/卸载 | 核对安装来源与 --home,不要伪造 resident 布局 |
| 同一 Home 已有更新操作 | 等持锁操作完成,不并发切换版本 |
| 空间预检失败 | 释放相应目录空间;仅在接受减少回滚历史时使用紧凑模式 |
| 校验失败 | 从可信发布源重试,不跳过校验或手动激活残缺归档 |
| 更新后仍显示旧版本 | 分别检查当前命令、Gateway 和 Dashboard 进程,不只检查磁盘文件 |
| 服务没有恢复 | 看 anyy gateway status 和更新错误,修复后明确执行 start/restart |