开源项目 Agentic OS 实战指南:手把手教你从 ANOLISA 源码安装
首个面向 Agent 的操作系统——Agentic OS发布后收到许多询问是否能在本地部署当然可以Agentic OS 已经在 GitHub 上开源开源项目是「ANOLISA」。本文会详细介绍如何准备开发环境、从源码构建 ANOLISA 各组件并运行测试覆盖 Alibaba Cloud LinuxAlinux、Ubuntu 等多发行版。文末也会提供常见问题排查。ANOLISA 是什么ANOLISAAgentic Nexus Operating Layer Interface System Architecture是 Anolis OS 的 Agentic 演进一个专为 AI Agent 工作负载构建的服务端操作系统。当你的服务器上跑着越来越多的 AI Agent —— 它们执行命令、调用 API、读写文件、管理系统 —— 传统操作系统的安全边界和工具链已经力不从心了。ANOLISA 从 OS 层面为 Agent 构建了一套完整的运行环境AI 终端助手、安全沙箱、可观测引擎和运维技能库让 Agent 在受控、可审计、最小权限的环境中运行。本文将按照官方构建文档从零开始一步步带你完成 ANOLISA 的本地安装。仓库结构一览在开始之前先了解一下 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/四个src子目录分别对应四大核心组件Copilot Shell 是 AI 驱动的终端助手基于 Qwen Code 构建支持自然语言编程和多工具编排OS Skills 是涵盖系统管理、安全、DevOps、阿里云集成的运维技能库Agent Sec Core 是 Rust 实现的安全沙箱为 Agent 提供最小权限和纵深防御AgentSight 是基于 eBPF 的可观测引擎零侵入监控 LLM API 调用和 Token 消耗。环境依赖各组件所需的工具链版本如下copilot-shellNode.js 20、npm 10、make、gos-skillsPython 3.12仅可选脚本需要大部分技能无需编译agent-sec-coreRust 1.91.0、Python 3.12、uv仅 Linuxagentsight可选Rust 1.80、clang 14、libbpf 头文件、内核头文件仅 Linux支持的操作系统Fedora / RHEL / CentOS / Anolis / AlinuxRPM 系以及 Debian / UbuntuDEB 系。推荐使用 Alinux 4 或 Anolis OS。安装方式一统一构建脚本自动方式如果你只想尽快跑起来用统一构建脚本是最简单的方式。它会自动检测系统、安装依赖、编译所有组件并安装到系统路径。首先克隆仓库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完整的参数列表--no-install— 跳过将组件安装到系统路径。--ignore-deps— 跳过依赖安装。--deps-only— 仅安装依赖不构建。--component 名称— 构建指定组件可重复使用可选值cosh、skills、sec-core、sight默认构建 cosh、skills、sec-core。--help— 显示帮助信息。以上每个方式都是独立的命令根据自己的需求选择一个执行即可。如果使用了统一构建脚本可以跳过下方的分组件构建部分。注意事项有几点需要特别留意Node.js 和 Rust 建议通过上游安装器nvm / rustup安装而非使用发行版软件包因为部分发行版的包版本可能不满足要求。os-skills 大部分是静态 Markdown 资源无需编译。AgentSight 是可选组件它提供审计和可观测性能力但不是核心功能所必需的默认构建不包含它需要使用--component sight显式包含。AgentSight 的系统依赖clang / llvm / libbpf / 内核头文件需通过发行版包管理器安装构建脚本会检测并提示缺失项。安装方式二分组件构建手动方式如果已使用上方的统一构建脚本可以跳过本节。脚本会自动完成所有步骤。如果你希望手动设置各工具链并逐个构建组件按以下步骤操作。第一步安装依赖a) Node.js用于 Copilot Shell要求Node.js 20、npm 10。Alinux 4已验证一行命令搞定系统仓库提供的 Node.js 版本满足要求。sudo dnf install -y nodejs npm make gcc-c其他发行版通过 nvm如果系统仓库的 Node.js 版本不满足 20推荐使用 nvm 管理 Node.js 版本。# 如果 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_MIRRORhttps://npmmirror.com/mirrors/node/ nvm install 20 nvm use 20 fi # 验证 node -v # 期望v20.x.x 或更高 npm -v # 期望10.x.x 或更高b) Rust用于 Agent Sec Core 和 AgentSight要求agent-sec-core 需要 Rust 1.91.0agentsight 需要 Rust 1.80。Alinux 4已验证系统rust包版本低于 1.91.0无法直接使用仅需通过 dnf 安装构建工具Rust 本身需用 rustup 安装见下方。sudo dnf install -y gcc makeUbuntu 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包版本可能低于 1.91.0。如果构建因版本不匹配而失败请改用下方的 rustup。其他发行版 / Alinux 4rustup推荐rustup 是官方推荐的 Rust 安装方式支持多版本管理。# 如果 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 或更高仓库为 agent-sec-core 固定了工具链版本rust-toolchain.toml。如果系统 Rust 版本不匹配rustup 会在仓库内构建时自动下载正确版本。配置 Rustup 分发镜像国内用户推荐如果构建时触发了固定工具链的自动下载通过rust-toolchain.toml并且超时请设置 Rustup 分发镜像export RUSTUP_DIST_SERVERhttps://rsproxy.cn export RUSTUP_UPDATE_ROOThttps://rsproxy.cn/rustup将以上内容添加到 shell 配置文件~/.bashrc或~/.zshrc中以使其永久生效。构建脚本build-all.sh会自动配置此项。配置 crates.io 镜像国内用户推荐如果cargo build拉取依赖较慢可配置阿里云 crates.io 镜像。构建脚本build-all.sh在通过 rustup 安装时会自动配置手动安装的话需要自己添加。在~/.cargo/config.toml中添加[source.crates-io] replace-with aliyun [source.aliyun] registry sparsehttps://mirrors.aliyun.com/crates.io-index/在阿里云 ECSVPC 网络上可将mirrors.aliyun.com替换为mirrors.cloud.aliyuncs.com以使用内网加速。c) Python 和 uv用于 Agent Sec Core 和 OS Skills要求Python 3.12。uv 是一个现代的 Python 包管理器用于管理 Python 版本和依赖。Alinux 4已验证pip3 install uv uv python install 3.12Ubuntu 24.04已验证sudo 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 # 安装 uvastral.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.12验证安装uv --version # 期望uv 0.x.x 或更高 uv python find 3.12 # 期望输出 python3.12 可执行文件路径d) AgentSight 系统依赖可选需包管理器AgentSight 是可选组件提供基于 eBPF 的审计和可观测性能力。它不是 ANOLISA 核心功能所必需的。如果你选择构建它需要以下系统级依赖。dnfAlinux / Anolis OS / Fedora / RHEL / CentOS 等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)aptDebian / Ubuntusudo apt-get update -y sudo apt-get install -y clang llvm libbpf-dev \ libelf-dev zlib1g-dev libssl-dev perl \ linux-headers-$(uname -r)部分发行版没有单独的 perl-core 包这是正常的。内核要求AgentSight 要求 Linux 内核 5.10 且启用 BTFCONFIG_DEBUG_INFO_BTFy。可以通过检查/sys/kernel/btf/vmlinux文件是否存在来确认。e) 版本检查所有依赖安装完成后运行以下命令确认版本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 ShellCopilot Shell 是一个 Node.js / TypeScript 项目使用 npm workspaces 的 monorepo 布局。cd src/copilot-shell make deps make build构建产物是dist/cli.js你可以直接运行或者添加持久的co/cosh别名到你的 shell# 直接运行 node dist/cli.js # 或安装到系统 PATH创建 cosh/co/copilot 命令 sudo make install coshb) OS SkillsOS Skills 无需编译每个技能是一个目录包含SKILL.md及可选的辅助文件脚本、参考资料等。部署时将包含 SKILL.md 的技能目录复制到以下加载路径即可项目级.copilot-shell/skills/用户级~/.copilot-shell/skills/系统级/usr/share/anolisa/skills/手动部署用户级# 构建脚本会自动复制技能 ./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 skillsc) Agent Sec Core仅 LinuxAgent Sec Core 包含一个 Rust 实现的 Linux 沙箱基于 bubblewrap seccomp编译后为单个二进制文件。cd src/agent-sec-core make build-sandbox构建产物是linux-sandbox/target/release/linux-sandbox。安装到系统路径sudo make install安装完成后你可以用沙箱策略生成器对命令进行安全分类python3 skill/scripts/sandbox/sandbox_policy.py --cwd $PWD git statusd) AgentSight可选仅 LinuxAgentSight 是可选组件。它提供基于 eBPF 的审计和可观测性能力不是 ANOLISA 核心功能所必需的。cd src/agentsight make build构建产物是target/release/agentsight。安装到系统路径sudo 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安装完成后启动你的 AI 终端助手cosh # 也可以用简短别名 co copilot首次启动会引导你完成认证。Copilot Shell 支持三种认证方式Qwen OAuth推荐免费额度每天 2,000 次请求Custom Provider支持百炼、DeepSeek、Kimi、GLM、MiniMax 等 OpenAI 兼容接口Aliyun AK/SK仅供试用/测试证完成后你可以直接用自然语言与系统交互 查看系统负载情况 帮我分析 /var/log/messages 里最近的错误 升级所有过期的 npm 包 生成一个 Nginx 反向代理配置输入/skills查看所有已安装的运维技能输入/bash进入交互式 Shell。常见问题排查Node.js 版本不匹配如果 nvm 安装后node命令找不到或版本不对尝试重新加载 Shell 配置source $HOME/.$(basename $SHELL)rcRust 工具链不匹配agent-sec-core 使用rust-toolchain.toml固定了工具链版本如果构建时提示版本问题检查当前工具链状态rustup showrustup 会自动下载项目指定的版本。AgentSight 缺少 libbpf / 头文件请按上方「AgentSight 系统依赖」章节安装对应发行版的软件包。AgentSight 运行时权限被拒绝eBPF 程序需要 root 权限或相应 capabilitysudo agentsight trace # 或赋予 capability无需每次 sudo sudo setcap cap_bpf,cap_perfmonep ./target/release/agentsight写在最后ANOLISA 让 AI Agent 在操作系统上的运行变得安全、可观测、可控。无论你是想在开发机上体验 AI 终端助手还是在生产服务器上部署安全可控的 Agent 工作负载ANOLISA 都能为你提供从构建到运行的完整工具链。项目地址https://github.com/alibaba/anolisa欢迎 Star、Fork 和提交 PR如有问题欢迎在 GitHub Issues 中反馈。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2497850.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!