fix(chat): preserve retry attachments and per-answer context snapshots
This commit is contained in:
@@ -93,3 +93,11 @@ AI 消息提供“重新生成”,用户消息提供“编辑”及“保存
|
||||
内置 `chat-operator` Skill 与 `chat-policy` Plugin 随 Host 注册。Plugin 的 `chat-policy.plan` 使用宿主白名单 handler 校验任务与预算,生成读取、执行和核验步骤,不执行任意插件代码。聊天委托创建运行前调用检查;启用的 Skill 加入聊天系统提示词并作为委托运行的 Skill,权限继续由 Agent 管理。用户禁用扩展后不会自动重新启用。
|
||||
|
||||
新增验证:`test_chat_attachments.py` 覆盖 Office/Markdown 文本抽取、旧 PPT 文本记录、截断、音频任务路由、原生视觉优先及 MCP 超时后 Plugin 降级;浮窗测试覆盖尺寸记忆和重置。浏览器实测折叠设置、上传入口和拖动缩放。未使用真实外部模型或 MCP 服务进行付费调用验收。
|
||||
|
||||
### 重试上下文与历史版本一致性(2026-09-07)
|
||||
|
||||
编辑旧用户消息使用该消息的附件;重新生成回答使用该回答版本实际使用的附件和文件快照。旧版未记录回答快照时才回退到它的父用户消息,不读取会话末尾其他轮次的附件。重试不会消耗输入区尚未发送的新附件。
|
||||
|
||||
新回答将 `workspace_context`、`attachments` 和 `context_captured=true` 一起持久化。原用户消息保持不变,因此同一问题的不同回答可以各自恢复生成时的文件内容;工作区浮窗显式传入当前文件时,以本次文件为准。`context_captured=true` 且 `workspace_context=null` 表示该版本明确未附带文件,继续对话或重试时不能回退到原用户消息的旧文件。数据库迁移为既有消息设置 false,保持旧记录可恢复。
|
||||
|
||||
回归覆盖:两轮使用不同附件后编辑/重试第一轮、保留待发送附件、切换工作区文件后生成新版本、历史回读后继续重试、明确清空文件上下文、原版本快照保持不变。
|
||||
|
||||
Reference in New Issue
Block a user