Files
maestro/docs/tools/readappdoc.md
T
oss-sync 57702b4f34
CI / build-and-test (push) Canceled after 0s
sync: update from private repo (2336949a)
2026-09-17 11:29:31 +00:00

51 lines
2.9 KiB
Markdown
Raw 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.
# ReadAppDoc
MAESTRO のプロジェクト内ドキュメント(`docs/` / `pieces/` / アプリ内ヘルプ)を **symbolic name** で読み込むメタツール(常時利用可能)。主に Help アシスタントが、概念や操作手順をユーザーに答える前のリファレンス参照に使う。
「定期実行はできますか」「共有はどうやるのですか」のような**製品の機能・使い方**の質問には、`help/<name>` で利用者向けヘルプ(アプリ内の Help パネルと同じ Markdown)を引く。
ワークスペース外の固定パスを読むため、通常の `Read` ツールでは到達できない。
## 引数
| 引数 | 必須 | 説明 |
|------|------|------|
| `name` | はい | 読みたい doc の symbolic name(下記形式) |
## name の形式
| 形式 | 解決先 | 例 |
|------|--------|-----|
| `docs/<path>` | `docs/<path>.md`(`.md` は省略可) | `docs/mcp`, `docs/architecture` |
| `piece/<name>` | `pieces/<name>.yaml` | `piece/chat`, `piece/research` |
| `tool/<name>` | `docs/tools/<name>.md`(`ReadToolDoc` と同等) | `tool/browseweb` |
| `help/<name>` | `ui/src/content/help/<name>.md`(`.md` は省略可) | `help/06-schedules`, `help/01-intro` |
利用可能な doc が分からないときは、先に `ListAppDocs()` で一覧を取得する。
```js
ListAppDocs() // まず一覧を見る
ReadAppDoc({ name: "docs/mcp" }) // 該当 doc を読む
ReadAppDoc({ name: "tool/browse-sessions" })
ReadAppDoc({ name: "help/06-schedules" }) // 製品の機能・使い方
```
## 読めないもの(allow-list / block)
セキュリティのため、開けるのは `docs/` `pieces/` `docs/tools/` `ui/src/content/help/` 配下に限られ、以下は拒否される:
- 内部向けトップレベル doc: `CLAUDE.md` / `AGENTS.md` / `README.md` / `architecture`
- パストラバーサル(`..` を含む name)や allow-list 外の絶対パス
- `help/` はサブディレクトリを掘れない(`help/<file>` の 1 段のみ)
## 制約
- 1 doc あたりの打ち切りは、アプリ内ヘルプ(`help/<name>`)だけ **64KB**、それ以外(`docs/` / `piece/` / `tool/`)は **32KB**。超過分は末尾に omitted バイト数を注記する。
- ヘルプが打ち切られたときは、注記に「続きはアプリ内のヘルプ(画面上部の「ヘルプ」→ 該当ページ)を開いて確認してください」と利用者へ案内するよう書いてある。読めなかった後半を推測で埋めないこと。
- 存在しない name や不正な形式はエラーを返す。エラー時は `ListAppDocs()` で正しい名前を確認すること。
## 関連
- 一覧取得は [ListAppDocs](./listappdocs.md)。
- ツール単体の詳細は `ReadToolDoc({ name: "..." })`(`ReadAppDoc({ name: "tool/..." })` と同じ docs/tools を読む)。