dsh-pre-duediligence 0.1.3 → 0.1.5

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.
package/CHANGELOG.md ADDED
@@ -0,0 +1,19 @@
1
+ # 更新日志
2
+
3
+ ## [0.1.5] - 2026-09-07
4
+
5
+ - 对齐 DSH-UX-001 v1.1.0 与企查查蓝 Mockup:浅深色 Token、组件状态、键盘焦点和窄屏布局统一更新。
6
+ - 左侧菜单保持“访前尽调”,菜单、首页与工作台统一使用 Mockup 的线性建筑 LOGO;首页标题更新为“访前尽调一页纸智能体”。
7
+ - 首页改为简洁说明与输入框下方五项快捷菜单;快捷菜单只导航同一权威右侧工作台,不伪造执行进度。
8
+ - 新增四步提示词生成器:居中 Portal、固定头尾、正文滚动、Escape/Tab 焦点管理,回填不自动发送;已有草稿必须选择替换、追加或取消。
9
+ - 工作台升级为“当前任务 / 任务历史”主导航及五步业务导航,并增加关闭后的会话头恢复入口。
10
+ - 修正状态诚实性:会话停止但未捕获完整报告时保持“等待确认 / 继续”,不再误报完成;“新的尽调”不会重新认领刚清除的旧任务。
11
+ - 下载报告同步采用企查查蓝;新增规范采纳记录和 UI 契约测试。
12
+
13
+ ## [0.1.4] - 2026-09-06
14
+
15
+ - 保持 sessions.create 的运行时接收者,修复读取 this.manager 导致的「打开失败,请重试」。
16
+ - 创建独立会话并校验标识,先准备目标工作台再切换会话;准备失败时保持原页面。
17
+ - 补齐中文产品首页、四阶段流程及局部可恢复标题,仅在访前尽调空白会话展示。
18
+ - 侧栏展开请求支持新会话挂载前排队,修复连续切换时右侧工作台不显示。
19
+ - 增加入口失败、会话归属、标题恢复和导航提交顺序回归测试。
package/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # dsh-pre-duediligence
2
2
 
3
+ 当前版本:**0.1.5**。界面已对齐 DSH-UX-001 v1.1.0 与企查查蓝 Mockup:菜单、首页和工作台使用同一建筑 LOGO,首页名称为“访前尽调一页纸智能体”,并新增五项快捷菜单与四步提示词生成器。详见 [更新日志](CHANGELOG.md)和[规范采纳记录](docs/DSH-UX-001-ADOPTION.md)。
4
+
3
5
  面向 DeepSeek Harness 的 Session 级访前尽调智能体。业务人员从左侧菜单进入,在会话级工作台定义一次拜访;Agent 调用企查查五类 MCP,使用机会与风险双引擎完成经营状态识别、假设与反证、风险核验,最终交付可追溯的访前尽调报告。
4
6
 
5
7
  ## 功能概览
@@ -9,19 +11,25 @@
9
11
  ### 工作台
10
12
 
11
13
  - 使用 dsh-better-sidebar 0.17.1,不再使用遮挡对话的自定义浮层
12
- - 只在 DSH 左侧菜单增加“访前尽调智能体”入口;对应工作台标签在 Better Sidebar 的右侧“+”菜单中隐藏
13
- - 用户点击左侧入口、工作台真实可见后才挂载业务样式;关闭后立即卸载,不影响 DSH 原页面
14
- - 四阶段业务导航:
15
- 1. 定义拜访
16
- 2. 机会研判
17
- 3. 风险核验
18
- 4. 尽调报告
19
- - 执行完成或失败时切到“尽调报告”;用户已关闭工作台时不会强制重新打开
14
+ - 只在 DSH 左侧菜单增加“访前尽调”入口;对应工作台标签在 Better Sidebar 的右侧“+”菜单中隐藏
15
+ - 菜单、首页与工作台统一使用企查查蓝 Mockup 的线性建筑 LOGO;初始页面为“访前尽调一页纸智能体”
16
+ - 首页只保留简洁说明、DSH 原生输入框和输入框下方五项快捷菜单:企业核验、经营画像、风险核查、访前材料、任务历史
17
+ - “当前任务 / 任务历史”主导航与五阶段业务导航分离:
18
+ 1. 对象与目标
19
+ 2. 范围确认
20
+ 3. 资料采集
21
+ 4. 证据核验
22
+ 5. 材料输出
23
+ - 快捷菜单与阶段导航只切换视图,不伪造执行状态;只有捕获到完整报告后才显示“报告已生成”
24
+ - 关闭工作台只隐藏界面,不取消任务;可从输入区快捷菜单或会话头按钮恢复
20
25
  - 进度与工具记录只读取当前 Session 的真实事件,不维护跨 Session 的浏览器任务列表
