This commit is contained in:
@@ -12,6 +12,106 @@ MAESTRO に入った、ユーザーに関係する主な変更を新しい順に
|
||||
|
||||
> 機能に変更があるたび、このページを更新していきます。日付は変更が本番に入ったおおよその時期です。
|
||||
|
||||
## 2026-07-06 — PDF を「途中のページから」読めない不具合を修正
|
||||
|
||||
エージェントが PDF を Read で読むとき、`offset` / `limit`(テキスト用の行指定)でページをずらそうとしても効かず、常に先頭ページから返っていました。PDF・Excel・Word ではこれらのパラメータが元々無視される仕様だったのに、その区別がエージェントに伝わっていなかったのが原因です。PDF のページ指定用パラメータ `page_range`(例 `"5-10"`)を Read の入力候補として明示し、`offset` / `limit` は「テキスト専用」と分かるようにしました。あわせて、PDF/Office にうっかり `offset` / `limit` を渡した場合は黙って無視せず、「PDF は `page_range` を使ってください」という案内を出力に添えて自己修正できるようにしています(→[ツール](./16-tools.md))。
|
||||
|
||||
## 2026-07-06 — Windows(WSL)で Docker からそのまま起動できるように
|
||||
|
||||
Windows の WSL2 上の Docker で `docker compose up --build` を実行したとき、二つの理由で起動できないことがありました。ひとつは `.env` ファイルが無いと即座に失敗すること、もうひとつは Windows でクローンしたときの改行コード(CRLF)でビルドが途中で止まることです。`.env` が無くても起動できるようにし、改行コードを固定してビルドが壊れないようにしました。あわせて README に Docker での起動手順(Windows/WSL 対応)を追加しています。Node.js を入れなくても Docker だけで起動でき、ブラウザ操作機能もコンテナ内で完結します(Windows 側に X サーバーや WSLg は不要)。
|
||||
|
||||
## 2026-07-05 — Docker のクリーンビルドでブラウザ機能が使えなくなる不具合を修正
|
||||
|
||||
`docker compose up --build` でイメージを一からビルドしたとき、ブラウザ操作系の機能(Browser タブ・`BrowseWeb`・InteractiveBrowse など)で使う Chromium の導入に失敗し、ビルドが `playwright: not found` で止まる、あるいは起動してもブラウザ操作ができないことがありました。ビルド手順の内部でブラウザ導入コマンドの呼び出し方に依存関係の競合があったのが原因です。呼び出し方を競合しない方式に変え、クリーンビルドでも確実に Chromium が入るようにしました。自分でビルドして自己ホストしている場合が対象で、設定の変更は不要です。
|
||||
|
||||
## 2026-07-03 — 縦長ページのスクリーンショットを1画面ぶんずつ自動分割
|
||||
|
||||
エージェントがブラウザ操作でページのスクリーンショットを撮るとき、縦に長いページだと画像が極端に縦長になり、細部が潰れて内容を読み取りづらくなっていました。今後は縦長ページを **1 画面ぶんごとに区切って複数枚**(`report-001.png`, `report-002.png` …)に自動分割して保存します。1 画面に収まるページは従来どおり 1 枚のままです。無限スクロール対策として既定で最大 10 枚まで。分割せずフルページ 1 枚で撮りたい場合は指定で切り替えられます。ブラウザ操作ツール(`BrowseWeb`・手動ログイン後に引き継ぐ `BrowseWithSession`)のどちらでも同じ挙動になり、ツールによってスクリーンショットの撮られ方が変わることはありません。
|
||||
|
||||
## 2026-07-03 — SSH コンソールで複数の接続を同時に開けるように
|
||||
|
||||
これまで SSH コンソールは 1 タスクにつき 1 セッションしか開けず、別の接続を開くと元のセッションは閉じられていました。今後は 1 つのタスクで複数の接続に同時にセッションを開けます。SSH タブの上部に接続ごとのタブが並び、クリックで切り替えられます。タブには接続名・状態(接続中 / アイドル / 切断)に加えて、エージェントがそのセッションを操作中かどうかを示す ⚡ が表示されます。**+ 接続** で新しいセッションを追加し、不要になったタブは **✕** で閉じられます(閉じられるのは開いた本人かオーナー・管理者)。エージェントが別の接続を開いたり切り替えたりしても、ユーザーが見ている画面は変わりません。表示は画面をクリックしたタブに切り替えたときだけ変わります。同時に開けるセッション数には上限があります(既定 5)(→[SSH 接続](./14-ssh.md))。
|
||||
|
||||
## 2026-07-03 — タスクを開くと会話の一番下(最新)が表示されるように
|
||||
|
||||
タスク(チャット)を開いたとき、これまでは会話の一番上から表示されていて、最新のやり取りを見るには毎回下までスクロールする必要がありました。今後はタスクを開いた時点で自動的に一番下までスクロールし、最新のメッセージがすぐ見える状態で開きます。会話の途中を見ているときに新しいメッセージが来た場合の挙動(「新着」バッジを出して勝手に飛ばさない)は従来どおりです。
|
||||
|
||||
## 2026-07-03 — Shift_JIS などの日本語テキストが「バイナリ」と誤判定されて読めない不具合を修正
|
||||
|
||||
Windows で保存した日本語の `.txt` や、Excel から出した Shift_JIS(CP932)の CSV を Read で開こうとすると、中身は読めるテキストなのに「バイナリなので開けません」と拒否されていました。文字コードの判定が UTF-8 しか想定しておらず、UTF-8 として解釈できないものをすべてバイナリと見なしていたためです。Shift_JIS・EUC-JP などを自動で判別し、UTF-8 に変換して読めるようにしました。Edit で書き換えた場合は元の文字コードのまま保存します。あわせて Grep が画像などのバイナリファイルを拾ってしまい、検索結果にバイナリの断片が紛れ込む問題も直しました(対象フォルダにバイナリがあっても自動でスキップします)(→[ツール](./16-tools.md))。
|
||||
|
||||
## 2026-07-03 — ワークスペースに登録した SSH 接続でコンソールが開けない不具合を修正
|
||||
|
||||
ワークスペースに登録した SSH 接続に対して**コンソール(対話シェル)を開こうとすると、接続が正しく登録されているのに `access denied (space_mismatch)` で弾かれる**不具合を修正しました。原因はコンソールを開く経路が、そのタスクの所属ワークスペース(スペース)を権限判定に渡していなかったことです。一発実行の `SshExec` は影響を受けていませんでしたが、コンソール経路(エージェントの `SshConsoleEnsure`、および「コンソール」タブから手動で開く操作・再接続)はすべて対象でした。個人ワークスペースのタスクでも正しく開けるようにしています。あわせて、公開・組織共有などで**タスクは見えてもそのワークスペースのメンバーではない人**が、コンソールからそのワークスペースの SSH 接続を使えてしまわないよう、実行時にメンバーであることを確認するようにしました(→[SSH 接続](./14-ssh.md))。
|
||||
|
||||
## 2026-07-02 — ワークスペースごとに Python パッケージを追加できるように
|
||||
|
||||
必要な Python ライブラリを、ワークスペースの **設定 → Python** タブからオーナー / 管理者が直接追加できるようになりました。追加したパッケージはそのワークスペースの中だけで `import` でき、他のワークスペースには影響しません。安全のため wheel のあるパッケージのみ許可し(`requests==2.32.3` のようにバージョン固定も可)、ダウンロードはサーバー側で隔離して実行します(エージェント自身はネットワーク遮断のまま)。既定はオフで、管理者が `config.yaml` の `python_packages.enabled` を有効にすると使えます(→[ワークスペースとメンバー](./21-workspaces.md))。
|
||||
|
||||
## 2026-07-02 — 設定から A2A 委任を一覧表示・即時取り消しできるように
|
||||
|
||||
**設定 → A2A 委任** タブを追加しました。外部エージェントへ付与した委任の一覧を確認し、不要になったものをその場で取り消せます。取り消した瞬間にトークンが無効になり、その委任で実行中だったタスクも即座にキャンセルされます。またタスクの状態・成果物を後から読み取る操作(`tasks/get`・`tasks/resubscribe`)も即座にブロックされるため、取り消し後に情報が漏れ出ることはありません。
|
||||
|
||||
## 2026-07-02 — 同じ名前のファイルを添付しても既存ファイルを上書きしないように
|
||||
|
||||
タスク作成時やチャットのコメントでファイルを添付したとき、ワークスペースの `input/` に**同じ名前のファイルが既にある**と、これまでは黙って上書きしていました。今後は上書きせず、`名前 (2).ext` のように自動でリネームして保存します(同じ依頼の中で同名ファイルを複数付けた場合も同様に枝番が付きます)。エージェントには実際に保存された名前が伝わり、チャットのダウンロード表示もその名前になります。ファイルタブからのアップロードは以前からリネーム方式だったので、これで添付とアップロードの挙動がそろいました(→[タスクを作って実行する](./02-tasks.md))。
|
||||
|
||||
## 2026-07-02 — 長い A2A タスクを非ブロッキングで依頼し、後から結果を取得できるように
|
||||
|
||||
外部エージェント連携(A2A)で、時間のかかるタスクを接続を張り続けずに依頼できるようになりました。`message/send` に `configuration.blocking: false` を付けると、MAESTRO は受付時点ですぐ応答を返し、完了を待ちません。結果は後から `tasks/get` で取得します。裏側では専用の収束処理がジョブの状態を追い続け、切断やブリッジ再起動をまたいでもタスクを最終状態(完了・失敗)まで確実にまとめます(→[外部エージェント連携](./23-a2a.md))。
|
||||
|
||||
## 2026-07-02 — 他タスクの会話を横断検索できる SearchWorkspaceTasks を追加
|
||||
|
||||
同じワークスペース内の他タスクの会話を横断検索できる `SearchWorkspaceTasks` を追加しました。エージェントが過去タスクの依頼・成果・やり取りを思い出せます。これまでの `SearchTaskConversation` は現在のタスクの会話しか検索できませんでしたが、今回のツールは同じワークスペースの他タスクまで対象を広げます。検索結果はツール名や添付ファイル名までしか出さない要約にとどめ、詳しい経緯を確認したいときだけ前後のコメント本文をそのまま読みに行く仕組みです。複数の語をスペースで区切ると、そのすべてを含む会話に絞り込めます(Google のような AND 検索)(→[ツール](./16-tools.md))。
|
||||
|
||||
## 2026-07-02 — Word(.docx)ファイルもプレビューできるように
|
||||
|
||||
これまで Excel と PowerPoint はプレビューできましたが、Word(.docx)はプレビューできませんでした。ファイル名をクリックすると、各ページを画像にして見た目どおりに表示するようになりました。上から順にスクロールで確認できます。レイアウトはそのまま再現されますが、画像表示のため本文の文字選択・検索はできません。長い文書は先頭 50 ページまで表示します。画像化にはサーバーに変換エンジン(LibreOffice)が必要で、未導入の場合はダウンロードの案内が出ます(→[結果を見る](./04-results.md))。
|
||||
|
||||
## 2026-07-02 — 実行中の豆知識(TIP)を最新の機能に合わせて更新
|
||||
|
||||
タスク実行中に💡で表示される豆知識を、いまの機能に合わせて見直しました。すでに無くなった「ナレッジ」への言及を、集めた資料が出典付きで source/ に残る旨に差し替え、piece の説明も「使えるツールが変わる」ではなく「進め方(手順・役割)を決める」という実態に沿った内容に改めました。あわせて、ワークスペース・アプリ、カレンダー、案件ワークスペースでのチーム共有といった新しめの機能を紹介する項目を追加しています(→[ヘルプ](./01-intro.md))。
|
||||
|
||||
## 2026-07-01 — ツールのオン/オフを「設定 → ツール」に一本化
|
||||
|
||||
エージェントが使えるツール・ファイル編集(Write/Edit)の可否・到達できる SSH 接続を、**ワークスペースの設定(設定 → ツール/SSH)だけ**で切り替えられるようにしました。これまで Piece(実行テンプレート)側にも書けたツール設定は撤去し、Piece は「作業の流れ(手順と遷移)」だけを定義するようになりました。「Piece に書いたのに使えない/設定で切ったのに使える」といった二重管理の混乱がなくなります。既存の Piece に古いツール設定が残っていてもエラーにはならず、単に無視されます(→[piece を使う・作る](./05-pieces.md)・[ツール](./16-tools.md))。
|
||||
|
||||
## 2026-07-01 — 実行時間の上限を設定から調整できるように+強制終了の理由を明確化
|
||||
|
||||
長時間走り続けるジョブには実行時間の上限(デッドライン)があり、超えると自動終了してワーカーの空きを確保します。この上限を **設定 → Safety** から分単位で調整できるようにしました(既定を 60 分から 180 分に延長。0 で無効)。あわせて、**ユーザーがキャンセルした場合**と**上限に達して自動終了した場合**を区別して表示するようにしました(従来はどちらも同じ「キャンセル」表示で見分けられませんでした)。上限到達後に中断が効かず固まったジョブを確実に片付ける保険(Deadline Grace 秒)も追加しています(→[設定](./17-settings.md))。
|
||||
|
||||
## 2026-07-01 — ファイルの読み取りを Read に一本化
|
||||
|
||||
Excel・Word・PDF・PowerPoint・Outlook メール(.msg)を、専用ツール(ReadExcel / ReadDocx / ReadPdf / ReadPPTX / ReadMsg)ではなく **Read だけ**で読めるようにしました。Read が拡張子から形式を自動判定して中身を抽出します。「どの読み取りツールを選ぶか」でエージェントが迷って誤る問題が減り、指示もシンプルになります。sheet や range、PDF の query といった形式ごとの細かい指定は従来どおり Read にそのまま渡せます(画像を見る ReadImage は別ツールのまま)(→[ツール](./16-tools.md))。
|
||||
|
||||
## 2026-07-01 — ファイルの来歴(どのタスクが作ったか)を表示
|
||||
|
||||
共有ワークスペースでは、過去のタスクが作ったファイルやアップロードした資料がそのまま残ります。どのファイルが「今の作業のもの」で、どれが「別タスクのもの」か分かりにくい問題に対処しました。ファイルプレビューを開くと、そのファイルの種別(ユーザーがアップロード / エージェント生成 / コマンド生成 など)と、作成・最終変更したタスク番号が小さく表示されます。エージェント側も、来歴が別タスクやユーザーのアップロードを示すファイルを編集する前に関連性を確認し、迷ったら新しい出力ファイルを作るようになりました(→[ワークスペース](./21-workspaces.md))。
|
||||
|
||||
## 2026-07-01 — 会話の想起を強化(Mission Brief 拡張+過去ログ検索)
|
||||
|
||||
長い会話や継続タスクで、最初の指示や途中の制約をエージェントが忘れてしまう問題に対処しました。Mission Brief に「ユーザー制約」「決定事項」「現在の焦点」の 3 項目を追加し、Overview タブから編集できます。あわせて、エージェントが過去のコメントや実行ログをキーワードで検索して前後を読み直せるようになり、ユーザーに聞き直す前に自分で思い出してから動くよう促しています(→[ツール](./16-tools.md))。
|
||||
|
||||
## 2026-06-30 — タスク実行の安定性を改善(ステップ切り替え・コンテキスト逼迫まわり)
|
||||
|
||||
エージェントがステップを切り替えたり実行を終える際に、内部のやり取りが不整合になって厳格なモデルから弾かれることがありました。切り替え・終了の処理を整え、後続ステップに不整合が残らないようにしています。あわせて、扱う情報量が上限に達したときに「成功」や「確認待ち」として誤って終わるのを防ぎ、安全に中断してやり直す挙動に統一しました。エージェントがユーザーに質問する場合は、なぜ既定値で進められないのかの理由を必ず添えるようになり、不要な確認が減ります(→[設定](./17-settings.md))。
|
||||
|
||||
## 2026-06-30 — テンプレート付きスキルのインストールが失敗していた不具合を修正
|
||||
|
||||
エージェントがワークスペース上で組み立てたフォルダ(`SKILL.md` + `templates/` などのサブフォルダ)をスキルとして登録するとき、「ワークスペース内にないパス」と誤って拒否されることがありました。ワークスペースからの相対パスが正しく解決されていなかったのが原因で、修正後はフォルダごと(テンプレートや補助ファイルも含めて)登録できます(→[スキル](./11-skills.md))。
|
||||
|
||||
## 2026-06-30 — エージェントの同名ファイル保存で古い版を old/ に退避
|
||||
|
||||
エージェントが既存ファイルと同じ名前で成果物を書き込むとき、これまでは `report (競合コピー 1).md` のような別名ファイルを作っていました。今後は古いファイルを同じ階層の `old/` フォルダへ `report_old1.md` のような名前で移動し、新しい内容は元のファイル名で保存します。成果物の場所が変わりにくくなり、過去版も `old/` から確認できます(→[タスク作成とファイル](./02-tasks.md))。
|
||||
|
||||
## 2026-06-29 — 一部の LLM モデルで「System message must be at the beginning」エラーになる不具合を修正
|
||||
|
||||
バックエンドに特定のモデルを選ぶと、タスク実行のたびに `System message must be at the beginning.` という 400 エラーで止まることがありました。チャットテンプレートが厳格なモデルで、こちらが送るメッセージの並びが弾かれていたためです。先頭のシステムメッセージを 1 つにまとめ、ステップ切り替え時の案内文も通常のメッセージとして送るようにして、これらのモデルでも問題なく動くようにしました(→[設定](./17-settings.md))。
|
||||
|
||||
## 2026-06-29 — サブタスク内の「委譲(delegate)」の進捗が親タスクに表示されるように
|
||||
|
||||
サブタスクの中で実行された委譲(delegate)の進捗が、これまで親タスクの委譲ビューに出ていませんでした。今後は親タスクの委譲ビューに、サブタスクごとにまとめて表示されます(履歴・リアルタイム両方)(→[サブタスク](./10-subtasks.md))。
|
||||
|
||||
## 2026-06-29 — 個人ワークスペースの「実行中」バッジを監視範囲とそろえた(管理者)
|
||||
|
||||
左のワークスペース一覧に出る緑の「● N 実行中」バッジが、管理者の個人ワークスペースで、監視できる他ユーザーの個人ワークスペースの実行中タスクを数え落としていた不具合を修正しました。「他のメンバー」タブで見える実行中タスクと、バッジの件数が一致するようになりました。一般ユーザーのバッジは従来どおり自分のぶんだけを数えます(→[ワークスペース](./21-workspaces.md))。
|
||||
@@ -40,6 +140,29 @@ MAESTRO に入った、ユーザーに関係する主な変更を新しい順に
|
||||
|
||||
ログイン状態を保存したブラウザセッションをチャットに紐づけても、エージェントが調査をサブタスク(delegate)に委譲したとき、その中の BrowseWeb が保存セッションを引き継がず未ログインのままアクセスしてしまう不具合を修正しました。委譲先のサブタスクや、質問への回答後に再開したジョブでも、親に紐づけたログインセッションがそのまま使われます。リサーチが委譲経由で動くようになって以降、ログインが必要なサイトの取得に影響していた問題です。
|
||||
|
||||
## 2026-06-28 — 外部エージェントが委任されたスキルを実行できるように
|
||||
|
||||
A2A 連携で、外部エージェントが委任されたスキルを実際に呼び出して結果を受け取れるようになりました。
|
||||
|
||||
- 委任に同意したスペース内のスキル(ピース)を外部エージェントがリクエストすると、MAESTRO があなたの代わりにそのスキルを実行します
|
||||
- 実行の進捗はストリーミングで順次返されます
|
||||
- 実行結果と出力ファイル(Artifact)を外部エージェントが受け取れます
|
||||
- 委任スコープ外のスキルはリクエストされても実行されません(fail-closed)
|
||||
|
||||
## 2026-06-27 — A2A Agent Card の公開とスペース単位のスキル設定
|
||||
|
||||
外部エージェントが MAESTRO の Agent Card(接続情報文書)を取得できるエンドポイントを追加しました。また、スペースのオーナーが外部エージェントに公開するスキル(ピース)を選べるようになりました。
|
||||
|
||||
- **公開 Agent Card** はサーバーの接続情報のみを返します。ユーザー固有のデータは含みません
|
||||
- **委任スコープ付き Agent Card** は、委任に同意したスペース・スキルの範囲だけを返します。外部エージェントが見えるのはユーザーが許可した内容に限られます
|
||||
- スペースオーナーは **設定 → ワークスペース → A2A 公開スキル** で公開するスキルを選べます
|
||||
|
||||
実際のスキル実行(外部エージェントからのタスク起動)は次の更新で対応予定です。
|
||||
|
||||
## 2026-06-27 — A2A 認可サーバー(基盤)
|
||||
|
||||
外部エージェント連携(A2A)の土台として、OAuth2 認可サーバーを追加しました(既定は無効)。管理者が外部クライアントを登録でき、ユーザーは委任への同意・取り消しができます。実際の A2A エンドポイント公開は次の更新で行います。
|
||||
|
||||
## 2026-06-26 — フィードバックの評価タグも英語表示に対応
|
||||
|
||||
タスクの良かった/改善点フィードバックで選ぶ評価タグ(「出力の精度が高い」など)が、これまで日本語固定でした。表示言語が English のときは英語で表示されるようにしました。過去に登録済みのフィードバックも、保存内容はそのままに表示だけ言語に追従します。
|
||||
|
||||
@@ -35,6 +35,8 @@ keywords: [タスク作成, piece選択, 添付, 詳細設定, 可視性, ask po
|
||||
|
||||
ダイアログのドロップゾーンにファイルをドラッグ&ドロップ、またはクリックで選択して添付できます。添付したファイルはワークスペースの `input/` に保存され、エージェントが読み込めます。依頼文で「input のファイルを読んで」と明示すると確実です。
|
||||
|
||||
`input/` に同じ名前のファイルが既にある場合は、上書きせず `名前 (2).ext` のように自動でリネームして保存します(元のファイルは残ります)。
|
||||
|
||||
## 詳細設定
|
||||
|
||||
「詳細設定を開く」を押すと、次の項目を調整できます。
|
||||
@@ -109,6 +111,8 @@ keywords: [タスク作成, piece選択, 添付, 詳細設定, 可視性, ask po
|
||||
|
||||
アップロード・削除はタスクのオーナー(と管理者)だけが行えます。エージェントの実行中はファイルを変更できません(実行が終わってから操作してください)。同名のファイルをアップロードすると、既存を上書きせず `名前 (2).拡張子` のように別名で保存します。
|
||||
|
||||
エージェントが成果物を書き込むとき、同じ名前のファイルが既にあり、エージェントがその最新版を読んでいない場合は、古いファイルを同じ階層の `old/` フォルダへ退避してから新しい内容を元のファイル名で保存します。退避先では `report_old1.md`、`report_old2.md` のように連番が付きます。
|
||||
|
||||
## ファイルのダウンロード
|
||||
|
||||
ファイルにマウスを重ねると、タイル右上にダウンロードアイコンが出て、1 件だけその場で保存できます。ダウンロードは閲覧操作なので、編集権の無い閲覧メンバーでも行えます。
|
||||
|
||||
@@ -57,8 +57,9 @@ keywords: [ファイル, output, プレビュー, PDF, 印刷, ダウンロー
|
||||
- **PDF**: 埋め込みビューアで表示
|
||||
- **Excel (.xlsx / .xlsm)**: 各シートを表として表示。シートが複数あるときは上部のタブで切り替えられます
|
||||
- **PowerPoint (.pptx / .ppt)**: 各スライドを画像にして見た目どおりに表示。上から順にスクロールで確認できます
|
||||
- **Word (.docx)**: 各ページを画像にして見た目どおりに表示。上から順にスクロールで確認できます(本文の文字選択・検索はできません)
|
||||
|
||||
Excel・PowerPoint は、開いたときにサーバー側で表示用に変換します(少し時間がかかることがあります)。PowerPoint の画像化にはサーバーに変換エンジン(LibreOffice)が必要で、未導入の場合はプレビューの代わりにダウンロードの案内が出ます。
|
||||
Excel・PowerPoint・Word は、開いたときにサーバー側で表示用に変換します(少し時間がかかることがあります)。PowerPoint と Word の画像化にはサーバーに変換エンジン(LibreOffice)が必要で、未導入の場合はプレビューの代わりにダウンロードの案内が出ます。長い Word 文書は先頭 50 ページまでを表示します。
|
||||
|
||||
output 配下の Markdown を編集できる場合は、プレビュー右上に **「編集」** ボタンが出ます。
|
||||
|
||||
|
||||
@@ -12,11 +12,11 @@ Piece は「タスクの種類ごとの実行手順」を定義したもので
|
||||
|
||||
## Piece とは
|
||||
|
||||
1 つの Piece は **movement(フェーズ)の並び** で構成されます。各 movement には「使ってよいツール(`allowed_tools`)」「ファイル編集の可否(`edit`)」「次の movement への遷移条件(`rules`)」が定義されています。
|
||||
1 つの Piece は **movement(フェーズ)の並び** で構成されます。各 movement には「役割(persona)」「やること(instruction)」「次の movement への遷移条件(`rules`)」が定義されています。
|
||||
|
||||
シンプルな Piece は単一 movement(例: `chat`)、調査系は「分解 → 集約 → 検証」のように複数 movement を持ちます。
|
||||
|
||||
> **ツールの可否はワークスペースが決めます**: 最終的にエージェントが使えるツールは、いまは Piece の `allowed_tools` ではなく**ワークスペースのツールポリシー**(設定 → ツール)で決まります。Bash・ブラウザ・SSH・外部 MCP などのセンシティブなツールは、ワークスペースでオンにしていなければ Piece に書いても使えません。`allowed_tools` は「この movement の手順で使う道具」を表す記述に役割が移りつつあります。ツールが使えないときは、まずワークスペースのツール設定を確認してください(→[ツールリファレンス](16-tools.md)・[ワークスペースとメンバー](21-workspaces.md))。
|
||||
> **ツールの可否はワークスペースが決めます**: エージェントが使えるツール、ファイル編集(Write/Edit)の可否、到達できる SSH 接続は、いずれも Piece ではなく**ワークスペースのツールポリシー**(設定 → ツール/SSH)で決まります。Bash・ブラウザ・SSH・外部 MCP などのセンシティブなツールは、ワークスペースでオンにしていなければ使えません。Piece はツールを宣言しません(手順の流れだけを定義します)。ツールが使えないときは、まずワークスペースのツール設定を確認してください(→[ツールリファレンス](16-tools.md)・[ワークスペースとメンバー](21-workspaces.md))。
|
||||
|
||||
## Piece はどう選ばれるか
|
||||
|
||||
@@ -90,8 +90,8 @@ Default Piece の行にある `⎘` ボタンをクリックすると「複製
|
||||
|
||||
- `description` は分類器が読みます。「○○をする。選ぶべき場合: … / 選ぶべきでない場合: …」の形式が効きます
|
||||
- `instruction`(指示書)は長く書いて構いません。手順・避けるべきこと・終了方法を明示するとエージェントの動きが安定します
|
||||
- movement の開始時に、その movement の `allowed_tools` と 1 行サマリが自動で system prompt に注入されます。指示書にツール一覧を重複して書く必要はありません
|
||||
- 必要なツールは `allowed_tools` に列挙します。MCP ツールをまとめて許可するなら `mcp__*` を追加します
|
||||
- すべての movement で共通して使うツールは、トップレベルの `shared_tools` にまとめて書けます。`shared_tools` のツールは各 movement の `allowed_tools` に自動で合算されるので、movement ごとに同じツールを繰り返す必要がなく、書き忘れも減ります。`edit`(Write/Edit の可否)と SSH 接続の許可は従来どおり movement ごとに効くため、`shared_tools` に入れても接続を宣言していない movement では SSH ツールは使えません
|
||||
- movement の開始時に、その時点でワークスペースが許可しているツール一覧と 1 行サマリが自動で system prompt に注入されます。指示書にツール一覧を書く必要はありません
|
||||
- Piece にはツールを列挙しません。使えるツール(MCP を含む)はワークスペースの **設定 → ツール** で決まります
|
||||
- ファイル編集(Write/Edit)の可否と SSH 接続もワークスペースの設定で決まります。Piece 側に編集フラグや接続の宣言はありません
|
||||
- 使おうとしたツールがワークスペースのツールポリシーで許可されていない場合は弾かれます。その場合はまずワークスペースの **設定 → ツール** で該当カテゴリを有効にしてください([困ったときは](08-troubleshooting.md) 参照)
|
||||
- エージェントは、作業に必要なのにこの movement に無いツールを見つけると、その利用を「要求」できます。対話的に実行中のタスクでは**チャットに承認カード**が出て、その場で「許可/拒否」を選べます。許可するとそのツールはそのタスクで使えるようになり、エージェントが続行します。恒久的に使えるようにするには、Piece の `allowed_tools` か `shared_tools` にそのツールを追加してください
|
||||
- エージェントは、作業に必要なのにいま許可されていないツールを見つけると、その利用を「要求」できます。対話的に実行中のタスクでは**チャットに承認カード**が出て、その場で「許可/拒否」を選べます。許可するとそのツールはそのタスクで使えるようになり、エージェントが続行します。恒久的に使えるようにするには、ワークスペースの **設定 → ツール** で該当カテゴリを有効にしてください
|
||||
|
||||
@@ -57,6 +57,8 @@ delegate は標準で有効なので、特別な設定は不要です。実行
|
||||
|
||||
実行中の delegate サブエージェントは、チャット欄に専用の小さなコンソール枠でリアルタイムに文字出力が流れます(メインエージェントと同じ見え方)。完了後は「概要 > サブ実行」に作業記録(タイムライン)が残ります。
|
||||
|
||||
SpawnSubTask で起動したサブタスクの**中で** delegate が動いた場合も、その進捗が親タスクの委譲ビューに表示されます。チャット欄ではサブタスクごとにまとめたリアルタイムコンソールで様子を確認でき、完了後は「概要 > サブ実行」のカード内にそのサブタスクが実施した delegate の記録も残ります。並列サブタスクを使う構成でも、ひとつ上の親タスク画面から委譲の進捗をまとめて把握できます。
|
||||
|
||||
- ヘッダーに「N/M 完了」のカウンタが出る
|
||||
- 各サブタスク・delegate 実行はカード表示で、ステータス・出力ファイル・ログ・入力ファイルを開ける
|
||||
- delegate 実行は展開して「何をしたか」の詳細(ツール呼び出し・成功/中断)を確認できます
|
||||
|
||||
@@ -3,7 +3,7 @@ id: ssh
|
||||
title: SSH リモート操作
|
||||
category: advanced
|
||||
order: 140
|
||||
keywords: [SSH, リモート, exec, アップロード, コンソール, PTY, デプロイ]
|
||||
keywords: [SSH, リモート, exec, アップロード, コンソール, PTY, デプロイ, タブ, 複数セッション]
|
||||
---
|
||||
|
||||
## SSH でできること
|
||||
@@ -56,6 +56,16 @@ MAESTRO は、エージェントが SSH 経由でリモートホストを操作
|
||||
|
||||
`ssh-console` piece でタスクを実行すると、エージェントがコンソールセッションを開きます。アクティブなセッションがある間、タスク詳細に「SSH」タブが現れ、ここでターミナル画面をリアルタイムに見て、人間が直接コマンドを打つこともできます。タスク詳細での見方・介入は [実行中のタスクを見る・介入する](./03-running.md) を参照してください。
|
||||
|
||||
### 複数のセッションを同時に開く
|
||||
|
||||
1 つのタスクで、複数の SSH 接続に同時にセッションを開けます。SSH タブの上部には接続ごとのタブが並び、クリックで切り替えられます。各タブには接続名と、状態を示す丸(接続中 / アイドル / 切断)が付き、**エージェントがそのセッションを操作している間は ⚡ が点灯**します。
|
||||
|
||||
- **+ 接続** ボタンを押すと、別の接続を選んで新しいセッションを追加できます。既存のタブは閉じません
|
||||
- 不要になったセッションはタブの **✕** で閉じられます。閉じられるのは、そのセッションを開いた本人か、ワークスペースのオーナー・管理者だけです
|
||||
- 画面をリアルタイムに流し続けるのは、いま選んでいるタブだけです。他のタブに切り替えると、それまでの出力(scrollback)を巻き戻して表示します
|
||||
- **エージェントが別の接続を開いたり切り替えたりしても、いま見ている画面は変わりません。** 表示が切り替わるのは、ユーザー自身がタブをクリックしたときだけです
|
||||
- 同時に開けるセッション数には上限があります(既定 5。admin の設定次第でユーザー単位の上限も加わります)。上限に達すると新しいセッションは開けず、使っていないタブを閉じるよう案内が出ます
|
||||
|
||||
## SSH 接続プロファイルを登録する
|
||||
|
||||
接続は、ワークスペースを開いて **設定 → SSH** から登録します(旧「ユーザーフォルダ → SSH 接続」タブは廃止され、ワークスペース設定に集約されました)。個人ワークスペースで登録すれば自分専用、案件ワークスペースで登録すればメンバー共有の接続になります。秘密鍵はワークスペースの鍵で暗号化保存され、メンバーは接続を使えても鍵の中身は見えません。
|
||||
@@ -76,7 +86,7 @@ MAESTRO は、エージェントが SSH 経由でリモートホストを操作
|
||||
4. `ssh-ops` または `ssh-console` を使うタスクを作成して実行する
|
||||
5. ssh-console の場合はタスク詳細の SSH タブで画面を確認・操作する
|
||||
|
||||
Piece の選び方や `allowed_tools` の考え方は [piece を使う・作る](./05-pieces.md) を参照してください。
|
||||
Piece の選び方は [piece を使う・作る](./05-pieces.md) を参照してください。SSH 接続の可否はワークスペースの **設定 → ツール/SSH** で決まります(Piece には書きません)。
|
||||
|
||||
## 他のワークスペースから取り込む
|
||||
|
||||
|
||||
@@ -20,11 +20,11 @@ movement の開始時には、その movement で使えるツールの一覧と
|
||||
|
||||
| カテゴリ | できること | 例 |
|
||||
|---|---|---|
|
||||
| ファイル / シェル | ワークスペースのファイル操作とコマンド実行 | Read / Write / Edit / Bash / Glob / Grep |
|
||||
| ファイル / シェル | ワークスペースのファイル操作とコマンド実行(Read は Excel / Word / PDF / PPTX / メールも拡張子で自動判定して読む) | Read / Write / Edit / Bash / Glob / Grep |
|
||||
| Web / 検索 | Web 検索・取得・ダウンロード | WebSearch / WebFetch / DownloadFile |
|
||||
| 技術ドキュメント | Microsoft Learn の公式ドキュメントを検索・取得 | SearchMicrosoftLearn / FetchMicrosoftLearn |
|
||||
| ブラウザ | 実ブラウザでのページ操作 | BrowseWeb |
|
||||
| Office / ドキュメント | Excel / Word / PDF / PPTX の解析 | ReadExcel / ReadPdf / ReadDocx |
|
||||
| Office / ドキュメント | Excel / Word / PDF / PPTX は Read で解析(前処理・画像化は専用ツール) | Read / SplitExcelSheets / PdfToImages |
|
||||
| データ | SQLite データベース操作 | SQLite |
|
||||
| 画像 | 画像の読み取り・注釈 | ReadImage / AnnotateImage |
|
||||
| レビュー | LLM による一括レビュー | BatchReviewTextWithLLM |
|
||||
@@ -39,6 +39,20 @@ movement の開始時には、その movement で使えるツールの一覧と
|
||||
|
||||
SSH 系の詳しい使い方は [SSH リモート操作](./14-ssh.md) を参照してください。
|
||||
|
||||
### ブラウザのスクリーンショット
|
||||
|
||||
ブラウザ操作ツール(`BrowseWeb`・`BrowseWithSession`)でページのスクリーンショットを撮ると、縦に長いページは既定で **1 画面ぶん(ビューポート高さ)ごとに区切った複数枚**(`page-001.png`, `page-002.png` …)に自動分割して保存します。1 画面に収まるページは 1 枚のままです。全体を縦長の 1 枚で撮りたいときはフルページ指定に切り替えられます。どちらのツールでも同じ挙動です(詳細は `ReadToolDoc({ name: "BrowseWeb" })`)。
|
||||
|
||||
### テキストの文字コードとバイナリの扱い
|
||||
|
||||
Read と Grep は、UTF-8 以外で保存されたテキストも読めます。Windows で保存した日本語の `.txt` や、Excel から出した CSV に多い **Shift_JIS(CP932)**、そのほか EUC-JP なども自動で判別し、UTF-8 に変換して表示・検索します。Read の先頭には検出したエンコーディングが注記されます。Edit で書き換えたときは元のエンコーディングのまま保存するので、Windows 側のツールがそのまま使えます。
|
||||
|
||||
画像・ZIP・実行ファイルなどの本物のバイナリは、これまでどおり Read が拒否します。Grep も対象フォルダに画像などのバイナリが混じっていた場合は自動でスキップするので、検索結果にバイナリの断片が紛れ込みません。画像を内容まで読みたいときは `ReadImage` を使ってください。
|
||||
|
||||
### PDF・Excel を途中から読むときの範囲指定
|
||||
|
||||
Read の `offset`/`limit`(行指定)と `byte_offset`/`byte_length` は**テキストファイル専用**です。PDF・Excel・Word ではこれらは無視されます。PDF を特定のページだけ読むときは `page_range`(例 `"5-10"`)、Excel は `sheet` と `range`(例 `"A1:D50"`)を使います。誤って PDF に `offset` を渡した場合は、無視して先頭に戻る代わりに、正しいパラメータへの案内が出力に付きます。
|
||||
|
||||
## 常時利用できるメタツール
|
||||
|
||||
一部のツールは、ワークスペースのツールポリシーやカテゴリ設定に関係なく常に利用できます。エージェントが「自分の状況を確認する」「足りないものを補う」ための土台になるツール群です。
|
||||
@@ -48,7 +62,9 @@ SSH 系の詳しい使い方は [SSH リモート操作](./14-ssh.md) を参照
|
||||
- `RequestTool` — タスクに足りないツールの利用を申請する。チャット上でオーナーが承認すると、その場で使えるようになる
|
||||
- `ReadUserMemory` / `UpdateUserMemory` — ワークスペースのメモリを読み書きする(→[メモリ](./12-memory.md))
|
||||
- `CreateChecklist` / `CheckItem` / `GetChecklist` — タスク内の進捗チェックリスト
|
||||
- `MissionUpdate` — 長時間タスクで、目標と現在地(進捗)をユーザーに途中報告するためのピン留めメモを更新する
|
||||
- `MissionUpdate` — 長時間タスクで、目標・進捗に加えてユーザー制約・決定事項・現在の焦点をピン留めするメモ(Mission Brief)を更新する
|
||||
- `SearchTaskConversation` / `ReadTaskConversation` — このタスクの過去のやり取り(コメント+実行ログ)を検索し、前後の文脈を読み直す。「前に何を言ったか」を聞き直す前にエージェントが自分で思い出すために使う
|
||||
- `SearchWorkspaceTasks` — 同じワークスペース内の**他タスク**の会話を横断検索する(`SearchTaskConversation` は現在タスクのみ)。タスクの状態は問わず、同じワークスペースを見られるメンバーの範囲で検索する。検索結果はツール名や添付ファイル名までしか出さない要約だが、`around_ref` で前後を辿ると元のコメント本文をそのまま読める
|
||||
- `GetMyOrchestratorState` — 自分が今どのワークスペース・タスクで動いているかを把握する
|
||||
- `ReadAppDoc` / `ListAppDocs` — アプリ内のヘルプ・ドキュメントをエージェント自身が読む(`#help` のヘルプ応答などで使われる)
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ Gateway の運用は [LLM Gateway 連携](#llm-gateway) を参照。
|
||||
|-----------|------|
|
||||
| Ask / Subtasks | ASK 上限・サブタスクの制御 |
|
||||
| Context | コンテキスト使用率の警告閾値 (warn / prompt / force_transition) |
|
||||
| Safety | `max_iterations`・`max_revisits`・history 要約などの自爆防止 |
|
||||
| Safety | `max_iterations`・`max_revisits`・**実行デッドライン(Max Job Minutes / Deadline Grace)**・history 要約などの自爆防止 |
|
||||
| Reflection | タスク完了後の自動学習。詳細は [Reflection の調整](#reflection) |
|
||||
|
||||
### Tools グループ (admin)
|
||||
|
||||
@@ -43,6 +43,15 @@ keywords: [ワークスペース, 個人ワークスペース, 案件ワーク
|
||||
|
||||
エージェントが作った **成果物** は、Files タブの `output/` に保存されます。チャット一覧や成果物プレビューが空のときにもその旨を案内するので、できあがったファイルの探し場所に迷いません。
|
||||
|
||||
### ファイルの来歴(どのタスクが作ったか)
|
||||
|
||||
共有ワークスペースでは、複数のタスクが同じファイルツリーを使うため、あるファイルが「今の作業のもの」か「別タスクのもの」か分かりにくくなります。ファイルを開いてプレビューすると、ヘッダーのすぐ下に小さな **来歴** 行が出ます。表示するのは次のとおりで、どのタスクに由来するかを一目で確認できます。
|
||||
|
||||
- **種別**: ユーザーがアップロード / エージェント生成 / コマンドで生成 / エージェントが編集 など
|
||||
- **作成したタスク番号** と **最後に変更したタスク番号・日時**
|
||||
|
||||
エージェント側も同じ来歴を参照します。別タスクが作ったファイルやユーザーがアップロードした資料を編集する前に関連性を確認し、迷ったときは上書きせず新しい出力ファイルを作るようになっています。来歴に出るのはタスク番号だけで、タイトルやユーザー名は表示しません。
|
||||
|
||||
### フォルダの役割(書き込める場所・書き込めない場所)
|
||||
|
||||
Files タブの各フォルダには役割バッジが付き、エージェントが書き込める場所が一目で分かります。
|
||||
@@ -119,6 +128,15 @@ token・API key・SSH 秘密鍵などの機密値は、そのワークスペー
|
||||
- センシティブなツールは強力な操作(遠隔シェル・実ブラウザ操作・任意コマンド実行)を伴います。不要なワークスペースでは有効にしないことを推奨します。
|
||||
- 設定変更はオーナーのみ行えます。変更するとその場でワークスペース内の新規タスクに即時反映されます。
|
||||
|
||||
## Python パッケージ(ワークスペース単位で追加する)
|
||||
|
||||
エージェントの Python 実行環境には、あらかじめよく使うライブラリ(pandas・openpyxl・requests 以外は基本入っていません)が入っています。それ以外のライブラリが必要なときは、ワークスペースの **設定 → Python** タブから、オーナー / 管理者がパッケージ名を直接入力して追加できます。
|
||||
|
||||
- ここで追加したパッケージは、**そのワークスペースの中だけ** で `import` できます。他のワークスペースには影響しません。
|
||||
- インストールは **wheel があるパッケージのみ** 許可します(`requests` や `requests==2.32.3` のように、バージョンは `==` で固定できます)。標準ライブラリやプリインストール済みの名前は追加できません。
|
||||
- ダウンロードはサーバー側で安全に隔離して実行されます。エージェント自身は引き続きネットワークから遮断されたまま、追加されたライブラリだけを読み込めます。
|
||||
- この機能は既定でオフです。管理者が `config.yaml` の `python_packages.enabled` を有効にすると、タブに入力フォームが現れます。無効のとき、またはサーバー側の準備(サンドボックスや `pip`)が整っていないときは、その旨が画面に表示されます(黙って失敗しません)。インストールは安全なサンドボックスが使える環境でのみ実行できます。
|
||||
|
||||
## 関連
|
||||
|
||||
- 各設定(AGENTS.md / メモリ / Pieces / スキル / MCP / SSH / ブラウザ / ツール / メンバー / 招待リンク)の詳しい場所と操作 → [個人の資産(ワークスペース設定)](./09-userfolder.md)
|
||||
|
||||
@@ -0,0 +1,123 @@
|
||||
---
|
||||
id: a2a
|
||||
title: 外部エージェント連携(A2A 認可サーバー)
|
||||
category: advanced
|
||||
order: 230
|
||||
keywords: [A2A, エージェント連携, OAuth2, 認可サーバー, 外部エージェント, クライアント登録, 委任, agent-to-agent]
|
||||
---
|
||||
|
||||
# 外部エージェント連携(A2A 認可サーバー)
|
||||
|
||||
MAESTRO には、外部エージェントやサービスがあなたのワークスペースにアクセスするための OAuth2 認可サーバーが組み込まれています。Agent-to-Agent(A2A)連携の土台となる機能です。
|
||||
|
||||
> **既定は無効です。** 利用するには管理者が `config.yaml` で `a2a.enabled: true` を設定してください。
|
||||
|
||||
## A2A 認可サーバーとは
|
||||
|
||||
外部のエージェントや自動化ツールがあなたのワークスペースに代わって操作を行うには、あなたの同意を得た上でアクセストークンを取得する必要があります。この仕組みを管理するのが A2A 認可サーバーです。
|
||||
|
||||
OAuth2 の標準フロー(認可コード + PKCE)をベースにしており、信頼できるクライアントだけがアクセスできるよう設計されています。
|
||||
|
||||
## 管理者の作業:クライアントを登録する
|
||||
|
||||
外部エージェントを接続するには、まず管理者がそのクライアントを登録する必要があります。
|
||||
|
||||
**設定 → 管理 → A2A クライアント** から操作できます。
|
||||
|
||||
| 項目 | 内容 |
|
||||
|------|------|
|
||||
| クライアント名 | 分かりやすい表示名(例: 「集計ボット」) |
|
||||
| リダイレクト URI | 外部エージェント側が受け取るコールバック URL |
|
||||
| スコープ | 付与する操作範囲(`tasks:read` / `tasks:write` など) |
|
||||
|
||||
登録するとクライアント ID が発行されます。シークレットは登録直後にのみ表示されるので、すぐ控えてください。
|
||||
|
||||
## ユーザーの作業:委任に同意・取り消しをする
|
||||
|
||||
外部エージェントがアクセスを要求すると、あなたの画面に同意ページが表示されます。内容を確認して「許可」すると、そのエージェントはあなたに代わって指定のスコープ内で操作できるようになります。
|
||||
|
||||
### 設定 → A2A 委任 から一覧・取り消し
|
||||
|
||||
**設定 → A2A 委任** を開くと、自分が過去に承認した委任の一覧が表示されます。各行には次の情報が確認できます。
|
||||
|
||||
| 項目 | 内容 |
|
||||
|------|------|
|
||||
| クライアント名 | 委任を受けた外部エージェントの名前 |
|
||||
| スペース | アクセスを許可したスペース |
|
||||
| スキル | 実行を許可したスキル(ピース) |
|
||||
| 付与日時 | 委任を承認した日付 |
|
||||
| 有効期限 | トークンの有効期限(期限なしの場合はその旨表示) |
|
||||
| ステータス | 有効(Active)または取り消し済み(Revoked) |
|
||||
|
||||
**取り消し手順:**
|
||||
|
||||
1. 取り消したい委任の行にある「取り消す」ボタンをクリックします。
|
||||
2. 確認ボタン(「取り消しを確定」)が表示されるので、再度クリックします。
|
||||
3. 取り消しは即座に反映されます。そのトークンは無効になり、その委任のもとで実行中だったタスクがあればキャンセルされます。
|
||||
|
||||
一度取り消した委任は元に戻せません。外部エージェントが再度アクセスするには、最初から認可フローをやり直す必要があります。
|
||||
|
||||
## Agent Card と公開スキル
|
||||
|
||||
外部エージェントが MAESTRO に接続する際、最初に **Agent Card**(`.well-known/agent.json`)を取得します。Agent Card はこのサーバーへの接続情報を記述した文書で、外部エージェントはここから認証フローを開始します。
|
||||
|
||||
カードには「公開版」と「委任スコープ付き版」の2種類があります。
|
||||
|
||||
| カード種別 | 内容 |
|
||||
|-----------|------|
|
||||
| 公開版(認証なし) | サーバーの接続情報のみ。ユーザー固有の情報は含まない |
|
||||
| 委任版(認証あり) | 委任に同意したスペース・スキルだけが記載される |
|
||||
|
||||
### スペース単位の公開スキル設定
|
||||
|
||||
スペースのオーナーは、そのスペースで外部エージェントに公開するスキル(ピース)を選べます。**設定 → ワークスペース → A2A 公開スキル** で選択できます。
|
||||
|
||||
- 選択したスキルだけが委任版 Agent Card に含まれます
|
||||
- 未選択のスペースはすべて非公開扱いです
|
||||
- 外部エージェントが見えるのは、ユーザーが委任に同意し、かつオーナーが公開設定したスペース・スキルの範囲だけです
|
||||
|
||||
## 有効化の設定
|
||||
|
||||
`config.yaml` に以下を追加してください。
|
||||
|
||||
```yaml
|
||||
a2a:
|
||||
enabled: true
|
||||
```
|
||||
|
||||
その他のオプション(トークン有効期限・セッション鍵など)は AGENTS.md または管理者向け設定ドキュメントを参照してください。
|
||||
|
||||
## スキルの実行と結果の受け取り
|
||||
|
||||
同意を得た外部エージェントは、委任されたスコープ内のスキルを呼び出してタスクを実行できます。
|
||||
|
||||
外部エージェントがスキルをリクエストすると、MAESTRO はあなたの代わりに対象スペース内でマッチするピースを起動します。実行の進捗はリクエスト側に順次ストリーミングされ、完了後は実行結果とファイル(Artifact)を受け取れます。
|
||||
|
||||
| 段階 | 内容 |
|
||||
|------|------|
|
||||
| リクエスト | 外部エージェントが委任トークンを添えてスキルを指定する |
|
||||
| 実行 | 委任スコープを再確認後、対象スペース内でピースを起動する |
|
||||
| 進捗 | 実行状況をストリーミングで順次返す |
|
||||
| 完了 | 実行結果と出力ファイル(Artifact)を返却する |
|
||||
|
||||
委任スコープ外のスキルはリクエストされても実行されません。
|
||||
|
||||
### 長いタスクを非ブロッキングで依頼する
|
||||
|
||||
時間のかかるタスクは、接続を張り続けずに依頼できます。`message/send` に `configuration.blocking: false` を付けると、MAESTRO はタスクを受け付けた時点(`submitted` / `working`)で**即座に応答を返します**。完了を待たないので、接続を保持し続ける必要はありません。
|
||||
|
||||
結果は後から `tasks/get`(`params.id` にタスク ID を指定)で取得します。タスクが完了していれば `completed` 状態と出力ファイル(Artifact)が返り、まだ実行中なら現在の状態が返ります。ブリッジ側は裏側でジョブの状態を追い続け、切断や再起動をまたいでもタスクを最終状態まで収束させます。
|
||||
|
||||
| 段階 | 内容 |
|
||||
|------|------|
|
||||
| 依頼 | `configuration.blocking: false` を付けて `message/send` |
|
||||
| 即応 | 受付時点の非終了状態(`submitted` / `working`)がすぐ返る |
|
||||
| 取得 | 後から `tasks/get` で最新状態・結果を取得する |
|
||||
|
||||
> `tasks/resubscribe` は現在、**その時点の最新状態を返すだけ**です。切断後に進捗ストリームを途中から再開することはできません(進捗を追う場合は `tasks/get` でポーリングしてください)。
|
||||
|
||||
## 注意事項
|
||||
|
||||
- 外部エージェントに付与するスコープは必要最小限にしてください。
|
||||
- クライアントシークレットは安全に管理し、外部に漏らさないでください。
|
||||
- push 通知(webhook)やリソース上限(同時実行数・ペイロードサイズ)は後続のアップデートで対応予定です。
|
||||
Reference in New Issue
Block a user