> For AI agents: the complete documentation index is available at https://docs.reelway.ai/llms.txt, the full documentation bundle is available at https://docs.reelway.ai/llms-full.txt.

# 持久对话运行

当一次对话任务需要「服务端替你记住状态」时,把它建成 chat run:创建即受理、幂等去重、事件流断线重放、费用自动校正。端点细节见 [API 参考 → 持久对话运行](https://docs.reelway.ai/api-reference/chat-runs.md)。

## 何时用 runs 而不是 completions

| 场景                    | 选择               |
| --------------------- | ---------------- |
| 函数计算 / 队列消费者,进程随时可能消失 | runs(幂等键 + 事件回放) |
| 交互式聊天,历史由前端维护         | completions      |
| 高价值长任务(整理长文档、多轮规划)    | runs             |
| 需要对账与审计每一步            | runs(事件历史永久保留)   |

## 创建并消费


### 创建
`POST /v1/chat/runs` + `Idempotency-Key`;`202` 返回 `chatRun.id`。请求体与 completions 同形。
### 订阅或轮询事件
长连接组件订阅 `GET …/{id}/events/stream`(SSE);无连接环境轮询 `GET /v1/chat/runs/{id}` 或以 `after` 参数分页事件。断线重放:`Last-Event-ID` 头携带最后收到的 `seq`。
### 取终态
终态事件(`run_completed` / `run_failed` / `run_cancelled`)后服务端关流;产物与状态经 GET 获取。

## 计费与状态

- 受理即按预估扣费,完成时校正;失败与取消不计费(已扣部分自动校正)。
- 状态机 `created → running → completed | failed | cancelled`;`cancel` 对终态运行返回 `409`(`1006`)。
- `confirm-cost` 端点为 Sogni 兼容保留(当前恒 `409`,引擎无费用审批暂停)。

## 与创意工作流的关系

对话任务用 runs;**多步媒体生产**(生成→编辑→合成)用[创意工作流](https://docs.reelway.ai/intelligence/creative-agent-workflows.md):DAG 结构、`dependsOn` 依赖、`reseed` 换种子重播。两者共享幂等键机制与 SSE 事件协议。
