Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

アーキテクチャの概要

ZeroClaw は階層化された Rust ワークスペースです。最上位にはエージェントランタイムがあり、その下にはプラグイン可能なプロバイダー、チャンネル、ツール、メモリが配置されています。サポートするクレートは、設定、サンドボックス化、ハードウェアを処理します。

高レベルの形状

flowchart TB
    subgraph External["External world"]
        UI["CLI / chat platforms / gateway clients / ACP IDEs"]
        LLM["LLM providers<br/>Anthropic · OpenAI · Ollama · ..."]
        FS["Filesystem · shell · network"]
    end

    subgraph Edges["Edge crates: talk to the outside"]
        CH["zeroclaw-channels<br/>30+ messaging integrations"]
        GW["zeroclaw-gateway<br/>REST · WebSocket · dashboard"]
        PR["zeroclaw-providers<br/>LLM clients · retry · routing"]
        TL["zeroclaw-tools<br/>browser · HTTP · hardware"]
    end

    subgraph Core["Core"]
        RT["zeroclaw-runtime<br/>agent loop · security · SOP · cron · subagents"]
        MEM["zeroclaw-memory<br/>SQLite · embeddings · consolidation"]
        CFG["zeroclaw-config<br/>schema · autonomy · secrets"]
    end

    UI --> CH
    UI --> GW
    CH --> RT
    GW --> RT
    RT --> PR
    RT --> TL
    RT --> MEM
    RT --> CFG
    PR --> LLM
    TL --> FS

スコープ内のクレート

クレート役割
zeroclaw-runtimeエージェントループ、セキュリティポリシーの適用、SOPエンジン、cronスケジューラー、SubAgents、zerocode向けのRPCレイヤー
zeroclaw-configTOMLスキーマ、シークレットの暗号化、自律レベル、ワークスペース解決
zeroclaw-api公開トレイト: ModelProviderChannelToolMemoryObserverRuntimeAdapterPeripheral。カーネル ABI
zeroclaw-providersすべての LLM クライアント実装(Anthropic、OpenAI、Ollama、…)に加え、ヒントベースのルーティング、再試行、クールダウン、プロファイル間フォールバック
zeroclaw-channels30以上のメッセージングインテグレーション(Discord、Slack、Telegram、Matrix、メール、音声、…)
zeroclaw-gatewayHTTP / WebSocket ゲートウェイ、Web ダッシュボード、Webhook イングレス
zeroclaw-toolsエージェントが呼び出す呼び出し可能なツール実装(ブラウザ、HTTP、ハードウェアプローブ)
zeroclaw-tool-call-parserモデル側のツール呼び出し構文の解析と正規化
zeroclaw-memory会話の記憶、埋め込み、ベクトル検索
zeroclaw-pluginsサンドボックス化された WASM プラグインホスト(WIT コンポーネントモデル)
zeroclaw-hardwareハードウェア抽象化レイヤー (GPIO, I2C, SPI, USB)
zeroclaw-infraプロセスレベルのサポート: SQLite セッションバックエンド、デバウンサー、ストールウォッチドッグ
zeroclaw-logログ出力の単一サーフェス: JSONLスキーマ、属性付与、record!/scope!マクロ、/api/logsリーダー、Observerブリッジ
zeroclaw-spawn属性情報を伝播する公式の tokio::spawn ラッパー(spawn! マクロ)
zeroclaw-macros設定とツール登録のためのマクロを生成する
zerocodeターミナルUI

マイクロカーネルのロードマップ(RFC #5574)では、zeroclaw-runtime のさらなる分割が積極的に進められています。カーネル層はエージェントループとポリシー適用へと縮小され、それ以外のすべてはフィーチャーフラグの背後へ移動されます。

リクエストのライフサイクル(短縮版)

sequenceDiagram
    participant U as User
    participant CH as Channel
    participant RT as Runtime
    participant SEC as Security
    participant PR as Provider
    participant TL as Tool

    U->>CH: message / DM / webhook
    CH->>RT: deliver_message(ctx)
    RT->>PR: chat(messages, tools)
    PR-->>RT: stream: text · tool_call
    RT->>SEC: validate(tool_call)
    SEC-->>RT: approved / blocked
    RT->>TL: invoke(args)
    TL-->>RT: result
    RT->>PR: chat(..., + tool_result)
    PR-->>RT: stream: text (final)
    RT-->>CH: reply (partial / final)
    CH-->>U: message

詳細: リクエストのライフサイクル

コアトレイト

Trait契約は zeroclaw-api に存在します。crates/zeroclaw-api/src/ 内のtrait定義が、組み込みのプロバイダー、チャネル、ツール、メモリバックエンド、周辺機器のsource of truthです。コアバイナリの外部に存在すべき機能については、まずプラグインガイドを参照してください。以下の箇条書きは、最も近い関連ドキュメントを示しています。

  • ModelProvider: OpenAI 互換エンドポイントには custom または既存のプロバイダーファミリーを使用します。新しいプロバイダーファミリー、認証モデル、機能宣言、またはワイヤープロトコルを追加する場合は、このトレイトを実装します。カスタムプロバイダーを参照してください。
  • Channel: 新しいメッセージングプラットフォーム向けに実装します。インバウンドとアウトバウンドは別々のフックです。Channels の概要を参照してください。
  • Tool: 新しい組み込みエージェント機能を実装します。ツールの概要 を参照してください。
  • Memory: エージェント/セッションのスコープを保持するメモリバックエンド向けに実装する。
  • Peripheral: ハードウェアボードおよびデバイスサーフェス向けに実装します。ハードウェアの概要を参照してください。

その他の公開トレイト(Observer および RuntimeAdapter を含む)は、より低レベルの契約です。それらを変更する前に、アーキテクチャマップRFCプロセス を参照してください。

新しい実装は zeroclaw-api のトレイト契約の背後に留め、そのサーフェスを所有するファクトリ、レジストリ、またはフィーチャーゲート経由で配線してください。RFC #5574 はランタイム実装依存の縮小を継続しているため、設計上必要な場合を除き、新しい具象ランタイム依存を追加しないでください。

次の読み物