このプロジェクトについて
PlumbはMITライセンスで配布される単一のGoバイナリとして提供されるMCPサーバーで、ガードレール内でコーディングエージェントにIDE風のインテリジェンスレイヤーを提供する。READMEには4つの柱が優先順位順で記載されている:書き込み信頼性、マルチエージェント協調、セマンティックインテリジェンス、コンテキスト効率。
書き込み安全性。すべての書き込みは一時的ファイルにステージされ、シンリンク対応・CRLF許容のリネームで反映される。デーモンのパス単位ロックがセッションやチャットウィンドウ間での同一ファイルへの並行書き込みを直列化する。マルチファイルトランザクションでは一工程が失敗した場合のアトミックロールバックが可能で、mtime/shaガードにより新着変更を上書きする前に陳旧書き込みを拒絶する。serveコマンドは再接続式stdioプロキシであり、デーモンがクラッシュまたはハングした場合respawnされハンドシェイクが再実行される。READMEでは実行中の書き込みは静かに再実行されないとしている。
協調。1つのデーモンが全エージェントに対応するため、セッション同士が相互に視認・メッセージ可能。ピア認知はデフォルト有効で、workspace_sessionsがアクティブセッション名とデーモンが記録した書き込み(失敗または拒否されたものを区別)を表示する。同じワークスペース内でのエージェント간メールボックス(leave_note、check_messages)はデフォルト有効、メッセージはポーリングではなく通常のツール結果で配信される。勧告的意図(share_intent、[collab] intentsでオプトイン)はピ어의書き込みが請求済みパスに触れた際にフラグを立てるが、検証不可の主張として明示的にラベル付けされ、何をブロックすることもない。永続的発見(share_findings、オプトイン)はセッションの学びを searchable でシークレットスクラブ済みのプロジェクトメモリーに変換する。READMEは書き込み安全性はエージェントの協調に依存しないことを強調している。
セマンティックインテリジェンス。LSP対応リファクタリングツールにはrename_symbol、replace_symbol_body、safe_delete_symbolが含まれる。goplsやpyrightなど実言語サーバーからの診断はすべての書き込みに付加される。シンボル検索はプロジェクトスコープに限定され、stdlibや依存関係ノイズを除外する。コンテキスト制御によりエージェントは完全なファイルではなくシンボルや行範囲を読める。session_startでワークスペース、ブランチ、最近のコミット、診断、プロジェクトメモリーを一ラウンドトリップで起動する。アクセスは接続単位パス許可リスト、読取専用/読取書込ルート、段階化gitゲートで管理される。破壊的・ネットワーク系git操作はデフォルト無効。READMEはdocs/use-cases.mdに測定値を公表し、lossとしてread_multiple_filesがネイティブ読み取りより約1.31倍ペイロードが大きいため費用がかかることを文書している。
言語サポートは1つの数字ではなくティアで記述。Go(gopls)とPython(pyright)がファーストクラスで、実バイナリでCIテスト済み。Java、Rust、Swift、TypeScript/JavaScript、Zig、Kotlin、HTMLはサーバーがPATH上にあれば検証済みとしてリストされ、HTMLはファイルシステムアクセスなし。組み込みtree-sitterインデックスは31以上の言語をカバーし、ランク付き検索・見出し・トポロジーグラフ探索を言語サーバーなしで実現。実バイナリ検証はmacOSおよびLinuxで表明され、WindowsはデーモンがUnixソケットを使用するため現在未対応だが追跡中。
アーキテクチャ。plumb serveはplumb.sock経由で1つの共有バックグラウンドデーモンにプロキシし、言語サーバーをチャット間でウォームに保持する。SQLiteがツール統計用グローバルstats.dbとエピソード的サマリー、各ワークスペースの.plumb/ディレクトリ配下のper-project topology.dbおよびmemory.dbを保存する。58個のツールが公開され、頻繁に使用されるものはsession_start、workspace_symbols、get_definition、find_references、rename_symbol、edit_file、transaction_apply、diagnosticsなど。その他はファイルシステムアクセス、LSP階層、段階化git、オプションのローカルTopologyインデックスとメモリーをカバ―する。引数なしでplumbを実行するとツールコール、デーモン健康状態、per-tool統計、ストリーム可能ログを表示するTUIダッシュボードが開く。
インストールと設定。Homebrew、go install、またはプリビルドリリースバイナリでインストール可能。プリビルドmacOSバイナリはまだnotarizedされていない。plumb setupはclaude-code、claude-desktop、codex、gemini、cursorなどのクライアント向けにMCP設定を書き込む。設定はグローバルまたはper-project config.tomlまたは環境変数で行い、plumb config showで解決値と由来を表示する。サンプルオプションには事前に読み取りを必要とする厳格編集や、 runawayループ防止のためのper-minuteレートリミットがある。
状況。Plumbはpre-1.0で、書き込み安全性、耐障害性デーモン、トポロジーインデックス、プロジェクトメモリーは日常利用と記載されている。ロードマップはテーマ別リリース0.10〜0.19をリストし、0.19.xが1.0直前の最後の0.x版本。ネイティブWindowsサポートは1.1に延期。コントリビューションガイド、AGENTS.md、行動規範、MITライセンスが参照され、本文はオーストラリアンイングリッシュに従う。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.