
字节笔记本
2026年3月8日
IronClaw:用 Rust 构建的安全个人 AI 助手
IronClaw 是一个用 Rust 编写的安全个人 AI 助手,灵感来自 OpenClaw。它专注于隐私保护和安全性,通过 WASM 沙箱、凭证保护、提示注入防御等多层安全机制,确保你的数据始终在你的控制之下。
项目简介
IronClaw 是一个开源的 AI 助手实现,使用 Rust 语言编写,目前已在 GitHub 上获得超过 7200 个 star。该项目的核心理念是:你的 AI 助手应该为你工作,而不是对你不利。
在一个 AI 系统越来越不透明、数据处理方式模糊不清的时代,IronClaw 采取了不同的方法:
- 数据始终属于你 - 所有信息本地存储、加密,永不离开你的控制
- 设计透明 - 开源、可审计、无隐藏的遥测或数据收集
- 自我扩展能力 - 即时构建新工具,无需等待供应商更新
- 深度防御 - 多层安全保护,防止提示注入和数据泄露
核心特性
安全优先
- WASM 沙箱 - 不受信任的工具在隔离的 WebAssembly 容器中运行,具有基于能力的权限
- 凭证保护 - 密钥永不暴露给工具;在主机边界注入,带有泄露检测
- 提示注入防御 - 模式检测、内容清理和策略执行
- 端点白名单 - HTTP 请求仅限明确批准的主机和路径
始终可用
- 多渠道 - REPL、HTTP webhook、WASM 渠道(Telegram、Slack)和 Web 网关
- Docker 沙箱 - 隔离容器执行,每个作业独立令牌,编排器/工作器模式
- Web 网关 - 浏览器 UI,支持实时 SSE/WebSocket 流式传输
- 例程系统 - Cron 调度、事件触发器、webhook 处理器用于后台自动化
- 心跳系统 - 主动后台执行,用于监控和维护任务
- 并行作业 - 隔离上下文处理多个并发请求
- 自我修复 - 自动检测和恢复卡住的操作
自我扩展
- 动态工具构建 - 描述你需要什么,IronClaw 会将其构建为 WASM 工具
- MCP 协议 - 连接到模型上下文协议服务器以获取额外功能
- 插件架构 - 无需重启即可添加新的 WASM 工具和渠道
持久化记忆
- 混合搜索 - 使用倒数排名融合的全文 + 向量搜索
- 工作区文件系统 - 灵活的基于路径的存储,用于笔记、日志和上下文
- 身份文件 - 在会话间保持一致的个性和偏好
技术栈
- Rust 1.85+ - 主要编程语言
- PostgreSQL 15+ - 数据存储
- pgvector - 向量搜索扩展
- WebAssembly (WASM) - 工具沙箱隔离
- Docker - 容器化执行环境
- OpenAI API - 兼容多种 LLM 提供商
安装指南
前置要求
- Rust 1.85+
- PostgreSQL 15+ with pgvector 扩展
- NEAR AI 账户(通过设置向导处理身份验证)
安装方式
Windows 安装程序
下载 Windows Installer 并运行。
PowerShell 脚本(Windows)
irm https://github.com/nearai/ironclaw/releases/latest/download/ironclaw-installer.ps1 | iexShell 脚本(macOS, Linux, Windows/WSL)
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/nearai/ironclaw/releases/latest/download/ironclaw-installer.sh | shHomebrew(macOS/Linux)
brew install ironclaw从源码编译
# 克隆仓库
git clone https://github.com/nearai/ironclaw.git
cd ironclaw
# 构建
cargo build --release
# 运行测试
cargo test快速开始
数据库设置
# 创建数据库
createdb ironclaw
# 启用 pgvector
psql ironclaw -c "CREATE EXTENSION IF NOT EXISTS vector;"配置向导
运行设置向导来配置 IronClaw:
ironclaw onboard向导会处理数据库连接、NEAR AI 身份验证(通过浏览器 OAuth)和密钥加密(使用系统密钥链)。设置会持久化到连接的数据库中;引导变量(如 DATABASE_URL、LLM_BACKEND)会写入 ~/.ironclaw/.env。
启动 REPL
# 启动交互式 REPL
cargo run
# 带调试日志
RUST_LOG=ironclaw=debug cargo run配置选项
替代 LLM 提供商
IronClaw 默认使用 NEAR AI,但支持任何 OpenAI 兼容端点。常用选项包括:
- OpenRouter - 300+ 模型
- Together AI
- Fireworks AI
- Ollama - 本地运行
- 自托管服务器如 vLLM 或 LiteLLM
在向导中选择 "OpenAI-compatible",或直接设置环境变量:
LLM_BACKEND=openai_compatible
LLM_BASE_URL=https://openrouter.ai/api/v1
LLM_API_KEY=sk-or-...
LLM_MODEL=anthropic/claude-sonnet-4安全架构
WASM 沙箱工作流程
WASM ──► 白名单 ──► 泄露扫描 ──► 凭证注入 ──► 执行 ──► 泄露扫描 ──► WASM
验证器 (请求) (响应)所有不受信任的工具都在隔离的 WebAssembly 容器中运行:
- 基于能力的权限 - 显式选择 HTTP、密钥、工具调用
- 端点白名单 - HTTP 请求仅限批准的主机/路径
- 凭证注入 - 密钥在主机边界注入,永不暴露给 WASM 代码
- 泄露检测 - 扫描请求和响应中的密钥泄露尝试
- 速率限制 - 每个工具的请求限制,防止滥用
- 资源限制 - 内存、CPU 和执行时间约束
提示注入防御
外部内容通过多层安全层:
- 基于模式的注入尝试检测
- 内容清理和转义
- 具有严重性级别的策略规则(阻止/警告/审查/清理)
- 工具输出包装以安全注入 LLM 上下文
数据保护
- 所有数据本地存储在 PostgreSQL 数据库中
- 密钥使用 AES-256-GCM 加密
- 无遥测、分析或数据共享
- 所有工具执行的完整审计日志
架构概览
┌────────────────────────────────────────────────────────────────┐
│ 渠道层 │
│ ┌──────┐ ┌──────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ REPL │ │ HTTP │ │WASM Channels│ │ Web Gateway │ │
│ └──┬───┘ └──┬───┘ └──────┬──────┘ │ (SSE + WS) │ │
│ └─────────┴──────────────┴────────────────┘ │
│ │ │
│ ┌─────────▼─────────┐ │
│ │ Agent Loop │ 意图路由 │
│ └────┬──────────┬───┘ │
│ │ │ │
│ ┌──────────▼────┐ ┌──▼───────────────┐ │
│ │ Scheduler │ │ Routines Engine │ │
│ │(并行作业) │ │(cron, event, wh) │ │
│ └──────┬────────┘ └────────┬─────────┘ │
│ ┌─────────────┼────────────────────┘ │
│ │ │ │
│ ┌───▼─────┐ ┌────▼────────────────┐ │
│ │ Local │ │ Orchestrator │ │
│ │Workers │ │ ┌───────────────┐ │ │
│ │(进程内) │ │ │ Docker Sandbox│ │ │
│ └───┬─────┘ │ │ Containers │ │ │
│ │ │ │ ┌───────────┐ │ │ │
│ │ │ │ │Worker / CC│ │ │ │
│ │ │ │ └───────────┘ │ │ │
│ │ │ └───────────────┘ │ │
│ │ └─────────┬───────────┘ │
│ └──────────────────┤ │
│ ┌───────────▼──────────┐ │
│ │ Tool Registry │ │
│ │ Built-in, MCP, WASM │ │
│ └──────────────────────┘ │
└────────────────────────────────────────────────────────────────┘核心组件
| 组件 | 用途 |
|---|---|
| Agent Loop | 主消息处理和作业协调 |
| Router | 分类用户意图(命令、查询、任务) |
| Scheduler | 管理带优先级的并行作业执行 |
| Worker | 使用 LLM 推理和工具调用执行作业 |
| Orchestrator | 容器生命周期、LLM 代理、每作业认证 |
| Web Gateway | 浏览器 UI(聊天、记忆、作业、日志、扩展、例程) |
| Routines Engine | 定时(cron)和响应式(事件、webhook)后台任务 |
| Workspace | 持久化记忆,支持混合搜索 |
| Safety Layer | 提示注入防御和内容清理 |
开发指南
# 格式化代码
cargo fmt
# 代码检查
cargo clippy --all --benches --tests --examples --all-features
# 运行测试
createdb ironclaw_test
cargo test
# 运行特定测试
cargo test test_name项目链接
- GitHub 仓库: https://github.com/nearai/ironclaw
- 官方网站: https://www.ironclaw.com
- Telegram: @ironclawAI
- Reddit: r/ironclawAI
- 许可证: MIT OR Apache-2.0
总结
IronClaw 是一个注重隐私和安全的个人 AI 助手框架,通过 Rust 语言的强大性能和 WASM 沙箱的安全隔离,为开发者提供了一个可靠的 AI 助手解决方案。无论是个人使用还是商业部署,IronClaw 都能确保你的数据安全和隐私保护。如果你正在寻找一个可以完全信任的 AI 助手,IronClaw 是一个值得尝试的选择。
文章来源: IronClaw GitHub 仓库
最后更新: 2026-03-08