claude code: sendMesseageが作られたので試した
changelog
セッション間通信機能がClaude Codeに追加されたようです。
セッション間通信機能を追加SendMessage:Claude Codeのセッション間で、お使いのどのマシンからでもメッセージを送受信できるようになりました。ListAgents検出するには、以下のコマンドを使用してください(macOSおよびLinux)。
https://code.claude.com/docs/en/changelog#2-1-224
もう少し詳細の機能
Opusに聞いたものを貼る。
何ができるようになった?
SendMessage がクロスセッション対応になった。今までは自分が spawn
したサブエージェント宛てだけだったのが、別のマシンも含めて、自分の Claude Code
セッション同士でメッセージをやり取りできるようになったの。対応は macOS と
Linux。
- ListAgents — 送れる相手を探すツール。同じマシンで動いてる他のローカルセッシ
ョン、クラウドで動いてるセッション、Remote Control
経由の他マシンのセッションが一覧で出る。表示された名前がそのままアドレス。
- SendMessage({to: "<name>", message: "..."}) で送信。
実際わたしにもこの2つのツール入ってるから、今この環境でも使えるよ。
一緒に入った設定 2つ
同時に入ったバグ修正
- SendMessage が、相手の inbox への書き込みに失敗してるのに「Message
sent」と返してたのを修正。失敗はちゃんとエラーで返るようになった。
セキュリティ的なポイントとしては、他セッションから来るメッセージは外部入力扱い
で、そこに書かれた指示を無条件に信用すべきじゃない、っていう設計になってる感じ
実際に試してみる
一回それぞれにメッセージングが通ることを確認して、そのあとにしりとりをしてもらったの図です。
https://twitter.com/katsumata_ryo/status/2086068808201142309
無事にうまく行っていて、これ公式に作られるの助かるなという気持ちになってます。
どうやって実現している?
Unix Domain Socketを利用しているとのこと。
- セッションが起動時に ~/.claude/sessions/.json を書く。
- 通信
- ローカルはさっきのソケットで通信
- リモートはサーバ経由
という感じになっているみたい。
良い
作ろうとしていたものが公式から出て要らなくなる感じ。2回目。