概述
Progress Drafts 让长时间运行的 agent turn 在 chat 中有”活着”的感觉,而不是堆积一堆临时状态回复。启用后,OpenClaw 在 turn 证明有实质工作时创建一条可见的进行中消息,持续更新,最终将草稿变为最终答案。
核心要点
四种流式模式(channels.<channel>.streaming.mode):
| 模式 | 适用场景 | chat 中显示 |
|---|---|---|
off | 安静 channel | 仅最终答案 |
partial | 观看答案文字出现 | 一条草稿持续编辑为最新答案文字 |
block | 较大的答案预览块 | 一条预览以更大块更新或追加 |
progress | 工具密集或长时间 turn | 一条状态草稿,然后最终答案 |
Progress 草稿的两个部分:
- Label:简短的状态行(如
Thinking...、Shelling...),默认从内置词库随机选取 - Progress lines:紧凑的运行更新(工具启动、任务计划、审批、命令输出等),使用与
/verbose相同的格式
触发条件:turn 持续超过 5 秒或发出第二个工作事件后才显示 label,纯文本回复不显示进度草稿。
各 channel 传输方式:
- Discord/Telegram/Matrix:发送一条消息然后编辑
- Slack:原生流或可编辑草稿帖
- Microsoft Teams:个人聊天中使用原生 Teams 流
- Mattermost:可编辑草稿帖
最终化:优先就地编辑草稿;有媒体、审批提示、过多 chunk 或编辑失败时,通过正常 channel 投递路径发送最终答案。
配置/使用
启用 progress 模式:
{
channels: {
discord: {
streaming: { mode: "progress" }
}
}
}自定义 label:
{
channels: {
discord: {
streaming: {
mode: "progress",
progress: { label: "Investigating" }
}
}
}
}控制 progress lines 详细程度:
{
agents: {
defaults: {
toolProgressDetail: "explain" // explain(默认)| raw
}
}
}相关页面
- streaming - 流式传输与 chunking 详细机制
- messages - 消息处理流水线
- typing-indicators - 打字指示器