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 沙箱 + 密码学能力模型的组合

坑与注意

  1. 没有内置 LLM:Astrid 本身不捆绑任何模型,所有"智能"都在 Capsule 里,内核只是一个 dumb 路由器。选 distro 就是选谁来提供这些 Capsule。

  2. Homebrew 安装依赖 Rust:如果 brew install 失败,检查是否已安装 Rust:rustc --version(需要 ≥ 1.75)。

  3. Distro 信任是前提:Astrid 的安全建立在"distro 可信"之上——如果 distro 本身包含恶意 Capsule,运行时层无法检测。选择来源可靠的 distro。

  4. 文档分散:核心架构文档在 astrid-runtime/book,贡献指南在 astrid-runtime/handbook,README 里只有简要介绍。

  5. WASM 目标限制:Capsule 必须是 wasm32-unknown-unknown,如果你的工具链不原生支持这个目标,集成有额外门槛。

  6. 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 级能力安全模型真正落地的开源方案——它不是告诉你"相信我",而是用密码学和沙箱让你无法不信