安装
Anyy 以单个名为 anyy 的原生 Go 二进制文件分发。获取它有两种受支持的方式:安装预构建的发布产物(推荐方式),或者从源码构建。本页介绍这两种方式,以及如何验证安装结果。
安装只会放置二进制文件并准备 Anyy 的 home 目录。要将 Anyy 作为常驻后台服务运行,请参阅 常驻运行。关于首次配置(provider、模型、渠道),请参阅 初始化设置。要升级已有安装,请参阅 更新。
快速安装
发布产物安装
官方一行式安装器会下载经过校验和验证、与你的操作系统和架构匹配的发布产物,并将其安装到 Anyy 的常驻布局中:
curl -fsSL https://anyy.ai/install.sh | sh
该命令会把一个 shell 脚本直接管道传给 sh。在你重视的机器上运行之前,请先了解它做了什么:它会检测你的操作系统/架构、解析最新发布版本、下载归档文件以及其 CHECKSUMS.sha256、在解压前验证 SHA-256,并将二进制文件安装到你的 home 目录下。它不需要 root 权限,不会修改你的 shell 启动文件,也不会安装或启动任何后台服务。你可以先在浏览器中打开 https://anyy.ai/install.sh 来查看该脚本。
安装器依次执行:
- 检测你的操作系统(
darwin或linux)和架构(amd64或arm64)。 - 解析安装 home(
ANYY_HOME):如果设置了显式值则使用该值,否则以 root 运行时使用/root/.anyy,其余情况使用$HOME/.anyy。 - 从
https://anyy.ai/releases/latest解析最新稳定版本。 - 运行预检:所需命令(
curl、tar、gzip、awk等)、可用磁盘空间,以及残留的临时文件。 - 下载
anyy_<version>_<os>_<arch>.tar.gz和CHECKSUMS.sha256。 - 在解压前验证 SHA-256 校验和。
- 安装到常驻发布布局,并原子地切换
current发布。 - 在
.install/source.json记录安装来源标记。 - 在能够安全完成时创建可用的命令入口(参见 安装验证)。
你会看到如下的阶段输出,归档下载带有 curl 进度条:
Downloading Anyy v0.1.57 (darwin/arm64)...
######################################################################## 100.0%
Verifying checksum...
Installing to /Users/you/.anyy...
Installed Anyy v0.1.57.
Command: anyy
安装选项
安装器会读取若干环境变量:
| 变量 | 用途 |
|---|---|
ANYY_HOME | 覆盖安装 home 目录。 |
VERSION | 安装指定版本(例如 v0.1.57)而非最新版本。 |
ANYY_RELEASE_BASE_URL | 指向备用发布来源。 |
ANYY_INSTALL_COMPACT | 设为 1,允许在磁盘紧张的主机上裁剪旧的回滚历史。 |
在磁盘紧张的主机上,使用 compact 模式。它可能会裁剪未激活的发布(绝不裁剪活动的发布),并且只有在 home 存储不足时才裁剪上一个回滚目标:
curl -fsSL https://anyy.ai/install.sh | ANYY_INSTALL_COMPACT=1 sh
要安装固定版本而非最新版本:
curl -fsSL https://anyy.ai/install.sh | VERSION=v0.1.57 sh
源码安装
如果你有 Go 工具链,可以自己从仓库构建二进制文件。Anyy 需要 Go 1.26(见 go.mod)。Go 模块路径是 github.com/mai8304/anyy。
仓库提供了一个 Makefile 目标,构建时会注入正确的版本 ldflags:
make build
这会生成 dist/anyy。在底层它运行:
go build -ldflags "..." -o dist/anyy ./cmd/anyy
-ldflags 会把版本、commit、构建日期和 channel 标记进二进制文件,因此 anyy --version 会报告准确的构建元数据。直接使用 go build ./cmd/anyy 也可以,但版本会报告为 dev。
源码构建不会被放入 Anyy 的常驻布局,因此 anyy update 不会对它进行自我替换。要将源码构建作为受管理的常驻安装运行,请把构建好的二进制文件交给安装脚本(参见 手动 / 开发者安装)。
安装验证
安装后,确认二进制文件在你的 PATH 上并报告了预期的构建:
anyy --version
Anyy (anyy) version v0.1.57 channel stable commit 8627a748340f built 2026-06-15T08:03:45Z
检查该命令是否解析到常驻安装:
command -v anyy
对于非 root 安装,这通常是 ~/.local/bin/anyy,一个指向 ~/.anyy/bin/anyy 的符号链接。
如果找不到 anyy,安装器会打印 PATH 修复指引,而不会修改你的 shell 启动文件。对于普通用户安装,请把 ~/.local/bin 加入你的 PATH;对于 root 安装,入口会放到 /usr/local/bin、/opt/homebrew/bin 或 /usr/bin 中第一个可写的目录。
要对已配置的运行时做更深入的健康检查,运行:
anyy doctor
前置条件
发布安装器兼容 POSIX sh,可在 macOS 和 Linux(包括 BusyBox 风格的小型环境)上工作。它需要 PATH 上有这些命令:
curl— 下载发布产物和校验和tar和gzip— 解压归档awk、sed、mktemp、readlinksha256sum或shasum— 验证校验和
受支持的平台是 amd64/arm64 上的 darwin/linux。从源码构建还需要 Go 1.26+。
Home 目录结构
Anyy 把自身状态保存在一个 home 目录下 —— 普通用户安装为 ~/.anyy,以 root 运行时为 /root/.anyy。可用 --home 标志或 ANYY_HOME 环境变量覆盖它(当没有以其他方式解析出 home 时,/root/.anyy 是内置的回退值)。安装器以 0700 权限创建该目录,并铺设一个带版本的发布结构:
~/.anyy/
├── current -> releases/v0.1.57 # 指向活动发布的符号链接
├── releases/
│ └── v0.1.57/anyy # 该版本已安装的二进制文件
├── bin/
│ └── anyy -> ../current/anyy
├── .install/
│ ├── source.json # 安装来源标记
│ └── previous # 回滚目标标记
├── secrets/ skills/ memory/
├── sessions/ logs/ cache/
├── workspace/ backups/ checkpoints/
└── config.yaml # 在初始化设置期间创建
激活是原子的:新发布先暂存到 releases/<version>,然后通过临时符号链接加重命名的方式切换 current。上一个发布会被保留,以便 anyy update 回滚。.install/source.json 标记记录了 Anyy 是如何安装的,例如:
{
"source": "resident",
"method": "curl",
"channel": "stable",
"version": "v0.1.57",
"artifact_digest": "sha256:...",
"installed_at": "2026-05-29T00:00:00Z",
"managed": false
}
该标记是参考性的,不是安全边界。它告诉 anyy update 该安装是可自我更新的常驻(resident)安装,还是外部受管理(managed)安装(npm、brew、docker)、source 源码构建,或 unknown。
手动 / 开发者安装
安装脚本也接受一个本地 anyy 二进制文件的路径。这会把你自己的构建安装到常驻布局中(记录 method 为 local、channel 为 dev),从而享有原子激活和回滚:
VERSION=dev scripts/install.sh /path/to/anyy
因此一个典型的开发者循环是:
make build
VERSION=dev scripts/install.sh dist/anyy
这是 源码构建 与受管理的常驻安装之间的桥梁。当你想把本地构建的二进制文件作为活动的常驻发布运行时,使用它。
系统服务用户安装
要在 /root/.anyy(主机布局)下以 root 拥有的常驻方式运行 Anyy,请以 root 运行安装器,或显式设置 home:
curl -fsSL https://anyy.ai/install.sh | ANYY_HOME=/root/.anyy sh
以 root 运行时,安装器会额外把一个全局命令链接到 /usr/local/bin、/opt/homebrew/bin 或 /usr/bin 中第一个可写的目录。
安装不会安装或启动后台服务——该步骤是显式的。关于把常驻安装变成长期运行的服务,请参阅 常驻运行。
故障排查
安装后出现 anyy: command not found。 安装器从不修改 shell 启动文件。把入口目录加入你的 PATH——用户安装为 ~/.local/bin——然后重新打开你的 shell。运行 command -v anyy 确认它解析到 ~/.anyy/bin/anyy。
在 PATH 上找到了另一个 anyy。 如果 command -v anyy 指向 ~/.anyy 之外,说明 PATH 上更靠前的条目遮蔽了常驻安装。调整你的 PATH 顺序,让常驻入口优先。
预检以 “not enough space” 失败。 释放临时目录或 home 中的空间,或使用 ANYY_INSTALL_COMPACT=1 重试以裁剪旧的回滚历史。
“another Anyy install or update is already running”。 位于 .install/update.lock 的按 home 划分的更新锁被一个并发的安装或更新持有。等它结束后再重试。
校验和不匹配。 下载内容与发布的 CHECKSUMS.sha256 不匹配(下载不完整、缓存过期,或错误的产物)。重新运行安装器;它会在解压前重新下载并重新验证。
anyy update 提示该安装不可自我更新。 你的 .install/source.json 把该安装标记为 managed、source 或 unknown。只有 resident 安装才能自我更新。关于 Anyy 针对每种来源打印的指引,请参阅 更新。