| name | oc-resume |
| description | Use when the user says 'resume', '繼續', 'pending', '撿回', '之前暫存的', or asks what was parked previously. |
oc-resume
Runtime Configuration
執行前讀取 setup.json:
- SSH 連線用
remote.sshAlias(以下以 ${SSH_ALIAS} 表示)
- 服務名稱用
gateway.serviceName(以下以 ${SERVICE_NAME} 表示)
列出 pending plans
讀取 docs/pending-plans/*.md 的所有檔案。
如果沒有任何 plan 檔,告知使用者「沒有暫存的計畫」並結束。
如果有多個 plan,列出清單讓使用者選擇:
## Pending Plans
1. <標題> — blocker: <簡述> (YYYY-MM-DD)
2. <標題> — blocker: <簡述> (YYYY-MM-DD)
要恢復哪一個?
如果只有一個 plan,直接載入(不需選擇)。
檢查 blocker
載入選定的 plan 檔後,先檢查可自動驗證的 blocker:
| Blocker 類型 | 環境 | 檢查方式 |
|---|
| 遠端主機離線 | 遠端 | ssh -o ConnectTimeout=5 ${SSH_ALIAS} 'echo ok' |
| OpenClaw 服務未啟動 | 遠端 | ssh -o ConnectTimeout=5 ${SSH_ALIAS} 'systemctl --user is-active ${SERVICE_NAME}' |
如果 blocker 仍然存在,告知使用者並詢問是否仍要繼續(可能部分步驟可先做)。
如果 blocker 已解除,告知使用者。
無法自動檢查的 blocker(如等人工操作),直接詢問使用者是否已完成。
載入 context 並執行
- 讀取 plan 檔完整內容
- 向使用者摘要:已完成的部分 + 剩餘步驟
- 詢問使用者「從第 N 步繼續?」或「全部執行?」
- 開始執行剩餘步驟
清理
當所有剩餘步驟完成後:
- 向使用者確認所有步驟已完成,詢問是否清理 plan 檔
- 使用者確認後,刪除 plan 檔(
docs/pending-plans/<filename>)
- 從專案的 auto memory MEMORY.md 的
## Parked Plans 區塊移除對應索引行
- 告知使用者 plan 已完成並清理