# Matrix / Mattermost 回复进度 普通已授权文本会话处理时续期原生输入提示;超过约 1.5 秒才创建进度消息,快速回复直接发送最终结果。 同一条进度消息在「等待处理」「处理中」「工具执行中」「整理回复」之间更新;阶段变化最多约每 8 秒写一次,不发送工具名称、参数、结果、凭据或模型思考。结束后用富文本最终回复替换这条消息,长回复的后续分段另行发送。 - Matrix:`typing` API 和 `m.replace` 编辑事件,结束时显式关闭输入提示。 - Mattermost:用户 `typing` API 和帖子 `patch`,结束后停止续期,输入提示由客户端自动过期。 - 进度创建失败不重复 POST,不阻塞伙伴执行。明确不支持编辑时尝试另发最终结果;不确定的网络失败不盲目重发,以减少重复回复。 - 中断时尽力改为失败提示,撤销授权后不继续发文字。进度是临时状态,进程突然退出可能留下未收尾的提示;没有新增自动恢复或重跑工具任务。 ## 职责边界 - `execution/reply-progress.ts`:把执行事件映射为固定阶段,不了解渠道协议。 - `channels/reply-progress-controller.ts`:单次消息生命周期、延迟、节流、串行收尾和错误降级,不解析执行事件。 - `channels/direct/progress-transport.ts`:Matrix / Mattermost 协议映射、房间身份校验和消息格式,不管理 Agent。 - `agent-runtime.ts`:仅在该次回复执行期间订阅事件,完成后释放订阅。 - `channels/manager.ts`:关联来源渠道、检查授权并协调上述组件。通知群发设置不改变进度消息的目标。