sync: update from private repo (9a86f49b)
CI / build-and-test (push) Successful in 9m8s
CI / build-and-test (pull_request) Successful in 9m42s

This commit is contained in:
oss-sync
2026-07-12 23:51:48 +00:00
parent a67c40d33c
commit ed3dc5529a
159 changed files with 11696 additions and 1600 deletions
+95
View File
@@ -12,6 +12,97 @@ MAESTRO に入った、ユーザーに関係する主な変更を新しい順に
> 機能に変更があるたび、このページを更新していきます。日付は変更が本番に入ったおおよその時期です。
## 2026-07-12 — 完了済みのMovementでも目的を確認できるようになりました
Movement Mapの緑色の完了点を押したときも、実行中・待機中の点と同じようにMovementの目的が表示されます。詳細内の「このMovementへ移動」から、対応する会話箇所へ移動できます。
## 2026-07-12 — Movement Mapで作業の差し戻しやRetryを追えるようになりました
会話右側のMovement Mapに、実際に通った工程、前の工程への差し戻し、LLM通信とジョブ全体のRetry、ユーザーのコメントや追加依頼が時系列で表示されます。履歴の印を押すと、会話内の対応する工程やメッセージへ移動して強調表示されるため、タスクがどのような経緯をたどったかを後から確認できます(→[実行中のタスクを見る・介入する](./03-running.md))。
## 2026-07-12 — モデル選択パネルが途中で切れないようにしました
チャット入力欄からモデルを選ぶパネルが、会話エリアの端で切れて操作しにくくなる問題を修正しました。画面の空きに合わせて上下を切り替え、狭い画面でもパネル全体をスクロールして操作できます。
## 2026-07-12 — 入力欄のコンテキスト表示を計器だけにしました
コンテキストの使用量は入力欄の下端にある細い計器だけで確認できるようになりました。入力欄全体を色付けしていた背景表示はなくなり、文章に集中しやすくなっています。
## 2026-07-12 — 「最新に移動」ボタンを会話の中央へ戻しました
過去のメッセージを読んでいるときに表示される「最新に移動」ボタンが、会話から離れた位置へずれる問題を修正しました。画面幅や詳細パネルの状態にかかわらず、入力欄のすぐ上で会話本文の中央に表示されます。
## 2026-07-10 — 入力欄のコンテキスト表示を静かにしました
入力欄を横切っていた波と気泡を、ごく薄い光と下端の細い計器に置き換えました。使用量と警告色は確認しやすいまま、入力中の文章に集中しやすくなっています。
## 2026-07-10 — ペットと星のアニメーションをさらに滑らかにしました
ペットのスプライトがコマを飛ばしてカクついて見える問題を修正しました。ツールが短時間に連続実行された場合も、落下中の星が出発点へ戻らず、同じ軌道を最後まで滑らかに進みます。
## 2026-07-10 — チャットのペットのツールエフェクトを強化しました
チャットのペットが出すツール実行時のエフェクトを、種別ごとの演出(検索=波紋、ターミナル=点滅、ファイル操作=紙片、ブラウザ操作=窓の開閉、issue操作=マーカー、MCP=電気火花、それ以外=星)に分けました。成功時は緑、失敗時は赤+「!」マークで結果が一目でわかり、短時間にツールが連続実行されたときはエフェクトを重ねず「×N」件数バッジでまとめて表示します。
## 2026-07-10 — 会話の進み具合とコンテキスト量を直感的に確認できるようになりました
会話の右中央に薄い Movement ミニマップを追加し、チャットの幅を狭めずに完了・実行中・待機中の工程を確認できるようにしました。長い工程指示は通常表示せず、点を押したときに目的を2行だけ表示し、必要な場合だけ全文を開けます。入力欄の背景にはコンテキスト使用量が水のように左から満ち、残量が少なくなるにつれて青から黄・橙・赤へ変わります。会話中も星のボタンからプロンプトコーチを使えます。ワークスペースの新規チャットは別画面を重ねず、会話ペイン内で作成できるようになりました。
## 2026-07-10 — チャットのペットのちらつきを直し、動きをなめらかにしました
会話中に表示されるペットが、ツールの実行タイミングや待機中にちらつく・コマ送りが頭出しに飛ぶ問題を修正しました。ツールが連続で動くときの反応もリアルタイムになり、走る・跳ねる動きの途中で止まって見えていた点も解消しています。
## 2026-07-10 — 会話コンポーザーのモデル選択まわりの表示を整理しました
タスク実行中に出ていた「実行中のジョブには適用されません」の注記を、モデル切り替えボタンの隣ではなく、ボタンを押して開くモデル選択パネルの中に移しました。狭い画面でコンポーザーの操作列が2行に折り返してしまう問題を解消しています。
## 2026-07-10 — Slack 連携の紐付けを管理画面から登録・管理できるようになりました(管理者)
これまで管理者 API を直接呼ぶ必要があった Slack チャンネルとワークスペースの紐付け(バインディング)を、設定の「💬 チャット連携」画面から登録・有効化/無効化・削除できるようになりました。委任(A2A Delegation)は「有効かつ付与スペースがちょうど1つ」のものだけが選べ、Slack の署名シークレットと Bot トークンは保存後に再表示されない書き込み専用の扱いです(→[チャット連携(Slack](./24-chat-connectors.md))。
## 2026-07-10 — AI にリマインダーの登録と取消を頼めるようにしました
AI に未来の時刻または指定分後の通知を頼むと、個人向けリマインダーとして保存されます。登録済みの通知は一覧で確認でき、ID を指定して取消できます。
## 2026-07-10 — Slack メンションの再送でタスクが重複しないようにしました
Slack 側から同じイベントが再送されても、紐付けたワークスペースのタスク作成と返信は1回だけ行われます。チャット連携は A2A が有効な構成でのみ受け付けるようになりました。
## 2026-07-10 — アプリ内でタスク通知を確認できるようにしました
タスクの状態が変わると、アプリ右下に通知が積み上がります。ブラウザ通知の許可がなくても表示され、通知から対象タスクを開いたり、個別に閉じたりできます。
タスク完了の通知では、設定済みの Pet が完了アニメーションでお知らせします。
カレンダー予定の作成・編集時に、開始何分前に通知するかを選べるようにしました。
## 2026-07-10 — 設定検索から目的の入力欄へ直接移動できるようにしました
Settings の検索結果で項目名や設定キーを選ぶと、長い **Workers**、**Web & Search**、**Admin SSH** フォームでも該当する入力欄へ移動して強調表示されます。
## 2026-07-10 — アプリ設定とワークスペース設定を区別しやすくしました
アプリ設定画面に、個人・システム全体へ適用される設定であることを表示しました。ワークスペースを開いているときは、そのワークスペースだけに保存される設定へ直接戻れます。
## 2026-07-10 — 未保存の管理設定をサイドバーで確認できるようにしました
管理設定を編集すると、まだ **Save & Apply** していないセクションに小さな印が付きます。別の設定を確認していても未保存の変更を見失わず、保存・破棄・再読み込みを行うと印は消えます。
## 2026-07-10 — モバイルの設定画面で戻る操作が正しく動くようにしました
モバイルで設定項目を開いた後、画面上部の戻る操作やブラウザの戻る/進むを使うと、設定一覧と編集画面が URL に合わせて正しく切り替わるようになりました。設定項目への直接リンクも、その項目の編集画面から開きます。
## 2026-07-10 — 設定の入力エラーを修正箇所まで案内するようにしました
LLM ワーカーの `extra_body` に不正な JSON を入力すると保存が止まる場面で、保存バーの **問題の入力へ** から該当の入力欄へ直接移動できるようになりました。長い設定画面でも、修正が必要な箇所を探し直さずに済みます。
## 2026-07-10 — タスク作成・会話画面からモデルと reasoning effort をタスクごとに直接指定できるように
タスク作成の詳細設定と、会話画面のコンポーザーに「モデル / ワーカー直接指定」と「推論の強さ (reasoning effort)」の選択欄を追加しました。これまではプロファイル(`auto` / `fast` / `quality`)による自動ルーティングしかできませんでしたが、特定のワーカーを名指しで固定でき、指定するとプロファイルの選択は使われなくなります。指定はタスクに紐づいて残り、続けて送るメッセージやサブタスクにも引き継がれます。コンポーザーからの変更は実行中のジョブには影響せず、次のジョブから反映されます。指定したワーカーが後から無効化・削除された場合は空き待ちのまま止まるため、`自動` に戻すと復旧します(→[タスクを作って実行する](./02-tasks.md)・[実行中のタスクを見る・介入する](./03-running.md))。
## 2026-07-10 — Slack でボットにメンションすると、紐付けたワークスペースでタスクを実行して結果を返信するようになりました(管理者設定)
Slack のチャンネルでボットにメンションすると、あらかじめ紐付けたワークスペースでタスクが実行され、結果の要約と詳細リンクが同じチャンネル(スレッド)に返信されるようになりました。現時点ではテキストの依頼のみに対応し、紐付け(バインディング)の登録は管理者による設定が必要です(→[チャット連携(Slack](./24-chat-connectors.md))。
## 2026-07-10 — 「A2A 委任」設定が無効環境でエラーにならないようにしました
A2A を有効にしていないサーバーでは、設定の「A2A 委任」項目を開くと読み込みエラーが表示されていました。この項目は A2A が有効なときだけ意味を持つため、無効なサーバーでは設定サイドバーに表示しないようにしました(→[外部エージェント連携(A2A](./23-a2a.md))。
@@ -44,6 +135,10 @@ delegate カードの変更ファイル一覧をクリックしてプレビュ
delegate の中断カードに「最後に失敗したツール」を表示するようにしました。
## 2026-07-09 — ワークスペースの表示メニューを右クリックで開けるように・取り消し通知を自動で消えるように
ワークスペース一覧の **お気に入り/非表示** メニューを、行を右クリックしても開けるようにしました。右クリックしたカーソルの位置にメニューが出ます(従来の **…** ボタンも使えます)。メニューは外側をクリックするか **Esc** キーで閉じられるようになり、開きっぱなしになりません。あわせて、操作直後に出る「取り消し」通知が約5秒で自動的に消えるようにしました。
## 2026-07-09 — カレンダーで単日の予定にも件数バッジ・横断ドットが付くように
単日(終了日を指定しない)の予定を追加しても、月グリッド上で分かりにくかった問題を直しました。ワークスペース別カレンダーの日付マスにタスク件数の💬バッジと並んで予定件数の📌バッジが表示されるようになり、単日の予定を追加したその場で気づけます。横断カレンダーの色ドットも、これまでタスクがある日にしか出ませんでしたが、予定だけの日にも表示されるようになりました(ドットにカーソルを合わせるとタスク・予定の内訳を確認できます)。
+11 -3
View File
@@ -3,7 +3,7 @@ id: tasks
title: タスクを作って実行する
category: basic
order: 20
keywords: [タスク作成, piece選択, 添付, 詳細設定, 可視性, ask policy, ワークスペース, 共有, メンバー, 招待, 組織, サブタブ, ファイル, 設定, 個人ワークスペース]
keywords: [タスク作成, piece選択, 添付, 詳細設定, 可視性, ask policy, ワークスペース, 共有, メンバー, 招待, 組織, サブタブ, ファイル, 設定, 個人ワークスペース, モデル選択, ワーカー直接指定, reasoning effort]
---
## タスクはワークスペースで作る
@@ -12,7 +12,7 @@ keywords: [タスク作成, piece選択, 添付, 詳細設定, 可視性, ask po
## 新しいタスクを作る
ワークスペースのチャット一覧の上部にある **「新しい Task」ボタン** を押すと、作成ダイアログが開きます。最低限必要なのは「依頼内容」だけです。
ワークスペースのチャット一覧の上部にある **「新しい Task」ボタン** を押すと、右側の会話ペインに作成フォームが開きます。最低限必要なのは「依頼内容」だけです。
### 依頼内容
@@ -29,7 +29,7 @@ keywords: [タスク作成, piece選択, 添付, 詳細設定, 可視性, ask po
### プロンプトコーチ(依頼文の採点・改善)
作成ダイアログには、書いた依頼文をその場で評価してくれる **プロンプトコーチ** があります。実行前に依頼文を採点し、何が足りないか(出力形式・観点・制約の不足など)を指摘したうえで、改善した文案を提示します。提案をそのまま入力欄に反映できるので、曖昧な依頼で `waiting_human` に止まる前に、依頼の質を上げられます。入力欄の近くに出る一般的な書き方のヒント(Tips)とは別の、あなたの依頼文に対する個別フィードバックです。
作成フォームには、書いた依頼文をその場で評価してくれる **プロンプトコーチ** があります。実行前に依頼文を採点し、何が足りないか(出力形式・観点・制約の不足など)を指摘したうえで、改善した文案を提示します。提案をそのまま入力欄に反映できます。チャットを始めた後も入力欄の星ボタンから同じ評価を使えます。
### 添付ファイル
@@ -60,6 +60,14 @@ keywords: [タスク作成, piece選択, 添付, 詳細設定, 可視性, ask po
- **プロファイル**: `auto` / `fast` / `quality` — どの種類のワーカーで実行するか
- **優先度**: `low` / `medium` / `high` — ワーカーが拾う順番に影響します
### モデル / ワーカー直接指定
プロファイルによる自動選択に任せず、使うモデル(ワーカー)を名指しで固定したいときは、「モデル / ワーカー直接指定」から選びます。`自動(プロファイルで選択)` のままなら従来どおりプロファイルでルーティングされますが、特定のワーカーを選ぶと **プロファイルは使われず**、以後そのワーカーだけで実行されます。
ワーカーを選ぶと「推論の強さ (reasoning effort)」も選べるようになります。選択肢は、そのワーカーが対応している effort だけが表示されます(設定 → LLM Workers 側で宣言されたものです)。
この指定はタスクに紐づいて残り(sticky)、続けて送るメッセージやそこから生まれるサブタスクにも引き継がれます。あとから変更したい場合は、会話画面のコンポーザーからも切り替えられます(→[実行中のタスクを見る・介入する](./03-running.md))。
### 出力形式
`markdown` / `text` / `json` から選べます。最終回答の形式の指針になります。
+16 -2
View File
@@ -3,7 +3,7 @@ id: running
title: 実行中のタスクを見る・介入する
category: basic
order: 30
keywords: [チャット, ストリーミング, ツールコール, 割り込み, interjection, ブラウザ, SSH, 進捗, タブ, 入場エフェクト]
keywords: [チャット, ストリーミング, ツールコール, 割り込み, interjection, ブラウザ, SSH, 進捗, タブ, 入場エフェクト, モデル選択, ワーカー直接指定, reasoning effort]
---
タスクが動き出すと、その様子をリアルタイムで観察でき、必要なら途中で口を出せます。
@@ -39,11 +39,25 @@ keywords: [チャット, ストリーミング, ツールコール, 割り込み
チャットが「会話の見え方」だとすれば、進捗タブは「作業ログの見え方」です。
過去のメッセージまでスクロールすると、入力欄のすぐ上に **最新に移動** ボタンが表示されます。選ぶと会話の末尾へ戻り、まだ見ていないメッセージがある場合は件数も表示されます。
### 入力欄とコンテキスト残量ゲージ
入力欄(コンポーザー)はカード型で、書いた内容に合わせて高さが自動で伸びます(1〜8 行程度)。長めの指示を書いても窮屈にならず、送る前に見直しやすくなっています。
ツールバー右下には、いまの会話が使っているコンテキスト量を示す **残量ゲージ** が常時表示されます(概要タブにも同じ情報のカード版があります)。使用率が 70% を超えるとバーの横にパーセント表示が出て、残量が少ないことがひと目で分かります。マウスを乗せると実際のトークン数を確認できます。上限に近づくと色も変わります。ゲージが詰まってくると、エージェントは古いやり取りを自動で要約して空きを作りながら作業を続けます(→[結果を受け取る](./04-results.md)・[トラブルシューティング](./08-troubleshooting.md))。
入力欄の下端にある細い計器で、いまの会話が使っているコンテキスト量を確認できます。使用率が増えるにつれて青から黄・橙・赤へ変わり、ツールバーには使用トークン数と上限も表示されます。ゲージが詰まってくると、エージェントは古いやり取りを自動で要約して空きを作りながら作業を続けます(→[結果を受け取る](./04-results.md)・[トラブルシューティング](./08-troubleshooting.md))。
会話の右中央には、Movement の現在地と実際の履歴を示す細い **ミニマップ型レール** が薄く重なります。緑は完了、青は実行中、灰色は待機中の工程です。途中で前の工程へ戻った場合は戻り矢印、LLM通信のRetryは黄色の回転矢印、ジョブ全体のRetryは橙色の矢印、ユーザーのコメントや追加依頼は青色の印で表示されます。同じMovementをやり直した場合も実行順に残るため、作業がどのように変遷したかを確認できます。
実行済み・実行中・待機中のMovement点を押すと、どの状態でも工程の目的が2行で表示されます。実行済みの点では、詳細内の **このMovementへ移動** を押すと対応する会話箇所までスクロールし、一時的に強調されます。Retryやコメントなどの記号は、押すと直接その箇所へ移動します。カーソルを合わせるかキーボードで選ぶと工程名・状態・Retry回数・コメント冒頭を確認できます。長い指示は **全文を見る** から開けます。Pet を有効にしている場合は、現在地の点の横に小さく表示されます。
### 使うモデルを会話の途中で切り替える
コンポーザーには、いま使われているモデルを表示するボタン(`モデル: 自動` または `モデル名 @ ワーカーID · effort`)があります。押すとポップオーバーが開き、「モデル / ワーカー直接指定」と「推論の強さ (reasoning effort)」をその場で選び直せます。パネルは画面の空きに合わせてボタンの上または下に表示され、狭い画面ではパネル内をスクロールできます。ワーカーを指定するとタスク作成時の詳細設定と同じくプロファイルは使われなくなり、`自動(プロファイルで選択)` に戻せばいつでも自動ルーティングに戻せます。
この変更もタスクに紐づいて残り(sticky)、以後の返信やサブタスクに引き継がれます。ただし **反映されるのは次に投入されるジョブから** です。実行中のジョブがあるときは「実行中のジョブには適用されません。次のジョブから有効」と添えて表示され、いま動いている処理を横から書き換えるわけではないことを示します。
指定していたワーカーが後から無効化・削除されて使えなくなると、ボタンとポップオーバーに警告色のバッジが出て空き待ちのまま止まってしまいます。その場合はポップオーバーから `自動` を選び直すと、自動ルーティングに戻って進行が再開します。
## 実行中に指示を追加する(割り込み / interjection
+4
View File
@@ -8,6 +8,10 @@ keywords: [通知, ブラウザ通知, Web Push, プッシュ通知, Service Wor
# 通知を受け取る
アプリを開いている間は、タスクの状態変更が画面右下の**アプリ内通知**にも表示されます。これはブラウザの通知権限とは別に動作します。通知を選ぶと対象タスクを開け、閉じる操作で個別に消せます。タスク完了時は、有効にしている Pet がいれば完了アニメーションも表示されます。Pet を設定していない場合や画像を読み込めない場合でも、通常の完了通知は表示されます。
スペースのカレンダー予定には、開始時・5分前・10分前・30分前・1時間前の通知時刻を設定できます。開始時刻のない終日予定には通知を設定できません。
タスクの開始・完了・失敗・回答待ちをブラウザ通知で受け取れます。通知は **自分が owner のタスクのみ** が対象です。設定は TopBar → 設定 → 通知 で行います。
通知の仕組みは 2 種類あります。
+2
View File
@@ -95,3 +95,5 @@ keywords: [User Folder, ワークスペース設定, AGENTS.md, browser-macros,
## Pets
チャット画面に表示するキャラクター(マスコット)です。**設定 → Pets** で ZIP のインポート・既定キャラクターの選択・worker / backend ごとの割り当てを行います。Pets はユーザー単位の設定なので、ワークスペースではなくグローバルの設定にあります。
会話中のペットは状態に合わせてコマ送りで動き、ツールが完了すると種別と成功・失敗に応じたエフェクトを表示します。短時間に複数のツールが完了した場合は、落下中の粒子を途中から再生し直さず、件数バッジにまとめて表示します。OSで「視差効果を減らす」を有効にすると、粒子や大きな動きは抑制されます。
+1 -1
View File
@@ -34,7 +34,7 @@ movement の開始時には、その movement で使えるツールの一覧と
| オーケストレーション | サブタスクの生成 | SpawnSubTask |
| 地図 | 場所検索・経路・逆ジオコーディング | SearchPlaces / GetDirections |
| メディア | 文字起こし・動画検索・字幕取得 | TranscribeAudio / SearchYouTube / GetYouTubeTranscript |
| カレンダー | ワークスペースのカレンダーへ予定を登録・参照 | AddCalendarEvent / ListCalendarEvents |
| カレンダー・リマインダー | ワークスペースの予定と個人向けリマインダーを登録・参照・取消 | AddCalendarEvent / ListCalendarEvents / CreateReminder / ListReminders / CancelReminder |
| その他 | X(旧Twitter)検索・Amazon 検索など | XSearch / SearchAmazon |
SSH 系の詳しい使い方は [SSH リモート操作](./14-ssh.md) を参照してください。
+8 -2
View File
@@ -10,6 +10,10 @@ keywords: [設定, Settings, 管理者, Workers, Tools, Save & Apply]
設定画面は MAESTRO の挙動を `config.yaml` に書き込むための UI です。TopBar → **設定** タブで開きます。左にセクションのサイドバー、右に選択中セクションの編集フォームという 2 ペイン構成です。
モバイルでは最初にセクション一覧が表示されます。項目を選ぶと編集画面が開き、上部の戻る操作で一覧へ戻れます。URL にセクション名を含めて開いた場合は、その編集画面から表示され、ブラウザの戻る/進むにも追従します。
この画面は**個人・システム設定**です。ワークスペースを開いた状態で設定へ移動した場合は、画面上部の「ワークスペース設定を開く」から、そのワークスペースだけに保存される設定へ移動できます。ワークスペース設定では、同じ説明と「個人・システム設定に戻る」導線が表示されます。
YAML キーは **スネークケース** (`max_concurrency`)、コード内は **キャメルケース** (`maxConcurrency`) で、`src/config.ts``transformKeys` が自動変換します。UI から保存しても YAML はスネークケースのまま保たれます。
## 画面の構成
@@ -18,9 +22,11 @@ YAML キーは **スネークケース** (`max_concurrency`)、コード内は *
- **右フォーム** — 選択したセクションの設定項目。ほとんどはその場で編集するインラインフォーム
- `User` グループ以外は **admin 専用**。一般ユーザーには表示されない (`adminOnly`)
管理設定を編集してまだ **Save & Apply** を押していないセクションには、サイドバーに小さな琥珀色の印が付きます。別のセクションへ移動しても未保存変更を見失わず、保存・変更の破棄・設定の再読み込みを行うと印は消えます。
## 設定を検索する
サイドバー上部の検索ボックスに、探している設定のキーワードを入れると、該当するセクションだけが一覧に絞り込まれます。項目名だけでなく、その設定の中身(`config.yaml` のキー名や概念)でも引けます。たとえば「デッドライン」「reserve_cap」で **Safety**、「python」で **Execution**、「TLS」「証明書」で **HTTPS / TLS** に飛べます。複数の語をスペースで区切ると、そのすべてを含むセクションに絞り込みます(AND 検索)。結果をクリックするとそのセクションが開きます。表示されるのは、あなたが開ける権限のあるセクションだけです。
サイドバー上部の検索ボックスに、探している設定のキーワードを入れると、該当するセクションだけが一覧に絞り込まれます。項目名だけでなく、その設定の中身(`config.yaml` のキー名や概念)でも引けます。たとえば「デッドライン」「reserve_cap」で **Safety**、「python」で **Execution**、「TLS」「証明書」で **HTTPS / TLS** に飛べます。複数の語をスペースで区切ると、そのすべてを含むセクションに絞り込みます(AND 検索)。`Workers > Timeout``Web & Search > SearXNG URL` のように項目まで表示される結果を選ぶと、該当入力欄へ移動して強調表示されます。表示されるのは、あなたが開ける権限のあるセクションだけです。
## セクション一覧
@@ -64,7 +70,7 @@ Gateway の運用は [LLM Gateway 連携](#llm-gateway) を参照。
各 worker の編集カードには、通常の接続設定の下に「詳細設定」欄があります。
- **extra_body** — OpenAI 互換のリクエストボディへそのまま浅くマージされる任意 JSON(例: `{"reasoning_effort": "high"}`)。JSON として解析できない内容(配列・文字列・数値を含む)を入力すると赤枠とエラーメッセージが出て、その内容は保存されません。**ここに API キーなどの秘密情報を書かないでください** — `/api/config` はこの値をマスクしないため、`config.yaml` に平文のまま残ります。`model` / `messages` / `stream` / `stream_options` / `tools` / `tool_choice` / `temperature` は AAO 自身が組み立てる予約キーなので、指定しても無視されます。空欄にするとフィールド自体を省略します(`{}` にはなりません)。
- **extra_body** — OpenAI 互換のリクエストボディへそのまま浅くマージされる任意 JSON(例: `{"reasoning_effort": "high"}`)。JSON として解析できない内容(配列・文字列・数値を含む)を入力すると赤枠とエラーメッセージが出て、その内容は保存されません。保存バーの **問題の入力へ** を押すと、修正が必要な入力欄へ移動できます。**ここに API キーなどの秘密情報を書かないでください** — `/api/config` はこの値をマスクしないため、`config.yaml` に平文のまま残ります。`model` / `messages` / `stream` / `stream_options` / `tools` / `tool_choice` / `temperature` は AAO 自身が組み立てる予約キーなので、指定しても無視されます。空欄にするとフィールド自体を省略します(`{}` にはなりません)。
- **reasoning_efforts** — このワーカーが対応する reasoning effort をカンマ区切りで宣言する欄です(例: `high, medium, low`)。後続フェーズでジョブ単位の effort 指定に使われます。
- **reasoning_effort_mode** — effort をリクエストボディへ注入する形式。`body`(既定)はトップレベルの `reasoning_effort` で vLLM 向け、`chat_template_kwargs``chat_template_kwargs.reasoning_effort` で llama-serverllama.cpp)向けです。**llama-server はトップレベルの `reasoning_effort` を黙って無視する**ため、llama-server を使う場合は `chat_template_kwargs` を明示してください。
+2 -2
View File
@@ -27,9 +27,9 @@ keywords: [ワークスペース, 個人ワークスペース, 案件ワーク
一覧では、いま実行中のタスクがあるワークスペースに緑の **「● N 実行中」** バッジが行の右端に付きます(実行中が 0 件のときは表示されません)。どのワークスペースで作業が動いているかを開かずに把握できます。件数は自動で更新されます。公開範囲は **組織 / 公開** のときだけ小さく表示し、既定の **非公開** は表示しません(その分ワークスペース名を広く見せています)。
一覧の検索欄にワークスペース名の一部を入れると、参加しているワークスペースをすばやく絞り込めます。行の **…** メニューから **お気に入り** にすると専用セクションにまとまり、普段見ないものは **非表示** にできます。非表示にしたワークスペースは通常一覧から外れますが、検索結果には「非表示」バッジ付きで出るため、その場で再表示できます。下部の **非表示 N** を開いて一覧から戻すこともできます。
一覧の検索欄にワークスペース名の一部を入れると、参加しているワークスペースをすばやく絞り込めます。行の **…** メニュー、または **行を右クリック** するとメニューが開き、**お気に入り** にすると専用セクションにまとまり、普段見ないものは **非表示** にできます。右クリックのときはカーソルの位置にメニューが出ます。メニューはメニューの外側をクリックするか **Esc** キーで閉じます。非表示にしたワークスペースは通常一覧から外れますが、検索結果には「非表示」バッジ付きで出るため、その場で再表示できます。下部の **非表示 N** を開いて一覧から戻すこともできます。
お気に入り・非表示はユーザーごとの表示整理です。他のメンバーには影響せず、権限・通知・共有・直接 URL からのアクセスも変わりません。非表示にするとお気に入りは解除され、再表示しても自動ではお気に入りに戻りません。操作直後通知から取り消せます。
お気に入り・非表示はユーザーごとの表示整理です。他のメンバーには影響せず、権限・通知・共有・直接 URL からのアクセスも変わりません。非表示にするとお気に入りは解除され、再表示しても自動ではお気に入りに戻りません。操作直後通知から取り消せます。この通知は約5秒で自動的に消えます。
## 名前・色・説明を編集する
+83
View File
@@ -0,0 +1,83 @@
---
id: chat-connectors
title: チャット連携(Slack
category: advanced
order: 240
keywords: [Slack, チャット連携, チャットボット, メンション, chat connector, app_mention, A2A]
---
# チャット連携(Slack
Slack でボットにメンションすると、あらかじめ紐付けたワークスペースでタスクを実行し、結果を同じチャンネル(スレッド)に返信する機能です。裏側では [外部エージェント連携(A2A](./23-a2a.md) の仕組みをそのまま再利用しています。
> **既定は無効です。** 利用するには管理者が `config.yaml` で `chat.enabled: true`Slack 経路を使うなら合わせて `a2a.enabled: true`)を設定する必要があります。
## 現在のバージョンでできること(Phase 1)
- Slack のチャンネルでボットにメンションすると、紐付けたワークスペースでタスクが実行されます。同じ Slack イベントが再送されても、タスクは1回だけ実行されます
- 実行結果の要約と詳細リンクが、同じチャンネル(メンションがスレッド内なら同じスレッド)に返信されます
- テキストによる依頼のみに対応しています。添付ファイルは今後のバージョンで対応予定です
- 設定画面からの登録 UI はまだありません。**バインディング(チャンネルとワークスペースの紐付け)の作成は管理者にご依頼ください。**
## 仕組み
1. あなたが Slack で `@ボット名 ○○をやって` のようにメンションします
2. サーバーは、そのチャンネルに紐付けられたワークスペースと、その紐付けの元になった [A2A 委任](./23-a2a.md#ユーザーの作業委任に同意取り消しをする) を確認します
3. 委任が有効であれば、委任した本人の代わりに対象ワークスペースでピースが起動します
4. 実行が終わると、結果の要約とタスク詳細ページへのリンクが Slack に返信されます
紐付けが存在しない、委任が取り消し済み・期限切れ、またはメッセージの署名検証に失敗した場合は、**何も起こりません**(安全側に倒して無反応になります)。
## 管理者の作業:チャンネルとワークスペースを紐付ける
Phase 1 では専用の設定画面がないため、次の準備を管理者が行います。
1. **Slack アプリを用意する** — [Slack API](https://api.slack.com/apps) で Bot を作成し、`app_mention` イベントを購読、`chat:write` スコープを付与します。Events API の Request URL には、このサーバーの `/api/chat/slack/events` を指定します。
2. **A2A 委任を用意する** — 実行時に使うユーザーが、[外部エージェント連携](./23-a2a.md) の同意フローで、**1 つのワークスペースだけ**を選んで委任を許可しておきます(1 つのチャットバインディングは、必ずちょうど 1 つのワークスペースを許可した委任にひも付きます)。
3. **バインディングを登録する** — 管理者 API`POST /api/admin/chat/bindings`)で、Slack のワークスペース ID・チャンネル ID・上記の委任 ID・Bot の署名シークレットとトークンを登録します。登録した署名シークレットとトークンは、以後 API レスポンスに一切表示されません(書き込み専用)。
| 項目 | 内容 |
|------|------|
| platform | `slack`Phase 1 はこのみ) |
| externalWorkspaceId | Slack のワークスペース(teamID |
| externalChannelId | メンションを受け付ける Slack チャンネル ID |
| a2aDelegationId | 実行に使う A2A 委任の ID(1 スペースのみを許可したもの) |
| botCredentials | Slack Bot の signing secret と bot token |
## セキュリティ
- 受信した Slack イベントは、`X-Slack-Signature` / `X-Slack-Request-Timestamp` による署名検証を必ず通過しないと処理されません。署名が古すぎる(5 分以上前)リクエストはリプレイ防止のため拒否されます。
- Bot の署名シークレットとトークンは暗号化して保存され、管理者 API のレスポンスにも表示されません。
- 実行時に使われる権限は、あなたが同意した A2A 委任のスコープ(ワークスペース・スキル)と、あなた自身が普段アクセスできる範囲の**両方を満たす範囲**に限られます。委任が取り消されれば、チャット経由の実行もすぐに効かなくなります。
- リクエスト数の上限・同時実行数の上限は、[A2A のリソース制限](./23-a2a.md#委任ごとのリソース制限) と共有されます。
## 有効化の設定
`config.yaml` に以下を追加してください(`a2a.enabled: true` も合わせて必要です)。
```yaml
a2a:
enabled: true
chat:
enabled: true
public_base_url: "https://maestro.example.com" # 返信メッセージ内のリンクに使う絶対URL(省略可)
slack:
signing_secret_max_age_sec: 300 # リプレイ防止の許容時間(省略可、既定300秒)
```
## 管理画面から登録する(推奨)
管理者は、設定の **「💬 チャット連携」**(サーバーで `chat.enabled: true` のときに表示)からバインディングを登録・管理できます。
1. 「+ バインディングを追加」を開く
2. Slack の Workspace(Team) ID・Channel ID を入力
3. 紐付ける **A2A 委任** を選ぶ(一覧には「有効かつ付与スペースがちょうど1つ」の委任だけが出ます。付与スペースがそのままタスクの実行先になります)
4. Slack の **署名シークレット****Bot トークン** を入力して作成
資格情報は保存後に画面へ再表示されません(書き込み専用)。変更したいときは、新しい値を入力して更新します。一覧からは各バインディングの有効/無効の切り替えと削除ができます。
## 今後の予定
- Discord・Microsoft Teams への対応
- 追加確認(input-required)の往復対応
- 添付ファイル(画像・PDF など)の選択的な受け取り