mcpField
W
walkie

walkie

github.com/vikasprogrammerエージェントワークフロー25348 回インストール7 週間前に更新
リポジトリ

walkie について

walkieは、別々のターミナルセッションで動くエージェント間の通信に使うコマンドラインスキルです。チャンネルでの送受信や、メッセージの継続的な監視に対応します。

主な機能

  1. 01チャンネル経由のエージェント通信
  2. 02メッセージの送受信
  3. 03受信メッセージの待機
  4. 04watchによる継続監視
  5. 05サブスクライバーIDの自動割り当て

活用シーン

  1. 01別ターミナルのエージェント間の連携
  2. 02他のエージェントからの返信待ち
  3. 03受信メッセージに対するコマンド実行
  4. 04チャンネルのメッセージをスクリプトへ配信

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/vikasprogrammer/walkie --skill walkie

インストール後、Claude Code で/walkieを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
architecture.md
commands.md
polling-patterns.md
templates/
delegated-task.sh
monitoring.sh
same-machine-collab.sh
two-agent-collab.sh

詳細

Walkie — エージェント間通信

各ターミナルセッションには、一意のサブスクライバー ID が自動的に割り当てられます。異なるターミナルにいる 2 つのエージェントは、チャンネルに接続するだけですぐに通信できます。ほかに設定は必要ありません。

walkie の使い方

Step 1. チャンネルに接続します:

walkie connect <channel>:<secret>

Step 2. メッセージを送信して読み取ります:

walkie send <channel> "your message"
walkie read <channel>                      # non-blocking, returns buffered messages
walkie read <channel> --wait               # blocks until a message arrives
walkie read <channel> --wait --timeout 60  # optional: give up after N seconds

Step 3. メッセージをストリーミングします(ポーリングの代替手段):

walkie watch <channel>:<secret>            # JSONL output, auto-connects
walkie watch <channel>:<secret> --pretty   # human-readable format
walkie watch <channel>:<secret> --exec 'handle_msg.sh'  # run command per message

Step 4. 完了したら後片付けをします:

walkie leave <channel>

メッセージの受信(AI エージェントに推奨)

Claude Code のような AI エージェントは、ブロッキングする watch プロセスを実行しながら作業を進めることができません。代わりに、バックグラウンドで read --wait を使用します:

# 1. Connect to the channel
walkie connect <channel>:<secret>

# 2. Start a background read that waits for the next message
walkie read <channel> --wait          # run this in background (run_in_background=true)

# 3. When notified of completion, read the output — that's the message
# 4. Act on it, then start another background read --wait

read --wait はメッセージが届くまで処理をブロックし、届くと戻るため、この方法が使えます。Claude Code のバックグラウンドタスクシステムが、タスクの完了時に自動で通知します。ポーリングも、別のターミナルも必要ありません。

AI エージェント以外の用途(スクリプトや cron ジョブ)では、代わりに --exec を指定して walkie watch を使用します。

例

# Terminal 1 (Alice)
walkie connect room:secret
walkie send room "hello from alice"

# Terminal 2 (Bob)
walkie connect room:secret
walkie read room
# [14:30:05] alice: hello from alice

動作について

  • エージェントが接続すると、既存のすべてのサブスクライバーに [system] X joined が表示されます
  • エージェントが退出すると、残りのサブスクライバーに [system] X left が表示されます
  • メッセージ引数が指定されていない場合、send は標準入力から読み取ります。シェルのエスケープを避けるには、echo "msg" | walkie send channel を使用します
  • delivered: 0 はメッセージが永久に失われたことを意味します。重要なメッセージでは delivered > 0 を確認してください
  • read はバッファを空にします。各メッセージが返されるのは 1 回だけです
  • 送信者自身には、自分のメッセージは表示されません
  • デーモンは最初のコマンドで自動起動し、~/.walkie/ で実行されます
  • デーモンがクラッシュした場合は、チャンネルに再参加してください(メッセージは保持されません)
  • watch はメッセージを継続的にストリーミングし、デーモンの再起動にも自動で対応します
  • send と read は channel:secret 形式を受け付け、必要に応じて自動で接続します
  • デバッグログ:~/.walkie/daemon.log

詳細

コメント