Agentic OS 实战指南:手把手教你从 ANOLISA 源码安装
首个面向 Agent 的操作系统——Agentic OS发布后,收到许多询问,是否能在本地部署?当然可以,Agentic OS 已经在 GitHub 上开源,开源项目是「ANOLISA」。 本文会详细介绍如何准备开发环境、从源码构建 ANOLISA 各组件并运行测试,覆盖 Alibaba Cloud Linux(Alinux)、Ubuntu 等多发行版。文末也会提供常见问题排查。 ANOLISA(Agentic Nexus Operating Layer & Interface System Architecture)是 Anolis OS 的 Agentic 演进,一个专为 AI Agent 工作负载构建的服务端操作系统。 当你的服务器上跑着越来越多的 AI Agent —— 它们执行命令、调用 API、读写文件、管理系统 —— 传统操作系统的安全边界和工具链已经力不从心了。ANOLISA 从 OS 层面为 Agent 构建了一套完整的运行环境:AI 终端助手、安全沙箱、可观测引擎和运维技能库,让 Agent 在受控、可审计、最小权限的环境中运行。 本文将按照官方构建文档,从零开始一步步带你完成 ANOLISA 的本地安装。 在开始之前,先了解一下 ANOLISA 的项目布局: 四个 src 子目录分别对应四大核心组件:Copilot Shell 是 AI 驱动的终端助手,基于 Qwen Code 构建,支持自然语言编程和多工具编排;OS Skills 是涵盖系统管理、安全、DevOps、阿里云集成的运维技能库;Agent Sec Core 是 Rust 实现的安全沙箱,为 Agent 提供最小权限和纵深防御;AgentSight 是基于 eBPF 的可观测引擎,零侵入监控 LLM API 调用和 Token 消耗。 各组件所需的工具链版本如下: 支持的操作系统:Fedora / RHEL / CentOS / Anolis / Alinux(RPM 系)以及 Debian / Ubuntu(DEB 系)。推荐使用 Alinux 4 或 Anolis OS。 如果你只想尽快跑起来,用统一构建脚本是最简单的方式。它会自动检测系统、安装依赖、编译所有组件并安装到系统路径。 首先克隆仓库: 然后运行构建脚本。默认会安装依赖 + 构建 + 安装到系统,推荐大多数用户直接使用: 脚本提供了丰富的选项,适应不同场景: 完整的参数列表: 有几点需要特别留意: 如果你希望手动设置各工具链并逐个构建组件,按以下步骤操作。 a) Node.js(用于 Copilot Shell)要求:Node.js >= 20、npm >= 10。Alinux 4(已验证):一行命令搞定,系统仓库提供的 Node.js 版本满足要求。 其他发行版(通过 nvm):如果系统仓库的 Node.js 版本不满足 >= 20,推荐使用 nvm 管理 Node.js 版本。 b) Rust(用于 Agent Sec Core 和 AgentSight) 要求:agent-sec-core 需要 Rust >= 1.91.0;agentsight 需要 Rust >= 1.80。 Alinux 4(已验证):系统 rust 包版本低于 1.91.0,无法直接使用,仅需通过 dnf 安装构建工具,Rust 本身需用 rustup 安装(见下方)。 部分发行版的系统 rust 包版本可能低于 1.91.0。如果构建因版本不匹配而失败,请改用下方的 rustup。 其他发行版 / Alinux 4(rustup,推荐):rustup 是官方推荐的 Rust 安装方式,支持多版本管理。 仓库为 agent-sec-core 固定了工具链版本(rust-toolchain.toml)。如果系统 Rust 版本不匹配,rustup 会在仓库内构建时自动下载正确版本。 配置 Rustup 分发镜像(国内用户推荐) 如果构建时触发了固定工具链的自动下载(通过 rust-toolchain.toml)并且超时,请设置 Rustup 分发镜像: 将以上内容添加到 shell 配置文件(~/.bashrc 或 ~/.zshrc)中以使其永久生效。构建脚本(build-all.sh)会自动配置此项。 配置 crates.io 镜像(国内用户推荐) 如果 cargo build 拉取依赖较慢,可配置阿里云 crates.io 镜像。构建脚本(build-all.sh)在通过 rustup 安装时会自动配置,手动安装的话需要自己添加。在 ~/.cargo/config.toml 中添加: 在阿里云 ECS(VPC 网络)上,可将 mirrors.aliyun.com 替换为 mirrors.cloud.aliyuncs.com 以使用内网加速。 c) Python 和 uv(用于 Agent Sec Core 和 OS Skills) 要求:Python >= 3.12。uv 是一个现代的 Python 包管理器,用于管理 Python 版本和依赖。 Alinux 4(已验证): Ubuntu 24.04(已验证): 其他发行版: 验证安装: d) AgentSight 系统依赖(可选,需包管理器) AgentSight 是可选组件,提供基于 eBPF 的审计和可观测性能力。它不是 ANOLISA 核心功能所必需的。如果你选择构建它,需要以下系统级依赖。 dnf(Alinux / Anolis OS / Fedora / RHEL / CentOS 等): apt(Debian / Ubuntu): 部分发行版没有单独的 perl-core 包,这是正常的。 内核要求:AgentSight 要求 Linux 内核 >= 5.10 且启用 BTF(CONFIG_DEBUG_INFO_BTF=y )。可以通过检查 /sys/kernel/btf/vmlinux 文件是否存在来确认。 e) 版本检查 所有依赖安装完成后,运行以下命令确认版本: 第二步:构建组件 Copilot Shell 是一个 Node.js / TypeScript 项目,使用 npm workspaces 的 monorepo 布局。 构建产物是 dist/cli.js,你可以直接运行,或者添加持久的 co / cosh 别名到你的 shell: b) OS Skills OS Skills 无需编译,每个技能是一个目录,包含 SKILL.md 及可选的辅助文件(脚本、参考资料等)。部署时将包含 SKILL.md 的技能目录复制到以下加载路径即可: 手动部署(用户级): 验证技能是否已被发现: c) Agent Sec Core(仅 Linux) Agent Sec Core 包含一个 Rust 实现的 Linux 沙箱(基于 bubblewrap + seccomp),编译后为单个二进制文件。 构建产物是 linux-sandbox/target/release/linux-sandbox。 安装到系统路径: d) AgentSight(可选,仅 Linux) AgentSight 是可选组件。它提供基于 eBPF 的审计和可观测性能力,不是 ANOLISA 核心功能所必需的。 构建产物是 target/release/agentsight。 安装到系统路径: 构建完成后,建议运行测试确认一切正常。 统一入口(推荐): 分组件测试: 安装完成后,启动你的 AI 终端助手: 首次启动会引导你完成认证。Copilot Shell 支持三种认证方式: 输入 /skills 查看所有已安装的运维技能,输入 /bash 进入交互式 Shell。 Node.js 版本不匹配:如果 nvm 安装后 node 命令找不到或版本不对,尝试重新加载 Shell 配置: Rust 工具链不匹配:agent-sec-core 使用 rust-toolchain.toml 固定了工具链版本,如果构建时提示版本问题,检查当前工具链状态: rustup 会自动下载项目指定的版本。 AgentSight 缺少 libbpf / 头文件:请按上方「AgentSight 系统依赖」章节安装对应发行版的软件包。 AgentSight 运行时权限被拒绝:eBPF 程序需要 root 权限或相应 capability: ANOLISA 让 AI Agent 在操作系统上的运行变得安全、可观测、可控。无论你是想在开发机上体验 AI 终端助手,还是在生产服务器上部署安全可控的 Agent 工作负载,ANOLISA 都能为你提供从构建到运行的完整工具链。 项目地址:https://github.com/alibaba/anolisa 欢迎 Star、Fork 和提交 PR!如有问题,欢迎在 GitHub Issues 中反馈。 您在使用 Agentic OS 过程中,有任何疑问和建议,请加入交流群(群号:90400034325)反馈。ANOLISA 是什么?
仓库结构一览
anolisa/
├── src/
│ ├── copilot-shell/ # AI 终端助手(Node.js / TypeScript)
│ ├── os-skills/ # 运维技能库(Markdown + 可选脚本)
│ ├── agent-sec-core/ # Agent 安全沙箱(Rust + Python)
│ └── agentsight/ # eBPF 可观测/审计引擎(Rust,可选)
├── scripts/
│ ├── build-all.sh # 统一构建入口
├── tests/
│ └── run-all-tests.sh # 统一测试入口
├── Makefile
└── docs/环境依赖
安装方式一:统一构建脚本(自动方式)
git clone https://github.com/alibaba/anolisa.git
cd anolisa./scripts/build-all.sh
这一条命令背后,脚本做了五件事:首先自动识别发行版类型(RPM/DEB)和已安装的工具链版本;然后优先使用系统包管理器安装依赖,版本不满足时自动回退到 nvm、rustup 等上游安装器;对于国内用户,脚本会自动检测网络环境,在阿里云内网时使用内网镜像,公网环境配置阿里云公网 crates.io 镜像加速 Rust 依赖下载;接着按序构建 copilot-shell → os-skills → agent-sec-core 三个默认组件;最后安装到系统路径。构建选项解析
# 仅构建,不安装到系统路径(适合开发调试)
./scripts/build-all.sh --no-install
# 跳过依赖安装(依赖已就绪时使用,加快构建速度)
./scripts/build-all.sh --ignore-deps
# 仅安装依赖,不构建(适用于 CI 或需要手动构建的场景)
./scripts/build-all.sh --deps-only
# 仅构建并安装指定组件(可重复指定多个)
./scripts/build-all.sh --component cosh
./scripts/build-all.sh --component cosh --component sec-core
# 包含可选的 AgentSight 组件
./scripts/build-all.sh --component cosh --component skills --component sec-core --component sight以上每个方式都是独立的命令,根据自己的需求选择一个执行即可。如果使用了统一构建脚本,可以跳过下方的分组件构建部分。
注意事项
安装方式二:分组件构建(手动方式)
如果已使用上方的统一构建脚本,可以跳过本节。脚本会自动完成所有步骤。
第一步:安装依赖
sudo dnf install -y nodejs npm make gcc-c++# 如果 Node.js >= 20 已安装则跳过
if command -v node &>/dev/null && node -v | grep -qE '^v(2[0-9]|[3-9][0-9])'; then
echo "Node.js $(node -v) 已安装,跳过"
else
# 从 Gitee 镜像安装 nvm
curl -fsSL --connect-timeout 15 --max-time 60 https://gitee.com/mirrors/nvm/raw/v0.40.3/install.sh | bash
source "$HOME/.$(basename "$SHELL")rc"
# 配置 npmmirror 加速 Node.js 下载
export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node/
nvm install 20
nvm use 20
fi
# 验证
node -v # 期望:v20.x.x 或更高
npm -v # 期望:10.x.x 或更高sudo dnf install -y gcc make
Ubuntu 24.04(已验证):Ubuntu 24.04 仓库提供了 rustc-1.91,可直接使用。sudo apt install -y rustc-1.91 cargo-1.91 gcc make
sudo update-alternatives --install /usr/bin/cargo cargo /usr/bin/cargo-1.91 100# 如果 Rust 已安装则跳过
if command -v rustc &>/dev/null && command -v cargo &>/dev/null; then
echo "Rust $(rustc --version) 已安装,跳过"
else
# 通过 rsproxy.cn 镜像安装 Rust
curl --proto '=https' --tlsv1.2 -sSf --connect-timeout 15 --max-time 120 https://rsproxy.cn/rustup-init.sh | sh -s -- -y
source "$HOME/.cargo/env"
fi
# 验证
rustc --version # 期望:rustc 1.91.0 或更高
cargo --version # 期望:cargo 1.91.0 或更高export RUSTUP_DIST_SERVER="https://rsproxy.cn"
export RUSTUP_UPDATE_ROOT="https://rsproxy.cn/rustup"[source.crates-io]
replace-with = 'aliyun'
[source.aliyun]
registry = "sparse+https://mirrors.aliyun.com/crates.io-index/"pip3 install uv
uv python install 3.12sudo apt install -y pipx
pipx ensurepath
source "$HOME/.$(basename "$SHELL")rc"
pipx install uv# 如果 uv 已安装则跳过
if command -v uv &>/dev/null; then
echo "uv $(uv --version) 已安装,跳过"
else
# 安装 uv(astral.sh 不可达时自动回退到 GitHub 镜像)
curl -LsSf --connect-timeout 15 https://astral.sh/uv/install.sh | sh \
|| curl -LsSf \
https://github.com/astral-sh/uv/releases/latest/download/uv-installer.sh | sh
source "$HOME/.$(basename "$SHELL")rc"
fi
# 通过 uv 安装 Python 3.12(已存在则跳过)
uv python install 3.12uv --version # 期望:uv 0.x.x 或更高
uv python find 3.12 # 期望:输出 python3.12 可执行文件路径sudo dnf install -y clang llvm libbpf-devel \
elfutils-libelf-devel zlib-devel openssl-devel \
perl perl-IPC-Cmd
sudo dnf install -y kernel-devel-$(uname -r)sudo apt-get update -y
sudo apt-get install -y clang llvm libbpf-dev \
libelf-dev zlib1g-dev libssl-dev perl \
linux-headers-$(uname -r)node -v # v20.x.x
npm -v # 10.x.x
rustc --version # rustc 1.91.0+
cargo --version # cargo 1.91.0+
python3 --version # Python 3.12.x
uv --version # uv 0.x.x
clang --version # clang version 14+(仅 AgentSight 需要)
a) Copilot Shellcd src/copilot-shell
make deps
make build# 直接运行
node dist/cli.js
# 或安装到系统 PATH(创建 cosh/co/copilot 命令)
sudo make install
cosh# 构建脚本会自动复制技能:
./scripts/build-all.sh --component skills
# 或手动复制:
mkdir -p ~/.copilot-shell/skills
find src/os-skills -name 'SKILL.md' -exec sh -c \
'cp -rp "$(dirname "$1")" ~/.copilot-shell/skills/' _ {} \;co skillscd src/agent-sec-core
make build-sandboxsudo make install
安装完成后,你可以用沙箱策略生成器对命令进行安全分类:python3 skill/scripts/sandbox/sandbox_policy.py --cwd "$PWD" "git status"cd src/agentsight
make buildsudo make install
安装后可以用 sudo agentsight trace 启动 AI Agent 活动追踪,用 agentsight token 查询 Token 用量,用 agentsight audit 查询审计事件。第三步:运行测试(推荐)
./tests/run-all-tests.sh
# 按组件过滤
./tests/run-all-tests.sh --filter shell
./tests/run-all-tests.sh --filter sec
./tests/run-all-tests.sh --filter sight# copilot-shell
cd src/copilot-shell && npm test
# agent-sec-core
cd src/agent-sec-core
pytest tests/integration-test/ tests/unit-test/
# agentsight
cd src/agentsight && cargo test首次使用:启动 Copilot Shell
cosh
# 也可以用简短别名
co
copilot
证完成后,你可以直接用自然语言与系统交互:> 查看系统负载情况
> 帮我分析 /var/log/messages 里最近的错误
> 升级所有过期的 npm 包
> 生成一个 Nginx 反向代理配置常见问题排查
source "$HOME/.$(basename "$SHELL")rc"rustup showsudo agentsight trace
# 或赋予 capability(无需每次 sudo)
sudo setcap cap_bpf,cap_perfmon=ep ./target/release/agentsight