# 产品 fix11 合并记录

合并基线：`main` / `5ad592d`（0.1.28）。来源：桌面 `dsh-pre-duediligence_fix11/patches/0001…0011`，2026-09-14 合入。通过补丁原始 Git blob 还原产品修改前后的源码，再适配当前版本；`lib` 由合并后的源码重新构建。

桌面 `lib/index.js.map` 中对应源码与补丁最终结果一致。附带的 Skill references 均为仓库已有历史版本，继续采用当前版本。

| 产品补丁 | 合并结果 |
| --- | --- |
| 0001 Workspace 归属 | 当前版本已采用公开的 `sessions.create({ workspaceId, sessionId })`；保留现有普通会话隔离和入口行为。 |
| 0002 风险计数、结果分类、跟进回复 | 保留现有中文 Provider 分类、字符串计数、零记录跳过和核验闭环；补入候选序号/信用代码回复归组与假设标题兼容。短企业名仍可独立发起任务。 |
| 0003 任务对象 | 将角色、场合、关注和输出信息写入现有 Host 任务库，范围面板读取已提交快照。工具结果投影用于计划和每家报告边界；历史继续读取 Profile 持久记录。 |
| 0004、0007 计划与确认 | 图片或文字登记候选企业，计划卡选择企业、深度、角色、场合、关注、输出框架及重点段落；对话交互按实际 Host 工具 schema 使用。每家独立完成并保存报告。 |
| 0005、0006、0010 图片导入 | 工作台按钮、拖入和粘贴接入 Host 暂存与本机文档解析；普通会话、工作区文件面板和普通文字粘贴保持原有行为。图片消息发送保留未发送的原生草稿。 |
| 0008 计划 ID | 确认消息包含完整 ID，兼容唯一的至少 8 位前缀；未找到或跨会话计划时按单家继续并返回说明。 |
| 0009 待确认计划 | 有候选计划时「对象与目标」显示计划卡，已开始的计划不再重复确认；连续任务完成上一家后可同步下一家。 |
| 0011 层级与拖拽提示 | 保留当前已验证的提示词触发器层级和 48px 输入框预留空间，加入图片拖拽提示。 |

## 与当前版本的兼容处理

- 不恢复旧补丁的 8/18/40 次调用限制与额度审批；发送确认后的计划按现有固定业务路由执行。
- 不恢复旧的仅会话历史；新任务的 `planId`、企业数和简报信息随 Host 任务持久保存，各企业报告可独立下载。
- 八段报告与风险核验完成门继续生效。计划卡的段落勾选表示重点展开，未勾选段落简写，避免缩略框架无法保存制品。
- 图片暂存要求来源 Session、同源请求、有效文件头、大小限制和有效期；浏览器响应不暴露临时文件路径。成功后删除文件，失败后可在原有效期内重试，过期、主动移除或插件卸载时清理。重复识别同一凭证复用已登记计划。
- 计划候选的 Host 索引为进程内状态；重启后工具返回 `planWarning` 时按本次用户确认范围继续单家任务。已保存的任务、关联信息、报告及历史不受影响。图片凭证不会跨宿主重启恢复。

## 验证

- `pnpm check`：类型检查、Vitest 测试、Host/Client 构建。
- `PREVISIT_CHROME=<本机 Chromium> pnpm test:ui`：桌面/390px、深色/浅色四组回归，覆盖计划卡选择、完整计划 ID、重复点击防护、控件边界、图片按钮及现有首页/历史行为。
- 新增图片 HTTP 路由、跨会话凭证、过期清理、失败重试、计划去重、Host 任务范围记录和同计划任务切换测试；使用合成数据，没有调用真实文档解析或企查查 Provider。

合并提交 `36f94e0` 时仅合入源码及构建产物，包版本保持 0.1.28。后续按用户发布指令准备 [0.1.29](RELEASE-0.1.29.md)，沿用 GitHub 自动发布流程；不变更已安装的 DSH Profile。
