agmsg: 共有SQLiteを境界にエージェント同士をつなぐBash製メッセージ基盤
CLI AI コーディング エージェントのクロスベンダー メッセージングにより、Claude Code、Codex、Gemini、Copilot が 1 つのチーム内で相互に通信できるようになります。 Bash + SQLite、デーモンもフレームワークもなし。
ひと目でわかる
- これは何?
- ブローカーを置かず共有SQLiteファイルでメッセージを受け渡すagmsgのコマンド、セッション、配信、サンドボックス上の判断点。
- 誰に向いている?
- READMEは本番レベルの保証を主張しておらず、プロジェクトはMITライセンスで提供され、保証はありません。提供されているのは、エージェントが共有ファイル上で短いテキストメッセージを交換するための具体的なメカニズムであり、文書化されたコマンド、配信モード、ドライバサポートを拡張するためのプラグインシステムを備えています。
- 商用利用できる?
- できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
- 今もメンテナンスされている?
- されています。直近 1 日以内に新しいコミットがあります。
- 何の言語で書かれている?
- 主に Shell です(GitHub の言語統計による)。
回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。
オープンソース詳細解説
トランスポート: 共有SQLiteファイルであり、MCPやブローカーではない
agmsgは、人間がテキストをコピーする手間を省き、CLI AIエージェントがメッセージを交換するためのトランスポートです。実装はBashスクリプトとSQLiteデータベースファイルのセットです。Claude Code、Codex、Gemini CLI、GitHub Copilot CLIなどは、フックまたはモニターストリームを介して同じデータベースを読み書きできます。READMEは、MCPではなく、サブエージェントシステムでもなく、メッセージキューでもないと明示しています。デーモンもネットワークもなく、データベースファイルが共有の土台です。ストアはWALモードを使用しているため、複数のリーダーと1つのライターが共存できます。READMEは、配信モードの表の遅延数値を除いて、パフォーマンス測定やストレステストの結果を提供していません。
インストールパスとバージョン追跡
READMEは3つのインストール経路を提供しています。最速の表示は'npx agmsg'で、グローバルインストールなしで正規のsetup.shをダウンロードして実行します。Claude Codeプラグインマーケットプレイスのパスは、スキルをClaudeプラグインキャッシュにインストールし、~/.agents/skills/agmsgの下で同じランタイムをブートストラップします。直接git cloneとinstall.shを使用すると、--cmdによるカスタムコマンド名や--agent-typeフラグなど、より多くの制御が可能です。npmパッケージとプラグインはタグ付きリリースから作成されるため、mainより数件遅れることがあります。cloneとsetup.shのパスはmainを直接追跡します。Windowsでは、スクリプトはGit Bashを介して実行され、PowerShellの実装はありません。READMEは、Windows用のパッケージマネージャーや署名付きインストーラーについては説明していません。
初回実行とコマンドサーフェス
インストール後、ユーザーはエージェントのスラッシュコマンドを実行します。たとえば、Claude Codeでは/agmsg、Codexでは$agmsgです。初回実行では、チーム名とエージェント名が求められます。設定後、ユーザーは自然言語でエージェントにメッセージの送信、受信トレイの確認、チームメンバーの一覧表示などを指示できます。READMEには、送信、履歴、チーム一覧、モード選択、バージョン、リセットなどのサブコマンドが記載されています。また、同じプロジェクト内の別のロールに切り替える'actas'、ロールを削除する'drop'、新しいエージェントプロセスを起動する'spawn'、それを終了する'despawn'も記載されています。READMEは、送信前にチーム名とエージェント名を登録する必要があり、send.shは--forceを使用しない限り未登録の名前を拒否すると述べています。
ロール、スポーン、デスポーン、セッション再開
actasコマンドはセッション間で排他的です。他のセッションが同じ名前を購読するのを防ぐロックを主張し、別のセッションがロックを保持している場合は拒否します。spawnは、新しいtmuxペインまたはOSターミナルウィンドウで別のエージェントプロセスを起動し、ブートプロンプトを渡して、新しいエージェントが同じターンでアイデンティティを主張してタスクを開始できるようにします。spawnは、--no-waitが指定されない限り、新しいエージェントがリッスンするまでブロックします。despawnは、制御メッセージを送信してスポーンされたメンバーを優雅に削除するか、ウォッチャーが応答しない場合はペインを強制終了して強制的に削除します。セッションはチームとエージェントで名前が付けられ、再スポーンはデフォルトで前のセッションを再開します(--freshを使用しない限り)。READMEは、サーバー再起動後にロールペインを再配置するためのtmux-resurrect統合についても説明しています。
配信モードとエージェントごとの動作
配信モードは、受信メッセージがエージェントに到達する方法を決定します。モニターモードはSessionStartフックとブロッキングSQLiteストリームを使用し、遅延は約5秒です。これはClaude Codeのデフォルトです。ターンモードはアシスタントのターン間で受信トレイをチェックし、Codex、Copilot CLI、プラグインなしのOpenCodeのデフォルトです。両方モードはモニターを使用し、ターンをフォールバックとして使用します。オフは自動配信を無効にします。READMEは、Codexにはモニターツールがないため、モニターモードはアプリサーバーブリッジを経由し、TUIクローズ時の孤児プロセスという既知の制限があると述べています。Copilot CLIはターンとオフのみをサポートしています。OpenCodeは外部センチネルプラグインを介してモニターをサポートしています。READMEはまた、send.sh、inbox.sh、history.sh、delivery.shなどの自動化用の直接シェルスクリプトも提供しています。
ストレージ、環境変数、サンドボックスの注意事項
メッセージストアはWALモードのSQLiteデータベースで、デフォルトでは~/.agents/skills/agmsg/dbにあります。環境変数AGMSG_STORAGE_PATHはその場所を上書きし、READMEは分離テストのために/tmp/agmsg-sandboxを指す例を示しています。チーム設定はteams/の下にあり、ストレージの上書きの影響を受けません。READMEはサンドボックス制限について警告しています。Claude Codeのサンドボックスはスキルディレクトリへの書き込みをブロックする可能性があるため、~/.agents/skills/agmsg/の許可リストエントリが文書化されています。Codexは、dbおよびteamsディレクトリに対してconfig.tomlでwritable_rootsが必要な場合があります。READMEはまた、追加のドライバ検索パスのためにAGMSG_PLUGIN_DIRSも文書化しています。バックアップメカニズムについては説明していませんが、更新によってデータベースが保持されると述べています。
プラグイン、agmsg上での構築、プロジェクトの周辺
agmsgには、軸ごとにグループ化されたドライバプラグインシステムがあり、組み込みはscripts/driversの下に、外部ドライバはpluginsディレクトリの下にあります。外部ドライバは、ユーザーが'agmsg plugin trust'でオプトインするまで無視されます。agmsg上に構築したいプロジェクトについては、READMEはscripts/api.shを介して読み取り、データベースに直接触れるのではなく既存のスクリプトを介して書き込むことを推奨しています。コミュニティセクションには、かんばんボード、ターミナルクライアント、メッセージリプレイなど、agmsg上に構築されたいくつかのサードパーティツールがリストされています。READMEは、Geminiサポート、Copilot CLIサポート、Windows Git Bashヘルパーなどの機能について、特定の外部貢献者をクレジットしています。プロジェクトはMITライセンスで提供されており、使用、コピー、変更、マージ、公開、配布、サブライセンス、販売の権利を許可し、保証はありません。READMEは、文書化された機能以外に、セキュリティ保証、サポートコミットメント、本番準備完了の主張を述べていません。
編集部の結論
READMEは本番レベルの保証を主張しておらず、プロジェクトはMITライセンスで提供され、保証はありません。提供されているのは、エージェントが共有ファイル上で短いテキストメッセージを交換するための具体的なメカニズムであり、文書化されたコマンド、配信モード、ドライバサポートを拡張するためのプラグインシステムを備えています。
コミュニティノート