跳到主要内容

安装

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 来查看该脚本。

安装器依次执行:

  1. 检测你的操作系统(darwinlinux)和架构(amd64arm64)。
  2. 解析安装 home(ANYY_HOME):如果设置了显式值则使用该值,否则以 root 运行时使用 /root/.anyy,其余情况使用 $HOME/.anyy
  3. https://anyy.ai/releases/latest 解析最新稳定版本。
  4. 运行预检:所需命令(curltargzipawk 等)、可用磁盘空间,以及残留的临时文件。
  5. 下载 anyy_<version>_<os>_<arch>.tar.gzCHECKSUMS.sha256
  6. 在解压前验证 SHA-256 校验和。
  7. 安装到常驻发布布局,并原子地切换 current 发布。
  8. .install/source.json 记录安装来源标记。
  9. 在能够安全完成时创建可用的命令入口(参见 安装验证)。

你会看到如下的阶段输出,归档下载带有 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 — 下载发布产物和校验和
  • targzip — 解压归档
  • awksedmktempreadlink
  • sha256sum 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)安装(npmbrewdocker)、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 把该安装标记为 managedsourceunknown。只有 resident 安装才能自我更新。关于 Anyy 针对每种来源打印的指引,请参阅 更新