ANOLISA:阿里 Agentic OS 的技术解析与实践
深入解析阿里巴巴 ANOLISA(Agentic Nexus Operating Layer & Interface System Architecture),探讨其如何为 AI Agent 工作负载提供服务端操作系统级支持。
ANOLISA:阿里 Agentic OS 的技术解析与实践
概述
ANOLISA(Agentic Nexus Operating Layer & Interface System Architecture)是阿里巴巴 Anolis OS 的 Agentic 演进产物,旨在提供 Agentic OS 的最佳实践实现——一个专为 AI Agent 工作负载构建的服务端操作系统。
GitHub 地址:https://github.com/alibaba/ANOLISA
与传统操作系统不同,ANOLISA 将 AI Agent 视为一等公民,从操作系统层面为其提供代码理解、任务自动化、系统管理、安全隔离和可观测性等全方位能力支撑。
核心组件架构
ANOLISA 由四大核心组件构成,各组件各司其职、协同工作:
┌──────────────────────────────────────┐
│ Agent Application │
├──────────────────────────────────────┤
│ Copilot Shell (cosh) │ AI 驱动的终端助手
├──────────────────────────────────────┤
│ Agent Sec Core │ OS 级安全内核
├──────────────────────────────────────┤
│ AgentSight │ eBPF 可观测性
├──────────────────────────────────────┤
│ OS Skills │ 运维技能库
├──────────────────────────────────────┤
│ Linux Kernel │
└──────────────────────────────────────┘
Copilot Shell:AI 驱动的终端助手
Copilot Shell 是 ANOLISA 的交互入口,基于阿里通义千问的 Qwen Code(v0.9.0)构建,为开发者提供自然语言驱动的编码和运维体验。
核心特性
- 自然语言编码:用自然语言描述即可修改代码、实现功能或修复 bug
- 代码分析与导航:理解整个项目结构,回答代码相关问题
- 多工具编排:在一个会话中集成文件、Shell、搜索、Web、LSP 和 MCP 工具
- 交互式 Shell:通过
/bash命令进入交互式 Shell,输入exit返回 - Git 工作流自动化:自动化提交、创建分支、解决冲突和生成发布日志
- 多 provider 支持:支持 Qwen OAuth、阿里云百炼、OpenAI 兼容 API、Anthropic 和 Google GenAI
- PTY 模式:支持完整伪终端,包括 sudo 命令
技术架构
Copilot Shell 采用 npm workspaces 单仓库架构:
| 包 | 说明 |
|---|---|
packages/cli | 终端 UI 层——输入处理、命令解析、Ink/React 渲染 |
packages/core | 后端核心——AI 模型通信、prompt 构建、工具编排 |
packages/test-utils | 共享测试工具 |
快速安装
# 通过 RPM 安装
sudo yum install copilot-shell
# 构建
cd src/copilot-shell
make build
# 启动交互模式
cosh
# 或使用别名
co
copilot
Agent Sec Core:OS 级安全内核
随着 AI Agent 逐步获得文件系统 I/O、网络访问、进程管理等 OS 级执行能力,传统应用安全边界已不再适用。Agent Sec Core 在 OS 层构建纵深防御系统,确保 Agent 运行在可控、可审计、最小权限的环境中。
设计原则
- 最小权限原则:Agent 仅获得完成任务所需的最小系统权限
- 显式授权:敏感操作需要用户明确确认,禁止静默权限提升
- 零信任:技能之间相互不信任,每个操作独立认证
- 纵深防御:系统加固 → 资产验证 → 安全决策,任一层被攻破不影响其他层
- 安全优先于执行:安全与功能冲突时,安全获胜
三阶段安全检查
┌─────────────────────────────────────────────┐
│ Agent Application │
├─────────────────────────────────────────────┤
│ Security Decision (风险分级) │
├─────────────────────────────────────────────┤
│ Phase 3: 最终安全确认 │
├─────────────────────────────────────────────┤
│ Phase 2: 资产保护 (GPG + SHA-256) │
├─────────────────────────────────────────────┤
│ Phase 1: 系统加固 (loongshield) │
├─────────────────────────────────────────────┤
│ Linux Kernel │
└─────────────────────────────────────────────┘
风险分级机制
| 级别 | 示例操作 | 动作 |
|---|---|---|
| Low | 文件读取、信息查询、文本处理 | 允许(沙箱隔离) |
| Medium | 代码执行、安装包、外部 API 调用 | 沙箱隔离 + 用户确认 |
| High | 读取 .env/SSH 密钥、数据泄露、修改系统配置 | 阻止,除非明确批准 |
| Critical | 提示词注入、密钥泄露、禁用安全策略 | 立即阻止 + 审计日志 + 通知用户 |
沙箱策略模板
linux-sandbox 提供了 3 种内置策略模板:
| 模板 | 文件系统 | 网络 | 适用场景 |
|---|---|---|---|
| read-only | 整个文件系统只读 | 拒绝 | 只读操作:ls、cat、grep、git status 等 |
| workspace-write | cwd + /tmp 可写,其余只读 | 拒绝 | 需要文件写入的构建、脚本执行 |
| danger-full-access | 无限制 | 允许 | ⚠️ 保留模板,仅特殊场景使用 |
禁止访问的敏感路径
Agent 严禁访问或窃取以下内容:
- SSH 密钥(
/etc/ssh/、~/.ssh/) - GPG 私钥
- API Token / OAuth 凭证
- 数据库凭证
/etc/shadow、/etc/gshadow- 主机身份信息(IP、MAC、主机名)
AgentSight:基于 eBPF 的 AI Agent 可观测性
AgentSight 是基于 Linux eBPF(Extended Berkeley Packet Filter)技术的 AI Agent 可观测性工具,提供对 LLM API 调用、Token 消耗、进程行为和 SSL/TLS 流量的零侵入监控。
核心特性
- 零侵入监控:通过 eBPF 内核探针捕获事件,无需修改 Agent 代码或配置
- SSL/TLS 流量解密:通过 uprobe 拦截 OpenSSL/GnuTLS 库调用,获取明文 HTTP 流量
- LLM Token 精确计费:支持 Hugging Face tokenizer(Qwen 系列等)进行精确 Token 计数
- AI Agent 自动发现:扫描
/proc和监控 execve 事件,动态检测运行的 AI Agent 进程 - 流式响应支持:解析 SSE(Server-Sent Events)以跟踪流式 LLM 响应
- 审计日志:完整的 LLM 调用和进程操作审计跟踪
- 云端集成:原生支持导出至阿里云 SLS(Simple Log Service)进行集中日志分析
数据处理流水线
┌──────────┐ ┌────────┐ ┌────────────┐ ┌──────────┐ ┌───────┐ ┌─────────┐
│ Probes │──▶│ Parser │──▶│ Aggregator│──▶│ Analyzer│──▶│ GenAI │──▶│ Storage │
└──────────┘ └────────┘ └────────────┘ └──────────┘ └───────┘ └─────────┘
eBPF事件 HTTP/SSE 请求-响应 Token/审计 语义事件 SQLite/
(内核) 提取 关联 提取 结构化 SLS导出
eBPF 探针类型
| 探针 | 源文件 | 说明 |
|---|---|---|
| sslsniff | src/bpf/sslsniff.bpf.c | uprobe 拦截 SSL_read/SSL_write,捕获加密连接的明文 |
| proctrace | src/bpf/proctrace.bpf.c | 跟踪 execve 系统调用,捕获命令行参数,构建进程树 |
| procmon | src/bpf/procmon.bpf.c | 轻量级进程监控,捕获创建/退出事件(Agent 发现) |
快速使用
# 前台模式启动追踪
sudo agentsight trace
# 守护进程模式 + SLS 导出
sudo agentsight trace --daemon \
--sls-endpoint <endpoint> \
--sls-project <project> \
--sls-logstore <logstore>
# 查询 Token 消耗
agentsight token
# 查询审计事件
agentsight audit --summary
# 发现 AI Agent
agentsight discover
OS Skills:运维技能库
OS Skills 是 ANOLISA 的技能库,涵盖系统管理、监控、安全、DevOps 和云集成等多个领域。技能安装至 /usr/share/anolisa/skills/,由 Copilot Shell 自动发现。
技能分类
| 类别 | 目录 | 说明 |
|---|---|---|
| AI Tools | ai/ | AI 编程工具集成(Claude Code、OpenClaw、CoPaw、MCP) |
| System Admin | system-admin/ | 包管理、存储、网络、内核、Shell 脚本 |
| DevOps | devops/ | Git 工作流、CI/CD、内核开发、诊断 |
| Alibaba Cloud | aliyun/ | ECS 实例管理、云网络、GPU/AI 部署 |
| Security | security/ | CVE 查询、合规检查、系统加固 |
| Monitoring & Perf | monitor-perf/ | sysAK 诊断、keentune 调优、sysctl 管理 |
精选技能一览
install-claude-code:安装和配置 Claude Code IDEinstall-openclaw:安装和配置 OpenClawsetup-mcp:在 Copilot Shell 中配置 MCP 服务器aliyun-ecs:通过阿里云 CLI 管理 ECS 实例生命周期alinux-cve-query:查询阿里云 Linux CVE 漏洞信息sysom-diagnosis:SysOM 诊断和调优shell-scripting:Bash/Zsh 脚本和自动化
安装方式
# 通过 RPM 安装全部技能
sudo yum install anolisa-skills
# 技能安装路径
/usr/share/anolisa/skills/
一键安装
ANOLISA 支持通过 RPM 包管理器一键安装所有组件:
# 安装全部组件
sudo yum install copilot-shell agent-sec-core agentsight anolisa-skills
# 启动 Copilot Shell
cosh
技术亮点总结
- Agentic OS 理念:ANOLISA 首次将 AI Agent 的需求纳入操作系统设计考量,从 OS 层面提供原生支持
- 纵深安全体系:Agent Sec Core 实现了从系统加固到资产完整性验证再到安全决策的三层防御架构
- eBPF 可观测性:AgentSight 利用 eBPF 技术实现真正零侵入的 AI Agent 监控,不影响业务性能
- 丰富技能生态:OS Skills 提供了开箱即用的运维技能,覆盖 AI、云、安全等多个领域
- 开源开放:基于 Apache 2.0 协议开源,可集成于 ANOLISA 和 OpenClaw 等 Agent OS 平台
参考链接
- GitHub 仓库:https://github.com/alibaba/ANOLISA
- Copilot Shell 文档:https://github.com/alibaba/ANOLISA/tree/main/src/copilot-shell
- Agent Sec Core 文档:https://github.com/alibaba/ANOLISA/tree/main/src/agent-sec-core
- AgentSight 文档:https://github.com/alibaba/ANOLISA/tree/main/src/agentsight
- OS Skills 文档:https://github.com/alibaba/ANOLISA/tree/main/src/os-skills
ANOLISA 作为阿里巴巴在 Agentic OS 领域的探索,为 AI Agent 的安全、可靠运行提供了操作系统级的基础设施支撑,是当前 AI 与操作系统融合创新的重要实践。