Enderfga/claw-orchestrator
Run Claude Code, Codex, Antigravity, Grok Build and OpenCode behind one runtime, and a run only counts as done when checks it didn't write pass. Cross-engine fan-out, councils, session handoff, spend caps, MCP server, ACP agent.
Claw Orchestratorとは?
Claw Orchestratorは、単一のAPIの背後で コーディング支援エージェント(Claude Code、Codex、Antigravity、Grok Build、OpenCode、または任意のカスタムCLI)を実行できるNode-JSランタイムです。エージェントを 永続的なセッション として扱い、作業自体をチェックする 検証レイヤー を追加します。ランタイムがテスト、HTTPプローブ、ファイル差分などを実行し、結果をディスクに記録します。ランタイム自身のチェックが通過したときのみ実行が 検証済み とマークされるため、エージェントの「すべてのテストが通過しました」という主張を鵜呑みにする必要はありません。
コアとなる考え方
| アイデア | 提供される価値 |
|---|---|
| 受け入れ契約 | エージェント終了後にランタイムが実行するチェック(例:npm test、HTTPリクエスト、スクリーンショット)を宣言します。実行結果は「エージェントがそう言ったから」ではなく、検証済み、反論済み、または未検証となります。 |
| マルチエンジンランタイム | Claude Code、Codex、Antigravity、Grok Build、OpenCode、または任意のカスタムツールと通信できる単一のCLI / HTTP API。単一のプロンプトを複数のエンジンに同時にファンアウトできます。 |
| セッションの引き継ぎ | コンテキストやワークスペースの状態を失うことなく、ライブ会話をあるエンジンから別のエンジン(例:高コストなClaudeモデルから安価なCodexへ)に移動できます。 |
| 耐久性のあるワークフローカーネル | すべての状態遷移がディスクにチェックポイントされます。プロセスがクラッシュしても、作業を失うことなく再開、再試行、タイムアウト、またはキャンセルが可能です。 |
| 実行台帳と予算上限 | JSONL台帳がターンごとのトークン、コスト、期間、エンジンを記録します。maxBudgetUsdを設定することで、すべてのエンジンにわたる厳格な支出制限をランタイムが強制します。 |
| 埋め込みダッシュボード | Web UI (http://127.0.0.1:18796/dash) で、ライブイベントストリーム、実行履歴、セッション、カウンシル、オートループなどの制御を表示します。 |
| OpenAI互換プロキシ | /v1/chat/completions エンドポイントを公開し、OpenAI形式のリクエストを適切な永続セッションに転送します。これにより、OpenAIクライアントは変更なしでオーケストレーターと通信できます。 |
主な機能(概要)
- 永続的なセッション – 多数のメッセージにわたってエージェントのコンテキストを維持します。
- マルチエンジンファンアウト – 同じタスクをN個のモデルで並行実行し、必要に応じて単一の回答に合成します。
- カウンシル&オートループ – 3エージェントループ(プランナー → コーダー → レビュアー)および合意形成投票のための組み込みプリミティブ。
- Ultra-code / ultra-app – Claudeがサブエージェントをオーケストレーションしたり、短いインタビューから完全なWebアプリを生成したりできる高レベルな構成。
- 検証プレーン – 契約はランタイムによって実行され、証拠(ログ、差分、スクリーンショット)はディスクに保存されます。
- 可観測性 – ターンごとの台帳、コスト上限、リアルタイム監視用のダッシュボード。
- 統合 – CLI、MCPプラグイン(Zed、JetBrains、Cursorなどのエディタ用)、ACPエージェント(標準Agent Client Protocol)、およびTypeScript SDK。
クイックスタート (CLI)
# グローバルインストール
npm install -g @enderfga/claw-orchestrator
# ローカルサーバー + ダッシュボードの起動
clawo serve # → http://127.0.0.1:18796/dash
# Claude Codeを使用した単純な解決リクエスト
clawo solve "Fix the failing tests" \
--engine claude \
--check "npm test" \
--wait
# 3つのエンジンで同じプロンプトを実行し、回答を合成する
clawo fanout "How would you speed up this test suite?" \
--engines claude,codex,grok \
--synthesize \
--wait
# 最近の実行をリスト表示(コスト、トークン、判定などを表示)
clawo runs --since 1h
サーバーはアクセス・トークンを ~/.openclaw/server-token に書き込み、CLIはそれを自動的に読み取ります。
ワークフローの例(検証の実践)
- 契約の宣言 –
--check "npm test"は、エージェント終了後にプロジェクトのテストスイートを実行するようランタイムに指示します。 - エージェントの作業 – Claude Code(または他のエンジン)が
price.jsを編集し、テストを通過させようとします。 - ランタイムによる検証 – ランタイムが自身で
npm testを実行します。テストが失敗すれば 反論済み、通過すれば 検証済み とマークされます。 - 証拠の保存 – すべてのコマンド出力、変更されたファイル、差分スナップショットが後日の監査のためにディスクに保存されます。
独自のコードへの埋め込み方法 (TypeScript SDK)
import { SessionManager } from '@enderfga/claw-orchestrator';
const manager = new SessionManager();
await manager.startSession({
name: 'fix-tests',
engine: 'claude',
cwd: '/my/project'
});
const result = await manager.sendMessage('fix-tests', 'Fix the failing tests');
console.log(result.verdict); // 'verified' | 'refuted' | 'unverified'
SDKはローカルの clawo-mcp サーバーと通信するため、CLIと同じ検証保証が得られます。
どのような場合に使用するか?
- AI生成コードに対するCIスタイルの安全性 – モデルに変更を提案させつつ、プロジェクト独自のテストスイート(または任意のカスタム契約)が実際に通過することをランタイムに強制させます。
- コスト管理されたマルチモデル実験 – 同じタスクで複数のベンダーを比較し、最も安価で正しい回答を出すモデルを見極め、予算を強制します。
- 複雑な自律ワークフロー – 自己反復ループ(プランナー-コーダー-レビュアー)や、人間の介入なしで解決策に収束するカウンシルを構築します。
- ツール豊富なエディタ統合 – ランタイムをZed、JetBrains、VS Codeなどにプラグインし、IDE内で同じ検証保証を得ます。
ライセンスと貢献
- ライセンス: MIT
- 貢献:
CONTRIBUTING.mdのガイドラインに従ってください。PRを開く前にnpm run build && npm run lint && npm run format:check && npm run testを実行してください。
結論: Claw Orchestratorは、複数のAIコーディングエージェントを実行するための 単一で耐久性のあるランタイム を提供し、結果を信頼性が高く監査可能なものにする 独立した検証ステップ を備えています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト