Skip to main content

路径

DELETE /task/:taskId 公网入口 https://agentapi.kira.art/task/:taskId
REST 语义:用 DELETE 表示「停」,而不是 POST /task/:taskId/stop

认证

eitherAuth()Authorization: Bearer <Supabase JWT>X-Internal-Key: <INTERNAL_KEY>。校验 task.userId === jwtPayload.sub,不匹配返 403

请求

无 body。taskId 走路径参数。

响应

无响应体。
含义
204已接收停止请求(task 存在)。幂等:无论 task 在跑还是已结束都返 204
401缺少有效 JWT / jwtPayload.sub
403task 属于其他用户
404task 不存在(从未创建或 TTL 已过期)

机制

仅当 task.status === "running" 时调用 requestAbort(taskId)
SET agent:abort:{taskId} 1 EX 600
正在跑的 run loop 每 2s EXISTS agent:abort:{taskId},命中即 controller.abort()。abort 后 onFinish(isAborted=true) 触发,run 结束为 completed不写 DB),stream 收尾发 event: error
abort 是异步的:DELETE 返回 204 只代表信号已写入,run 实际停止有最多约 2s 的 poll 延迟。客户端应继续监听 stream 直到收到 event: done / event: error

示例

curl -X DELETE https://agentapi.kira.art/task/33333333-3333-3333-3333-333333333333 \
  -H "Authorization: Bearer $SUPABASE_JWT" -i
# → HTTP/1.1 204 No Content

src/hono/agent/index.ts:316(handler)、requestAbort / abort poll at src/lib/agentTask.ts

相关