Task Brainは実行の写しです。親だけ消え子がツールやディスク I/O を続けると孤儿と資格の混線が起きます。本稿は親子追跡・プロファイル隔離・取消順を編成の前提に固定します。

目次:初期化 · flows 例(プレースホルダ) · ディレクトリ隔離 · 失敗取消 · FAQ

CrewAIInstructor と列を揃えるとポートとトークン説明が一本化します。

詰まり

  1. 血統欠落:親停止後も子 HTTP が parent_task_id なしで残る。
  2. 共有ホーム:身分 JSON の読み順が案件間で食い違う。
  3. 運用漂流:JSON 書き出しが無く grep 不能。

意思決定マトリクス

観点 フラット 親子追跡 リモート Mac
棚卸 速いが浅い 子に parent と相関 ID を UI だけに閉じない
取消 孤儿化 葉→親+pgrep launchd と手動は同一ユーザー
身分 単一 案件ツリー 0700 絶対パス安定
成果物 混在 scratch と config キャッシュは scratch のみ

初期化

slug ごとに OPENCLAW_PROFILEOPENCLAW_HOME(例 ~/openclaw-profiles/<slug>)を切り、configscratchlogs を用意して openclaw doctor --json を一度通します。LiteLLM のループバック待受と併せ doctor とヘルスを一本化。tmux か rc で export を固定し誤 cd を防ぎ、セッション終了時は変数を戻す決まりも置きます。

flows 運用コマンド例(プレースホルダ)

動詞は版で変わるため意図のみ固定しトークンは Git に置きません。

openclaw flows tasks list --profile "${OPENCLAW_PROFILE}" --format json > "${OPENCLAW_HOME}/scratch/tasks.json"
openclaw flows tasks tree --parent TASK_PARENT_ID --profile "${OPENCLAW_PROFILE}"
openclaw flows events tail --profile "${OPENCLAW_PROFILE}" --limit 20 > "${OPENCLAW_HOME}/scratch/events.txt"

取消前に list・tree・tail を日付付きで scratch に残します。

ディレクトリ隔離

${OPENCLAW_HOME}/config/*.token0600、身分 JSON は隣接、大きな stdout は scratch のみ。共有ホームへ symlink せず Haystack 同様に秘密とキャッシュを分けます。

失敗時のキャンセル

子→親の順で止め、tail と pgrep -fl openclaw を照合。相関文字列で pkill します。一プロファイル・扇出直前の親 ID・scratch 分離が最小孤儿対策です。

openclaw flows tasks cancel --task CHILD_ID --profile "${OPENCLAW_PROFILE}" --reason breaker-open
openclaw flows tasks cancel --task PARENT_ID --profile "${OPENCLAW_PROFILE}" --reason drained
openclaw flows tasks list --profile "${OPENCLAW_PROFILE}" --state running

運用チェック:doctor 緑 → tasks/events 保存 → tree で対応注釈 → 葉取消とプロセス確認 → 再 list → 相関を票末へ。

FAQ

親停止でも残る。 detach ジョブは相関を失うため grep と PID 掃除が必要です。

隔離の証明。 別 HOME・mode・ラベルを並べ、Schema 再試行で scratch 外へ出ないことを示します。

CI 自動取消。 本番 export と秘密が揃い動詞変更のたび手動一度が安全です。

動詞差異。 openclaw flows --help をリポに残し本稿は意図メモとして使ってください。