astrid-runtime/astrid · 上手攻略
- 仓库:astrid-runtime/astrid
- 链接:https://github.com/astrid-runtime/astrid
- 分类:安全 / OS / AI Agent
- 作者:Tom
- 更新:2026-08-20
这是什么
Astrid 是一个能力安全(capability-secure)操作系统运行时,专为可组合软件设计。它将 AI Agent 视为"不受信任的代码"——在传统框架里,Agent 拥有你本地文件的读写权限、网络访问权和凭证,而 Astrid 通过 OS 级别的安全边界来约束它,即使 Agent 被越狱、注入了恶意工具或存在 bug,也无法突破其能力授权去访问未明确允许的资源。
核心理念一句话:Agent 框架信任 prompt,Astrid 把信任交给运行时。
解决什么问题
当你在本地运行一个 AI Agent 时,它实际上是在你的机器上以你的权限执行代码。传统的护栏方法是"在 prompt 里说不要做 X"——但这根本不是安全边界。Astrid 用真正的 OS 级隔离来解决这个问题:
- WASM 沙箱:Capsule(胶囊)运行在 Wasmtime 虚拟机中,没有 syscalls、没有文件描述符、没有宿主机内存
- 加密能力模型:每个文件路径、网络主机、工具都是签名过的 ed25519 grant,绑定到特定主体、有过期时间、可全局撤销
- Dumb Kernel:内核不持有任何 LLM 句柄、对话状态或工具注册表,它只做事件路由、能力检查、运行沙箱、记录审计日志——内核自己无法被"欺骗"去泄露数据
- 链式审计日志:每条审计记录都密封了前一条的哈希值,并单独签名,篡改可被独立验证
快速安装
⚠️ 以下为 Homebrew 安装方式,Linux/macOS 均适用。Windows 支持情况请参阅官方 README。
# 添加 astrid-runtime tap 并安装
brew tap astrid-runtime/tap && brew install astrid
# 验证安装
astrid --version
如果你需要从源码构建(需要 Rust 工具链):
# 克隆仓库
git clone https://github.com/astrid-runtime/astrid.git
cd astrid
# 使用 Rust 构建(Rust 版本 ≥ 1.75)
cargo build --release
核心用法
Astrid 不捆绑任何"产品发行版"(distro),你需要显式选择一个可信的 distro 启动:
# 初始化一个 distro(替换为你的组织/发行版)
astrid init --distro @yourorg/your-distro
# 启动 Astrid 守护进程
astrid start
# 查看运行状态
astrid status
# 列出当前已加载的胶囊
astrid capsule list
关键概念:Capsule(胶囊)
Capsule 是 Astrid 的基本执行单元,本质是一个密封的 WebAssembly 组件(wasm32-unknown-unknown 目标)。每个 Capsule 通过 Capsule.toml 声明自己需要什么(imports)和提供什么(exports),内核通过拓扑排序解析依赖图并按顺序启动。
Capsule 之间只能通过事件总线(event bus)通信,工具调用也只是 IPC 惯例——内核本身不感知工具 schema。
架构速览
Uplinks(CLI、HTTP 网关、Discord 等)
│
▼
Kernel(astrid-daemon)
事件总线 · 能力 ACL · 审计链 · Wasmtime 沙箱
│
▼
Capsules(WASM 组件)
providers · orchestrators · tools · fs · http · sessions · registry · identity
典型适用场景
| 场景 | 为什么选 Astrid |
|---|---|
| 在本地跑第三方/开源 Agent | 不想把文件和网络权限裸交给它 |
| 企业内部 AI 工具部署 | 需要可审计的 AI 操作记录 |
| 多人共享 AI 加速卡服务器 | 每个用户(principal)有独立命名空间和配额 |
| 研究 AI 安全性 / 可信执行 | 需要 Wasm 沙箱 + 密码学能力模型的组合 |
坑与注意
-
没有内置 LLM:Astrid 本身不捆绑任何模型,所有"智能"都在 Capsule 里,内核只是一个 dumb 路由器。选 distro 就是选谁来提供这些 Capsule。
-
Homebrew 安装依赖 Rust:如果
brew install失败,检查是否已安装 Rust:rustc --version(需要 ≥ 1.75)。 -
Distro 信任是前提:Astrid 的安全建立在"distro 可信"之上——如果 distro 本身包含恶意 Capsule,运行时层无法检测。选择来源可靠的 distro。
-
文档分散:核心架构文档在 astrid-runtime/book,贡献指南在 astrid-runtime/handbook,README 里只有简要介绍。
-
WASM 目标限制:Capsule 必须是
wasm32-unknown-unknown,如果你的工具链不原生支持这个目标,集成有额外门槛。 -
Linux/Mac 为主:README 主要演示
brew(macOS/Linux)和bwrap(Linux sandbox),Windows 体验未验证。
与同类对比
| 特性 | Astrid | LangChain Agents | OpenAI Assistants |
|---|---|---|---|
| 安全模型 | 密码学能力 + Wasm 沙箱 | Prompt 护栏(无真边界) | 云端,无本地控制 |
| 可组合性 | Capsule 依赖图 + IPC 总线 | Tool 列表 + Agent 循环 | API 工具调用 |
| 运行时依赖 | Rust + Wasmtime(轻量) | Python(重量) | 云服务 |
| 审计 | 签名链式审计日志 | 无 | 云端日志 |
| 多语言支持 | 计划中(当前 Rust 核心) | Python 为主 | 绑定多语言 |
Astrid 的定位更接近 AI Agent 的安全容器运行时,而不是一个"开发框架"。如果你的需求是快速搭一个 Agent 用,选择 LangChain;如果你需要真正安全地运行 Agent,选择 Astrid。
一句话推荐结论
如果你在意 AI Agent 的安全边界(谁真的能访问你的文件),Astrid 是目前唯一把 OS 级能力安全模型真正落地的开源方案——它不是告诉你"相信我",而是用密码学和沙箱让你无法不信。