このプロジェクトについて
Swarmは、複数のAIコーディングエージェントを並行して実行する開発者のために設計された、ローカルファーストの制御プレーンです。マシン上で単一のデーモンとして動作し、Claude Code、Codex CLI、Gemini CLI、Grok、Aider、opencodeなどのエージェントがすでに生成するフック、トランスクリプト、セッションログを読み取ります。リポジトリへの計装変更は一切不要です。すべての状態は~/.swarm/に置かれ、ダッシュボードは127.0.0.1にバインドされるため、データがマシンの外に出ることはなく、アカウントも不要で、オフラインでも動作します。
中核となる価値は、可観測性と調整です。Fleetビューは、すべてのプロジェクトにわたるすべてのセッションをリアルタイムで表示します。どのエージェントが実行中か、どのブランチか、現在何をしているか、モデル、出力トークン、コンテキストサイズ、コスト、経過時間などです。失敗するコマンドを繰り返し始めたセッションにはStuckバッジとデスクトップ通知が表示されます。Sessionビューは、エージェントの推論とツール呼び出しをライブでストリーミングし、ターンごとのコスト、キャッシュヒット率、思考の割合、ツールのヒストグラムを表示します。Replayはツール呼び出しを完全な入力と出力とともに1つずつステップ実行し、終了したセッションは停止した場所から再開できます。
Boardはプロジェクトの調整台帳として機能します。Markdownのバックログ、GitHub Issues、またはLinearからタスクを追跡し、合格/不合格ゲートとRun/ Dispatchアクションを備えています。タスクのクレームは分離されたgitワークツリーに保持され、それぞれにブランチ、ドリフト、ダーティ/未プッシュ状態、およびその中のセッションが含まれます。ランタイムリソース(ポート、開発サーバー、データベース)は名前付きシングルトンとして保持されます。Incidentsは、ルールが尋ねたり拒否したりしたすべてのコマンドを記録し、Codifyアクションで.swarm.tomlルールとCLAUDE.mdの教訓に変換できます。
Rulesは、Claude Codeセッションが実行するBashコマンドのガードレールです。shared_tree、destructive_git、pattern_kill、protected_ports、no_foreign_worktree、claim_required_to_writeがあります。それぞれが.swarm.tomlでリポジトリごとにask、deny、offに設定されます。denyはClaude Codeに実際の権限拒否として返されます。リソースとして保持されているポートは自動的に保護されます。これらは事故に対するガードレールであり、サンドボックスではありません。
Swarmはエージェントを生成することもできます。swarm run --task X はタスクをクレームし、そのワークツリーで claude -p を生成し、stdinで誘導でき、pidで停止できます。swarm dispatch --ready は、クレーム可能な各タスクをそれぞれのrunに一度にN個ずつ渡します。Runプロファイル(full、no-edits、read-only)は、生成されたエージェントが実行できることを絞り込みます。.swarm.tomlで宣言されたGatesはタスクのワークツリーで実行され、exit 0で合格、出力の末尾が証拠となります。一時停止した各セッションは、編集したファイル、最後の検証コマンド、最後のリクエストを含む自動ハンドオフを残します。そのワークツリー内の次のセッションは、開始時にそれが注入されます。
人間だけが判断できる決定に遭遇したエージェントはswarm_askを呼び出します。質問はセッションページにボタン付きのオプションとして表示され、FleetにはAskingバッジが表示され、デスクトップ通知が発火し、回答はエージェント自身に届きます。.swarm.tomlの宣言型ワークフローは自動的に進行します。runステップはエージェントを生成し、gateステップは続行するために合格する必要があり、prはブランチをプッシュしてプルリクエストを開きます。swarm_sendによるエージェント間メッセージングは、ID、タスクを保持している人、またはリードセッションで別のセッションに届きます。
PRsビューは、GitHubとGitLabにわたる単一のマージキューを提供し、認証済みのghまたはglab CLIを通じて読み取ります。トークンは保存されません。Timelineは、プロジェクトごとのセッションレーンをエージェントごとに色分けして3〜72時間にわたって表示します。SpendとStatsは、プロジェクト、モデル、エージェント、タスクごとのコストを内訳し、再読込したコンテキスト量でセッションをランク付けするコンテキスト予算テーブルを備えています。リポジトリごとの予算は、警告、尋問、または停止を行う毎日または毎週の上限を強制します。Outcomesは、作業が存続したかどうかを追跡します。セッションはブランチに参加し、ブランチはPRに参加し、PRはマージまたはリバートに参加し、モデルとエージェントごとにマージ率、中央値マージ時間、マージあたりのドルでスコアリングされます。ライブの2部グラフは、実行中のセッションとそれらが触れるファイルを表示します。2つのセッションが保持し、少なくとも1つが書き込み中のファイルは赤になります。これはまだ防止できるマージ競合です。
SwarmはCLI(bunx @ra3orblade/swarm setup)、デスクトップアプリ(macOS署名・公証済み、Windows、Linux .deb/.rpm)、およびエージェントが自己調整できるようにするMCPサーバーとして利用できます。チームデーモン(swarm-teamd)は、マルチマシンセットアップ用の自己ホスト型の2番目のサービスで、監査イベント、支出ロールアップ、クレームを転送します。トランスクリプトテキストは、マシンがオプトインしない限り転送されません。チームパッケージはFSL-1.1-ALv2のもとでソース利用可能であり、各リリースの2年後にApache-2.0に変換されます。その他はすべてApache-2.0です。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.