あなたの味方になる、安全なパーソナルAIアシスタント
English | 简体中文 | Русский | 日本語 | 한국어
フィロソフィー • 機能 • インストール • 設定 • セキュリティ • アーキテクチャ
IronClawはシンプルな原則に基づいて構築されています:あなたのAIアシスタントは、あなたのために働くべきであり、あなたに不利益をもたらすべきではありません。
AIシステムがデータの取り扱いについて不透明になり、企業の利益に沿って調整されることが増えている世界で、IronClawは異なるアプローチを取ります:
- あなたのデータはあなたのもの - すべての情報はローカルに保存・暗号化され、あなたの管理下から離れることはありません
- 設計段階からの透明性 - オープンソース、監査可能、隠れたテレメトリやデータ収集なし
- 自己拡張する能力 - ベンダーのアップデートを待たずに、新しいツールをその場で構築
- 多層防御 - 複数のセキュリティレイヤーがプロンプトインジェクションやデータ流出から保護
IronClawは、個人生活にも仕事にも本当に信頼できるAIアシスタントです。
- WASMサンドボックス - 信頼されていないツールは、機能ベースの権限を持つ隔離されたWebAssemblyコンテナで実行
- 認証情報の保護 - シークレットはツールに公開されず、リーク検出付きでホスト境界で注入
- プロンプトインジェクション防御 - パターン検出、コンテンツサニタイズ、ポリシー適用
- エンドポイントの許可リスト - HTTPリクエストは明示的に許可されたホストとパスのみに制限
- マルチチャネル - REPL、HTTPウェブフック、WASMチャネル(Telegram、Slack)、Webゲートウェイ
- Dockerサンドボックス - ジョブごとのトークンとオーケストレーター/ワーカーパターンによる隔離されたコンテナ実行
- Webゲートウェイ - リアルタイムSSE/WebSocketストリーミング対応のブラウザUI
- ルーティン - cronスケジュール、イベントトリガー、ウェブフックハンドラーによるバックグラウンド自動化
- ハートビートシステム - 監視・保守タスクのためのプロアクティブなバックグラウンド実行
- 並列ジョブ - 隔離されたコンテキストで複数のリクエストを同時に処理
- 自己修復 - スタックした操作の自動検出と復旧
- 動的ツール構築 - 必要なものを説明すると、IronClawがWASMツールとして構築
- MCPプロトコル - Model Context Protocolサーバーに接続して追加機能を利用
- プラグインアーキテクチャ - 再起動なしで新しいWASMツールやチャネルを追加
- ハイブリッド検索 - Reciprocal Rank Fusionを使用した全文検索+ベクトル検索
- ワークスペースファイルシステム - メモ、ログ、コンテキストのための柔軟なパスベースストレージ
- アイデンティティファイル - セッション間で一貫した人格と設定を維持
- Rust 1.85+
- PostgreSQL 15+ (pgvector拡張機能を含む)
- NEAR AIアカウント(セットアップウィザードで認証を処理)
最新のアップデートはリリースページをご覧ください。
Windowsインストーラーでインストール(Windows)
Windowsインストーラーをダウンロードして実行してください。
PowerShellスクリプトでインストール(Windows)
irm https://github.com/nearai/ironclaw/releases/latest/download/ironclaw-installer.ps1 | iexシェルスクリプトでインストール(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ソースコードからコンパイル(Windows、Linux、macOSでCargo)
cargoでインストールします。コンピューターにRustがインストールされていることを確認してください。
# リポジトリをクローン
git clone https://github.com/nearai/ironclaw.git
cd ironclaw
# ビルド
cargo build --release
# テストを実行
cargo testフルリリース(チャネルソースを変更した後)の場合、まず./scripts/build-all.shを実行してチャネルを再ビルドしてください。
# データベースを作成
createdb ironclaw
# pgvectorを有効化
psql ironclaw -c "CREATE EXTENSION IF NOT EXISTS vector;"セットアップウィザードを実行してIronClawを設定します:
ironclaw onboardウィザードは、データベース接続、NEAR AI認証(ブラウザOAuth経由)、シークレットの暗号化(システムキーチェーンを使用)を処理します。設定は接続されたデータベースに永続化されます。ブートストラップ変数(例:DATABASE_URL、LLM_BACKEND)は、データベース接続前に利用できるよう~/.ironclaw/.envに書き込まれます。
IronClawはデフォルトでNEAR AIを使用しますが、多くのLLMプロバイダーをすぐに利用できます。組み込みプロバイダーにはAnthropic、OpenAI、Google Gemini、MiniMax、Mistral、Ollama(ローカル)が含まれます。OpenRouter(300以上のモデル)、Together AI、Fireworks AI、セルフホストサーバー(vLLM、LiteLLM)などのOpenAI互換サービスもサポートされています。
ウィザードでプロバイダーを選択するか、環境変数を直接設定してください:
# 例:MiniMax(組み込み、204Kコンテキスト)
LLM_BACKEND=minimax
MINIMAX_API_KEY=...
# 例:OpenAI互換エンドポイント
LLM_BACKEND=openai_compatible
LLM_BASE_URL=https://openrouter.ai/api/v1
LLM_API_KEY=sk-or-...
LLM_MODEL=anthropic/claude-sonnet-4完全なプロバイダーガイドはdocs/capabilities/llm-providers.mdをご覧ください。
IronClawは、データを保護し悪用を防ぐために多層防御を実装しています。
すべての信頼されていないツールは、隔離されたWebAssemblyコンテナで実行されます:
- 機能ベースの権限 - HTTP、シークレット、ツール呼び出しの明示的なオプトイン
- エンドポイントの許可リスト - 許可されたホスト/パスへのHTTPリクエストのみ
- 認証情報の注入 - シークレットはホスト境界で注入され、WASMコードに公開されない
- リーク検出 - リクエストとレスポンスのシークレット流出試行をスキャン
- レート制限 - 悪用防止のためのツールごとのリクエスト制限
- リソース制限 - メモリ、CPU、実行時間の制約
WASM ──► 許可リスト ──► リーク ──► 認証情報 ──► リクエスト ──► リーク ──► WASM
バリデーター スキャン 注入 実行 スキャン
(リクエスト) (レスポンス)
外部コンテンツは複数のセキュリティレイヤーを通過します:
- パターンベースのインジェクション試行検出
- コンテンツのサニタイズとエスケープ
- 重要度レベル付きポリシールール(ブロック/警告/レビュー/サニタイズ)
- 安全なLLMコンテキスト注入のためのツール出力ラッピング
- すべてのデータはローカルのPostgreSQLデータベースに保存
- AES-256-GCMでシークレットを暗号化
- テレメトリ、分析、データ共有なし
- すべてのツール実行の完全な監査ログ
┌────────────────────────────────────────────────────────────────┐
│ チャネル │
│ ┌──────┐ ┌──────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ REPL │ │ HTTP │ │WASMチャネル │ │ Web │ │
│ └──┬───┘ └──┬───┘ └──────┬──────┘ │ ゲートウェイ│ │
│ │ │ │ │(SSE + WS) │ │
│ │ │ │ └──────┬──────┘ │
│ └─────────┴──────────────┴────────────────┘ │
│ │ │
│ ┌─────────▼─────────┐ │
│ │ エージェントループ │ インテントルーティング│
│ └────┬──────────┬───┘ │
│ │ │ │
│ ┌──────────▼────┐ ┌──▼───────────────┐ │
│ │ スケジューラー │ │ ルーティン │ │
│ │ (並列ジョブ) │ │ エンジン │ │
│ └──────┬────────┘ │(cron,event,wh) │ │
│ │ └────────┬─────────┘ │
│ ┌─────────────┼────────────────────┘ │
│ │ │ │
│ ┌───▼─────┐ ┌────▼────────────────┐ │
│ │ ローカル │ │ オーケストレーター │ │
│ │ ワーカー │ │ ┌───────────────┐ │ │
│ │(プロセス │ │ │ Docker │ │ │
│ │ 内) │ │ │ サンドボックス│ │ │
│ └───┬─────┘ │ │ コンテナ │ │ │
│ │ │ │ ┌───────────┐ │ │ │
│ │ │ │ │Worker / CC│ │ │ │
│ │ │ │ └───────────┘ │ │ │
│ │ │ └───────────────┘ │ │
│ │ └─────────┬───────────┘ │
│ └──────────────────┤ │
│ │ │
│ ┌───────────▼──────────┐ │
│ │ ツールレジストリ │ │
│ │ 組み込み, MCP, WASM │ │
│ └──────────────────────┘ │
└────────────────────────────────────────────────────────────────┘
| コンポーネント | 目的 |
|---|---|
| エージェントループ | メインのメッセージ処理とジョブの調整 |
| ルーター | ユーザーの意図を分類(コマンド、クエリ、タスク) |
| スケジューラー | 優先度付きの並列ジョブ実行を管理 |
| ワーカー | LLM推論とツール呼び出しでジョブを実行 |
| オーケストレーター | コンテナのライフサイクル、LLMプロキシ、ジョブごとの認証 |
| Webゲートウェイ | チャット、メモリ、ジョブ、ログ、拡張機能、ルーティンのブラウザUI |
| ルーティンエンジン | スケジュール(cron)とリアクティブ(イベント、ウェブフック)のバックグラウンドタスク |
| ワークスペース | ハイブリッド検索付き永続メモリ |
| セーフティレイヤー | プロンプトインジェクション防御とコンテンツサニタイズ |
# 初回セットアップ(データベース、認証などを設定)
ironclaw onboard
# インタラクティブREPLを起動
cargo run
# デバッグログ付き
RUST_LOG=ironclaw=debug cargo run# コードフォーマット
cargo fmt
# リント
cargo clippy --all --benches --tests --examples --all-features
# テスト実行
createdb ironclaw_test
cargo test
# 特定のテストを実行
cargo test test_name- チャネル: Telegram、Discord、その他のチャネルの設定はdocs/channels/overview.mdxを参照してください。
- チャネルソースの変更:
cargo buildの前に./channels-src/telegram/build.shを実行して、更新されたWASMをバンドルしてください。
IronClawはOpenClawにインスパイアされたRust再実装です。完全な対応表はFEATURE_PARITY.mdをご覧ください。
主な違い:
- Rust vs TypeScript - ネイティブパフォーマンス、メモリ安全性、シングルバイナリ
- WASMサンドボックス vs Docker - 軽量、機能ベースのセキュリティ
- PostgreSQL vs SQLite - 本番環境対応の永続化
- セキュリティファースト設計 - 複数の防御レイヤー、認証情報の保護
以下のいずれかのライセンスの下で提供されています:
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT License (LICENSE-MIT)
お好みに応じて選択してください。
