maestro/README.ja.md
oss-sync 77ee3bc426
Some checks are pending
CI / build-and-test (push) Waiting to run
sync: update from private repo (ddadfd71)
2026-07-08 23:35:00 +00:00

110 lines
6.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[English](README.md) | 日本語
# MAESTRO
![License](https://img.shields.io/badge/license-Apache--2.0-blue)
![Node](https://img.shields.io/badge/node-%E2%89%A522-3c873a?logo=node.js&logoColor=white)
![TypeScript](https://img.shields.io/badge/TypeScript-3178c6?logo=typescript&logoColor=white)
![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-fe5196?logo=conventionalcommits&logoColor=white)
![PRs welcome](https://img.shields.io/badge/PRs-welcome-brightgreen)
**MAESTRO** — タスクを LLM 駆動で実行するエージェントオーケストレーションプラットフォーム。タスクの種類を LLM が自動判定し、適切なワークフロー(**Piece**)で処理する。ツールはサンドボックス化されたランタイムで実行され、ワークスペース・ファイル・進捗を Web UI で管理できる。
OpenAI 互換の LLM エンドポイント([Ollama](https://ollama.com/) / vLLM など)があれば単体で動作する。
## スクリーンショット
ワークスペース画面。左端にワークスペース一覧、その隣に選択中ワークスペースのチャット一覧、残りの領域にエージェントとのライブ会話とレンダリング済み成果物が並ぶ。概要・進捗・ファイル・トレースはタブで切り替える:
![ワークスペース](docs/screenshots/workspace.png)
<details>
<summary>ほかのスクリーンショット — ワークスペース・チャット一覧・設定</summary>
個人ワークスペースと案件ごとのワークスペースが並ぶ。同じエージェントがどこでも動く:
![ワークスペース一覧](docs/screenshots/spaces.png)
実行中 / 待機中 / 完了をひと目で把握できるチャット一覧(クイックフィルタ付き):
![チャット一覧](docs/screenshots/task-list.png)
設定画面。`config.yaml` の各セクションがフォーム化LLM ワーカー・サンドボックス・認証・ツールほか):
![設定](docs/screenshots/settings.png)
</details>
## 主な機能
- **タスク自動ルーティング** — タスク本文を LLM が分類し、最適な PieceYAML ワークフロー)へ振り分け。
- **Piece × Movement** — ReAct ループで LLM とツールが対話しながら、段階的にタスクを進める。
- **豊富なツール群** — ファイル操作Read/Write/Edit/Bash/Glob/Grep、OfficePDF/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最短
Linux でも、Windows の WSL2Docker Desktop の WSL 統合)でも動く。
```bash
docker compose up -d # 初回はビルドしてから起動
# http://localhost:9876 を開く
```
`.env``config.yaml` は用意しなくても起動する。未設定のまま起動すると UI にセットアップウィザードが開き、そこから LLM の接続先を設定できる。先に指定しておきたい場合は `cp .env.example .env` して `OLLAMA_BASE_URL` / `OLLAMA_MODEL` を設定する。
Compose は `9876` を全インターフェースに公開するので、Docker ホストは初期状態から LAN で到達でき、設定するまで認証なし。共有ネットワークに置いたままにする前に、認証・`safety.bash_sandbox: always`・TLSネイティブ `server.tls` かリバースプロキシ)を有効化すること。ローカル限定に戻すにはマッピングを `127.0.0.1:9876:9876` に固定する。LLM エンドポイントは `.env` / `config.yaml` で指定する。
Docker の詳細ガイドLinux のネットワーク・データ永続化・サンドボックス・トラブルシューティング)は **[docs/docker.md](docs/docker.ja.md)**。
### ソースから
```bash
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](docs/getting-started.md)** を参照。
## 必要要件
- **Node.js 22+**
- **OpenAI 互換の LLM エンドポイント**Ollama / vLLM など)
- 任意Bash サンドボックス用): `bwrap`bubblewrap, 非特権 user namespace+ `python3`/`pip`
## ドキュメント
- **[docs/getting-started.md](docs/getting-started.md)** — インストール・初回起動・最初のタスク・認証/サンドボックスの有効化
- **[docs/docker.md](docs/docker.ja.md)** — Docker Compose での運用LLM エンドポイント・永続化・サンドボックス・トラブルシューティング)
- **[docs/configuration.md](docs/configuration.md)** — `config.yaml` の全設定項目リファレンス
- **[docs/architecture.md](docs/architecture.md)** — 実行フロー・Piece/Movement・ツール・DB・サンドボックス
- **[docs/tools/](docs/tools/)** — 各ツールの詳細
- **[docs/operations/bash-sandbox-provisioning.md](docs/operations/bash-sandbox-provisioning.md)** — 本番でのサンドボックス有効化手順
- **[AGENTS.md](AGENTS.md)** / **[CONTRIBUTING.md](CONTRIBUTING.md)** — コントリビュータ向け
- **[CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)** — コミュニティ行動規範
- **[SECURITY.md](SECURITY.md)** — セキュリティ方針・脆弱性報告
- **[docs/security-hardening.md](docs/security-hardening.ja.md)** — 本番ハードニングのチェックリスト
## セキュリティ
既定では認証なしで動作するため、信頼できないネットワークへ直接公開しないこと。複数ユーザーまたは外部公開環境では OAuth 認証、`safety.bash_sandbox: always`、TLS リバースプロキシを有効にする。詳細は [SECURITY.md](SECURITY.md) を参照。
## サーバー管理
```bash
scripts/server.sh start | stop | restart | status | logs
```
## ライセンス
[Apache-2.0](LICENSE)。