nearai/ironclaw

效率与系统工具

自托管的个人 AI 助手,数据留在本地,不可信工具运行在隔离的 WASM 沙箱中。

12,688
1,490
Rust
Apache-2.0
创建于 8 个月前

IronClaw 是一个用 Rust 编写的自托管个人 AI 助手,把聊天代理、后台例行任务和可扩展的工具系统整合在一起,同时让数据和凭据留在你自己的机器上。它适合想要一个常驻助手、又比一般托管聊天客户端更看重工具隔离和凭据处理的人,代价是需要自己运行和配置一个本地服务。

功能与工作机制

你可以通过终端 REPL、浏览器 WebUI、HTTP webhook,或 Telegram、Slack 等消息渠道与助手交互。聊天背后是代理循环,负责路由请求、并行执行任务,并能在后台运行定时或事件触发的例行任务。记忆部分在 workspace 文件系统上做全文与向量混合检索,另有 identity 文件让偏好跨会话保持一致。

最有辨识度的机制是工具沙箱。不可信工具以 WebAssembly 模块运行,对 HTTP、密钥和工具调用只有显式授予的、基于能力的权限;网络访问仅限批准的 host/path。凭据在宿主边界注入,不会交给工具本身,请求和响应还会经过密钥泄露扫描。外部内容也会按提示注入模式筛查,策略级别从警告到阻断不等。README 还描述了动态工具构建:你描述需要的能力,IronClaw 就把它构造成一个 WASM 工具;此外还支持连接 MCP server 和即插即用插件(项目 README)。

上手与版本要求

主要路径是引导式 ironclaw onboard 流程:选择 LLM 提供商,API key 存入本地加密存储,配置写入用户主目录;在 macOS 或 Linux 上还会安装并启动后台服务,并打印 WebUI 登录链接(安装说明)。预编译安装包覆盖 macOS、Linux 和 Windows/WSL,Windows 另有 MSI 和 PowerShell 脚本两种方式。若从源码构建,则需要 Rust 1.96+ 以及带 Corepack/pnpm 的 Node.js 22+。在 Windows 上,README 建议以前台方式启动 WebUI,而不是依赖后台服务。

修改配置不会自动重启正在运行的服务,影响服务的改动需要显式执行重启命令。密钥始终通过隐藏提示输入,不接受作为命令参数。Slack 和 Telegram 渠道要先安装扩展,再在 WebUI 的 Extensions 页面完成设置——这一点与其他多数配置项通过配置文件或命令键设置不同。

安全边界与待验证之处

README 把安全设计描述为多层防御:WASM 隔离、端点白名单、凭据注入与泄露扫描、提示注入策略、本地加密存储,以及所有工具执行的完整审计日志。这些是作者的设计主张;所给材料中没有独立的安全审计,也没有评估该沙箱能否挡住特定类别的攻击。Hacker News 发布讨论中有一位评论者认为,设计没有说清威胁模型、什么与什么隔离(HN 评论),也有评论者为细粒度隔离对不可信技能的价值辩护(HN 回复)。还有回复提出代理自行编写工具的问题(HN 回复)。因此,隔离能力应视为需要用你自己的威胁模型去验证的设计方向,而非已被证明的保证。

项目采用 Apache-2.0 或 MIT 双许可,可任选其一(代码仓库)。它是受 OpenClaw 启发的 Rust 重实现,并单独维护功能对齐跟踪表(功能对齐)。

本文由 AI 根据项目 README 生成,更新于 2026年10月29日,以项目官方文档为准。

Hacker News 讨论

IronClaw: a Rust-based clawd that runs tools in isolated WASM sandboxes
▲ 149 · 69 条评论 · 2026年2月13日