nearai/ironclaw

GitHub: nearai/ironclaw

一个基于 Rust 的隐私优先型本地 AI 助手,通过 WASM 沙箱、凭证保护和多层安全设计,实现可信的自我扩展与任务自动化。

Stars: 11372 | Forks: 1304

IronClaw

IronClaw

您的安全私人 AI 助手,始终站在您这一边

License: MIT OR Apache-2.0 Telegram: @ironclawAI Reddit: r/ironclawAI gitcgr

English | 简体中文 | Русский | 日本語

理念功能安装配置安全架构

## 理念 IronClaw 建立在一个简单的原则之上:**您的 AI 助手应该为您工作,而不是与您作对**。 在一个 AI 系统在数据处理方面越来越不透明,且与企业利益保持一致的世界里,IronClaw 采取了不同的方法: - **您的数据始终属于您** - 所有信息都存储在本地,经过加密,且从未脱离您的控制 - **设计上的透明度** - 开源、可审计,无隐藏的遥测或数据收集 - **自我扩展能力** - 即时构建新工具,无需等待供应商更新 - **深度防御** - 多层安全保护,防止 prompt 注入和数据泄露 IronClaw 是您可以真正信任的 AI 助手,可处理您的个人和职业生活。 ## 功能 ### 安全至上 - **WASM 沙箱** - 不受信任的工具在具有基于能力权限的隔离 WebAssembly 容器中运行 - **凭证保护** - 密钥永远不会暴露给工具;在主机边界注入,并带有泄露检测 - **Prompt 注入防御** - 模式检测、内容清理和策略执行 - **端点白名单** - HTTP 请求仅限于明确批准的主机和路径 ### 始终可用 - **多通道** - REPL、HTTP webhooks、WASM 通道 (Telegram, Slack) 和 Web 网关 - **Docker 沙箱** - 隔离的容器执行,具有单作业令牌和编排器/工作器模式 - **Web 网关** - 浏览器 UI,支持实时 SSE/WebSocket 流 - **例行程序** - Cron 计划、事件触发器、用于后台自动化的 webhook 处理程序 - **心跳系统** - 用于监控和维护任务的前台后台执行 - **并行作业** - 在隔离的上下文中并发处理多个请求 - **自我修复** - 自动检测并恢复卡住的操作 ### 自我扩展 - **动态工具构建** - 描述您的需求,IronClaw 会将其构建为 WASM 工具 - **MCP 协议** - 连接到模型上下文协议服务器以获取额外功能 - **插件架构** - 无需重启即可插入新的 WASM 工具和通道 ### 持久记忆 - **混合搜索** - 使用倒数排名融合的全文本 + 向量搜索 - **工作区文件系统** - 基于路径的灵活存储,用于笔记、日志和上下文 - **身份文件** - 在会话之间保持一致的个性和偏好 ## 安装 ### 前置条件 - Rust 1.85+ - PostgreSQL 15+ 及 [pgvector](https://github.com/pgvector/pgvector) 扩展 - NEAR AI 账户(通过设置向导处理身份验证) ## 下载或构建 访问 [Releases 页面](https://github.com/nearai/ironclaw/releases/) 查看最新更新。
通过 Windows 安装程序安装 下载 [Windows 安装程序](https://github.com/nearai/ironclaw/releases/latest/download/ironclaw-x86_64-pc-windows-msvc.msi) 并运行它。
通过 powershell 脚本安装 ``` irm https://github.com/nearai/ironclaw/releases/latest/download/ironclaw-installer.ps1 | iex ```
通过 shell 脚本安装 ``` curl --proto '=https' --tlsv1.2 -LsSf https://github.com/nearai/ironclaw/releases/latest/download/ironclaw-installer.sh | sh ```
通过 Homebrew 安装 ``` brew install ironclaw ```
编译源代码 使用 `cargo` 安装,只需确保您的计算机上已安装 [Rust](https://rustup.rs)。 ``` # Clone repository git clone https://github.com/nearai/ironclaw.git cd ironclaw # Build cargo build --release # Run tests cargo test ``` 对于**完整发布**(修改通道源代码后),请先运行 `./scripts/build-all.sh` 重新构建通道。
### 数据库设置 ``` # Create database createdb ironclaw # Enable pgvector psql ironclaw -c "CREATE EXTENSION IF NOT EXISTS vector;" ``` ## 配置 运行设置向导以配置 IronClaw: ``` ironclaw onboard ``` 该向导处理数据库连接、NEAR AI 身份验证(通过浏览器 OAuth)和密钥加密(使用您的系统钥匙串)。设置保存在连接的数据库中;引导变量(例如 `DATABASE_URL`、`LLM_BACKEND`)写入 `~/.ironclaw/.env`,以便在数据库连接之前可用。 ### 替代 LLM 提供商 IronClaw 默认使用 NEAR AI,但开箱即支持许多 LLM 提供商。 内置提供商包括 **Anthropic**、**OpenAI**、**GitHub Copilot**、**Google Gemini**、**MiniMax**、**Mistral** 和 **Ollama**(本地)。也支持兼容 OpenAI 的服务,如 **OpenRouter**(300+ 模型)、**Together AI**、**Fireworks AI** 和自托管服务器(**vLLM**、**LiteLLM**)。 在向导中选择您的提供商,或直接设置环境变量: ``` # Example: MiniMax (built-in, 204K context) LLM_BACKEND=minimax MINIMAX_API_KEY=... # Example: OpenAI-compatible endpoint LLM_BACKEND=openai_compatible LLM_BASE_URL=https://openrouter.ai/api/v1 LLM_API_KEY=sk-or-... LLM_MODEL=anthropic/claude-sonnet-4 ``` 有关完整的提供商指南,请参阅 [docs/LLM_PROVIDERS.md](docs/LLM_PROVIDERS.md)。 ## 安全 IronClaw 实施深度防御以保护您的数据并防止滥用。 ### WASM 沙箱 所有不受信任的工具都在隔离的 WebAssembly 容器中运行: - **基于能力的权限** - 显式选择加入 HTTP、密钥、工具调用 - **端点白名单** - HTTP 请求仅限于批准的主机/路径 - **凭证注入** - 密钥在主机边界注入,从不暴露给 WASM 代码 - **泄露检测** - 扫描请求和响应以查找密钥外泄尝试 - **速率限制** - 单工具请求限制以防止滥用 - **资源限制** - 内存、CPU 和执行时间限制 ``` WASM ──► Allowlist ──► Leak Scan ──► Credential ──► Execute ──► Leak Scan ──► WASM Validator (request) Injector Request (response) ``` ### Prompt 注入防御 外部内容通过多层安全层: - 基于模式的注入尝试检测 - 内容清理和转义 - 具有严重性级别的策略规则 - 工具输出包装,用于安全的 LLM 上下文注入 ### 数据保护 - 所有数据本地存储在您的 PostgreSQL 数据库中 - 密钥使用 AES-256-GCM 加密 - 无遥测、分析或数据共享 - 所有工具执行的完整审计日志 ## 架构 ``` ┌────────────────────────────────────────────────────────────────┐ │ Channels │ │ ┌──────┐ ┌──────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ REPL │ │ HTTP │ │WASM Channels│ │ Web Gateway │ │ │ └──┬───┘ └──┬───┘ └──────┬──────┘ │ (SSE + WS) │ │ │ │ │ │ └──────┬──────┘ │ │ └─────────┴──────────────┴────────────────┘ │ │ │ │ │ ┌─────────▼─────────┐ │ │ │ Agent Loop │ Intent routing │ │ └────┬──────────┬───┘ │ │ │ │ │ │ ┌──────────▼────┐ ┌──▼───────────────┐ │ │ │ Scheduler │ │ Routines Engine │ │ │ │(parallel jobs)│ │(cron, event, wh) │ │ │ └──────┬────────┘ └────────┬─────────┘ │ │ │ │ │ │ ┌─────────────┼────────────────────┘ │ │ │ │ │ │ ┌───▼─────┐ ┌────▼────────────────┐ │ │ │ Local │ │ Orchestrator │ │ │ │Workers │ │ ┌───────────────┐ │ │ │ │(in-proc)│ │ │ Docker Sandbox│ │ │ │ └───┬─────┘ │ │ Containers │ │ │ │ │ │ │ ┌───────────┐ │ │ │ │ │ │ │ │Worker / CC│ │ │ │ │ │ │ │ └───────────┘ │ │ │ │ │ │ └───────────────┘ │ │ │ │ └─────────┬───────────┘ │ │ └──────────────────┤ │ │ │ │ │ ┌───────────▼──────────┐ │ │ │ Tool Registry │ │ │ │ Built-in, MCP, WASM │ │ │ └──────────────────────┘ │ └────────────────────────────────────────────────────────────────┘ ``` ### 核心组件 | 组件 | 用途 | |-----------|---------| | **Agent Loop** | 主消息处理和作业协调 | | **Router** | 分类用户意图(命令、查询、任务) | | **Scheduler** | 管理具有优先级的并行作业执行 | | **Worker** | 使用 LLM 推理和工具调用执行作业 | | **Orchestrator** | 容器生命周期、LLM 代理、单作业认证 | | **Web Gateway** | 浏览器 UI,包含聊天、记忆、作业、日志、扩展、例行程序 | | **Routines Engine** | 计划和反应式(事件、webhook)后台任务 | | **Workspace** | 具有混合搜索的持久记忆 | | **Safety Layer** | Prompt 注入防御和内容清理 | ## 使用 ``` # First-time setup (configures database, auth, etc.) ironclaw onboard # Start interactive REPL cargo run # With debug logging RUST_LOG=ironclaw=debug cargo run ``` ## 开发 ``` # Format code cargo fmt # Lint cargo clippy --all --benches --tests --examples --all-features # Run tests createdb ironclaw_test cargo test # Run specific test cargo test test_name ``` - **Telegram 通道**:有关设置和 DM 配对,请参阅 [docs/TELEGRAM_SETUP.md](docs/TELEGRAM_SETUP.md)。 - **更改通道源代码**:在 `cargo build` 之前运行 `./channels-src/telegram/build.sh`,以便打包更新后的 WASM。 ## OpenClaw 沿革 IronClaw 是受 [OpenClaw](https://github.com/openclaw/openclaw) 启发的 Rust 重实现。有关完整的跟踪矩阵,请参阅 [FEATURE_PARITY.md](FEATURE_PARITY.md)。 主要区别: - **Rust 与 TypeScript** - 原生性能、内存安全、单一二进制文件 - **WASM 沙箱与 Docker** - 轻量级、基于能力的安全性 - **PostgreSQL 与 SQLite** - 生产级持久性 - **安全第一设计** - 多层防御、凭证保护 ## 许可证 根据以下任一许可证授权: - Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE)) - MIT License ([LICENSE-MIT](LICENSE-MIT)) 由您选择。
标签:AI 助手, Linux 软件, LLM 客户端, meg, OpenClaw 替代, Privacy-First AI, Rust, 个人助理, 人工智能, 信息安全, 可视化界面, 开源, 数据主权, 无遥测, 本地知识库, 本地部署, 测试用例, 用户模式Hook绕过, 端到端加密, 网络安全, 网络流量审计, 自我扩展, 请求拦截, 透明设计, 通知系统, 隐私保护