dsh-conversation-overview 1.5.0 → 1.7.0

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,122 @@
1
+ # 版本更新
2
+
3
+ 插件每次发布都会更新本文件。当前版本见 `package.json`,或看 [最新发布](https://github.com/LingF/dsh-conversation-overview/releases)。
4
+
5
+ ## 1.7.0 — 2026-11-06
6
+
7
+ **新增**
8
+
9
+ - 计划工作台:计划待审卡片页脚新增「批注并修改」(与「要求修改」「同意执行」并列);侧边栏新标签按标题分段逐段批注或全文改写,提交后把结构化修订意见作为 plan-review 回答交给模型(仍在计划模式时提示修订后重新 `exit_plan_mode`);没有实时审阅时依次降级为填入输入框 / 复制到剪贴板。批注保存在本机,刷新后仍在。
10
+ - 计划行入口:产物列表里的计划行悬浮出现「计划操作」,可打开工作台、复制计划、打开原计划。
11
+ - 进展实时状态带:进行中 / 等待确认时顶部显示状态行(当前步骤、脉冲与进度条、已用时、待办完成度 meter);历史回看时降级为汇总行并提示状态取自最后更新;原独立待办进度条并入。
12
+ - 步骤动效:当前步骤高亮描边、完成时绿色命中反馈、滑动列表 nudge、展开后底部重复「收起」、展开时固定高度避免滚动条闪动。
13
+
14
+ **改进**
15
+
16
+ - 「更多」统计弹层、失败详情浮层与计划行菜单改用 body portal,修复吸顶工具栏 transform/backdrop-filter 下的定位错位。
17
+ - 会话 feed 折叠改用 revision 连续性判定增量,跳代或折叠异常时全量重建,修复中途挂载或漏发布导致的错位。
18
+ - 尊重「减弱动态效果」:实时状态带、进度计与步骤动效一并关闭。
19
+ - 插件卸载时清理浮层容器。
20
+
21
+ **修复**
22
+
23
+ - 设置页显示的版本号与 `package.json` 同步;此前停在 1.1.0,导致当前版本显示错误、GitHub 新版徽标误报。
24
+ - 计划资源地址统一生成,子代理会话里的计划也能正确打开。
25
+
26
+ **说明**
27
+
28
+ - 1.6.0 未单独发布,随本版一起提供:统计栏「更多」按轮查看步数、模型、本轮首字延迟、模型/工具用时、首 token 平均、TPS 与 Token 用量(含缓存命中)。
29
+
30
+ ## 1.6.0 — 2026-11-05
31
+
32
+ **新增**
33
+
34
+ - 本轮统计栏末尾新增「更多」:弹层按轮次列出步数、所用模型、本轮首字延迟、模型用时、工具用时、首 token 平均(TTFT)、输出速度(TPS)与 Token 用量(总量、缓存命中、未缓存输入、缓存读取、缓存写入、输出、推理)。
35
+ - 每一行悬浮显示该项的计算口径;「本轮首字延迟」为第一个 step/start 到本轮第一个输出 token(文本、推理或工具调用)的时间,与步级「首 token 平均」区分开。
36
+ - 弹层跟随当前范围:「最新一轮 / 第 N 轮」显示该轮数据,「全部」汇总全部已观测轮次并多列轮数;模型按实际调用路由(提供方/模型)去重列出。
37
+
38
+ **说明**
39
+
40
+ - 数据口径与对话底部的会话统计一致:步数以 `step/end` 计,模型用时为 `step/start`→`assistant/message`,工具用时按 `tool/call`→`tool/result` 配对,TTFT 取首个输出 token,TPS 由首 token→消息的输出 token 折算;Token 取提供方上报的 usage(未缓存输入 / 缓存读取 / 缓存写入 / 输出)。
41
+
42
+ ## 1.5.1 — 2026-11-05
43
+
44
+ **变更**
45
+
46
+ - 中文名统一为「对话概览」(原「会话概览」),README 标题与文档一并调整。
47
+
48
+ **文档**
49
+
50
+ - README 精简为使用者文档:一句话介绍、五条功能、安装/更新/卸载命令、配置入口。
51
+ - 配置项拆分到独立文档,新增「常见组合」对照;版本历史单独记录。
52
+
53
+ ## 1.5.0 — 2026-11-05
54
+
55
+ **新增**
56
+
57
+ - 会话目标横幅:显示目标模式、自动续跑轮次与上限、当前阶段(进行中 / 暂停 / 受阻 / 达成)及受阻原因。
58
+ - 结论文档页改用与对话相同的排版:字号、行高、图片一致,文件链接点击即在侧边栏预览,外链开新标签。
59
+ - 主代理与子代理可一键跳到对方的概览。
60
+
61
+ **改进**
62
+
63
+ - 团队委派、子代理、共享任务按词权重归属到对应待办,归属更准。
64
+ - 关键步骤折叠窗口只取「有门禁的步骤」,不会再出现孤立的审批行。
65
+ - 概览等待会话绑定完成再渲染,打开新会话时不再空白。
66
+
67
+ **修复**
68
+
69
+ - 可选宿主服务(桌面动作、会话导航、视图切换)缺失时降级,不再抛错。
70
+
71
+ ## 1.4.2 — 2026-11-02
72
+
73
+ **文档**
74
+
75
+ - 补齐安装与更新说明,移除已失效的旧包名提示。
76
+
77
+ ## 1.4.1 — 2026-10-30
78
+
79
+ **修复**
80
+
81
+ - 刷新后结论标签不再退化成「临时计划预览已失效」的空页:文档开在插件自己的标签页,正文镜像到 `localStorage`。
82
+ - 区分「分叉/续聊会话」与「子代理会话」,普通会话不再显示子代理徽标;真用过子代理的会话仍保留身份行。
83
+ - 会话标题读宿主真实字段,父会话与子代理名称不再回退成会话 id。
84
+
85
+ ## 1.4.0 — 2026-10-30
86
+
87
+ **新增**
88
+
89
+ - 本轮结论自动开在新标签(`conclusionTab` 可关);计划内容同样可回看。
90
+ - Mermaid 图渲染、Markdown 预览、代码块复制。
91
+ - 关键步骤可展开命令与输出、查看耗时与失败详情。
92
+ - 计划快照与子代理角色导航。
93
+
94
+ ## 1.3.1 — 2026-10-26
95
+
96
+ **修复**
97
+
98
+ - 分区内部滚动恢复,长内容不再被裁切。
99
+
100
+ ## 1.3.0 — 2026-10-26
101
+
102
+ **新增**
103
+
104
+ - 时间轴拖动回看:还原任意时刻的进展、产物与引用。
105
+ - 里程碑步骤置顶(`stepAnchors`)。
106
+ - 产物「打开方式」菜单、GitHub 新版本徽标。
107
+
108
+ ## 1.2.0 — 2026-10-26
109
+
110
+ **新增**
111
+
112
+ - 时间轴、里程碑置顶、产物打开方式、版本检查。
113
+
114
+ ## 1.1.0 — 2026-10-23
115
+
116
+ **新增**
117
+
118
+ - 右侧边栏面板、按轮次范围折叠、设置分区。
119
+
120
+ ## 1.0.0 — 2026-10-23
121
+
122
+ 首个公开版本:概览标签页、进展 / 产物 / 引用三块摘要、轮次导航。
package/README.md CHANGED
@@ -1,153 +1,60 @@
1
- # dsh-conversation-overview
1
+ # dsh-conversation-overview · 对话概览
2
2
 
3
- DeepSeek Harness(DSH)插件:在对话/轨迹旁增加「概览」标签页,并在右侧边栏提供同名面板,把一个会话折叠成三块可读的摘要——**进展**(目标、任务计划、关键步骤)、**产物**(生成/交付的文件与变更审阅)、**引用**(上下文注入、记忆、技能、文件、会话引用)。
3
+ DeepSeek Harness(DSH)插件:在对话旁增加「概览」标签页,把一个会话折叠成 **进展 / 产物 / 引用** 三块可读摘要。
4
4
 
5
- > An Overview tab beside Chat/Trajectory plus a matching right-sidebar page for DeepSeek Harness: session progress (goal, todos, key steps), artifacts, and references (context injections, memories, skills, files), with per-turn scoping and OpenViking memory preview.
5
+ An Overview tab for DeepSeek Harness: folds a session into progress, artifacts, and references.
6
6
 
7
- ![会话概览截图](https://cdn.jsdelivr.net/npm/dsh-conversation-overview@1/assets/overview.png)
7
+ ![对话概览截图](https://cdn.jsdelivr.net/npm/dsh-conversation-overview@1/assets/overview.png)
8
8
 
9
9
  ## 功能特性
10
10
 
11
- - **进展**:会话目标横幅(目标模式、自动续跑轮次/上限、阶段与受阻原因)与任务计划进度;本轮关键步骤(可展开全部、展开查看命令与输出/耗时/错误、等待确认高亮、里程碑可置顶,折叠窗口按「有门禁的步骤」取最近 6 条,不会把孤立审批留在顶部);团队成员与子代理按对应待办归属;双击待办生成重跑提示词;主代理/子代理一键切到对方的概览。
12
- - **产物**:生成/交付文件列表、按轮次的变更审阅入口、系统定位与「打开方式」;本轮结束可自动把结论作为 Markdown 文档开在新标签(计划内容亦有快照,刷新后正文仍在)——文档页用与对话完全相同的排版组件渲染(字号阶梯、行高、图片、文件 chip 一致),文件链接点击即在侧边栏打开预览,外链走新标签。
13
- - **引用**:上下文注入、OpenViking 记忆(侧边栏内预览)、技能、文件与会话引用;类型筛选、隐藏常见项、排序(最近/类型/轮次/次数)。
14
- - **统计与时间轴**:轮次统计胶囊(用时/调用/命令/改动文件/失败,失败可点击查看详情);打开时间轴拖到任意时间点,回看当时的进展、产物与引用。
15
- - **Markdown 预览**:结论与记忆文档支持 Mermaid 图渲染、代码块复制、脚注与自动换行。
16
- - **轮次导航**:范围选择器(最新 / 第 N 轮 / 全部),与内置轮次导航轨双向联动。
17
- - **设置**:DSH 设置独立分区 + 插件行内配置,选项即时生效;问题反馈入口与新版本徽标。
11
+ - **进展**:会话目标与目标模式、实时状态带(当前步骤 / 已用时 / 待办完成度)、本轮关键步骤、团队成员;双击待办可生成重跑提示词。
12
+ - **计划工作台**:计划待审卡片与产物里的计划行可打开右侧栏,按标题分段批注或全文改写,提交后作为修订要求交给模型;也可复制反馈或带入输入框。
13
+ - **产物**:文件与变更列表、按轮次审阅;本轮结束可把结论作为 Markdown 文档开在新标签,排版与对话一致,文件链接点开即预览。
14
+ - **引用**:上下文注入、OpenViking 记忆、技能、文件、会话;可筛选与排序。
15
+ - **回看**:时间轴拖动还原任意时刻;范围可切「最新 / 第 N 轮 / 全部」,与内置轮次导航轨联动。
16
+ - **本轮统计**:统计栏末尾的「更多」按轮列出步数、模型、本轮首字延迟、模型/工具用时、首 token 平均、输出速度与 Token 用量(含缓存命中),每行悬浮可看计算口径,口径与对话底部会话统计一致。
17
+ - **预览**:Markdown 与 Mermaid 渲染、代码块复制。
18
18
 
19
19
  ## 安装
20
20
 
21
- 要求 DSH `>= 0.2.1-rc.2`(Web GUI)。
22
-
23
- 方式一:在 DSH 会话中让 Agent 执行插件管理器的 `install_bundle`,安装目标填:
24
-
25
- ```
26
- dsh-conversation-overview
27
- ```
28
-
29
- 方式二:GUI「插件管理」中选择安装 bundle,输入上面的 npm 包名(或 `dsh-conversation-overview@latest`)。
30
-
31
- 方式三:已全局安装 DSH(终端可用 `dsh` 命令)时,用 CLI 安装进指定 profile(`web` 为 profile 名,按需替换;该命令等价于在 profile 目录执行 pnpm):
21
+ DSH 需 `>= 0.2.1-rc.2`(Web GUI)。
32
22
 
33
23
  ```bash
34
24
  dsh plugin --profile web add dsh-conversation-overview
35
25
  ```
36
26
 
37
- CLI 安装后重启 `dsh` 生效(方式一/二安装后刷新浏览器页面即可)。
38
-
39
- 安装后在「设置 → 会话概览」或插件行内配置中调整选项;对话页刷新即可看到「概览」标签页与右侧边栏入口。
40
-
41
- > 注意:若此前用 `link:` 装过本地开发副本(同名包指向你的工作目录),请先移除再安装本包——两者使用相同的插件行 id(`conversation-overview`)与插槽 key,不应同时启用。判断方法:`grep dsh-conversation-overview ~/.dsh/profiles/web/package.json`,出现 `link:/…` 即为开发版。
42
-
43
- **插件更新**:
44
-
45
- - CLI(已全局安装 DSH):
46
-
47
- ```bash
48
- dsh plugin --profile web update dsh-conversation-overview
49
- # 或指定最新版重装:dsh plugin --profile web add dsh-conversation-overview@latest
50
- # 卸载:dsh plugin --profile web remove dsh-conversation-overview
51
- ```
52
-
53
- 更新后重启 `dsh` 生效。
27
+ 重启 `dsh` 生效。也可在 GUI「插件管理」中安装同名 bundle,或在会话里让 Agent 用插件管理器的 `install_bundle` 安装(这两种装完刷新页面即可)。
54
28
 
55
- - GUI / 会话内:在 DSH 会话中让 Agent 依次执行插件管理器的 `remove_bundle`(target: `dsh-conversation-overview`)→ `install_bundle`(target: `dsh-conversation-overview@latest`),或在 GUI「插件管理」中移除后重新安装最新版。更新后刷新浏览器页面;若新版本增加了配置字段或宿主端代码有改动,需重启一次 DSH。
29
+ 若之前用 `link:` 装过本地开发副本,请先移除再安装——两者插件行 id 相同,不应同时启用。
56
30
 
57
- ## 配置项
58
-
59
- | 字段 | 默认 | 说明 |
60
- | --- | --- | --- |
61
- | `showProgress` | `true` | 显示「进展」分区 |
62
- | `showArtifacts` | `true` | 显示「产物」分区 |
63
- | `showReferences` | `true` | 显示「引用」分区 |
64
- | `showStats` | `true` | 显示轮次统计胶囊(用时、工具调用等) |
65
- | `timeMode` | `clock` | 时间显示:`clock` 时间点 / `elapsed` 本轮计时(从 0s 起) |
66
- | `stepAnchors` | `false` | 里程碑步骤置顶:上下文压缩/用户审批/失败调用固定在关键步骤顶部 |
67
- | `conclusionTab` | `true` | 本轮结束后把结论作为 Markdown 文档自动开在新标签(关闭后仍可从「产物」点开) |
68
- | `placement` | `both` | 显示位置:`conversation` 对话页 / `sidebar` 侧边栏 / `both` |
69
- | `sectionFullHeight` | `false` | 分区完整展示(关闭时限高 320px、内部滚动) |
70
- | `todoPrompt` | `true` | 双击待办行生成重执行提示词并填入输入框 |
71
- | `todoPromptTemplate` | `""` | 自定义提示词模板;留空用内置模板,支持 `{index}`、`{content}` 占位符 |
72
- | `quickNav` | `true` | 强制显示内置轮次导航轨(关闭为强制隐藏) |
73
- | `quickNavLink` | `true` | 点击导航轨刻度联动概览切换到对应轮次 |
74
- | `vikingPreview` | `true` | 启用 `viking://` 记忆侧边栏预览 |
75
- | `vikingUrl` | `http://127.0.0.1:1933` | OpenViking HTTP API 地址 |
76
- | `vikingAccount` | `""` | OpenViking 账户(预览记忆必填) |
77
- | `vikingUser` | `""` | OpenViking 用户(预览记忆必填) |
78
-
79
- ## 开发与测试
80
-
81
- ### 代码结构
82
-
83
- 包内**没有构建步骤**,两个源文件直接就是发布物:
84
-
85
- | 文件 | 运行位置 | 职责 |
86
- | --- | --- | --- |
87
- | `index.js` | Host(Node) | schemastery 配置字段定义、`dsh-resource://` 资源定位与 Host 侧数据接口 |
88
- | `client.js` | 浏览器(Web UI) | 概览页/侧边栏 UI、会话事件折叠、标签页注册,以 `window.__ModuleLoader__` 工厂函数形式被加载 |
89
-
90
- 改完文件后:Host 侧(`index.js`、`cordis.patch.yml` 的配置项)需要**重启 DSH** 才生效;纯客户端(`client.js`)**刷新页面**即可。
91
-
92
- ### 本地调试安装
31
+ ## 更新
93
32
 
94
33
  ```bash
95
- # 让 profile 直接引用本地目录(改完刷新即生效,不必反复装包)
96
- dsh plugin --profile web add link:/absolute/path/to/dsh-conversation-overview
97
-
98
- # 确认装的是开发版而不是 npm 版
99
- grep dsh-conversation-overview ~/.dsh/profiles/web/package.json # 应看到 link:/…
34
+ dsh plugin --profile web update dsh-conversation-overview
100
35
  ```
101
36
 
102
- ### 运行测试
37
+ 或重装最新版:`dsh plugin --profile web add dsh-conversation-overview@latest`。更新后重启 `dsh`;若新版本增加了配置字段或改了宿主端,必须重启一次。
103
38
 
104
- 测试脚本随包发布,无需构建、无需联网。它会在 Node 里用桩(stub)替代浏览器环境——`window`、`localStorage`、`React`——然后加载 `client.js`,对**真实会话日志**做一遍完整折叠并断言结果。
39
+ ## 卸载
105
40
 
106
41
  ```bash
107
- # 默认自动取本机最近的 2 个会话日志
108
- npm test
109
-
110
- # 或指定任意日志(可传多个,跨会话、跨工作区都行)
111
- node .scratch/test.mjs ~/.dsh/sessions/<workspace>/<session-id>/session.v4.jsonl.zstd \
112
- ~/.dsh/sessions/<workspace>/<other-session-id>/session.v4.jsonl.zstd
42
+ dsh plugin --profile web remove dsh-conversation-overview
113
43
  ```
114
44
 
115
- - 依赖 **Node ≥ 20** 与 **`zstdcat`**(日志是 zstd 压缩的;macOS:`brew install zstd`)。
116
- - 会话日志位置:`~/.dsh/sessions/<工作区>/<session-id>/session.v4.jsonl.zstd`,每一轮对话都在里面。
117
- - 全部通过时输出 `ALL TESTS PASSED`,并列出实际检查了哪几个日志;任一断言失败会直接给出断言信息与所在行号。
118
-
119
- ### 测试覆盖范围
120
-
121
- 共 16 组、约 460 条断言,全部离线运行:
122
-
123
- | # | 覆盖内容 |
124
- | --- | --- |
125
- | 1 | `zh`/`en` 词典键完全对齐(少一个键就失败,避免界面出现原始 key) |
126
- | 2 | `apply()` 在 mock `ctx` 上注册了哪些标签页/插槽,以及每个配置开关的显隐效果 |
127
- | 3 | 用真实日志跑完整折叠:待办、关键步骤、产物、引用、统计、里程碑 |
128
- | 4 | 地址解析、助手提及、变更事件等纯函数 |
129
- | 5 | 文件类型分类与工作区变更聚合 |
130
- | 6 | OpenViking 预览与 Markdown 渲染 |
131
- | 7 | frontmatter、面包屑、引用排序 |
132
- | 8 | 按轮次折叠(`latest` / `all` 两种范围)与上下文快照 |
133
- | 9 | 全量引用识别(正文里出现过的资源是否都被收集) |
134
- | 10 | 关键步骤流与轮次导航轨的联动刻度 |
135
- | 11 | 「新标签打开」确实落到宿主自己的 Markdown 文档页 |
136
- | 12 | 「本轮结论」只在该轮结束后出现 |
137
- | 13 | 结论自动打开:只在观察到该轮实际运行后打开一次(刷新不会重开) |
138
- | 14 | 子代理相关界面只在真有子代理工作时出现(压缩里程碑不算) |
139
- | 15 | 文档标签刷新后仍能恢复正文(结论/计划快照镜像到 `localStorage`) |
140
- | 16 | 代理身份判定:`origin: "subagent"` 才是子代理,分叉/续聊会话算主会话 |
141
-
142
- > 这些断言同时充当回归护栏:改动 `client.js` 的折叠或显隐逻辑后先跑 `npm test`,比在浏览器里逐个点要快得多。
45
+ ## 配置
46
+
47
+ 选项在「设置 → 对话概览」中调整,即时生效。全部 17 个字段(分区显隐、时间显示、结论标签页、里程碑置顶、提示词模板、OpenViking 预览等)见 [配置项](https://github.com/LingF/dsh-conversation-overview/blob/main/docs/CONFIGURATION.md)。
143
48
 
144
49
  ## 版本更新
145
50
 
146
- - **1.5.0**:会话目标横幅(目标模式、自动续跑轮次/上限、阶段与受阻原因);文档页改用与对话相同的 Markdown 组件与排版壳(文件 chip 点击开侧边栏预览、外链新标签、多段正文正确分段);团队委派按 IDF 词重叠归属到对应待办;关键步骤折叠窗口按「有门禁的步骤」取最近 6 条;代理身份互跳对方概览;等待会话绑定期间不再出现空白概览。
147
- - **1.4.2**:补齐「开发与测试」文档,测试脚本随包发布(`npm test` 可直接运行)。
148
- - **1.4.1**:修复刷新后结论标签退化为失效空页;区分「分叉会话」与「子代理会话」,不再误显示子代理徽标。
149
- - **1.4.0**:结论标签页、Mermaid/Markdown 预览、步骤详情展开、计划快照、子代理角色导航。
51
+ - **1.7.0** — 计划工作台(批注 / 改写计划并提交修订);进展实时状态带与步骤动效;浮层定位与滚动稳定性修复。
52
+ - **1.6.0** — 统计栏新增「更多」:按轮查看步数、模型、用时与 Token 用量(含缓存命中)。
53
+ - **1.5.1** — 中文名统一为「对话概览」;README 精简为使用者文档,配置项独立成文。
54
+ - **1.5.0** — 会话目标横幅;结论页与对话同款排版;团队委派按词权重归属待办。
55
+
56
+ 完整记录见 [版本更新文档](https://github.com/LingF/dsh-conversation-overview/blob/main/CHANGELOG.md)。
150
57
 
151
58
  ## License
152
59
 
153
- MIT © 2026
60
+ MIT © 2026 lingf