dsh-pre-duediligence 0.1.36 → 0.1.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +15 -7
  3. package/docs/RELEASE-0.1.37.md +5 -0
  4. package/docs/RELEASE-0.1.38.md +21 -0
  5. package/docs/archive/legacy-changes/CHANGES_v0.1.0.md +8 -0
  6. package/docs/archive/legacy-changes/CHANGES_v0.1.1.md +6 -0
  7. package/docs/archive/legacy-changes/CHANGES_v0.3.1.md +23 -0
  8. package/docs/archive/legacy-changes/CHANGES_v0.3.2.md +36 -0
  9. package/docs/archive/legacy-changes/CHANGES_v0.3.3.md +27 -0
  10. package/docs/archive/legacy-changes/CHANGES_v0.3.4.md +18 -0
  11. package/docs/archive/legacy-changes/CHANGES_v0.3.5.md +22 -0
  12. package/docs/archive/legacy-changes/CHANGES_v0.3.6.md +22 -0
  13. package/docs/archive/legacy-changes/CHANGES_v0.3.7.md +19 -0
  14. package/docs/archive/legacy-changes/CHANGES_v0.3.8.md +18 -0
  15. package/docs/archive/legacy-changes/CHANGES_v0.3.9.md +16 -0
  16. package/docs/archive/legacy-changes/CHANGES_v0.4.0.md +12 -0
  17. package/docs/archive/legacy-changes/CHANGES_v0.4.1.md +16 -0
  18. package/docs/archive/legacy-changes/CHANGES_v0.4.10.md +4 -0
  19. package/docs/archive/legacy-changes/CHANGES_v0.4.11.md +5 -0
  20. package/docs/archive/legacy-changes/CHANGES_v0.4.12.md +1 -0
  21. package/docs/archive/legacy-changes/CHANGES_v0.4.13.md +1 -0
  22. package/docs/archive/legacy-changes/CHANGES_v0.4.14.md +6 -0
  23. package/docs/archive/legacy-changes/CHANGES_v0.4.2.md +6 -0
  24. package/docs/archive/legacy-changes/CHANGES_v0.4.3.md +9 -0
  25. package/docs/archive/legacy-changes/CHANGES_v0.4.4.md +18 -0
  26. package/docs/archive/legacy-changes/CHANGES_v0.4.5.md +8 -0
  27. package/docs/archive/legacy-changes/CHANGES_v0.4.6.md +4 -0
  28. package/docs/archive/legacy-changes/CHANGES_v0.4.7.md +5 -0
  29. package/docs/archive/legacy-changes/CHANGES_v0.4.8.md +4 -0
  30. package/docs/archive/legacy-changes/CHANGES_v0.4.9.md +5 -0
  31. package/docs/archive/legacy-changes/README.md +34 -0
  32. package/install.sh +1 -1
  33. package/lib/client.js +19705 -236
  34. package/lib/index.js +51 -1
  35. package/lib/index.js.map +3 -3
  36. package/lib/report-host.js +404 -0
  37. package/lib/report-host.js.map +7 -0
  38. package/lib/report.html +82 -0
  39. package/lib/types/index.d.ts +2 -0
  40. package/lib/types/previsit-workflow.d.ts +4 -0
  41. package/lib/types/saved-report-source.d.ts +18 -0
  42. package/package.json +13 -5
  43. package/skills/qcc-previsit-onepager/SKILL.md +7 -2
package/CHANGELOG.md CHANGED
@@ -1,4 +1,14 @@
1
1
  # 更新日志
2
+ ## [0.1.38] - 2026-09-16
3
+
4
+ - 正式包内启用访前报告与证据 MCP App:读取当前会话、工作区内已保存报告,查看证据与缺口。
5
+ - 支持同主体报告历史版本切换、刷新及宿主重启恢复;每次读取重新校验来源与访问范围。
6
+ - 保留原始报告正文及文件登记信息,不重新查询企业或修改业务记录;合成数据测试插件不随安装启用。
7
+
8
+ ## [0.1.37] - 2026-09-15
9
+
10
+ - 简化资料采集“无需执行”清单:仅显示项目名称及可识别的简短原因,不展示内部引用 ID、技术消息或兜底说明;后台审计记录不变。
11
+
2
12
  ## [0.1.36] - 2026-09-15
3
13
 
4
14
  - 固定首页引导模板与指纹;向导仅排除未修改模板,未补全占位符不能创建尽调任务;Skill 缺主体先澄清。
package/README.md CHANGED
@@ -1,13 +1,21 @@
1
- # dsh-pre-duediligence
1
+ # 访前尽调智能体 · dsh-pre-duediligence
2
2
 
