跳转到内容
supastack
浏览文档
WebTanStack Start

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/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 保证。未调查副作用之前,不要把运行中的任务重置回排队。