openclaw-multi-agent
ユーザーが複数のエージェントをセットアップしたい、エージェントルーティングを設定したい、OpenClawバインディングを理解したい、別のエージェントを追加したい、独立したワークスペースを作成したい、メッセージを異なるエージェントにルーティングしたい、またはエージェント単位でサンドボックスとツールポリシーを設定したい場合に使用します。
description の原文を見る
Use when the user wants to set up multiple agents, configure agent routing, understand OpenClaw bindings, add another agent, create separate workspaces, route messages to different agents, or configure per-agent sandboxing and tool policies.
SKILL.md 本文
OpenClaw マルチエージェント設定
ルーティング、隔離、エージェント単位のポリシーで複数のエージェントを設定するようにユーザーをガイドします。
エージェントコンセプト
OpenClawのエージェントは、3つのコンポーネントを持つ隔離されたブレインです:
- ワークスペース - パーソナリティファイル(
SOUL.md、AGENTS.md、USER.md)、ローカルノート、ペルソナルールを含みます。ツール実行のデフォルト作業ディレクトリです。 - 状態ディレクトリ(
agentDir) - 認証プロファイル、モデルレジストリ、エージェント単位の設定を~/.openclaw/agents/<agentId>/agentに保存します。認証プロファイルはエージェント単位であり、自動的に共有されることはありません。 - セッションストア - チャット履歴を
~/.openclaw/agents/<agentId>/sessionsに保存します。
agentDirをエージェント間で再利用しないでください - 認証/セッション衝突の原因となります。
エージェントの作成
openclaw agents add work
これにより以下が作成されます:
~/.openclaw/workspace-workにワークスペース~/.openclaw/agents/work/agentに状態~/.openclaw/agents/work/sessionsにセッション
確認: openclaw agents list --bindings
バインディングルール(メッセージルーティング)
メッセージは決定論的で、最も具体的なものが優先されるバインディングを介してエージェントにルーティングされます:
- ピア一致 (正確なDM/グループID) - 最優先
- 親ピア一致 (スレッド継承)
- ギルドID + ロール (Discord)
- ギルドID (Discord)
- チームID (Slack)
- アカウントID 一致
- チャネルレベル (
accountId: "*") - デフォルトエージェント フォールバック
同じティアで複数のバインディングが一致する場合、設定順序の最初が優先されます。バインディング内の複数フィールドはAND論理を使用します。
{
bindings: [
// 最も具体的(ピア) - チャネル全体に優先
{ agentId: "opus", match: { channel: "whatsapp", peer: { kind: "direct", id: "+15551234567" } } },
// チャネル全体フォールバック
{ agentId: "chat", match: { channel: "whatsapp" } },
],
}
エージェント単位の設定
{
agents: {
list: [
{
id: "work",
workspace: "~/.openclaw/workspace-work",
model: { primary: "anthropic/claude-opus-4-6" },
identity: { name: "Work Bot" },
groupChat: { mentionPatterns: ["@work", "@workbot"] },
sandbox: {
mode: "all", // "off" | "non-main" | "all"
scope: "agent", // "session" | "agent" | "shared"
workspaceAccess: "rw",
},
tools: {
allow: ["read", "exec"],
deny: ["browser", "cron"],
},
},
],
},
}
一般的なパターン
ホーム/仕事の分割
WhatsAppアカウント別にルーティング:
{
bindings: [
{ agentId: "home", match: { channel: "whatsapp", accountId: "personal" } },
{ agentId: "work", match: { channel: "whatsapp", accountId: "biz" } },
],
}
チャネル分割
WhatsAppは高速モデル、Telegramは高性能モデル:
{
agents: {
list: [
{ id: "chat", model: { primary: "anthropic/claude-sonnet-4-5" } },
{ id: "opus", model: { primary: "anthropic/claude-opus-4-6" } },
],
},
bindings: [
{ agentId: "chat", match: { channel: "whatsapp" } },
{ agentId: "opus", match: { channel: "telegram" } },
],
}
ファミリーエージェント(サンドボックス化、制限付き)
{
agents: {
list: [
{
id: "family",
sandbox: { mode: "all", scope: "agent" },
tools: {
allow: ["read", "exec"],
deny: ["write", "edit", "browser", "cron"],
},
},
],
},
bindings: [
{
agentId: "family",
match: { channel: "whatsapp", peer: { kind: "group", id: "120363...@g.us" } },
},
],
}
サンドボックス設定
| オプション | 値 | 意味 |
|---|---|---|
mode | off、non-main、all | サンドボックス化するタイミング |
scope | session、agent、shared | コンテナ隔離レベル |
workspaceAccess | none、ro、rw | サンドボックス内のワークスペース可視性 |
エージェント単位のtoolsは、グローバルなagents.defaults.toolsをオーバーライドします。ツール拒否はサンドボックス化の前に適用されます。
その他のコピー&ペースト設定パターンについてはreferences/routing-examples.mdを参照してください。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- TheophilusChinomona
- ライセンス
- MIT
- 最終更新
- 2026/3/24
Source: https://github.com/TheophilusChinomona/claude-openclaw-plugin / ライセンス: MIT