3
- 0.1.36 分离资料采集与证据核验:采集仅展示来源数据,核验前置风险研判并展示机会假设、支持、反证及证据缺口。支持有真实引用的阶段性风险分级;无需执行项目合并说明。“现场验证”改为“证据验证”,待沟通事项明确为“待客户确认”。保留报告版本、历史回看及离线中文 PDF/Word 导出。详见 [发布说明](docs/RELEASE-0.1.36.md)。
3
+ 拜访客户前,快速了解企业背景、经营动态与风险线索,整理值得核实的问题,生成可追溯的访前报告。面向银行客户经理、销售/BD、采购、投资及园区招商人员,在 DeepSeek Harness 原生会话中使用企查查 MCP 数据。
4
+
5
+ - **资料采集**:确认企业主体,按拜访目标整理客观数据摘要与覆盖范围。
6
+ - **证据核验**:区分事实、推断、支持与反证,突出风险线索及待确认事项。
7
+ - **报告与复访**:在线预览,导出 HTML、Word、PDF;查看历史,继续尽调并保留报告版本。
8
+
9
+ [安装与上手](#安装与三分钟上手) · [功能概览](#功能概览) · [兼容说明](docs/COMPATIBILITY.md) · [更新日志](CHANGELOG.md) · [历史文档](docs/archive/legacy-changes/README.md)
10
+
11
+ 当前发布版本:**0.1.38**。本版加入会话内“访前报告与证据”卡片,支持已保存证据、历史版本切换与重启恢复;详见 [发布说明](docs/RELEASE-0.1.38.md)。
4
12
 
5
13
  ## 安装与三分钟上手
6
14
 
7
15
  访前尽调智能体:面向拜访前调查,提供企业尽调、客户尽调、客户背景调查、工商核验与风险信息整理;使用企查查 MCP,提供固定路由连续调用、主体确认、动态进度和可下载报告。
8
16
 
9
17
  ```sh
10
- dsh plugin --profile web add dsh-pre-duediligence@0.1.36
18
+ dsh plugin --profile web add dsh-pre-duediligence@0.1.38
11
19
  ```
12
20
 
13
21
  请先满足下文的 DSH 与连接器要求;Better Sidebar 仅在需要可视化工作台时选装。安装后完整停止并重启对应 Profile。
@@ -23,7 +31,7 @@ dsh plugin --profile web add dsh-pre-duediligence@0.1.36
23
31
  相关智能体:[数据清洗补全](https://github.com/duhu2000/dsh-data-cleaning-agent) · [AI填表](https://github.com/duhu2000/dsh-form-fill-agent) · [访前尽调](https://github.com/duhu2000/dsh-pre-duediligence) · [招投标](https://github.com/duhu2000/dsh-tender-workbench)
24
32
 
25
33
 
26
- 版本:**0.1.30**。本版保持 DSH-UX-001 v1.5.2 的 Workspace / Session 隔离、工作台初始关闭和核验完成门,并修复 Host 布局变化后的首页标题定位、菜单加载态文案以及历史详情与报告下载。当前任务、阶段进度、报告回写及下载仍绑定当前 Session;历史详情只读取记录所属 Session,不重新调用企查查。旧记录缺少来源时继续明确显示“未记录(旧记录)”,只进入 Profile 历史且不会被当前 Session 认领。本轮自动化使用合成 Host 记录,不声明生产账号全链路验收通过。详见 [更新日志](CHANGELOG.md)、[作用域契约](docs/TASK-SCOPE-HISTORY-CONTRACT.md)、[采用记录](docs/DSH-UX-001-ADOPTION.md)、[兼容与验收矩阵](docs/COMPATIBILITY.md)和[市场投稿登记](docs/MARKETPLACE.md)。
34
+ 开发与验收资料:[作用域契约](docs/TASK-SCOPE-HISTORY-CONTRACT.md) · [规范采用记录](docs/DSH-UX-001-ADOPTION.md) · [兼容与验收矩阵](docs/COMPATIBILITY.md) · [市场投稿登记](docs/MARKETPLACE.md)。自动化测试不等同于真实 DSH 与生产数据全链路验收。
27
35
 
28
36
  面向 DeepSeek Harness 的 Session 级访前尽调智能体。业务人员从左侧菜单进入,在会话级工作台定义一次拜访;Agent 调用企查查五类 MCP,使用机会与风险双引擎完成经营状态识别、假设与反证、风险核验,最终交付可追溯的访前尽调报告。
29
37
 
@@ -92,7 +100,7 @@ bash <(curl -fsSL https://raw.githubusercontent.com/duhu2000/dsh-pre-duediligenc
92
100
  安装脚本默认向 DSH Web profile 安装两个基础 Bundle:
93
101
 
94
102
  1. `dsh-mcp-connector@0.2.32`:提供通用 MCP 连接器与市场,通过“企查查·企业工商”完成 OAuth,并动态挂载企业、风险、知产、经营、历史和董监高 MCP。
95
- 2. `dsh-pre-duediligence@0.1.36`:提供左侧智能体入口、原生会话首页、提示词生成器、Host 执行门和 Skill。
103
+ 2. `dsh-pre-duediligence@0.1.38`:提供左侧智能体入口、原生会话首页、提示词生成器、Host 执行门和 Skill。
96
104
 
97
105
  默认不会安装 Better Sidebar。需要 Session 级可视化工作台时显式开启:
98
106
 
@@ -120,7 +128,7 @@ dsh web
120
128
 
121
129
  ~~~bash
122
130
  dsh plugin --profile web add dsh-mcp-connector@0.2.32
123
- dsh plugin --profile web add dsh-pre-duediligence@0.1.36 --allow-build=node-pty,dsh-pre-duediligence
131
+ dsh plugin --profile web add dsh-pre-duediligence@0.1.38 --allow-build=node-pty,dsh-pre-duediligence
124
132
  dsh web
125
133
  ~~~
126
134
 
@@ -136,7 +144,7 @@ dsh web
136
144
  dsh plugin --profile web list --depth 0
137
145
  ~~~
138
146
 
139
- 应始终看到所选基线的 Connector 和 `dsh-pre-duediligence@0.1.36`;仅在显式启用或原本已安装时看到 Sidebar。重启 DSH 并连接“企查查·企业工商”后,在左侧菜单点击“访前尽调”进入初始原生会话。无 Sidebar 时可继续生成提示词、回填/发送草稿并在会话中阅读报告;五项流程按钮会提示安装可选工作台。安装 Sidebar 时,右侧工作台初始仍关闭;点击业务按钮可主动打开,正式发送任务被接纳后会自动展开一次。仅回填不会展开,收起后轮询不会重新打开。其右侧“+”菜单不会列出该入口,普通会话保持 DSH 原样。
147
+ 应始终看到所选基线的 Connector 和 `dsh-pre-duediligence@0.1.38`;仅在显式启用或原本已安装时看到 Sidebar。重启 DSH 并连接“企查查·企业工商”后,在左侧菜单点击“访前尽调”进入初始原生会话。无 Sidebar 时可继续生成提示词、回填/发送草稿并在会话中阅读报告;五项流程按钮会提示安装可选工作台。安装 Sidebar 时,右侧工作台初始仍关闭;点击业务按钮可主动打开,正式发送任务被接纳后会自动展开一次。仅回填不会展开,收起后轮询不会重新打开。其右侧“+”菜单不会列出该入口,普通会话保持 DSH 原样。
140
148
 
141
149
  ### 无 Sidebar 功能边界
142
150
 
@@ -0,0 +1,5 @@
1
+ # 0.1.37:精简无需执行清单
2
+
3
+ 资料采集的“无需执行”仅展示项目名称及可识别的简短原因,例如“本次扫描未发现相关记录”。不展示内部引用 ID、技术消息和缺少原因时的兜底说明。后台审计记录保持不变,不改变风险判断与业务执行逻辑。
4
+
5
+ 保留 0.1.36 的原生首页引导能力及兼容边界。本地类型检查、275 项测试与构建通过。
@@ -0,0 +1,21 @@
1
+ # 0.1.38:访前报告与证据
2
+
3
+ 安装:`dsh plugin --profile web add dsh-pre-duediligence@0.1.38`,然后重启 DSH Web。建议使用 DSH 0.1.2-rc.1。
4
+
5
+ 主插件注入已保存报告 Host,主客户端集成 MCP App 卡片,无需安装独立实验插件。已安装旧版时运行上述命令更新主包。
6
+
7
+ 在拥有报告的原始会话中要求“打开已保存报告与证据”,Agent 使用已知 PV 任务 ID 与实际版本调用 `f24_previsit_report_open`。如工具组收起,展开工具调用即可查看卡片。支持判断证据、覆盖缺口、原始正文和同主体历史版本切换。新卡片可在刷新、关闭重开及宿主重启后恢复,恢复凭据有效期 30 天。
8
+
9
+ 读取范围限当前 Profile、会话、工作区和主体;每次操作重新授权并核对保存内容摘要。版本或记录被修改、删除、凭据过期时需重新打开,不使用旧客户端内容绕过校验。旧报告没有保存的证据、日期和关联不会补造;文件区仅展示登记信息,下载继续使用原有入口。
10
+
11
+ 正式安装不启用合成数据 fixture,不替换模型或工作区。真实企业报告需由现有企查查 MCP 流程生成并保存。
12
+
13
+ ## 发布前验证
14
+
15
+ - Node 24:280 项业务测试、17 项报告测试、类型检查及构建通过。
16
+ - Chrome:原工作台四组明暗/宽窄页面回归通过。
17
+ - DSH 0.1.2-rc.1:正式构建的报告 Host 与合并客户端通过 V1/V2 切换、证据日期、刷新及实际重启恢复;业务记录字节未变。
18
+ - 正式主插件入口另行通过已有卡片恢复及新工具调用,使用主插件自身的已保存记录服务,浏览器无异常。测试数据为合成记录,未调用真实企业查询或外部模型。
19
+ - `npm pack` 检查包含 `lib/report-host.js`、`lib/report.html` 和合并客户端,不包含 fixture 或本地验收数据。
20
+
21
+ 本地 DSH 集成脚本需已安装 DSH 与 Chrome。仓库根目录先运行 `node experimental/dsh-mcp-app-host/tests/prepare-production-profile.mjs`,再以 `F24_TEST_HOME=_scratch/dsh-f24-production-bundle-profile F24_TEST_OUTPUT=_scratch/f24-production-evidence F24_TEST_PATCH=_scratch/f24-production.patch.yml F24_TEST_PORT=3092` 运行 `tests/dsh-recovery.mjs`(完整路径同上目录);之后运行 `tests/dsh-production-main.mjs` 验证正式主入口。脚本使用独立 Profile 与 3092 端口。
@@ -0,0 +1,8 @@
1
+ # v0.1.0:迁移为独立访前尽调智能体
2
+
3
+ - npm 包更名为 `dsh-pre-duediligence`,仓库迁移至 `duhu2000/dsh-pre-duediligence`。
4
+ - 只在 Better Sidebar 右侧菜单注册“访前尽调智能体”。
5
+ - 移除首页标题替换、输入框 Dock、Session 头部按钮和全局消息过程折叠。
6
+ - 自定义工作台 DOM 与 CSS 仅在右侧标签可见期间挂载,关闭后卸载。
7
+ - 任务完成或失败时只切换工作台内部阶段,不再强制重新打开已关闭的侧栏。
8
+ - 安装脚本检测到旧包 `qcc-previsit-dsh` 时安全停止,避免新旧包重复注册。
@@ -0,0 +1,6 @@
1
+ # v0.1.1:左侧智能体入口
2
+
3
+ - 将“访前尽调智能体”入口迁移到 DSH 左侧主菜单,位置在工作区列表之前。
4
+ - Better Sidebar 内部标签改为隐藏,不再出现在右侧“+”菜单。
5
+ - 点击左侧入口后才解析当前会话并打开工作台;没有当前会话时复用最近工作空间创建会话。
6
+ - 工作台仍保持 Session 级隔离,业务 CSS 只在工作台可见时挂载,关闭后卸载。
@@ -0,0 +1,23 @@
1
+ # v0.3.1 变更:补全「产业定位」维度
2
+
3
+ ## 改了什么
4
+ 针对"生成的作战卡没有体现产业信息",把产业定位补为一等推理输入(而非可选展示段)。
5
+
6
+ | 文件 | 改动 |
7
+ |---|---|
8
+ | skills/qcc-previsit-onepager/SKILL.md | 新增「机会引擎 A0:产业定位」,置于锚定后、状态识别前;作战卡①固定加产业定位行;完成门加勾选项;version→0.3.1 |
9
+ | references/reasoning-framework.md | 新增「产业定位」节:产业链环节 × 状态 × 角色 才实例化假设;数据边界规则 |
10
+ | references/report-template.md | 核心研判下固定「产业定位」行;深度档新增「行业分析」段 |
11
+ | references/tool-routing.md | get_company_profile 基础集用途标明须取回产业字段 |
12
+
13
+ ## 关键设计
14
+ - 产业定位来自 get_company_profile,按工具实际返回字段自适应,未硬编码字段名。
15
+ - 边界:行业分类/产业链定位/业务模式=数据事实(标来源);上下游标杆名单=推理综述(标注、分区)。
16
+ - pnpm check 全绿(19 测试含契约测试),构建通过。
17
+
18
+ ## 怎么应用(你现在是本地 link 安装,无需重装重构)
19
+ 1. 解压本压缩包,用其中的 skills/ 覆盖 ~/qcc-previsit-dsh/skills/
20
+ (或直接用整个目录覆盖 ~/qcc-previsit-dsh,再 pnpm check 一次也行)
21
+ 2. 到 dsh web 窗口 Ctrl+C 停掉,重新 dsh web
22
+ 3. 刷新浏览器,重跑一次尽调,核心研判应出现「产业定位」行,深度档出现「行业分析」段
23
+ Skill 是运行时读取的 Markdown,改它不需要重新构建 lib/。
@@ -0,0 +1,36 @@
1
+ # v0.3.2 变更:可下载的样式化报告 + 克制标题
2
+
3
+ ## 1. 可点击下载的作战卡报告(新功能)
4
+ - 工作台"作战交付"阶段就绪后,页脚出现「下载报告」按钮。
5
+ - 点击即下载 `拜访作战卡_企业名.html`——自包含、单文件、可直接双击打开或打印成 PDF。
6
+ - 报告样式锁定为你提供的 demo 设计(主蓝 #2563eb、墨色 #0f172a、正文 #334155、hero 底 #f8fbff、
7
+ 状态三色 确认绿/关注橙/红线红),前端与模型都不再自行配色。
8
+ - 实现:src/report-export.ts(作战卡 Markdown → demo 样式 HTML,纯函数,5 个单测覆盖)
9
+ + workbench-v2.tsx 提取会话中的作战卡正文并触发下载。
10
+
11
+ ## 2. 标题克制化
12
+ - 七段标题改为四字:核心研判 / 近期动态 / 业务假设 / 红线提示 / 现场必问 / 触达开场 / 覆盖说明。
13
+ - 四字说不清的,标题下另起「> 说明:……」小模块,不把解释塞进标题。
14
+
15
+ ## 3. 兼容 v0.3.1 的产业定位(已并入)
16
+
17
+ ## ⚠ 需要在你运行环境里验一处
18
+ 「下载报告」按钮依赖从 DSH 会话节点里取出作战卡正文。DSH 节点的确切字段我这边无法验证,
19
+ 已用防御式多字段提取(text/content/message.content/parts)。若跑出来按钮一直是灰的(提示"正文尚未捕获"),
20
+ 说明你的 DSH 节点结构和我猜的不同——把一次完整会话的 Session log(含助手最终作战卡那条)发我,
21
+ 我 5 分钟内把提取器对准你的真实结构。报告渲染器本身已单测通过,只差这一处对接。
22
+
23
+ ## 应用(本地 link 安装,无需重装重构)
24
+ 1. 解压,用其中 skills/ 与 lib/ 覆盖 ~/qcc-previsit-dsh/ 对应目录
25
+ (或整个目录覆盖 ~/qcc-previsit-dsh 后 `pnpm check` 一次)
26
+ 2. dsh web 窗口 Ctrl+C,重新 dsh web
27
+ 3. 刷新浏览器,重跑一单尽调 → 作战交付阶段点「下载报告」
28
+ 注意:这次改了前端代码(非纯 Markdown),所以压缩包里带了重新构建好的 lib/,务必一并覆盖。
29
+
30
+ ## 验证是否生效(覆盖后、重启前)
31
+ ```bash
32
+ grep "version:" ~/qcc-previsit-dsh/skills/qcc-previsit-onepager/SKILL.md # 期望 version: 0.3.2
33
+ grep -c "extractCardText" ~/qcc-previsit-dsh/lib/client.js # 期望 2(v0.3.1 为 0)
34
+ ```
35
+ 坑:构建后的 lib/client.js 里中文被转义为 \uXXXX,直接 grep 中文(如「下载报告」)永远是 0,不能作为判断依据。
36
+ 坑:v0.3.1 与 v0.3.2 压缩包顶层文件夹同名,macOS 会把后解压的改名为 `qcc-previsit-dsh 2`,请确认拷贝的是含 CHANGES_v0.3.2.md 的那个目录。
@@ -0,0 +1,27 @@
1
+ # v0.3.3 变更:产业定位独立成段 + 下载按钮不再依赖任务状态
2
+
3
+ ## 1. 产业定位独立成段(回应“没有产业概览”)
4
+ - 作战卡由七段改为八段:① 核心研判 ② 产业定位 ③ 近期动态 ④ 业务假设 ⑤ 红线提示 ⑥ 现场必问 ⑦ 触达开场 ⑧ 覆盖说明。
5
+ - 产业定位不再是核心研判里的一行,而是任何档位都不得省略的独立段:主营与业务模式 / 行业分类 / 产业链环节(上下游)/ 环节特征(推理说明)。
6
+ 速览 2–3 行,标准 4 行,深度加“产业链对标(推理综述 · 非企查查事实)”。原“行业分析”段并入本段。
7
+ - 工作台右侧“固定八段作战卡”清单同步改为四字标题。
8
+
9
+ ## 2. 「下载报告」按钮修复
10
+ - 问题:v0.3.2 只在“工作台里发起的任务且状态为 ready”时才渲染按钮。你的截图里工作台显示“等待任务”——
11
+ 工作台面板关闭再打开会重新挂载、任务状态丢失;直接在对话框输入的尽调也不算工作台任务。两种情况按钮都不出现。
12
+ - 修复:作战交付页始终显示按钮,只要当前 Session 里能捕获到作战卡正文就可点;无任务时面板提示“已捕获作战卡”。
13
+ - 提取器改为“最后一次工具事件之后的全部助手文本拼接”(作战卡被拆成多个文本节点也能整卡拿到),
14
+ 并移入纯模块 report-export.ts,新增 3 个单测覆盖 text / content[] / message.content 三种节点形态。
15
+
16
+ ## 应用
17
+ 1. 用压缩包里的 skills/ 与 lib/ 覆盖 ~/qcc-previsit-dsh/ 对应目录(两者都要)。
18
+ 2. dsh web 窗口 Ctrl+C,重新 dsh web;浏览器刷新。
19
+ 3. 验证(覆盖后):
20
+ grep "version:" ~/qcc-previsit-dsh/skills/qcc-previsit-onepager/SKILL.md # 期望 version: 0.3.3
21
+ grep -c "u4EA7\\\\u4E1A\\\\u5B9A\\\\u4F4D" ~/qcc-previsit-dsh/lib/client.js # “产业定位”转义串,期望 ≥1
22
+ 4. 旧会话直接打开工作台 → 作战交付 → 应能看到「下载报告」可点(旧卡是七段样式,正常);
23
+ 重跑一单尽调看第二段“产业定位”。
24
+
25
+ ## 仍需你环境验一处
26
+ 若按钮仍是灰的,说明 DSH 会话节点的文本字段不在 text / content / message.content / parts 之中。
27
+ 点右上角「Session log ↓」把日志发我,我对准真实字段。
@@ -0,0 +1,18 @@
1
+ # v0.3.4 变更:修复下载报告抓错内容
2
+
3
+ ## 问题
4
+ v0.3.3 的「下载报告」能点了,但下载出来的是会话里注入的系统提醒/技能清单(<system-reminder>…),不是作战卡。
5
+ 原因:提取器按"最后一次工具事件之后的助手文本"拼接,而 DSH 会话在重启后会把技能清单作为一个节点注入,
6
+ 其 role/kind 字段不在顶层,过滤不掉;且它恰好含"覆盖"等关键词。
7
+
8
+ ## 修复
9
+ - 改为"按内容定位":从末尾找最后一个含作战卡起点(`# 拜访作战卡 · 企业名` 或 `## ① 核心研判`)的节点,
10
+ 从起点切片到节点末尾(前面的过程性文字不进报告),只拼接紧邻的 Markdown 延续节点。
11
+ - 硬性排除含 <system-reminder> / <available_skills> 等注入标记的节点。
12
+ - 结构校验:必须同时含"核心研判"和"现场必问/覆盖说明"才算作战卡。
13
+ - 新增 2 个单测(切片、注入排除),共 29 个通过。
14
+
15
+ ## 应用
16
+ 同前:覆盖 skills/ 与 lib/,Ctrl+C 后重新 dsh web,刷新浏览器。
17
+ 验证:grep "version:" ~/qcc-previsit-dsh/skills/qcc-previsit-onepager/SKILL.md → version: 0.3.4
18
+ 下载后文件名应为「拜访作战卡_企查查科技股份有限公司.html」(不再是"拜访作战卡_拜访作战卡")。
@@ -0,0 +1,22 @@
1
+ # v0.3.5 变更:文案去"作战卡"、字号放大、下载兜底、小屏修复
2
+
3
+ ## 1. 流程与文案(克制、四字、不再出现"作战/卡")
4
+ - 四阶段:尽调设定 → 经营研判 → 风险核查 → 尽调报告
5
+ - 状态:待设定 / 等待执行 / 正在尽调 / 报告已生成 / 需要处理
6
+ - 报告页:标题「尽调报告」,一句说明"不是资料堆砌,只回答四件事:去不去、见谁、聊什么、什么不能碰"
7
+ - 按钮:新的尽调 / 下载报告 / 查看完整报告 / 返回会话
8
+ - 报告本体改名「访前尽调报告 · 企业名」(Skill、模板、导出文件名同步);下载文件名「访前尽调报告_企业名.html」
9
+
10
+ ## 2. 工作台字号与对比度
11
+ - 全部字号上调约 3px(8→11、9→12、10→13、11→14…),次要文字颜色从三级灰改为二级灰。
12
+
13
+ ## 3. 「下载报告」点击无反应
14
+ - 原因:会话快照里取不到正文时按钮是禁用态,点了没反馈。
15
+ - 修复:按钮始终可点;快照取不到时改从对话区已渲染的报告 DOM 取(去样式、去控件,套同一报告外壳);
16
+ 两者都取不到时在页脚给出红色提示,不再静默。
17
+
18
+ ## 4. 小屏样式错乱
19
+ - 对话输入框旁的「访前尽调」入口在窄屏下逐字竖排:已加 nowrap / flex:none。
20
+
21
+ ## 应用
22
+ 同前:覆盖 skills/ 与 lib/,Ctrl+C 后重新 dsh web,刷新。验证 version: 0.3.5。
@@ -0,0 +1,22 @@
1
+ # v0.3.6 变更:经营研判 / 风险核查两页重做;报告去内部符号
2
+
3
+ ## 1. 两页信息重排(原则:做到哪了 → 查到了什么 → 得出了什么)
4
+ 删掉:引擎 A/B 规则卡、页头说明段、"八种有限经营状态"静态网格、"01 先全量扫描…"规则卡、红线/关注/未覆盖说明条、原始工具名列表。
5
+ 经营研判:
6
+ - 进度四步:主体锚定 → 基础信号 → 状态判定 → 假设反证(来自真实工具事件,已完成/进行中/待开始)
7
+ - 已取得:工具名翻译成维度(工商登记、企业画像、年报、股东、招投标…),✓ 已取得 / 蓝色闪烁 查询中 / 红色 失败
8
+ - 经营状态:八种状态条带只点亮命中的那个,旁边显示置信度与产业链环节;状态未定时明示
9
+ - 业务假设:H1/H2… 一行一条,带 P0/P1 标签
10
+ 风险核查:
11
+ - 进度四步:风险扫描 → 明细下钻 → 董监高 → 影响判断
12
+ - 已核查:失信、被执行、终本、股权冻结、经营异常、行政处罚、税务异常、司法文书、董监高
13
+ - 风险分级:红线 / 关注 / 信息 三个数字,各配一条最重要的事实
14
+ 以上"结论"部分从报告正文抽取(新增 stage-insights.ts,纯函数,6 个单测)。
15
+
16
+ ## 2. 下载报告去内部符号
17
+ - [F-002] 这类事实编号只对模型追溯有用,报告里全部去掉
18
+ - 来源层级 L1/L2/L3/L5 翻译成:财报披露 / 公开记录 / 关联关系 / 现场核实;表头"来源层级"→"来源"
19
+ - 模板里"本卡"→"本报告"
20
+
21
+ ## 应用
22
+ 同前:覆盖 skills/ 与 lib/,Ctrl+C 后重新 dsh web,刷新。验证 version: 0.3.6。
@@ -0,0 +1,19 @@
1
+ # v0.3.7 变更:尽调设定移到输入框上方
2
+
3
+ ## 交互设计
4
+ DSH 提供 `conversation.input.dock` 插槽(输入框卡片正上方、同宽的一整行),本版把"尽调设定"做成这一行的「访前尽调」条:
5
+
6
+ - 折叠态(一行):左侧「访前尽调」标识,中间是当前已选条件的小标签(企业名 · 角色 · 目的 · 关注 · 深度 · 输出),右侧箭头。点击展开/收起。
7
+ - 展开态:六行——要见谁(企业名输入框)/ 我是 / 目的 / 关注 / 深度 / 输出,每行"标签 + 一排可点的条件"。
8
+ - 核心机制:每点一个条件,句子**实时写进 DSH 原生输入框**(不再有第二个文本框)。输入框里的文字随时可以手改;
9
+ 手改过之后点选不会覆盖,条里出现「按条件补充」按钮,点它另起一句追加。
10
+ - 「开始尽调 →」走正式提交(带任务 ID),发送后条自动折叠、清空输入框、右侧工作台切到"经营研判"并开始跟踪。
11
+ - 直接按 DSH 自己的发送键也能发(不带任务 ID,工作台不跟踪进度,但报告照常生成)。
12
+ - 「重点关注」不再限制 4 项。
13
+
14
+ 右侧工作台的"尽调设定"页改为只读摘要:显示本次选择的条件与已发送的任务原文,按钮「去设定」回到会话。
15
+ 设定条与工作台共用同一份会话级状态(新增 previsit-store.ts)。
16
+
17
+ ## 应用
18
+ 同前:覆盖 skills/ 与 lib/,Ctrl+C 后重新 dsh web,刷新。验证 version: 0.3.7。
19
+ 打开任意会话(包括新会话首页),输入框上方应出现「访前尽调」条。
@@ -0,0 +1,18 @@
1
+ # v0.3.8 变更:设定条与输入框合为一体、联动修复
2
+
3
+ ## 1. 一个容器,不再叠两层
4
+ 参照 DSH 自己的"计划条 / 队列条"贴合方式:设定条改为输入框卡片的**顶部一段**(上圆角、无底边、底部与卡片重叠 3px、淡色底),
5
+ 视觉上是同一张卡片的上半部分,而不是另一个盒子摞在上面。内部不再有二级卡片:只有"标签 + 一排条件"的行。
6
+
7
+ ## 2. 联动
8
+ - 点条件 / 填企业名 → 句子实时写进下方输入框。除了走 DSH 公开的 setDraft,再加一道原生 setter + input 事件的兜底,
9
+ 30ms 后若输入框内容仍没跟上就直接写入,避免 v0.3.7 里"选中了但输入框没变"的情况。
10
+ - 输入框里手改 → 设定条实时识别为"手工内容"模式:之后点条件不覆盖,条里出现「按条件补充」追加一句。
11
+ - 「清空」同时清两边。
12
+
13
+ ## 3. 展开状态
14
+ 新会话默认展开;已有对话的会话默认折叠为一行摘要;发送后自动折叠。
15
+ 修复 v0.3.7 在首页被裁掉一半的问题(flex 收缩导致)。
16
+
17
+ ## 应用
18
+ 同前:覆盖 skills/ 与 lib/,Ctrl+C 后重新 dsh web,刷新。验证 version: 0.3.8。
@@ -0,0 +1,16 @@
1
+ # v0.3.9 变更:两边状态同步
2
+
3
+ ## 问题
4
+ 从设定条或直接在输入框发起尽调后,右侧工作台仍显示"等待设定"、不跟踪进度。
5
+ 原因:工作台只认自己(旧版面板里的按钮)登记的任务;设定条发出的任务登记在发送前的会话 ID 上,
6
+ DSH 首页空白会话在第一次发送时会换成正式会话 ID,登记就对不上;直接按发送键发出的更是没有登记。
7
+
8
+ ## 修复:从会话本身认领任务
9
+ 工作台和设定条都改为"看会话说话":
10
+ - 会话里最后一条带「访前任务 ID:PV-…」的消息 → 认领为该任务,从那条消息开始计数;
11
+ - 没有标记但已出现企查查工具调用(直接在输入框里发的)→ 认领为"会话内发起",从头跟踪。
12
+ 不再依赖谁点了哪个按钮;打开任何一个正在跑或跑完的尽调会话,工作台四个阶段都能对上。
13
+ 设定条在认领到任务后自动折叠,摘要显示"尽调进行中"。
14
+
15
+ ## 应用
16
+ 同前:覆盖 skills/ 与 lib/,Ctrl+C 后重新 dsh web,刷新。验证 version: 0.3.9。
@@ -0,0 +1,12 @@
1
+ # v0.4.0 变更:主标题、两边同一份表单
2
+
3
+ ## 1. 首页主标题
4
+ "探索未至之境" → "访前尽调智能体"。实现:启动时改写 DSH 会话词典里的 hero.headline(中英文),并加 DOM 观察兜底。
5
+
6
+ ## 2. 右侧工作台"尽调设定"页与输入框上方的设定条是同一份表单
7
+ - 同一个表单组件、同一份会话级状态:在任一边选条件 / 填企业名,另一边立刻一致;两边都能点「开始尽调」。
8
+ - 两边都实时写 DSH 输入框:设定条走公开动作 + DOM 兜底;工作台直接写输入框。
9
+ - 去掉"回到会话、在输入框上方设定"的提示与「去设定」按钮。
10
+
11
+ ## 应用
12
+ 同前:覆盖 skills/ 与 lib/,Ctrl+C 后重新 dsh web,刷新。验证 version: 0.4.0。
@@ -0,0 +1,16 @@
1
+ # v0.4.1 变更:尽调类型栏、提示词条默认隐藏、企业名回填修复
2
+
3
+ ## 1. 输入框下方:四个尽调类型
4
+ 访前尽调 / 准入尽调 / 交易尽调 / 持续尽调,icon + 文案,hover 出一句话说明。
5
+ 目前只有「访前尽调」可点,其余三个灰色不可点(说明里标"即将上线")。
6
+ 挂在 DSH 的 conversation.composer.dock 插槽(输入框卡片下方一行)。
7
+
8
+ ## 2. 提示词生成条默认不展示
9
+ 点「访前尽调」才出现(出现时展开),再点一次隐藏;条头的箭头可收起为一行摘要。
10
+
11
+ ## 3. 修复:表单里填的企业名没进输入框
12
+ 原因:句子里的占位符"(这里输入企业名)"被当成用户填的企业名回收了。
13
+ 现在表单里填的企业名优先,占位符本身永远不会被当成企业名;补了回归测试。
14
+
15
+ ## 应用
16
+ 同前:覆盖 skills/ 与 lib/,Ctrl+C 后重新 dsh web,刷新。验证 version: 0.4.1。
@@ -0,0 +1,4 @@
1
+ # v0.4.10 修复:精简模式对工具行无效
2
+ 原因:DSH 里 MCP 工具调用行的节点类型是 tool-call(command 只是斜杠命令),v0.4.4 的规则只匹配了 command。
3
+ 现在 tool-call 与 command 一并折叠:一串连续的工具行(中间夹着只有思考的空步骤也算)只留最后一行。
4
+ 应用同前,验证 version: 0.4.10。
@@ -0,0 +1,5 @@
1
+ # v0.4.11 变更:报告里的内部编号
2
+ - 假设标题「H2 · P1 · …」在报告里显示为「假设 2(重要)…」:P0 优先 / P1 重要 / P2 备选;正文里"回指 H2"显示为"回指 假设 2"。
3
+ - 合写的事实编号 [F-008/F-009/F-013]、[F-002、F-008] 也一并去掉(之前只处理单个 [F-013])。
4
+ 对话里仍保留原编号供追溯;只影响工作台预览与下载的报告。
5
+ 应用同前,验证 version: 0.4.11。
@@ -0,0 +1 @@
1
+ # v0.4.12:报告里“说明”行左对齐(从对话区渲染取来的引用块去掉默认缩进)。应用同前,验证 version: 0.4.12。
@@ -0,0 +1 @@
1
+ # v0.4.13:报告表格列宽——表头与首列(等级/日期/推荐级)不换行、按内容定宽,长文本列自适应。应用同前,验证 version: 0.4.13。
@@ -0,0 +1,6 @@
1
+ # v0.4.14:切换到通用 MCP 连接器
2
+
3
+ - 安装链路由 `qcc-dsh-mcp-oauth@0.1.7` 切换为 `dsh-mcp-connector@0.2.32`。
4
+ - 访前工作台改为从 npm 安装 `qcc-previsit-dsh@0.4.14`,不再依赖 GitHub 直装。
5
+ - 新用户通过“🧩 MCP连接器”里的“企查查·企业工商”完成 OAuth;其 Server 名称保持不变,工作台和 Skill 无需改动。
6
+ - 安装器检测到旧 OAuth 插件时只提示迁移,不自动删除旧插件或凭据;确认新连接健康后再手动卸载旧插件。
@@ -0,0 +1,6 @@
1
+ # v0.4.2 变更:尽调类型栏在首页也显示
2
+
3
+ v0.4.1 的四个尽调类型按钮挂在 DSH 的 composer.dock 插槽,但 DSH 在首页(空白会话)不渲染这个插槽,所以看不到。
4
+ 改为从设定条组件出发,把类型栏用 portal 挂到输入框卡片栈的末尾(卡片正下方),首页与会话内都显示。
5
+
6
+ 应用同前:覆盖 skills/ 与 lib/,Ctrl+C 后重新 dsh web,刷新。验证 version: 0.4.2。
@@ -0,0 +1,9 @@
1
+ # v0.4.3 变更:标题、场合与尽调类型去重
2
+
3
+ - 提示词条标题改为「访前尽调提示词生成」。
4
+ - 原「目的」四项(首次拜访摸底 / 商务谈判前 / 签约·准入前核查 / 复访更新)与输入框下方的四个尽调类型有重叠:
5
+ 签约/准入前核查 = 准入尽调,复访更新 ≈ 持续尽调。
6
+ 改为「场合」三项,只保留"拜访这件事"内部的区分:首次拜访 / 谈判前拜访 / 复访。
7
+ 准入核查归「准入尽调」,无拜访的定期复查归「持续尽调」,交易对手核查归「交易尽调」。
8
+
9
+ 应用同前:覆盖 skills/ 与 lib/,Ctrl+C 后重新 dsh web,刷新。验证 version: 0.4.3。
@@ -0,0 +1,18 @@
1
+ # v0.4.4 变更:入口收敛、精简过程
2
+
3
+ ## 1. 入口
4
+ - 去掉输入框工具行里的「访前尽调」按钮、左侧边栏底部的「访前尽调」按钮。
5
+ - 提示词生成条的标题行右侧加「工作台」按钮,打开右侧工作台。
6
+ - 会话头部保留一个「工作台」入口。
7
+
8
+ ## 2. 过程显示:精简 / 完整(会话头部右上角切换,默认精简,记住选择)
9
+ 精简模式下:
10
+ - 一串连续的工具调用只显示最后一行(每一"轮"只留一行),不再一行一个 Tool call 排满屏;
11
+ - 已结束的 Think 行隐藏,正在进行的 Think 保留(还能看到"在想什么");
12
+ - 「上下文注入」行隐藏;
13
+ - 只含思考/工具块、没有正文的空步骤隐藏;
14
+ - 助手写出来的正文、报告、最终结论完整保留。
15
+ 切到「完整」即恢复 DSH 原样。实现是纯 CSS(按 DSH 每个会话节点自带的 data-chat-flow-kind 属性),不改 DSH 渲染逻辑。
16
+
17
+ ## 应用
18
+ 同前:覆盖 skills/ 与 lib/,Ctrl+C 后重新 dsh web,刷新。验证 version: 0.4.4。
@@ -0,0 +1,8 @@
1
+ # v0.4.5 变更:工作台内看报告、类型栏细节
2
+
3
+ - 尽调报告页:报告生成后直接在工作台内预览(与下载的 HTML 同一份样式),右上角「下载 HTML」;
4
+ 未生成时仍显示进度与八段结构。
5
+ - 输入框下方的尽调类型栏:圆角改为 5px,栏下方留 14px 空隙,不再贴屏幕底边。
6
+ - 「工作台」按钮只在提示词生成条展开时显示,收起时不显示。
7
+
8
+ 应用同前:覆盖 skills/ 与 lib/,Ctrl+C 后重新 dsh web,刷新。验证 version: 0.4.5。
@@ -0,0 +1,4 @@
1
+ # v0.4.6 变更:报告页按钮收敛
2
+ 尽调报告页只剩两个按钮:「新的尽调」「下载报告」(主按钮)。去掉页头的「下载 HTML」和底部的「查看完整报告」(它只是关掉面板回到会话,报告已在面板里能看)。
3
+ 其他阶段底部为「新的尽调」「返回会话」。
4
+ 应用同前,验证 version: 0.4.6。
@@ -0,0 +1,5 @@
1
+ # v0.4.7 变更:报告标题样式
2
+ - 段标题由 ①②③ 圈号改为「1、核心研判」格式(模板与 Skill 同步;旧报告里的圈号在渲染时也会自动转换)。
3
+ - 大标题:蓝色加粗,标题下一条短蓝线;小标题:浅灰底 + 左侧蓝竖线(参照你给的样式)。
4
+ - 标题下的「> 说明:…」渲染为小字说明,不再带 ">" 号。
5
+ 应用同前,验证 version: 0.4.7。
@@ -0,0 +1,4 @@
1
+ # v0.4.8 变更
2
+ - 去掉会话头部的「工作台」按钮(工作台从右侧标签页或提示词条内的「工作台」打开)。
3
+ - 「过程:精简/完整」弱化为一段灰色小字切换(精简 | 完整),无边框、无圆角、无蓝色;当前项深灰,另一项浅灰。
4
+ 应用同前,验证 version: 0.4.8。
@@ -0,0 +1,5 @@
1
+ # v0.4.9 变更:提示词条重新配色
2
+ 全部改用 DSH 自身的中性色 token:白底面板 + 一条分隔线;标签 12px 三级灰;条件项 5px 圆角、细边框、二级灰文字,
3
+ 选中态为深色实心(不再用蓝色淡底);企业名输入框 5px 圆角;按钮无边框文字样式,只有「开始尽调」用 DSH 业务蓝。
4
+ 输入框下方类型栏选中态同样改为深色实心。附预览图。
5
+ 应用同前,验证 version: 0.4.9。
@@ -0,0 +1,34 @@
1
+ # 历史版本说明归档
2
+
3
+ 这些文件原位于仓库根目录,现集中归档,正文保持不变。它们记录早期包和工作台的历史版本,版本号不等同于当前 npm 包版本;旧安装命令仅供追溯,请勿作为当前安装指南。
4
+
5
+ 返回[智能体介绍](../../../README.md) · 查看[当前更新日志](../../../CHANGELOG.md)
6
+
7
+ 后续版本统一维护根目录 CHANGELOG.md,详细发布说明放在 docs/RELEASE-版本号.md,不再向根目录添加 CHANGES 文件。
8
+
9
+ - [v0.1.0](CHANGES_v0.1.0.md)
10
+ - [v0.1.1](CHANGES_v0.1.1.md)
11
+ - [v0.3.1](CHANGES_v0.3.1.md)
12
+ - [v0.3.2](CHANGES_v0.3.2.md)
13
+ - [v0.3.3](CHANGES_v0.3.3.md)
14
+ - [v0.3.4](CHANGES_v0.3.4.md)
15
+ - [v0.3.5](CHANGES_v0.3.5.md)
16
+ - [v0.3.6](CHANGES_v0.3.6.md)
17
+ - [v0.3.7](CHANGES_v0.3.7.md)
18
+ - [v0.3.8](CHANGES_v0.3.8.md)
19
+ - [v0.3.9](CHANGES_v0.3.9.md)
20
+ - [v0.4.0](CHANGES_v0.4.0.md)
21
+ - [v0.4.1](CHANGES_v0.4.1.md)
22
+ - [v0.4.2](CHANGES_v0.4.2.md)
23
+ - [v0.4.3](CHANGES_v0.4.3.md)
24
+ - [v0.4.4](CHANGES_v0.4.4.md)
25
+ - [v0.4.5](CHANGES_v0.4.5.md)
26
+ - [v0.4.6](CHANGES_v0.4.6.md)
27
+ - [v0.4.7](CHANGES_v0.4.7.md)
28
+ - [v0.4.8](CHANGES_v0.4.8.md)
29
+ - [v0.4.9](CHANGES_v0.4.9.md)
30
+ - [v0.4.10](CHANGES_v0.4.10.md)
31
+ - [v0.4.11](CHANGES_v0.4.11.md)
32
+ - [v0.4.12](CHANGES_v0.4.12.md)
33
+ - [v0.4.13](CHANGES_v0.4.13.md)
34
+ - [v0.4.14](CHANGES_v0.4.14.md)
package/install.sh CHANGED
@@ -5,7 +5,7 @@ set -euo pipefail
5
5
  readonly PROFILE_NAME="${DSH_PROFILE:-web}"
6
6
  readonly BASELINE="${DSH_PREVISIT_BASELINE:-stable}"
7
7
  readonly WORKBENCH_MODE="${DSH_PREVISIT_WORKBENCH:-off}"
8
- readonly PREVISIT_SPEC="${DSH_PRE_DUEDILIGENCE_SPEC:-dsh-pre-duediligence@0.1.36}"
8
+ readonly PREVISIT_SPEC="${DSH_PRE_DUEDILIGENCE_SPEC:-dsh-pre-duediligence@0.1.38}"
9
9
  readonly LEGACY_PREVISIT_NAME="qcc-previsit-dsh"
10
10
  readonly LEGACY_QCC_OAUTH_NAME="qcc-dsh-mcp-oauth"
11
11