sync: update from private repo (e62f5c7)
CI / build-and-test (push) Has been cancelled

This commit is contained in:
oss-sync
2026-06-11 01:52:48 +00:00
parent 000a2474aa
commit d061ad08d8
237 changed files with 8441 additions and 5549 deletions
+36 -34
View File
@@ -1,72 +1,74 @@
English | [日本語](README.ja.md)
# MAESTRO
![License](https://img.shields.io/badge/license-Apache--2.0-blue)
**MAESTRO**タスクを LLM 駆動で実行するエージェントオーケストレーションプラットフォーム。タスクの種類を LLM が自動判定し、適切なワークフロー(**Piece**)で処理する。ツールはサンドボックス化されたランタイムで実行され、ワークスペース・ファイル・進捗を Web UI で管理できる。
**MAESTRO**an agent orchestration platform that runs tasks driven by an LLM. The LLM automatically classifies the kind of task and handles it with the appropriate workflow (**Piece**). Tools run in a sandboxed runtime, and you manage workspaces, files, and progress through a web UI.
OpenAI 互換の LLM エンドポイント([Ollama](https://ollama.com/) / vLLM など)があれば単体で動作する。
It works standalone as long as you have an OpenAI-compatible LLM endpoint ([Ollama](https://ollama.com/) / vLLM, etc.).
## 主な機能
## Key features
- **タスク自動ルーティング** — タスク本文を 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 管理。
- **Automatic task routing** — the LLM classifies the task body and dispatches it to the best-fit Piece (a YAML workflow).
- **Piece × Movement** — the LLM and tools converse in a ReAct loop, advancing the task step by step.
- **Rich tool set** — file operations (Read/Write/Edit/Bash/Glob/Grep), Office (PDF/Excel/Docx/PPTX), web fetching, browser automation (Playwright), images, SQLite, knowledge search (RAG), SSH, parallel subtask execution, MCP integration, and more.
- **Bash sandbox** — isolates the filesystem, network, and environment variables via bwrap (falls back to a hardened whitelist when bwrap is absent). Python packages are pre-baked.
- **LLM Gateway (optional)** — an LLM proxy with virtual keys, budgets, and metrics. Supports shared operation across multiple GPUs/teams.
- **Learning (Reflection), scheduled tasks, task sharing, OAuth authentication (Google/Gitea)** — all optional, enabled on demand.
- **Web UI** — task creation, progress, deliverable previews, settings editing, and skill/Piece management.
## クイックスタート
## Quickstart
### Docker(最短)
### Docker (fastest)
```bash
cp .env.example .env # OLLAMA_BASE_URL / OLLAMA_MODEL を設定
cp .env.example .env # set OLLAMA_BASE_URL / OLLAMA_MODEL
docker compose up -d
# http://localhost:9876 を開く
# open http://localhost:9876
```
Compose は安全のため `127.0.0.1:9876` のみに公開する。別ホストからアクセス可能にする前に OAuth 認証を設定し、TLS 対応のリバースプロキシを配置すること。LLM エンドポイントは `.env` / `config.yaml` で指定する。
For safety, Compose exposes only `127.0.0.1:9876`. Before making it reachable from another host, configure OAuth authentication and place a TLS-enabled reverse proxy in front. Specify the LLM endpoint in `.env` / `config.yaml`.
### ソースから
### From source
```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 を編集
cp config.yaml.example config.yaml # edit provider / workers
scripts/build-all.sh
scripts/server.sh start # http://localhost:9876
```
詳しい手順は **[docs/getting-started.md](docs/getting-started.md)** を参照。
For detailed instructions, see **[docs/getting-started.md](docs/getting-started.md)**.
## 必要要件
## Requirements
- **Node.js 22+**
- **OpenAI 互換の LLM エンドポイント**Ollama / vLLM など)
- 任意(Bash サンドボックス用): `bwrap`bubblewrap, 非特権 user namespace+ `python3`/`pip`
- **An OpenAI-compatible LLM endpoint** (Ollama / vLLM, etc.)
- Optional (for the Bash sandbox): `bwrap` (bubblewrap, unprivileged user namespaces) + `python3`/`pip`
## ドキュメント
## Documentation
- **[docs/getting-started.md](docs/getting-started.md)** — インストール・初回起動・最初のタスク・認証/サンドボックスの有効化
- **[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)** — コントリビュータ向け
- **[SECURITY.md](SECURITY.md)** — セキュリティ方針・脆弱性報告
- **[docs/getting-started.md](docs/getting-started.md)** — installation, first launch, your first task, enabling auth/sandbox
- **[docs/configuration.md](docs/configuration.md)** — full reference of every `config.yaml` setting
- **[docs/architecture.md](docs/architecture.md)** — execution flow, Piece/Movement, tools, DB, sandbox
- **[docs/tools/](docs/tools/)** — details of each tool
- **[docs/operations/bash-sandbox-provisioning.md](docs/operations/bash-sandbox-provisioning.md)** — how to enable the sandbox in production
- **[AGENTS.md](AGENTS.md)** / **[CONTRIBUTING.md](CONTRIBUTING.md)** — for contributors
- **[SECURITY.md](SECURITY.md)** — security policy and vulnerability reporting
## セキュリティ
## Security
既定では認証なしで動作するため、信頼できないネットワークへ直接公開しないこと。複数ユーザーまたは外部公開環境では OAuth 認証、`safety.bash_sandbox: always`、TLS リバースプロキシを有効にする。詳細は [SECURITY.md](SECURITY.md) を参照。
By default it runs without authentication, so do not expose it directly to an untrusted network. For multi-user or externally exposed environments, enable OAuth authentication, `safety.bash_sandbox: always`, and a TLS reverse proxy. See [SECURITY.md](SECURITY.md) for details.
## サーバー管理
## Server management
```bash
scripts/server.sh start | stop | restart | status | logs
```
## ライセンス
## License
[Apache-2.0](LICENSE)
[Apache-2.0](LICENSE).