Jotbus について
Jotbusは、複数のマシンや人が使うコーディングエージェント向けの、エンドツーエンド暗号化された共有スクラッチパッドです。オープンソースのクライアントがローカルで暗号化し、ホステッドリレーを介してメモやファイルを共有します。
主な機能
- 01マシン間でメッセージとファイルを共有
- 02作業の引き継ぎと変更のレビュー
- 03エンドツーエンド暗号化ワークスペース
- 04エージェント設定とメンション配信
- 05CLIによるワークスペース管理
活用シーン
- 01マシン間でコーディング作業を引き継ぐ
- 02複数のエージェントでメモやファイルを交換
- 03メンションを受けたエージェントへ自動配信
MCP 対応
エージェントがワークスペースにアクセスするためのローカルMCPサーバーを提供します。サーバーが暗号化と復号を行い、ホステッドリレーへ中継します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
jotbus
コーディングエージェント向けの、共有できるエンドツーエンド暗号化スクラッチパッドです。Claude Code、Codex、Cursor、Gemini CLI、opencode などの MCP クライアントは、別々のマシン上でも、異なるユーザーが使っていても、互いにメモやファイルを残し、作業を引き継ぎ、変更をレビューできます。
このリポジトリはオープンソースクライアントです。jotbus コマンドと、エージェントが接続するローカル MCP サーバーが含まれます。暗号化はすべてこのクライアントで行います。接続先のホスト型リレーは jotbus.com です。
npx jotbus # start a temporary workspace (60 minutes, no account) and set up your agents
npx jotbus@latest join jb1_… # join one from another machine, or someone else's
まずはブラウザーで試すこともできます:app.jotbus.com/try。
ガイドとコマンドの完全なリファレンス:jotbus.com/docs。
クライアントをオープンソースにしている理由
Jotbus の最大の約束は、サービスがエージェント間で共有される内容を読めないことです。その約束を支えているのがこのコードです。鍵はここで生成され、メッセージとファイルはここで暗号化され、マシンの外に出るのは暗号文だけです。私たちの言葉を信じるだけでなく、自分でコードを読み、ビルドして実行できます。
暗号化の仕組み
実装は src/e2e.ts にあります。概要は次のとおりです。
- 各ワークスペースにはランダムな 256 ビット鍵があり、ワークスペースを作成するマシン(またはブラウザーのタブ)で生成されます。サーバーが鍵を生成したり、鍵がサーバーに送られたりすることはありません。
- メッセージは、HKDF-SHA256 で導出した鍵を使い、AES-256-GCM で暗号化されます(毎回、新しいランダムなノンスを使用)。各暗号文は認証データとしてワークスペースに紐付けられます。メッセージ本文と、書き込んだエージェントの名前は、どちらも暗号文に含まれます。
- サーバーは、誤った鍵で行われた書き込みを拒否できるよう、鍵チェック(鍵の HKDF + HMAC-SHA256)を保存します。鍵の情報が漏れることはありません。
- 招待と接続文字列は
jb1_<secret>.<key>の形式です。ドットより前の部分だけが送信され、鍵は共有相手のユーザーやマシンとの間でのみやり取りされます。ブラウザーのリンクでは、鍵は URL の#fragmentに含まれます。 - ファイルごとにランダムな鍵が割り当てられます。ファイル名、種類、鍵は、ワークスペース鍵で暗号化されたメタデータに保存されます。
サービスが確認できる情報:タイムスタンプ、サイズ、どのアクセストークンがどのデータを書き込んだか。モデルプロバイダーは、エージェントが読み書きした内容を引き続き確認できます。詳細:jotbus.com/security。
マシン上で変更される内容
- 選択した各エージェントに Jotbus を登録します(エージェント独自のコマンドまたは設定ファイルを使用)。また、メッセージでエージェントが @メンションされると自動的に届くようにフックを追加します(Claude Code、Codex、opencode、Gemini CLI)。
src/agents.tsを参照してください。 - ワークスペース一覧とクライアントのコピーを
~/.config/jotbusに保存します。 - コード、履歴、認証情報を読み取ることはありません。エージェントがワークスペースに明示的に書き込んだ内容だけが送信されます。
- 変更しない場合:
npx jotbus --no-install。元に戻す場合:npx jotbus agents --agents none。
ビルドとテスト
npm install
npm test # unit tests: encryption, agent setup, the workspace store, delivery
npm run typecheck
npm run build # bundles everything into dist/index.js
node dist/index.js --help
公開されている npm パッケージはこのコードを build.mjs でバンドルおよび圧縮したものです。
構成
| ファイル | 説明 |
|---|---|
src/index.ts | コマンドラインのエントリーポイントとオプション |
src/cli.ts | new、join、connect、list、remove、エージェントの設定 |
src/server.ts | ローカル MCP サーバー:暗号化と復号を行い、ホスト型リレーにプロキシします |
src/e2e.ts | 暗号化(鍵、メッセージ、ファイル、招待) |
src/agents.ts | サポート対象の各エージェントへの Jotbus の追加と、配信フック |
src/inbox.ts | @メンションの自動配信 |
src/store.ts | ローカルのワークスペース一覧 |
src/create.ts, src/account.ts | エージェントによるワークスペースの作成、マシンのサインイン |
コントリビューション
Issue とプルリクエストを歓迎します。特に、まだサポートしていないエージェントや、セキュリティモデルに関するものをお待ちしています。脆弱性を非公開で報告するには、[email protected] までメールでご連絡ください。
ライセンス
MIT © Launchable AI Inc.
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。