ホーム / agent-bus
🏢 AI エージェント、ツール、人をつなぎ、すべてのアクセスを管理し、各エージェントを専用の箱の中で安全に動かすエンタープライズプラットフォームです。
💻 Linux と macOS で動作: Linux ではすべての機能、macOS ではバス、ランナー、コマンドラインが使えます。
単体のツールではなく、ひとつのプラットフォームです。localhost で動かすところから始めて、複数のホスト、ユーザー、チームへと広げられます。
できること
- 🔗 接続: アシスタント、スクリプト、サービス、人に、名前で届きます。
- 🔍 発見: 誰がいて、それぞれが何をできるのかがわかります。
- 🛡️ アクセス制御: 名前ごとに、誰が呼び出し、読み、管理できるかを決められます。
- 🔑 シークレット: 共有のパスワードはバスに、スクリプト専用のものはそのホストに置きます。
- 🔒 安全な通信: 他のマシンからは証明書をピン留めした HTTPS か SSH で接続できます。HTTP と HTTPS は 1 つのポートで提供し、同じホスト内なら自分のアカウントだけがアクセスできるプライベートソケットを使います。
- 📦 隔離: スクリプトは隔離された環境で、メモリとプロセス数の上限付きで動きます。
- 🧱 すぐ使えるヘルパー: チャット、メール、SMS、データベース、サーバーチェック。
- ⏰ スケジュール: 決まった時刻や一定の間隔でアシスタントを起こします。
- 🚨 アラート: サーバーのエラーがアシスタントに届き、そこから Slack(または Telegram、SMS)であなたに届きます。
- 🌐 クライアント: よく使われる 6 つのプログラミング言語向けのライブラリ。
- 🖥️ Web コンソール: 1 つのページですべてを確認・管理できます。
- 📥 インストール: コマンド 1 つ、ビルド済みのコンテナ、またはパッケージで。
- 🧠 意味で検索: AI があなたのドキュメントを見つけ、整理します。
なぜ必要なのか
- 🤝 AI アシスタントがそれぞれ孤立して働いている。 これからは、名前で互いに、そしてあなたにメッセージを送れます。 仕組み
- 📬 相手が不在。 メッセージは、相手が読むまでインボックスで待ちます。 仕組み
- 🔑 アシスタントにパスワードは預けられない。 これからは、パスワードを保持するヘルパーを通じてツールを使えます。 仕組み
- ⏰ 定型作業は、誰かが思い出すまで放置される。 これからは、リマインダーや日次チェックが自動でアシスタントを起こします。 仕組み
- 🚨 障害に気づくのが遅い。 これからは、サーバーの問題がアシスタントに届き、Slack(または Telegram、SMS)であなたに知らせます。 仕組み
- 🔄 サーバーの更新には 1 台ずつログインが必要。 これからは、コードを 1 回プッシュするだけで全台が更新され、結果を報告します。 仕組み
- 🧰 便利なスクリプトが個人のハックのまま。 これからは、どんなスクリプトも安全に共有できるチームのツールになります。 仕組み
- 👀 何が起きているのか見えない。 これからは、対応が必要なものを 1 つの Web ページで確認できます。 仕組み
バス
誰もが互いを見つけられ、誰に何を許すかはあなたが決めます。
課題: AI セッション、スクリプト、人が互いを見つけることも連絡することもできず、誰が何を使ってよいかを誰も管理していません。
- 🔗 接続: このマシンでも別のマシンでも、名前で誰にでも届きます。
- 🔍 発見: 誰がいるかを確認し、それぞれに何ができるかを問い合わせられます。
- 🛡️ アクセス制御: 人やエージェントごとに、誰が呼び出し、読み、管理できるかを決められます。
- 🗂️ 設定と共有パスワードを一か所に: 名前ごとに保管され、読めるのはオーナー、管理者、エージェント本人だけです。
詳しくは アクセス を参照してください。
🔐 パスワードの置き場所は 2 つ: 複数の人やマシンで共有するものはバスに、スクリプト専用のものはそのホスト上のランナーに置きます。 2 つのストア
ランナー
AI 時代のツールのための、強化版 systemd。 課題: 便利なスクリプトも、共有するには危険で、サービスとして動かすのは面倒です。
- 📦 隔離: デフォルトでは自分のフォルダーしか見えず、隣のスクリプトには触れられません。
- 📏 上限付き: メモリとプロセス数が制限されます。隔離できないホストでは実行を拒否します。
- 🔑 専用のパスワード: ホスト上のファイルに保管されます。バスがそれを表示することはなく、ホスト上で設定すればホストの外に出ることもありません。
- 🎛️ Web ページから操作: 起動・停止・再起動ができ、状態や停止した理由も確認できます。
- 🔁 動かし続ける: 常駐するヘルパーは失敗すると再起動され、メッセージごとに実行するスクリプトは毎回まっさらな状態で起動します。
内部の仕組み: cgroups、システムコールフィルター付きの namespace サンドボックス、そしてランナー専用の非特権アカウント。詳しくは 隔離 を参照してください。
ヘルパーは組み立てブロック
🧱 私たちのエージェントはレゴのような組み立てブロックです。セキュリティを犠牲にせず、複雑なシステムを簡単に組み上げられます。
- 💬 チャット: Slack と Telegram。
- ✉️ メール: 読む、書く、メールボックスをエージェントやキューにつなぐ。
- 📱 電話: SMS。
- ⏰ スケジュール: 指定した時刻に、一定の間隔で、または後で。
- 🖥️ サーバー: ログ、ディスク、サービス、コード。
- 🗄️ データ: AI に安全なデータベースアクセスを提供します。読み取り専用からフルアクセスまで対応し、パスワードはサーバーの外に出ません。
- 🧠 RAG: AI のための共有メモリー。テキストを独自のトピックに分類し、意味で検索します。
- 🌐 Web: AI が Web ページをテキストや Markdown として読み、範囲を限った HTTP リクエストを送ります。アクセス先は許可したサイトだけに絞れます。
- 🤖 AI: モデルに問い合わせます。
- 🪟 セッション: AI チャット、モニター、ターミナルで動くあらゆるものなど、セッション群をまとめて 1 回の呼び出しで起動し、再起動後も同じ方法で一括復元します。
4 つのブロックを組み合わせたメールヘルプデスクの例:
🔒 安全である理由: 各ブロックは許可されたアクセスしか持たず、パスワードを持つブロックはそれを手放しません。AI はブロックを使うだけで、そのパスワードを目にすることはありません。 ヘルプデスク
ノート PC 1 台から多数のホストへ
- 💻 小さく始める: バス、ランナー、AI セッションをノート PC 1 台で。
- 🖧 サーバーを追加: 各サーバーが自分のランナーとヘルパーを動かし、同じバスにつなぎます。
- 👥 人とチームを追加: ユーザー、グループ、そして誰が何を使えるか。
実際の流れの例: サーバーのエラーが Slack であなたに届く
- 🧩 どのステップも上で紹介したブロックです: ログ監視、サーバーチェック、Slack。 ログ監視
できることの例を 8 つ
- 🔍 1 つ目のアシスタントの作業を 2 つ目のアシスタントにレビューさせ、その判定を待つ。
- ⏰ 平日の毎朝 9 時にアシスタントを起こし、夜間のサーバーログをレビューさせる。
- 🚨 サーバーがエラーを記録したら、アシスタントが調査し、わかったことを Slack(または Telegram、SMS)で知らせる。
- 📜 期限切れが近い証明書について、毎日 Slack に通知を受け取る。
- 🔄 コードを 1 回プッシュすれば、それを追従しているすべてのサーバーが自分で更新する。
- 🗄️ データベースのパスワードを一切持たせずに、「昨日失敗した注文は何件?」にアシスタントが答える。
- ✉️ 届いたサポートメールをアシスタントが読み、返信を下書きし、あなたの承認後に送信する。
- 🌙 今夜、別のマシンのアシスタントにタスクを送り、朝にその回答を読む。
はじめに
- ユーザーガイド: ゼロからアシスタントやスクリプトを動かすまでの最短ルートです。
- インストール、詳細は セットアップ を参照してください。
- ソースとドキュメント: github.com/parf/ai-agent-bus
詳細
エージェントのための設計
Web 管理パネル
連携
agent-bus 向けに作られたツールです。活用方法の例として紹介します。
mdhouse — ドキュメントについてエージェントとチャット
mdhouse は、ローカルで動く git 対応の Markdown ワークスペースです。
mdhouse --agent-bus で起動するとチャットパネルが加わり、読んでいるページについて、実行中の
Claude Code、Codex、OpenCode のセッションに質問できます。エージェントがファイルを編集するとページはライブで更新され、
ページごとに履歴が残ります。
エージェント側にアダプターは不要です。パネルは普通のバスメッセージを送り、エージェントは他のピアと同じように返信します。 ローカルのバスでもリモートのバスでも動作します。詳しくは mdhouse の Agent Bus 連携 を参照してください。
計画
ライセンス
PolyForm Noncommercial。クライアントライブラリは MIT です。