4.6 KiB
4.6 KiB
English | 日本語
MAESTRO
MAESTRO — タスクを LLM 駆動で実行するエージェントオーケストレーションプラットフォーム。タスクの種類を LLM が自動判定し、適切なワークフロー(Piece)で処理する。ツールはサンドボックス化されたランタイムで実行され、ワークスペース・ファイル・進捗を Web UI で管理できる。
OpenAI 互換の LLM エンドポイント(Ollama / vLLM など)があれば単体で動作する。
主な機能
- タスク自動ルーティング — タスク本文を LLM が分類し、最適な Piece(YAML ワークフロー)へ振り分け。
- Piece × Movement — ReAct ループで LLM とツールが対話しながら、段階的にタスクを進める。
- 豊富なツール群 — ファイル操作(Read/Write/Edit/Bash/Glob/Grep)、Office(PDF/Excel/Docx/PPTX)、Web 取得、ブラウザ操作(Playwright)、画像、SQLite、ナレッジ検索(RAG)、SSH、サブタスク並列実行、MCP 連携、ほか。
- Bash サンドボックス — bwrap によるファイルシステム/ネットワーク/環境変数の隔離(不在時は強化版 whitelist にフォールバック)。Python パッケージはプリベイク。
- LLM Gateway(任意) — 仮想キー・予算・メトリクス付きの LLM プロキシ。複数 GPU/チームでの共有運用に対応。
- 学習(Reflection)・定期タスク・タスク共有・OAuth 認証(Google/Gitea) — いずれも任意で有効化。
- Web UI — タスク作成・進捗・成果物プレビュー・設定編集・スキル/Piece 管理。
クイックスタート
Docker(最短)
cp .env.example .env # OLLAMA_BASE_URL / OLLAMA_MODEL を設定
docker compose up -d
# http://localhost:9876 を開く
Compose は安全のため 127.0.0.1:9876 のみに公開する。別ホストからアクセス可能にする前に OAuth 認証を設定し、TLS 対応のリバースプロキシを配置すること。LLM エンドポイントは .env / config.yaml で指定する。
ソースから
git clone https://gitea.example.com/your-org/maestro.git
cd maestro
npm ci && npm --prefix ui ci
cp config.yaml.example config.yaml # provider / workers を編集
scripts/build-all.sh
scripts/server.sh start # http://localhost:9876
詳しい手順は docs/getting-started.md を参照。
必要要件
- Node.js 22+
- OpenAI 互換の LLM エンドポイント(Ollama / vLLM など)
- 任意(Bash サンドボックス用):
bwrap(bubblewrap, 非特権 user namespace)+python3/pip
ドキュメント
- docs/getting-started.md — インストール・初回起動・最初のタスク・認証/サンドボックスの有効化
- docs/configuration.md —
config.yamlの全設定項目リファレンス - docs/architecture.md — 実行フロー・Piece/Movement・ツール・DB・サンドボックス
- docs/tools/ — 各ツールの詳細
- docs/operations/bash-sandbox-provisioning.md — 本番でのサンドボックス有効化手順
- AGENTS.md / CONTRIBUTING.md — コントリビュータ向け
- CODE_OF_CONDUCT.md — コミュニティ行動規範
- SECURITY.md — セキュリティ方針・脆弱性報告
セキュリティ
既定では認証なしで動作するため、信頼できないネットワークへ直接公開しないこと。複数ユーザーまたは外部公開環境では OAuth 認証、safety.bash_sandbox: always、TLS リバースプロキシを有効にする。詳細は SECURITY.md を参照。
サーバー管理
scripts/server.sh start | stop | restart | status | logs