For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /zh-tw/docs/modules/task-recovery.md (or send Accept: text/markdown).
任務 API 與恢復
恢復一次不確定的提交,而不是新建任務。
開始之前
使用“檔案”→“開啟資料夾”在 Visual Studio Code 中開啟下載的 supastack 專案,然後選擇“終端”→“新建終端”。儲存庫根目錄是包含 package.json、apps 和 packages 的資料夾。執行下面的命令並保持終端開啟。如果無法識別命令,請先完成工具安裝指南,然後再繼續。
首先閱讀平臺教程。伺服器是響應瀏覽器或電話請求的應用程式程式。 Web 讀取 apps/web/.env.local,Expo 讀取 apps/mobile/.env.local,資料庫遷移命令讀取 root .env。無資料庫/儀錶板演示與真實/身份驗證帳戶分開,需要遷移Postgres。僅電話或桌面結帳需要單獨執行的 Web 後端。
corepack pnpm --filter @supastack/web dev安裝與配置
POST /api/ai/tasks 要求已認證的工作區與有效許可權。帶鍵請求會在派發前預留一個不可變任務。Idempotency-Key 接受 16–128 個 ASCII 字母、數字、下劃線或連字元。
POST /api/ai/tasks
Idempotency-Key: a-stable-client-submission-key
Recovery body: { "resume": true }
Status: GET /api/ai/tasks/{taskId}實現流程
提交前先持久化恢復鍵。派發不確定時,複用同一鍵並帶上 resume 請求體;服務端載入原始輸入,用同一個任務級 Trigger 身份重試。同一鍵下變更輸入會返回 409 idempotencyConflict。
模糊入隊後的 HTTP 202 表示派發不確定,並不證明 Trigger 已接受該工作。已在執行或已終結的任務直接返回已儲存狀態,不再入隊。恢復仍要求認證、歸屬與許可權。
驗證與排障
演練響應丟失、輸入變更衝突、跨工作區請求與重新整理恢復。系統沒有自動 outbox 派發器,也沒有端到端 exactly-once 保證。未調查副作用之前,不要把執行中的任務重置回排隊。