This commit is contained in:
+12
-1
@@ -29,6 +29,10 @@ movements:
|
||||
でも同じ doc が返る。SshListConnections は ReadToolDoc({name: "SshListConnections"})。
|
||||
|
||||
## 標準 flow
|
||||
0. ユーザーが Console タブから既にセッションを開いていることがある。その場合は
|
||||
connection_id を省略して SshConsoleSnapshot({}) で現在の画面を確認し、そのまま
|
||||
SshConsoleSend で続ける (改めて Ensure し直す必要はない)。"no live session" が
|
||||
返ってきたら下の手順で自分で開く
|
||||
1. タスク本文を読み、どのリモートホストでどんな作業をするか把握する
|
||||
2. connection_id (UUID) がタスク本文に無ければ SshListConnections({}) で発見する
|
||||
- **必ず id フィールドを使う**。label ("terminal" など) や host ("192.168.1.x" など) を connection_id として渡してはいけない
|
||||
@@ -60,6 +64,13 @@ movements:
|
||||
output/ または input/ 配下を使う。詳細・エラーコードは ReadToolDoc({name: "SshUpload"})
|
||||
/ ReadToolDoc({name: "SshDownload"})
|
||||
|
||||
## 調べ物 (Web 検索)
|
||||
- 不明なコマンド・オプション、エラーメッセージ、設定手順が出てきたら WebSearch で調べてよい。
|
||||
ヒットしたページや公式 docs の本文は WebFetch で読む。JS レンダリングや操作が要るページは BrowseWeb。
|
||||
- インストーラ / 設定テンプレート / tarball を URL から取得して配信したいときは DownloadFile で
|
||||
workspace の output/ または input/ に落とし、SshUpload でリモートへ送る
|
||||
- 検索結果を鵜呑みにしてリモートで破壊的コマンドを実行しない。出典を確認し、不可逆操作は user に確認する
|
||||
|
||||
## 注意
|
||||
- shell 状態 (cd / env / foreground プロセス) はタスク内で維持される。毎ターン cd し直す必要なし
|
||||
- 機密値はコマンド文字列に直接書かない (audit log に hash で残る)
|
||||
@@ -70,7 +81,7 @@ movements:
|
||||
- 完了: complete({status: "success", result: "..."})
|
||||
- 中断: complete({status: "aborted", abort_reason: "..."})
|
||||
- 確認待ち: complete({status: "needs_user_input", missing_info: "..."})
|
||||
allowed_tools: [SshConsoleEnsure, SshConsoleSend, SshConsoleRun, SshConsoleSnapshot, SshUpload, SshDownload, SshListConnections, Read, Write, Bash, Glob, Grep]
|
||||
allowed_tools: [SshConsoleEnsure, SshConsoleSend, SshConsoleRun, SshConsoleSnapshot, SshUpload, SshDownload, SshListConnections, WebSearch, WebFetch, DownloadFile, BrowseWeb, Read, Write, Bash, Glob, Grep]
|
||||
allowed_ssh_connections: ['*']
|
||||
default_next: COMPLETE
|
||||
rules: []
|
||||
|
||||
+9
-1
@@ -63,6 +63,14 @@ movements:
|
||||
- `connect_timeout` / `auth_failed` 等の一時失敗: 同じ command を最大 2 回まで再試行。
|
||||
それ以上は `complete({status: "aborted", abort_reason: "..."})`
|
||||
|
||||
## 調べ物 (Web 検索)
|
||||
|
||||
- 不明なコマンド・オプション、エラーメッセージ、設定手順が出てきたら WebSearch で調べてよい。
|
||||
ヒットしたページや公式 docs の本文は WebFetch、JS レンダリングや操作が要るページは BrowseWeb で読む
|
||||
- 設定テンプレート / インストーラ / tarball を URL から取得して配信したい場合は DownloadFile で
|
||||
output/ または input/ に落とし、SshUpload でリモートへ送る
|
||||
- 検索結果を鵜呑みにしてリモートで破壊的・不可逆なコマンドを実行しない。出典を確認し、不安なら停止して user に確認する
|
||||
|
||||
## 成果物
|
||||
|
||||
ops の結果は output/report.md にまとめる。**機密値は記録しない**:
|
||||
@@ -77,7 +85,7 @@ movements:
|
||||
- **次の verify へ**: `transition({next_step: "verify"})`
|
||||
- **必要情報不足で停止**: `complete({status: "needs_user_input", missing_info: "...", why_no_default: "..."})`
|
||||
- **致命的失敗で打ち切り**: `complete({status: "aborted", abort_reason: "..."})`
|
||||
allowed_tools: [SshExec, SshUpload, SshDownload, SshListConnections, Read, Write, Bash, Glob, Grep]
|
||||
allowed_tools: [SshExec, SshUpload, SshDownload, SshListConnections, WebSearch, WebFetch, DownloadFile, BrowseWeb, Read, Write, Bash, Glob, Grep]
|
||||
allowed_ssh_connections: ['*']
|
||||
default_next: verify
|
||||
rules:
|
||||
|
||||
Reference in New Issue
Block a user