Astrid 操作系统
用操作系统级边界守护 AI 代理:给可组合软件一个能力安全运行时。
证据显示:README 详细描述了能力安全模型,包括最小权限(无环境权限、能力令牌、清单门禁)、用户确认(审批门禁、本地出口同意)、数据流透明(审计链)、敏感数据处理(密钥存储、每主体隔离)、依赖安全(固定版本、Sigstore、CodeQL)、外部影响(沙箱、OS 沙箱)、回滚(实时胶囊生命周期)、来源归属(签名发布、BLAKE3 清单)。扣分:用户确认和敏感数据处理仅描述,未提供实现细节;依赖安全有固定版本但未提供漏洞扫描证据;外部影响和回滚有描述但未提供测试证据。
证据显示:README 和 Cargo.toml 一致,版本号一致,依赖有固定版本和理由。扣分:未提供失败消息的具体示例,依赖可用性未提供测试证据。
证据显示:README 描述了多种使用场景(CLI、headless、网关、Discord),能力边界清晰(胶囊清单、IPC ACL),触发精度(工具约定),环境适配(多平台、WASM)。扣分:触发精度和环境适配仅描述,未提供具体配置示例。
证据显示:README 结构清晰,安装说明详细,命名一致,有示例,许可证明确,版本和变更日志存在,维护责任明确(贡献指南、RFC 流程)。扣分:已知限制未明确列出,版本变更日志未提供详细内容。
证据显示:输出可用性(CLI 输出、headless 模式),边际价值(能力安全模型),成本效益(安装简单、文档齐全)。扣分:未提供性能或资源消耗数据。
证据显示:README 中的声明有文档和代码引用,跨来源(README、Cargo.toml、SECURITY.md)一致,事实和推断分离(描述为设计而非已验证)。扣分:未提供测试结果或独立验证。
- 发布者身份未验证,应视为未知,不要基于品牌信任。
- 安全声明(如沙箱、审计链)未提供测试证据,需独立验证。
- 依赖固定版本但未提供漏洞扫描证据,需检查依赖安全。
- 已知限制未明确列出,需查阅文档或代码。
这个 Agent 能做什么,适合哪些场景?
Astrid 是一个用 Rust 编写的便携式、能力安全的操作系统,专为可组合软件设计,在操作系统层面为 AI 代理提供信任边界。其内核(astrid-daemon)是小而简单的:它路由事件、执行能力、运行沙箱并记录审计,不含任何模型、工具模式或业务逻辑。每个能力都是封装的 WebAssembly 胶囊,通过 WIT 类型的 ABI(astrid:* 包)导入所需,并且在边界处进行能力检查。运行时通过 Unix 套接字与前端(CLI、HTTP 网关、Discord)通信,并支持热安装、热升级和热卸载。安全模型是多层的:WASM 沙箱、清单门控、IPC ACL、能力令牌、批准门控、操作系统沙箱(Linux 上的 bwrap,macOS 上的 seatbelt)以及签名的哈希链接审计链。Astrid 安装四个二进制文件:CLI、守护进程、编译器和发射器。
Astrid 提供一套工具来创建、部署和管理 AI 代理及其能力。CLI(astrid)连接守护进程,管理会话(astrid chat、-p 用于单次提示),配置主体(agent create/modify),检查授予的能力(caps show),并管理胶囊生命周期(capsule new/build/install/update/remove)。胶囊是编译为 wasm32-unknown-unknown 的 WASM 组件;SDK 帮助开发人员通过 proc 宏(astrid::tool)构建。守护进程强制实施基于令牌的能力,通过主题的 IPC ACL 路由事件,并通过受控主机调用执行沙箱。前端通过 Unix 套接字传输 IPC 事件;HTTP 网关通过 HTTP 提供线程会话。Astrid 还包括用于模型发现的 LLM 提供程序绑定(astrid models、doctor)和用于非交互式使用的 headless 模式(-p、--yes)。
- 希望以最小权限运行 AI 代理的安全工程师,可实现每个身份隔离和可审计的操作。
- 构建自定义工具或工作流的开发人员,可编写具有声明清单的 WASM 胶囊,并通过能力检查的调用安全地组合它们。
- 需要部署不受供应商锁定且能运行多个模型的代理的平台团队,可利用与模型无关的运行时。
- 运营具有严格合规要求的人,可依赖签名、哈希链接的审计链以及每个主体的隔离。
- 希望将代理生命周期自动化到 CI/CD 中的用户,可使用无头模式(例如 -p 自动审批)并脚本化安装。
这个 Agent 有哪些优点和局限?
- 操作系统级安全边界:所有能力都是显式授予的,沙箱禁止未检查的系统调用。
- 模型无关:内核不持有 LLM,因此可以与任何提供程序一起使用。
- 实时生命周期:胶囊可以安装、升级和删除,无需重启守护进程。
- 每个主体隔离:提供单独的秘密、键值和配额,失败关闭。
- 可审计:防篡改的签名审计链。
- 需要较新的 Rust 工具链(1.95+),且 WASM 技术栈有学习曲线。
- 需要选择并配置发行版;未捆绑任何模型或预配置代理循环。
- 仅支持 Linux 和 macOS;未提及 Windows。
- 需要实现能力模型和内部 IPC;可能比简单框架更复杂。
- 文档提到自更新安全性,但某些细节需要参考书籍。
如何安装或部署这个 Agent?
需要 Rust 1.95+。使用 Homebrew:brew tap astrid-runtime/tap && brew install astrid。或使用 cargo install astrid。从源码构建:git clone https://github.com/astrid-runtime/astrid && cd astrid && cargo build --release。安装后,初始化一个发行版:astrid init --distro @yourorg/your-distro。
如何使用这个 Agent?
使用 astrid start 启动守护进程,然后开始交互式会话:astrid chat。以无头模式运行单次提示:astrid -p "summarize the git log"。使用 astrid capsule new my-capsule 创建胶囊,使用 astrid capsule build 构建,然后通过 astrid capsule install . 安装。管理主体:astrid agent create ci-bot。检查状态:astrid status、astrid doctor。