AGI之AI-Assistant之MultiAgent之OpenClaw:IronClaw的简介、安装和使用方法、案例应用之详细攻略
目录
[配置(Setup / onboard)](#配置(Setup / onboard))
[开发 / 测试(本地)](#开发 / 测试(本地))
1) 作为个人/团队的"离线/可控"智能助理 作为个人/团队的“离线/可控”智能助理)
2) 聊天通道:Telegram(实战) 聊天通道:Telegram(实战))
3) 自动化与后台任务(Routines / Webhooks) 自动化与后台任务(Routines / Webhooks))
4) 开发自定义工具(WASM)与集成 开发自定义工具(WASM)与集成)
IronClaw简介

IronClaw 是一个以隐私与安全为核心的"个人 AI 助手"实现,受 OpenClaw 启发并用 Rust 重写,目标是让用户能把 AI 助手运行在自己可控的环境中,数据留在本地、可审计且无隐藏遥测。项目宣称的设计原则包括:数据由用户掌控(本地加密存储)、开源透明、能够动态扩展工具能力、以及多层次的安全防护以抵御提示注入与数据外泄。
Github地址: https://github.com/nearai/ironclaw
1、 特点
|------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 安全优先(Security First) | 使用 WASM 沙箱 来运行不受信任的工具:以 capability-based 权限模型限制工具能访问的资源。 凭证保护:敏感凭证不会直接暴露给工具;凭证在主机边界注入,并有泄露检测机制。 提示注入防护(Prompt Injection Defense):通过模式检测、内容清理/转义与策略规则(Block/Warn/Review/Sanitize)来降低被恶意或不可信工具操纵上下文的风险。 端点白名单:HTTP 请求限制为显式允许的主机与路径。 |
| 始终可用(Always Available) | 多通道支持:包括 REPL、HTTP webhooks、WASM channels(例如 Telegram、Slack)、以及浏览器的 Web Gateway(支持 SSE/WebSocket 流)。 提供 Docker 沙箱、作业令牌与 orchestrator/worker 模式,用于隔离执行与并行处理。 支持"例程"(Routines):基于 cron 的计划任务、事件触发与 webhook 处理,用于后台自动化。 内置心跳/自修复机制(heartbeat & self-repair),用于检测和恢复卡住的操作。 |
| 自我扩展(Self-Expanding) | 动态工具构建:可以描述所需工具,IronClaw 能在运行时生成对应的 WASM 工具。 支持 MCP(Model Context Protocol)连接,以扩展模型上下文能力。 插件式架构:可热插入新的 WASM 工具和通道而无需重启主进程。 |
| 持久记忆(Persistent Memory)与检索 | 混合检索(Hybrid Search):结合全文检索与向量检索,并用 Reciprocal Rank Fusion 来合并结果。 工作区式文件系统(Workspace filesystem):按路径组织存储笔记、日志与上下文。 身份文件(Identity Files):保存个性与偏好,保证会话间一致性。 |
| OpenClaw 衍生与差异 | IronClaw 来源于 OpenClaw 的设计思想,但在实现上做出关键差异: 采用 Rust(单一二进制、内存安全) 替代 TypeScript; 以 WASM 沙箱 替代 Docker(更轻量、Capability-based); 持久层使用 PostgreSQL(生产就绪) 而非 SQLite; 并强调"security-first" 的多层防护设计。详细差异可见 FEATURE_PARITY 文档。 |
IronClaw 的 安装与使用方法
1、安装
本节包含"先决条件 / 下载或构建 / 配置向导 / 常用命令 / 开发调试与测试"等实操信息,均摘自仓库原文。
先决条件
Rust 1.85+。
PostgreSQL 15+ 且需要安装 pgvector 扩展(用于向量检索)。
NEAR AI 帐号(认证在 setup 向导中处理)。
下载或构建
仓库建议查看 Releases 页面获取最新二进制或安装程序。README 提到 Windows Installer 可直接下载运行。
配置(Setup / onboard)
首次配置通过命令行向导:
ironclaw onboard
向导会负责:数据库连接设置、NEAR AI 的浏览器 OAuth 认证、以及把机密保存到系统密钥链并写入数据库。某些引导变量(如 DATABASE_URL、LLM_BACKEND)会写入 ~/.ironclaw/.env 以便在数据库启动前使用。
2、使用方法
常用运行命令(示例)
启动交互式 REPL:
cargo run
启动并开启 debug 日志:
RUST_LOG=ironclaw=debug cargo run
第一次 onboard(如上):
ironclaw onboard
这些命令出自 README 的"Usage"部分。
通道与插件安装(举例:Telegram)
仓库提供 docs/TELEGRAM_SETUP.md,说明如何为 IronClaw 配置 Telegram 通道:
支持 Webhook(推荐) 与 Polling(可选、约 30s 延迟) 模式;
在 ironclaw onboard 向导中启用 Telegram 通道并粘贴 Bot Token;向导会验证 token,并可配置 webhook secret 与 tunnel(ngrok / cloudflared)等;
支持 DM pairing(配对)流程用于控制谁能与 agent 交互(需管理员手动批准配对码)。
开发 / 测试(本地)
仓库同样列出常见开发命令:
格式化代码:cargo fmt
Lint:cargo clippy --all --benches --tests --examples --all-features
运行测试(示例):先创建测试数据库 createdb ironclaw_test,然后 cargo test,或通过 cargo test test_name 运行指定测试。
IronClaw 的 案例应用
示例用来说明如何把 IronClaw 用到实际场景:
1) 作为个人/团队的"离线/可控"智能助理
将 IronClaw 部署在自有服务器或本地机器(数据库在 Postgres),所有会话与工具调用都记录在本地数据库,凭证加密存储,适用于希望把敏感数据留在自己控制下的个人或小团队。该用例基于项目"数据本地化、无遥测"的设计理念。
2) 聊天通道:Telegram(实战)
借助 docs/TELEGRAM_SETUP.md,可把 IronClaw 作为 Telegram Bot 使用,支持:
Webhook 模式(需要将本机暴露到 HTTPS,推荐使用 ngrok 或 cloudflared);
Polling 模式(无 tunnel 时可用,但有 ~30 秒延迟);
DM Pairing:当陌生用户发起 DM,会收到配对码;管理员通过 ironclaw pairing approve telegram <CODE> 批准后该用户才能交互(有效的访问控制流程)。
常用命令示例(文档中)包括:列出待配对请求 ironclaw pairing list telegram、批准配对 ironclaw pairing approve telegram ABC12345、以及在向导中保存 telegram_bot_token 等。
3) 自动化与后台任务(Routines / Webhooks)
可以利用 Routines(cron-style)与 webhook handlers 把 IronClaw 用作自动化引擎,例如按计划拉取/处理信息、监测任务并执行工具链(WASM 工具),这些都以"并行作业、隔离上下文"的方式执行,适合后台自动化场景。
4) 开发自定义工具(WASM)与集成
IronClaw 支持把自定义工具编译为 WASM 并以 capability 限权方式加载(channels-src 下有现成通道模板),适用于把现有脚本/功能打包成安全的工具供 agent 使用。文档也提到如果修改了通道源(例如 Telegram),需要运行 ./channels-src/telegram/build.sh 在构建前把更新的 WASM 打包进二进制。