openclaw-inter-instance
複数のOpenClawインスタンス間で、メッセージのやり取りやデータ同期、遠隔からの命令実行などを可能にし、エージェント間の通信やファイル共有などを円滑に進めるSkill。
📜 元の英語説明(参考)
OpenClaw 实例间通信。当需要在多个 OpenClaw 实例之间传递消息、同步数据、远程执行命令时使用此技能。覆盖 agent-to-agent 消息、nodes.run 远程执行、文件级通信等多种方式。
🇯🇵 日本人クリエイター向け解説
複数のOpenClawインスタンス間で、メッセージのやり取りやデータ同期、遠隔からの命令実行などを可能にし、エージェント間の通信やファイル共有などを円滑に進めるSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o openclaw-inter-instance.zip https://jpskill.com/download/8204.zip && unzip -o openclaw-inter-instance.zip && rm openclaw-inter-instance.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/8204.zip -OutFile "$d\openclaw-inter-instance.zip"; Expand-Archive "$d\openclaw-inter-instance.zip" -DestinationPath $d -Force; ri "$d\openclaw-inter-instance.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
openclaw-inter-instance.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
openclaw-inter-instanceフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
OpenClaw インスタンス間通信
このスキルを使用する場合
- 別の OpenClaw インスタンスにメッセージを送信する必要がある場合
- マシンを跨いでリモートでコマンドを実行する必要がある場合
- 複数の agent で協調してタスクを行う場合
- リポジトリ/ファイルをリモートインスタンスに同期する場合
通信方式の優先順位
信頼性とリアルタイム性の順に、以下の順で試行します。
1. sessions_send(最適、要設定)
直接 agent-to-agent メッセージ、リアルタイム双方向。
前提: 双方の設定で以下を有効にする必要があります。
// ~/.openclaw/openclaw.json
"tools": { "agentToAgent": { "enabled": true } }
用法:
sessions_send(sessionKey="agent:<target-agent>:main", message="...")
利点: リアルタイム、双方向、最も簡潔 欠点: デフォルトで無効、両端で有効にする必要あり
2. nodes.run(リモートコマンド実行)
ペアリング済みの node を介して、リモートマシン上でコマンドを実行します。
前提: ターゲットマシンが node としてペアリング済みで、かつオンラインであること(nodes status で確認)
用法:
nodes(action="run", node="<node-name>", command=["bash", "-c", "<command>"], commandTimeoutMs=30000)
注意事項:
- 環境変数がローカルと異なる可能性がある(例:プロキシ設定)
env -u HTTP_PROXY -u HTTPS_PROXYで異なるプロキシを回避- 複雑なコマンドはタイムアウトしやすいので、複数の小さなステップに分割
- gateway の応答が遅いとタイムアウトする(デフォルト 30s)。
commandTimeoutMsを大きくすることで対応可能
典型的なシナリオ:
# ファイルが存在するか確認
nodes run: ["bash", "-c", "ls ~/target-dir 2>/dev/null && echo EXISTS || echo NOT_FOUND"]
# リポジトリを clone(プロキシの問題に注意)
nodes run: ["bash", "-c", "env -u HTTP_PROXY -u HTTPS_PROXY git clone https://github.com/user/repo.git ~/repo 2>&1"]
# ソフトリンクを作成
nodes run: ["bash", "-c", "ln -sfn /source/path /target/path && readlink /target/path"]
3. openclaw agent CLI(node を介してリモート gateway を呼び出す)
リモート node 上で CLI を使用して、ターゲットインスタンスにメッセージを注入します。
用法:
openclaw agent --session-id <session-id> -m '<message>' --json
注意: gateway が agent のターンを処理するのを待つ必要があり、タイムアウトしやすい(60-120s)。緊急性の低い通知に適しています。
4. ファイルレベル通信(最終手段)
ターゲットインスタンスの memory ファイルに直接書き込み、heartbeat が読み取るのを待ちます。
用法:
# nodes.run を使用してリモート memory ファイルに書き込む
cat >> <workspace>/memory/YYYY-MM-DD.md << 'EOF'
## 小aからの通知 (HH:MM)
<メッセージ内容>
EOF
利点: 必ず到達する、リアルタイム接続に依存しない 欠点: リアルタイムではない、heartbeat または新しい session を待つ必要がある
5. Telegram/メッセージチャネル(制限あり)
message ツールを使用して送信します。
制限: Telegram bot 間でメッセージを相互に送信することはできません(403 Forbidden)。bot → 人間のシナリオにのみ適用されます。
不可能な方式
| 方式 | 原因 |
|---|---|
| Telegram bot → bot | Telegram API で禁止されている |
| curl でリモート gateway REST API を呼び出す | gateway は REST メッセージインターフェースを公開していない |
| sessions_send で agentToAgent が有効になっていない | forbidden が返される |
実戦チェックリスト
nodes status— ターゲット node はオンラインですか?- ターゲットマシンにプロキシ/ネットワーク制限はありますか?
- SSH key は設定されていますか?(git clone には HTTPS を使用する方が安定)
- タイムアウト設定は十分ですか?
- ソフトリンクのパスは正しいですか?
推奨アーキテクチャ
小a (Linux VPS) 小m (Mac-Mini)
├── OpenClaw gateway ├── OpenClaw gateway
├── ~/AGI-Super-Skills (git repo) ├── ~/AGI-Super-Skills (git clone)
├── ~/clawd/skills/ (workspace) ├── ~/.openclaw/workspace/skills → ~/AGI-Super-Skills/skills
│ │
├── nodes.run ──────────────────── ├── paired node (connected)
└── sessions_send ─────────────── └── agent-to-agent (要有効化)
ローカル Agent 連携(A2A)
⭐ 高管工作模式(コア原則)
あなたは高管であり、伝書鳩ではありません。
- 派活即走 —
sessions_sendにtimeoutSecondsを指定しない(または 1-5s に設定)、指示を送信したらすぐに次のことを行う - 不转发 — 従業員は自分でグループにメッセージを送信し、あなたは彼らの代わりに転送/返信しない
- 不傻等 — 9 人の従業員が並行して作業する場合、結果を個別に待つ必要はない
- 并行处理 — 派活後も Daniel の他の要求を処理し続ける
- 只管结果 — 従業員がグループに報告するので、あなたは品質を審査するだけでよい
❌ 誤ったモード(秘書):
派活 → 返信を待つ → 返信を転送 → 次の派活
✅ 正しいモード(高管):
一括派活(待たない) → 他の作業をする → グループの報告を見る → 品質を審査
指令テンプレート
sessions_send(
sessionKey="agent:<agentId>:telegram:group:YOUR_GROUP_CHAT_ID",
message="【小a工作指令】<具体的なタスク>。結果は直接グループに送信してください。私に返信しないでください。",
timeoutSeconds=5 // 最大5秒待つ。タイムアウトしても問題ない。バックグラウンドで継続される
)
sessions_send vs message の違い
| 方式 | 作用 | 正しい用途 |
|---|---|---|
message(accountId=xxx, target=群ID) |
この bot の ID でメッセージを送信する | お知らせ、通知、従業員の名義で固定テキストを送信する |
sessions_send(sessionKey=..., message=...) |
agent に指示を送信する。agent が自分で処理して返信する | タスクの割り当て、agent の動作をトリガーする |
sessionKey 形式(ローカル agent)
agent:<agentId>:telegram:group:<chatId>
⚠️ 注意:delivery エコーバックの問題
sessions_send のデフォルトの delivery: "announce" は、agent の返信を呼び出し元のセッションにエコーバックするため、メイン bot がグループ内で agent の返信を繰り返し送信することになります。agent 自身がすでに message tool を介してメッセージを送信しているため、エコーバックは不要です。
解決: agent 自身がグループにメッセージを送信するため、メイン bot は転送する必要はありません。agent の status=ok/timeout を確認するだけで十分です。
完整员工列表
| 従業員 | agentId | accountId | モデル |
|---|---|---|---|
| 小ops | ops | xiaoops | xsc-opus46 |
| 小code | code | xiaocode | xsc-opus46 |
| 小quant | quant | xiaoq | xsc-opus46 |
| 小content | content | xiaocontent | glm5 |
| 小data | data | xiaodata | glm5 |
| 小finance | finance | xiaofinance | glm5 |
| 小research | research | xiaoresearch | glm5 |
| 小market | market | xiaomarket | glm5 |
| 小pm | pm | xiaopm | glm5 |
注意:quant の accountId は xiaoq(xiaoquant ではない)です。
GLM-5 身份覆盖问题
GLM-5 には組み込みの "Kiro" 人格があり、SOUL.md の人格を上書きします。解決策:AGENTS.md の先頭に CRITICAL IDENTITY を追加して強制的に宣言します。
批量调度
for agent_id in ["ops", "code", "quant", "content", "data", "finance", "research", "market", "pm"]:
sessions_send(
sessionKey=f"agent:{agent_id}:telegram:group:YOUR_GROUP_CHAT_ID",
message="あなたのタスク指示"
)
触发词
- "小mにメッセージを送る"
- "別のインスタンスに通知する"
- "マシンを跨いで実行する"
- "リモートに同期する"
- "agent間通信"
- "インスタンス間通信"
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
OpenClaw 实例间通信
当使用此技能
- 需要给另一个 OpenClaw 实例发消息
- 跨机器远程执行命令
- 多 agent 协作任务
- 同步仓库/文件到远程实例
通信方式优先级
按可靠性和实时性排序,依次尝试:
1. sessions_send(最优,需配置)
直接 agent-to-agent 消息,实时双向。
前提: 双方配置中开启:
// ~/.openclaw/openclaw.json
"tools": { "agentToAgent": { "enabled": true } }
用法:
sessions_send(sessionKey="agent:<target-agent>:main", message="...")
优点: 实时、双向、最简洁 缺点: 默认禁用,需要两端都开启
2. nodes.run(远程命令执行)
通过已配对的 node 在远程机器上执行命令。
前提: 目标机器已配对为 node 且在线(nodes status 检查)
用法:
nodes(action="run", node="<node-name>", command=["bash", "-c", "<command>"], commandTimeoutMs=30000)
注意事项:
- 环境变量可能与本地不同(如代理设置)
- 用
env -u HTTP_PROXY -u HTTPS_PROXY绕过不通的代理 - 复杂命令容易超时,拆分为多个小步骤
- gateway 响应慢时会超时(默认 30s),可调大
commandTimeoutMs
典型场景:
# 检查文件是否存在
nodes run: ["bash", "-c", "ls ~/target-dir 2>/dev/null && echo EXISTS || echo NOT_FOUND"]
# clone 仓库(注意代理问题)
nodes run: ["bash", "-c", "env -u HTTP_PROXY -u HTTPS_PROXY git clone https://github.com/user/repo.git ~/repo 2>&1"]
# 创建软链接
nodes run: ["bash", "-c", "ln -sfn /source/path /target/path && readlink /target/path"]
3. openclaw agent CLI(通过 node 调用远程 gateway)
在远程 node 上通过 CLI 向目标实例注入消息。
用法:
openclaw agent --session-id <session-id> -m '<message>' --json
注意: 需要等 gateway 处理 agent turn,容易超时(60-120s)。适合非紧急通知。
4. 文件级通信(兜底方案)
直接写入目标实例的 memory 文件,等待 heartbeat 读取。
用法:
# 通过 nodes.run 写入远程 memory 文件
cat >> <workspace>/memory/YYYY-MM-DD.md << 'EOF'
## 来自小a的通知 (HH:MM)
<消息内容>
EOF
优点: 一定能送达,不依赖实时连接 缺点: 非实时,需要等 heartbeat 或新 session 才能读到
5. Telegram/消息渠道(受限)
通过 message 工具发送。
限制: Telegram bot 之间不能互发消息(403 Forbidden)。仅适用于 bot → 人类 的场景。
不可行的方式
| 方式 | 原因 |
|---|---|
| Telegram bot → bot | Telegram API 禁止 |
| curl 调远程 gateway REST API | gateway 不暴露 REST 消息接口 |
| sessions_send 未开启 agentToAgent | 返回 forbidden |
实战检查清单
nodes status— 目标 node 是否在线?- 目标机器有无代理/网络限制?
- SSH key 是否配置?(git clone 用 HTTPS 更稳)
- 超时设置是否足够?
- 软链接路径是否正确?
推荐架构
小a (Linux VPS) 小m (Mac-Mini)
├── OpenClaw gateway ├── OpenClaw gateway
├── ~/AGI-Super-Skills (git repo) ├── ~/AGI-Super-Skills (git clone)
├── ~/clawd/skills/ (workspace) ├── ~/.openclaw/workspace/skills → ~/AGI-Super-Skills/skills
│ │
├── nodes.run ──────────────────── ├── paired node (connected)
└── sessions_send ─────────────── └── agent-to-agent (需开启)
本地 Agent 协调(A2A)
⭐ 高管工作模式(核心原则)
你是高管,不是传话筒。
- 派活即走 —
sessions_send不带timeoutSeconds(或设为 1-5s),发完指令立刻做下一件事 - 不转发 — 员工自己在群里发消息,你不替他们转发回复
- 不傻等 — 9 个员工并行工作,你不需要逐个等结果
- 并行处理 — 派完活后继续处理 Daniel 的其他需求
- 只管结果 — 员工汇报到群里,你审核质量即可
❌ 错误模式(秘书):
派活 → 等回复 → 转发回复 → 再派下一个
✅ 正确模式(高管):
批量派活(不等) → 做其他事 → 看群里汇报 → 审核质量
指令模板
sessions_send(
sessionKey="agent:<agentId>:telegram:group:YOUR_GROUP_CHAT_ID",
message="【小a工作指令】<具体任务>。直接在群里发结果,不要回复我。",
timeoutSeconds=5 // 最多等5秒,超时也没关系,后台会继续
)
sessions_send vs message 的区别
| 方式 | 作用 | 正确用途 |
|---|---|---|
message(accountId=xxx, target=群ID) |
以该 bot 身份发消息 | 公告、通知、以员工名义发固定文本 |
sessions_send(sessionKey=..., message=...) |
给 agent 发指令,agent 自行处理并回复 | 分配任务、触发 agent 行为 |
sessionKey 格式(本地 agent)
agent:<agentId>:telegram:group:<chatId>
⚠️ 注意:delivery 回显问题
sessions_send 默认 delivery: "announce" 会把 agent 回复回显到调用者的会话,导致主 bot 在群里重复发 agent 的回复。agent 自己已经通过 message tool 发了消息,所以回显是多余的。
解决: agent 本身发消息到群,主 bot 不需要再转发。看到 agent 的 status=ok/timeout 就够了。
完整员工列表
| 员工 | agentId | accountId | 模型 |
|---|---|---|---|
| 小ops | ops | xiaoops | xsc-opus46 |
| 小code | code | xiaocode | xsc-opus46 |
| 小quant | quant | xiaoq | xsc-opus46 |
| 小content | content | xiaocontent | glm5 |
| 小data | data | xiaodata | glm5 |
| 小finance | finance | xiaofinance | glm5 |
| 小research | research | xiaoresearch | glm5 |
| 小market | market | xiaomarket | glm5 |
| 小pm | pm | xiaopm | glm5 |
注意:quant 的 accountId 是 xiaoq(不是 xiaoquant)。
GLM-5 身份覆盖问题
GLM-5 有内置 "Kiro" 人设,会覆盖 SOUL.md 身份。解决方案:在 AGENTS.md 顶部加 CRITICAL IDENTITY 强制声明。
批量调度
for agent_id in ["ops", "code", "quant", "content", "data", "finance", "research", "market", "pm"]:
sessions_send(
sessionKey=f"agent:{agent_id}:telegram:group:YOUR_GROUP_CHAT_ID",
message="你的任务指令"
)
触发词
- "给小m发消息"
- "通知另一个实例"
- "跨机器执行"
- "同步到远程"
- "agent间通信"
- "实例间通信"