21
26
  - 完整报告保留在 DSH 原生会话中
22
27
 
23
28
  ### 点选拼句器
24
29
 
30
+ - 输入框左上角提供四步提示词生成器:拜访对象 → 角色场景 → 范围深度 → 确认输出
31
+ - 向导使用居中弹窗、固定头尾、滚动正文、Escape 关闭与 Tab 焦点环
32
+ - 生成结果只回填 DSH 原生输入框,不自动发送;已有草稿必须显式选择替换、追加或取消
25
33
  - 前端不预选角色、档位或输出形态,默认逻辑只存在于 Skill
26
34
  - 支持角色、拜访场合(首次 / 谈判前 / 复访)、重点关注、尽调深度和输出形态;签约/准入类核查归入「准入尽调」,定期复查归入「持续尽调」
27
35
  - 拼句路由词与 Skill 逐字绑定,并有自动化契约测试
@@ -55,7 +63,7 @@ bash <(curl -fsSL https://raw.githubusercontent.com/duhu2000/dsh-pre-duediligenc
55
63
 
56
64
  1. `dsh-better-sidebar@0.17.1`:提供 Session 级右侧工作台容器。
57
65
  2. `dsh-mcp-connector@0.2.32`:提供通用 MCP 连接器与市场,通过“企查查·企业工商”完成 OAuth,并动态挂载企业、风险、知产、经营、历史和董监高 MCP。
58
- 3. `dsh-pre-duediligence@0.1.3`:提供左侧智能体入口、访前工作台、点选拼句器和完整 Skill。
66
+ 3. `dsh-pre-duediligence@0.1.5`:提供左侧智能体入口、访前工作台、提示词生成器和完整 Skill。
59
67
 
60
68
  安装完成后停止旧的 DSH Web 进程并重新运行:
61
69
 
@@ -70,7 +78,7 @@ dsh web
70
78
  ~~~bash
71
79
  dsh plugin --profile web add dsh-better-sidebar@0.17.1 --allow-build=node-pty
72
80
  dsh plugin --profile web add dsh-mcp-connector@0.2.32
73
- dsh plugin --profile web add dsh-pre-duediligence@0.1.3 --allow-build=dsh-pre-duediligence
81
+ dsh plugin --profile web add dsh-pre-duediligence@0.1.5 --allow-build=dsh-pre-duediligence
74
82
  dsh web
75
83
  ~~~
76
84
 
@@ -84,7 +92,7 @@ Better Sidebar 必须使用 `0.17.1`;工作台依赖它的 `targetedOpen` 与
84
92
  dsh plugin --profile web list --depth 0
85
93
  ~~~
86
94
 
87
- 应能看到 `dsh-better-sidebar@0.17.1`、`dsh-mcp-connector@0.2.32` 和 `dsh-pre-duediligence@0.1.3`。重启 DSH 并连接“企查查·企业工商”后,在左侧菜单点击“访前尽调智能体”打开工作台;Better Sidebar 的右侧“+”菜单不会再列出该入口。点击前 DSH 首页、输入框、消息流和 Session 头部均保持原样。
95
+ 应能看到 `dsh-better-sidebar@0.17.1`、`dsh-mcp-connector@0.2.32` 和 `dsh-pre-duediligence@0.1.5`。重启 DSH 并连接“企查查·企业工商”后,在左侧菜单点击“访前尽调”打开工作台;Better Sidebar 的右侧“+”菜单不会再列出该入口。普通会话的首页、输入框、消息流和 Session 头部保持原样。
88
96
 
89
97
  ### 从旧访前尽调包迁移
90
98
 
@@ -100,7 +108,7 @@ dsh plugin --profile web remove qcc-previsit-dsh
100
108
 
101
109
  如果 Web profile 已安装 `qcc-dsh-mcp-oauth`,不要让它与 MCP 连接器同时管理同名企查查 Server:
102
110
 
103
- 1. 先安装 `dsh-mcp-connector@0.2.32` 和 `dsh-pre-duediligence@0.1.3`,完全重启 DSH。
111
+ 1. 先安装 `dsh-mcp-connector@0.2.32` 和 `dsh-pre-duediligence@0.1.5`,完全重启 DSH。
104
112
  2. 打开“🧩 MCP连接器”,按界面提示迁移旧企查查授权;也可以重新连接“企查查·企业工商”。
105
113
  3. 迁移完成后停止 DSH,执行 `dsh plugin --profile web remove qcc-dsh-mcp-oauth`。
106
114
  4. 再次启动 DSH,在“已安装”中确认企查查连接健康,然后执行一次真实企业查询。
@@ -114,24 +122,26 @@ git clone https://github.com/duhu2000/dsh-pre-duediligence.git
114
122
  cd dsh-pre-duediligence
115
123
  pnpm install
116
124
  pnpm check
125
+ pnpm test:ui
117
126
  ~~~
118
127
 
119
- pnpm check 会执行 TypeScript 类型检查、Vitest 测试和 Host/Client 构建。
128
+ `pnpm check` 会执行 TypeScript 类型检查、Vitest 测试和 Host/Client 构建。`pnpm test:ui` 使用本机 Headless Chrome,在隔离宿主中检查浅色/深色与桌面/移动布局,不连接真实 DSH 或企查查服务。
120
129
 
121
130
  ## 人工验收
122
131
 
123
132
  1. 在 DSH 选择一个工作空间和 Session。
124
- 2. 确认左侧菜单出现“访前尽调智能体”,同时右侧 Better Sidebar 的“+”菜单不再出现该入口;首页标题、输入框、消息流和 Session 头部均保持 DSH 原样。
125
- 3. 点击左侧“访前尽调智能体”,确认会话级工作台打开;关闭后业务 UI 和样式不再存在。
126
- 4. 打开“定义拜访”,确认所有条件初始都未选择。
127
- 5. 选择“银行/信贷客户经理、首次拜访、风险与涉诉、股权与实控人、15分钟标准、一页纸简报”。
128
- 6. 将占位符替换为完整注册名称“企查查科技股份有限公司”,再切换档位,确认企业名称不丢失。
129
- 7. 输入一段自由文本后点选条件,确认原文不被覆盖;点击“按条件补充”后才另起一句追加。
130
- 8. 点击“开始访前尽调”,确认消息直接作为用户可见文本发送到当前 Session。
131
- 9. 确认工作台切到“机会研判”,并只展示当前 Session 真实发生的企业、经营和知识产权工具调用。
133
+ 2. 确认左侧菜单出现“访前尽调”及建筑 LOGO,同时右侧 Better Sidebar 的“+”菜单不再出现该入口;普通会话保持 DSH 原样。
134
+ 3. 点击“访前尽调”,确认首页标题为“访前尽调一页纸智能体”,LOGO 与菜单一致,说明行独立居中。
135
+ 4. 确认五项快捷菜单位于原生输入框下方,点击后只切换右侧工作台视图。
136
+ 5. 打开输入框左上角“提示词生成”,检查四步、滚动、固定头尾、Tab 焦点环和 Escape 恢复焦点。
137
+ 6. 选择“银行/信贷客户经理、首次拜访、风险与涉诉、股权与实控人、15分钟标准、一页纸简报”并填写企业。
138
+ 7. 输入框已有自由文本时,分别验证取消、追加、替换;确认回填后不会自动发送。
139
+ 8. 点击 DSH 原生发送按钮,确认消息作为用户可见文本发送到当前 Session。
140
+ 9. 确认工作台只展示当前 Session 真实发生的企业、经营、知识产权和风险工具调用。
132
141
  10. 检查风险侧先出现企业风险扫描,零计数维度没有继续下钻。
133
- 11. 任务完成后确认工作台自动切到“尽调报告”。
134
- 12. 检查报告有八段(含独立的产业定位段),假设包含支持/反对/未知,必问包含答 A/B 分支,覆盖声明区分零记录和调用失败。
142
+ 11. 中途关闭工作台,确认任务继续;点击会话头“访前尽调”可恢复。
143
+ 12. Agent 停止但未生成完整报告时应显示“等待确认 / 继续”;完整报告出现后才显示“报告已生成”。
144
+ 13. 检查报告有八段(含独立产业定位),假设包含支持/反对/未知,必问包含答 A/B 分支,覆盖声明区分零记录和调用失败。
135
145
 
136
146
  ## 自动化契约
137
147
 
@@ -147,6 +157,9 @@ dsh-pre-duediligence/
147
157
  │ ├── workbench-v2.tsx
148
158
  │ ├── workbench-style.ts
149
159
  │ ├── better-sidebar.ts
160
+ │ ├── previsit-brand.tsx
161
+ │ ├── previsit-home.tsx
162
+ │ ├── previsit-prompt.tsx
150
163
  │ ├── composer-model.ts
151
164
  │ ├── workbench-state.ts
152
165
  │ └── skill-contract.test.ts
@@ -166,10 +179,10 @@ dsh-pre-duediligence/
166
179
  ## 安全与边界
167
180
 
168
181
  - 插件不保存企查查 Token。
169
- - 插件只在左侧栏增加独立入口,并把承载工作台的 Better Sidebar 标签从右侧“+”菜单隐藏;未点击入口时不挂载业务 DOM 或 CSS,也不修改 DSH 原生文案。
182
+ - 插件只在左侧栏增加独立入口,并把承载工作台的 Better Sidebar 标签从右侧“+”菜单隐藏;业务 CSS 只作用于 `.qcc*` 自有节点,普通会话不挂载业务 DOM,也不修改 DSH 原生文案。
170
183
  - 企业事实只能来自本次企查查 MCP 返回。
171
184
  - 条件仅生成用户可见文本,不在 Client 侧调用 MCP。
172
- - 用户点击“开始访前尽调”后才发送。
185
+ - 提示词向导只回填;用户点击 DSH 原生发送按钮或工作台“开始尽调”后才发送。
173
186
  - 工作台状态绑定当前 Session,不根据聊天文本猜测业务结论。
174
187
  - Agent 不输出信用评分或替用户作授信、合作、投资决定。
175
188
 
@@ -177,7 +190,7 @@ dsh-pre-duediligence/
177
190
 
178
191
  - dsh-tender-workbench:https://github.com/Sunhh3221/dsh-tender-workbench
179
192
  - dsh-data-cleaning-agent:https://github.com/duhu2000/dsh-data-cleaning-agent
180
- - 交互参考:`DeepSeek_Harness_数据清洗补全智能体_UI_Mockup_v2.html` 与 `DeepSeek_Harness_数据清洗补全智能体_业务流程与页面设计_v2.md`
193
+ - 交互参考:`DSH智能体_企查查蓝_UI_Mockup_v1.1.0.html` 与 `DSH智能体开发交互规范方案.md`
181
194
  - 产品输入:桌面 handoff 中的系统提示词 v0.2、拼句器配置 v1.2.1、推理规范、业务内核和银行角色内容库
182
195
  - 第三方许可见 THIRD_PARTY_NOTICES.md
183
196
 
@@ -0,0 +1,68 @@
1
+ # DSH-UX-001 v1.1.0 采纳与验收记录
2
+
3
+ 日期:2026-09-07。业务插件:`dsh-pre-duediligence@0.1.5`。规范源:[共享交互规范 v1.1.0](../../../../AI-设计/DSH智能体开发交互规范方案.md),视觉参考:[企查查蓝交互 Mockup v1.1.0](../../../../AI-设计/DSH智能体_企查查蓝_UI_Mockup_v1.1.0.html)。
4
+
5
+ ## 页面与品牌映射
6
+
7
+ | 规范区域 | 本插件实现 | 隔离边界 |
8
+ | --- | --- | --- |
9
+ | 左侧入口 | 菜单名固定为“访前尽调”,使用 Mockup 的线性建筑 SVG | 位于工作区列表前;隐藏 Better Sidebar 标签菜单项 |
10
+ | 中央首页 | 标题“访前尽调一页纸智能体”,同排建筑 LOGO,独立说明行 | 只在插件创建的空白 Session 可逆改写;卸载时恢复宿主标题、图标和预览标识 |
11
+ | 原生输入区 | Composer 下方五项快捷菜单;左上角“提示词生成” | 不替换输入框、模型、权限和原生发送按钮 |
12
+ | 提示词向导 | 对象 → 角色场景 → 范围深度 → 确认输出 | Portal 到 body;回填不发送;已有草稿显式选择替换、追加或取消 |
13
+ | 右侧工作台 | 当前任务 / 任务历史;五步业务导航;关闭与会话头恢复 | Better Sidebar 是唯一权威工作台;关闭不取消会话任务 |
14
+ | 下载材料 | 自包含 HTML 一页纸报告 | 只使用已捕获的当前 Session 报告,不跨 Session 合并 |
15
+
16
+ ## 菜单与阶段映射
17
+
18
+ | 首页菜单 | 工作台视图 |
19
+ | --- | --- |
20
+ | 企业核验 | 对象与目标 |
21
+ | 经营画像 | 资料采集 |
22
+ | 风险核查 | 证据核验 |
23
+ | 访前材料 | 材料输出 |
24
+ | 任务历史 | 任务历史 |
25
+
26
+ 五步导航为:对象与目标 → 范围确认 → 资料采集 → 证据核验 → 材料输出。导航选择仅表示用户正在查看的页面,不表示阶段已经完成。
27
+
28
+ ## 状态映射
29
+
30
+ | UI 状态 | 真实依据 |
31
+ | --- | --- |
32
+ | 待设定 | 当前 Session 未认领访前任务 |
33
+ | 等待确认 / 继续 | 已有任务但未运行,或 Agent 已停止且尚未捕获符合契约的完整报告 |
34
+ | 正在尽调 | 当前 Session 快照 `running === true` |
35
+ | 报告已生成 | 当前 Session 已捕获含核心研判及现场必问/覆盖说明的报告 |
36
+ | 需要处理 | 当前 Session 有 Agent 错误 |
37
+
38
+ 工作台不以“运行停止”代替“报告完成”,也不以菜单点击或阶段切换伪造执行状态。
39
+
40
+ ## Token 与组件
41
+
42
+ 浅色品牌 / 动作色为 `#128BED / #0875D1`,深色为 `#55ADFF / #82C3FF`;表头、背景、文字、边框、成功和复核色均按 v1.1.0 候选表实现。小号白字主按钮使用动作色,深色模式动作按钮使用深色文字。所有变量限定在 `.qcc*` 自有节点,不覆盖全局 `:root`。
43
+
44
+ ## DSH 兼容范围与例外
45
+
46
+ - 依赖 DSH `>=0.1.1-rc.2` 与 `dsh-better-sidebar@0.17.1` 的公开能力。
47
+ - 首页标题因宿主暂未提供会话级 headline slot,采用已知 `[data-phase="hero"]` / headline DOM 的局部、可逆兼容桥;未知结构下保留宿主原样。
48
+ - 本轮不新增跨会话持久化历史库;“任务历史”只展示当前 Session 已认领任务,完整历史以 DSH 原生会话为准。
49
+ - 尚未在所有未来 DSH 版本和所有第三方插件组合中完成实机视觉验收,兼容范围不外推。
50
+
51
+ ## 自动化证据
52
+
53
+ - `pnpm run typecheck`:TypeScript 严格模式通过。
54
+ - `pnpm run test`:11 个测试文件、57 项测试通过,覆盖会话归属、LOGO/首页文本、菜单、提示词草稿合并、五步状态、完成判定、报告导出、安装与 Skill 契约。
55
+ - `pnpm run test:ui`:真实 React、隔离宿主 DOM 与本机 Headless Chrome 的浅色/深色 × 桌面/移动共 4 组通过;检查菜单位于 Composer 外下方、三处同源 LOGO、五步导航、弹窗滚动和边界、Escape/焦点恢复、主题 Token 及横向溢出。
56
+ - `pnpm run build` 与 `npm pack --dry-run`:发布前执行,结果以发布提交的 CI / Release 记录为准。
57
+
58
+ 视觉回归截图和机器结果生成于 `_scratch/ui-layout/`,该目录不提交仓库,也不进入 npm 包。
59
+
60
+ ## 实机验收清单
61
+
62
+ 1. 普通会话不出现访前标题、菜单、提示词触发器或工作台恢复入口。
63
+ 2. 从“访前尽调”进入后,菜单 / 首页 / 工作台显示同一建筑 LOGO,首页名称和说明行居中。
64
+ 3. 浅色、深色及 390px 窄屏下,无横向页面溢出;移动输入字号不低于 16px。
65
+ 4. 向导正文可滚动、头尾固定;Tab 不越出弹窗,Escape 关闭并恢复焦点。
66
+ 5. 输入框已有文字时验证替换、追加、取消三条路径;回填后不自动发送。
67
+ 6. 关闭工作台不取消任务;会话头按钮可重新打开当前 Session 工作台。
68
+ 7. Agent 停止但无完整报告时仍显示“等待确认 / 继续”;完整报告出现后才显示“报告已生成”并允许下载。
package/install.sh CHANGED
@@ -5,7 +5,7 @@ set -euo pipefail
5
5
  readonly PROFILE_NAME="${DSH_PROFILE:-web}"
6
6
  readonly BETTER_SIDEBAR_SPEC="dsh-better-sidebar@0.17.1"
7
7
  readonly MCP_CONNECTOR_SPEC="dsh-mcp-connector@0.2.32"
8
- readonly PREVISIT_SPEC="${DSH_PRE_DUEDILIGENCE_SPEC:-dsh-pre-duediligence@0.1.3}"
8
+ readonly PREVISIT_SPEC="${DSH_PRE_DUEDILIGENCE_SPEC:-dsh-pre-duediligence@0.1.5}"
9
9
  readonly LEGACY_PREVISIT_NAME="qcc-previsit-dsh"
10
10
  readonly LEGACY_QCC_OAUTH_NAME="qcc-dsh-mcp-oauth"
11
11
 
@@ -59,4 +59,4 @@ else
59
59
  "重启后打开左侧“🧩 MCP连接器”,选择“企查查·企业工商”并完成 OAuth 授权。" \
60
60
  "该连接会提供企业、风险、知产、经营、历史和董监高 MCP。"
61
61
  fi
62
- printf '%s\n' "在 DSH 左侧菜单点击“访前尽调智能体”即可打开;右侧标签菜单不再显示该入口,未点击时不会改动原页面。"
62
+ printf '%s\n' "在 DSH 左侧菜单点击“访前尽调”即可打开;右侧标签菜单不再显示该入口,普通会话不会挂载业务界面。"