dsh-quick-toc 0.8.1 → 0.9.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.en.md CHANGED
@@ -2,6 +2,31 @@
2
2
 
3
3
  All notable changes to **dsh-quick-toc** are documented here. Chinese version: [CHANGELOG.md](CHANGELOG.md).
4
4
 
5
+ ## [0.9.0] - 2026-10-03
6
+
7
+ ### Added
8
+ - **A settings button**: the panel's first button opens this plugin's own settings page — the language, heading levels, outline density and the rest are one click away from the panel.
9
+ - **Search history**: an empty search box lists the words recently searched for; one tap searches the word again, and the list can be cleared at any time.
10
+ - **Outline density**: the settings card gains an "Outline density" row — "Comfy" keeps the current spacing, "Compact" tightens the rows so more entries fit on screen.
11
+
12
+ ### Changed
13
+ - **A slimmer toolbar**: the side panel's top bar keeps four buttons and the curtain's keeps three. "Questions only" moved into the search scope (Title → Prompts → Full text → Session), the curtain opens from the water-drop handle on the top edge, and the heading levels are picked in the settings card.
14
+ - **Panel outer shadow**: the side panel carries a soft outer shadow (white in a dark theme), so it sits above the conversation; collapsing and expanding still tuck in and out of one line, hard-edged.
15
+ - **Smoother scrolling in long sessions**: outline entries off screen are no longer laid out or painted, so scrolling a very long session no longer stutters; the entries stay in place and jumping, keyboard navigation and hover previews are unaffected.
16
+
17
+ ### Fixed
18
+ - **The curtain did not open where the reader was reading**: the side panel followed the conversation but the curtain landed somewhere else. Both surfaces now agree — opening the curtain lands on the turn being read.
19
+ - **The auto-follow occasionally lagged behind**: scrolling the conversation sometimes left the outline's highlight and list a step late. The follow now keeps up.
20
+ - **Typing a search froze the interface for a long time**: in a long session, entering search terms could stall the page for a long while, at times leaving the browser unresponsive. Results now appear as you type.
21
+ - **The outline was occasionally blank while a surface opened**: opening the side panel or the curtain could show an empty list that only filled in once the surface had landed. The list now paints the whole way in.
22
+ - **The curtain's bottom edge lacked separation**: with the curtain down, its bottom edge nearly merged with the conversation below. The bottom edge now carries a clear line and a soft outer shadow at the bottom.
23
+ - **The curtain did not reach its side edges**: a thin sliver of background showed between the curtain and the edges beside it. The curtain now runs edge to edge.
24
+
25
+ ## [0.8.2] - 2026-09-29
26
+
27
+ ### Changed
28
+ - **DSH 0.2.0-rc.2 support**: no code changed; the new prerelease is registered in the compatibility declaration. An isolated environment was exercised point by point (the host starts without a warning, the Plugins page entry and its configuration card, the card's write landing in the settings document, the outline panel's hover and pin, a clean console).
29
+
5
30
  ## [0.8.1] - 2026-09-29
6
31
 
7
32
  ### Fixed
package/CHANGELOG.md CHANGED
@@ -2,6 +2,31 @@
2
2
 
3
3
  **dsh-quick-toc** 的重要变更都记录在这里。英文版见 [CHANGELOG.en.md](CHANGELOG.en.md)。
4
4
 
5
+ ## [0.9.0] - 2026-10-03
6
+
7
+ ### 新增
8
+ - **设置入口**:顶栏左起第一颗按钮直达本插件的设置页,语言、标题层级、大纲密度等设置从面板一键可达。
9
+ - **搜索历史**:搜索框清空后列出最近搜索过的词,点一下原词重搜,随时可一键清空。
10
+ - **大纲密度**:设置卡片新增「大纲密度」——「标准」保持原样,「紧凑」收紧行距,一屏看到更多条目。
11
+
12
+ ### 变更
13
+ - **顶栏精简**:侧边面板顶栏只留四个按钮、幕布顶栏只留三个。「只看提问」并入搜索范围(标题 → 提问 → 全文 → 会话),打开幕布交由顶部的水滴把手;标题层级改为在设置卡片里选择。
14
+ - **面板外阴影**:侧边面板带一圈柔和的外阴影(深色主题下为白色),与下方对话有了层次;收起与展开仍在同一条线上干脆进出。
15
+ - **长会话滚动更流畅**:屏幕外的大纲条目不再参与排版与绘制,超长会话里滚动不再卡顿;条目仍在原处,跳转、键盘与悬停不受影响。
16
+
17
+ ### 修复
18
+ - **顶部幕布打开后没有停在正在阅读的位置**:侧边面板能跟着对话走,幕布却停在别处。现在两个视图一致,打开幕布就落在正在读的那一组上。
19
+ - **自动跟随偶尔跟不上**:滚动对话时大纲的高亮与列表有时迟一拍才动。现在跟随即时响应。
20
+ - **搜索时界面长时间无响应**:在大会话里输入搜索词会卡住很久,甚至让浏览器失去响应。现在边输入边出结果。
21
+ - **打开面板时偶尔整片空白**:打开侧边面板或顶部幕布时,列表偶尔整片空白,停稳后文字才一下子出现。现在打开过程全程有内容。
22
+ - **幕布底边缺少分界**:顶部幕布展开后,底边与下方对话几乎连成一片。现在底边有一条清晰的边线,并带一圈落在底部的外阴影。
23
+ - **幕布两侧没有完全贴边**:幕布与左右边缘之间留有一线缝隙。现在幕布左右顶满。
24
+
25
+ ## [0.8.2] - 2026-09-29
26
+
27
+ ### 变更
28
+ - **支持 DSH 0.2.0-rc.2**:插件代码未改动,兼容性声明里登记了新的预发布版本;隔离环境里逐项实测通过(宿主启动无告警、插件页条目与配置卡片、卡片写入落到设置文档、大纲面板的悬停与钉住、控制台无错误)。
29
+
5
30
  ## [0.8.1] - 2026-09-29
6
31
 
7
32
  ### 修复
package/README.en.md CHANGED
@@ -2,35 +2,37 @@
2
2
 
3
3
  > **English** | [中文](README.md)
4
4
 
5
- A conversation TOC plugin for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (DSH): it turns the Markdown headings (H1–H6) of AI replies into a navigable outline — the same list as a side panel or as a full-width curtain — grouped by conversation turn and covering the whole session (including turns that are not loaded yet), with title/full-text/cross-session search, hover previews, several ways to jump (a heading, a turn header, the end of a section), and a reading position that both follows and is remembered.
5
+ A conversation TOC plugin for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (DSH): it turns the Markdown headings (H1–H6) of AI replies into a navigable outline — the same list as a side panel or as a full-width curtain — grouped by conversation turn and covering the whole session (including turns that are not loaded yet), with title/prompts/full-text/cross-session search, hover previews, several ways to jump (a heading, a turn header, the end of a section), and a reading position that both follows and is remembered.
6
6
 
7
7
  ## Features
8
8
 
9
9
  - **Turn-grouped outline** — each user message plus its following AI replies form one group; the group header shows the turn's time and a first-line preview, and clicking it jumps to the start of that turn's model reply
10
10
  - **Whole-session coverage** — turns the conversation window has not loaded are listed too (tagged `未加载` / "Not loaded", with previews); clicking one loads that turn and jumps to it
11
11
  - **Failures are reported** — a turn with no reply at all (request timeout, upstream error) shows `请求失败` / "Request failed" plus the host's error text, and clicking it jumps to that error in the conversation
12
- - **A full-width curtain** — the droplet handle inside the tab strip along the top of the conversation (or the "curtain" round button in the panel's header) lays the outline out across the full width and drops it down: no scrim, nothing dimmed, larger type and looser rows, three parts per row (level badge / heading / the section's opening), and the search column sliding in from the right; click a row, press Esc or use the ✕ to close. It shares the one list with the docked panel, so the scroll position, the search and the keyboard cursor all carry over
12
+ - **A full-width curtain** — the droplet handle inside the tab strip along the top of the conversation lays the outline out across the full width and drops it down: no scrim, nothing dimmed, larger type and looser rows, three parts per row (level badge / heading / the section's opening), and the search column sliding in from the right; click a row, press Esc or use the ✕ to close. It shares the one list with the docked panel, so the scroll position, the search and the keyboard cursor all carry over
13
13
  - **Jump to the end of a section** — hover a heading row, a group header or a result row and a round button fades in at its right end; a group header's button jumps to the end of the whole turn
14
14
  - **Cross-session search** — the third scope, "sessions", searches the message bodies of other sessions through the host's full-text index; clicking a hit switches to that session and keeps looking there, and archived / subagent / delisted sessions are skipped with a count
15
- - **Questions only** — one click folds the outline down to each turn's time and the first line of your prompt
15
+ - **Questions only** — the "prompts" position of the search scope keeps the results to your prompts; with an empty box it folds the outline down to each turn's time and the first line of your prompt
16
16
  - **A remembered reading position** — reopening a session returns to the turn you were last reading (within half an hour; the card can switch it off)
17
17
  - **Keyboard navigation** — ↑/↓ move the cursor, Enter jumps, Home / End go to either end, Esc collapses; the cursor's position is announced to screen readers
18
18
  - **Bilingual** — the interface language can follow the host, or be forced to Chinese or English; Chinese stamps use `昨天` / `前天`, English reads yesterday as the word (`yesterday`) and carries the `YY-MM-DD HH:MM` date for anything older
19
- - **A plugin-configuration card** — a "Conversation Outline" card under Settings → Plugins → Plugin configuration: the language, the default docked edge, the heading levels shown, where the collapsed handle sits, the remembered reading position, fuzzy search, hover previews and the diagnostic switch; changed fields are marked "customized" and can be reset individually (returning a field to its default drops the mark), and the card and the panel stay in sync
19
+ - **A plugin-configuration card** — a "Conversation Outline" card under Settings → Plugins → Plugin configuration: the language, the default docked edge, the heading levels shown, the outline density, where the collapsed handle sits, the remembered reading position, fuzzy search, hover previews and the diagnostic switch; changed fields are marked "customized" and can be reset individually (returning a field to its default drops the mark), and the card and the panel stay in sync
20
20
  - **Turn stamps carry the day** — yesterday reads `昨天 15:04`, the day before `前天 15:04`, anything older `25-09-11 15:04`, so times never blur together in a session spanning days (with the interface in English every stamp older than today carries a `YY-MM-DD` date instead)
21
21
  - **Row subtitles** — under each heading, the first sentence of that section, so identically-titled headings can be told apart
22
22
  - **Hover previews** — hovering a heading row shows the section's opening, the turn time and the heading path
23
- - **Search** — title / full-text scopes; click any result row to locate and highlight that hit, `n/N` Enter stepping, Esc to close
23
+ - **Search** — title / prompts / full-text / session scopes (the scope button cycles them); click any result row to locate and highlight that hit, `n/N` Enter stepping, Esc to close
24
+ - **Search history** — an empty search box lists the words recently searched for; one tap searches the word again, and the list can be cleared in one click
24
25
  - **Search tolerance** — case, full-width/half-width and whitespace differences match automatically; the "fuzzy" switch also allows a little material wedged between keywords
25
26
  - **In-chat highlighting** — matched keywords are highlighted in the conversation; the current match is highlighted distinctly
26
27
  - **Sticky group headers** — while scrolling the outline, the current turn's header stays pinned at the top of the panel
27
- - **Heading level filter** — the round levels button in the header pops down H1–H6 switches for any combination
28
+ - **Heading level filter** — "Heading levels shown" in the settings card picks any H1–H6 combination; the panel's first button jumps straight to that settings page
28
29
  - **Auto-follow** — the turn being read lights up in a closed blue box while you scroll the conversation; the outline follows on its own
29
30
  - **Jumping** — click a heading to jump to its position in the conversation, with the scroll animation handed to the browser's own smooth scrolling (advanced on the wall clock, so it takes the same time on a 60 Hz and a 240 Hz panel); when the host re-pages and moves the target mid-flight the jump re-aims, and when the host's own scrolling cancels the animation it is issued again, so a cross-page jump never stops halfway; a browser that carries the call out at once gets a frame-by-frame glide drawn by the plugin instead
30
31
  - **Back to the newest row** — after paging far up, a floating button in the list's lower-right corner returns to the newest entry in one click (it appears when the list is not at its bottom and disappears once it is)
31
32
  - **Back to where I left** — closing the panel or the curtain remembers the row that was at the top (each surface keeps its own, and neither overwrites the other); the next time that surface opens, a floating button in the list's upper-right corner returns that row to **where it sat**. It fades out — and forgets the record — once it is used, or as soon as you scroll back there yourself, until the next close. Under the same rule, opening the panel or the curtain puts the **row being read** at the top of the list (when that turn is one of the newest few the list is already at its end, so the row lands at the bottom)
32
33
  - **Dockable and resizable** — drag the top bar to move the panel, ◀ / ▶ to dock left or right, drag an edge to resize (no upper bound, down to 120px wide), and collapse it into an edge handle (its height is set by the card's "Handle position"); position and size are remembered per browser (top offset, width and height are adjusted by dragging only)
33
34
  - **Panel scale** — a slider in the settings card scales the **content** (text, icons, buttons and their spacing) from 50% to 200% in 5% steps while the **panel's own size stays exactly as dragged**; dragging only moves the readout, and the settings document is written once you let go. A narrow panel keeps its four header buttons on one line: the empty middle gives way first, then the whole row scrolls sideways (wheel over the header), and the grey grab bar fades out
35
+ - **Outline density** — an "Outline density" row in the settings card with two settings: "Comfy" keeps the current spacing, "Compact" tightens the rows and group spacing so more entries fit on screen
34
36
  - **Curtain scale** — a second slider scales the **curtain's content** from 50% to 200% in 5% steps while the curtain's own size stays as it is; the panel scale and the curtain scale are independent of each other. The curtain's content starts one notch smaller than before (100% on the slider is 90% of the previous size), and only the outline inside the curtain is scaled — the conversation itself is untouched
35
37
  - **Paging** — the most recent groups show first; scrolling up both expands the index and loads older conversation
36
38
  - **Edge hints** — a brief hint at the bottom of the panel when you keep scrolling past the first or the last entry
@@ -42,8 +44,9 @@ A conversation TOC plugin for [DeepSeek Harness](https://github.com/deepseek-ai/
42
44
 
43
45
  | Plugin | Supported DSH |
44
46
  | --- | --- |
45
- | **0.8.x** (latest, 0.8.1) | 0.1.5-rc.3, 0.1.7-alpha.1, 0.1.7-alpha.2, 0.1.7-rc.1, 0.1.7-rc.2, 0.2.0-rc.1 |
46
- | 0.7.x (0.7.14) | 0.1.5-rc.3, 0.1.7-alpha.1, 0.1.7-alpha.2, 0.1.7-rc.1, 0.1.7-rc.2, 0.2.0-rc.1 |
47
+ | **0.9.x** (latest, 0.9.0) | 0.1.5-rc.3, 0.1.7-alpha.1, 0.1.7-alpha.2, 0.1.7-rc.1, 0.1.7-rc.2, 0.2.0-rc.1, 0.2.0-rc.2 |
48
+ | 0.8.x (0.8.2) | 0.1.5-rc.3, 0.1.7-alpha.1, 0.1.7-alpha.2, 0.1.7-rc.1, 0.1.7-rc.2, 0.2.0-rc.1, 0.2.0-rc.2 |
49
+ | 0.7.x (0.7.14) | 0.1.5-rc.3, 0.1.7-alpha.1, 0.1.7-alpha.2, 0.1.7-rc.1, 0.1.7-rc.2, 0.2.0-rc.1, 0.2.0-rc.2 |
47
50
  | 0.6.x (0.6.3) | 0.1.5-rc.1, 0.1.5-rc.2 |
48
51
  | 0.5.x (0.5.1) | 0.1.5-rc.1, 0.1.5-rc.2 |
49
52
  | 0.4.x (0.4.1) | 0.1.5-rc.1, 0.1.5-rc.2 |
@@ -78,20 +81,21 @@ After installing, restart DSH and open the Web UI. The panel starts collapsed: c
78
81
 
79
82
  - **Jumping**: click an outline heading or a group header to jump to it; entries tagged `未加载` / "Not loaded" load that turn first, and a failed turn's error row jumps to that error in the conversation
80
83
  - **Search**: open the box with the magnifier, click a result to locate and highlight it, Enter to step through matches, Esc to close
84
+ - **Search history**: with the box empty, tap any recently searched word to search it again; "clear" drops the whole list
81
85
  - **Search tolerance**: full-width/half-width, case and whitespace differences match automatically; for looser matching turn on the "fuzzy" switch next to the search box
82
- - **Level filter**: click the round levels button in the header to pop down the H1–H6 switches
86
+ - **Level filter**: click the panel's first button (the settings icon) to land on this plugin's settings page, and pick the heading levels under "Heading levels shown"
83
87
  - **Moving and docking**: drag the top bar to move, ◀ / ▶ to switch sides
84
88
  - **Resizing**: drag the right edge, bottom edge or bottom-right corner (no upper bound, down to 120px wide; a very narrow panel scrolls its header sideways)
85
89
  - **Loading older turns**: scroll up inside the outline (it both expands the index and loads older conversation)
86
- - **The curtain**: click the droplet handle in the tab strip along the top of the conversation (or the "curtain" round button in the panel's header) for the full-width outline; click any row, press Esc or use the ✕ to close
90
+ - **The curtain**: click the droplet handle in the tab strip along the top of the conversation for the full-width outline; click any row, press Esc or use the ✕ to close
87
91
  - **Jump to the end of a section**: hover a heading row, a group header or a result row and click the round button at its right end
88
92
  - **Cross-session search**: click the scope button beside the search box twice to reach "sessions" and search other sessions through the host's full-text index; clicking a hit switches to that session and keeps looking there
89
93
  - **Keyboard**: with the panel open, ↑/↓ move the cursor, Enter jumps, Home / End go to either end and Esc collapses; inside the search box ↑/↓ step through the matches
90
- - **Questions only**: the speech-bubble button in the header folds the outline down to each turn's time and the first line of your prompt
94
+ - **Questions only**: the scope button (Title / Prompts / Full text / Session) switches to "prompts" — the results keep only your prompts, and with an empty box the outline folds down to each turn's time and the first line of your prompt
91
95
  - **Back to the newest row**: after paging far up, click the floating button in the list's lower-right corner
92
96
  - **Back to where I left**: closing the panel or the curtain remembers the row you were looking at; the floating button in the upper-right corner takes you back the next time you open it
93
97
  - **Reading position**: scroll the conversation and the turn you are reading is boxed in blue; the outline follows
94
- - **Settings**: expand the "Conversation Outline" card under **Settings → Plugins → Plugin configuration** for the language, the default docked edge, the panel scale (a 50%–200% slider in 5% steps), where the collapsed handle sits (a 0%–100% slider in 1% steps: 0% at the bottom, 100% at the top, 50% centred by default), the heading levels shown, the remembered reading position and the fuzzy / hover / diagnostic switches; changed fields can be reset individually (returning one to its default drops the mark). The card and the panel are live in both directions, with no reload needed, and the preferences follow the DSH settings document
98
+ - **Settings**: expand the "Conversation Outline" card under **Settings → Plugins → Plugin configuration** for the language, the default docked edge, the outline density (comfy / compact), the panel scale (a 50%–200% slider in 5% steps), where the collapsed handle sits (a 0%–100% slider in 1% steps: 0% at the bottom, 100% at the top, 50% centred by default), the heading levels shown, the remembered reading position and the fuzzy / hover / diagnostic switches; changed fields can be reset individually (returning one to its default drops the mark). The card and the panel are live in both directions, with no reload needed, and the preferences follow the DSH settings document
95
99
 
96
100
  ## Diagnostics
97
101
 
package/README.md CHANGED
@@ -2,35 +2,37 @@
2
2
 
3
3
  > [English](README.en.md) | **中文**
4
4
 
5
- **DeepSeek Harness(DSH)对话大纲插件**:把 AI 回复中的 Markdown 标题(H1–H6)提取成可导航的大纲——侧边面板与全屏幕布两种大纲视图,按对话回合分组、覆盖整段会话(含尚未加载进窗口的回合),支持标题/全文/跨会话三档检索、悬停预览、多种跳转(点标题、点组头、跳到本节末尾),阅读位置自动跟随并可记住。
5
+ **DeepSeek Harness(DSH)对话大纲插件**:把 AI 回复中的 Markdown 标题(H1–H6)提取成可导航的大纲——侧边面板与全屏幕布两种大纲视图,按对话回合分组、覆盖整段会话(含尚未加载进窗口的回合),支持标题/提问/全文/跨会话四档检索、悬停预览、多种跳转(点标题、点组头、跳到本节末尾),阅读位置自动跟随并可记住。
6
6
 
7
7
  ## 功能
8
8
 
9
9
  - **按回合分组** —— 每条用户消息 + 其后续 AI 回复为一组,组头显示回合时间与首行预览,点击跳到该回合模型回答的开头
10
10
  - **覆盖整段会话** —— 未加载进对话窗口的回合也在列表里(带「未加载」标记与预览);点击即加载该回合并跳过去
11
11
  - **失败回合的报错** —— 请求超时 / 上游报错这类没有回复的回合显示 `请求失败` 与报错原文,点击跳到对话中的报错位置
12
- - **全屏「幕布」** —— 对话顶边标签条里的液滴把手(或面板标题栏的「幕布」圆钮)把大纲铺成整幅宽度落下:没有遮罩、不压暗对话,字号与行距都放大,每行三段(层级徽标 / 标题 / 该节正文开头),搜索栏从右侧推进来;点条目、Esc 或 ✕ 收起。它与停靠面板共用同一份列表,滚动位置、搜索、键盘光标全部延续
12
+ - **全屏「幕布」** —— 对话顶边标签条里的液滴把手把大纲铺成整幅宽度落下:没有遮罩、不压暗对话,字号与行距都放大,每行三段(层级徽标 / 标题 / 该节正文开头),搜索栏从右侧推进来;点条目、Esc 或 ✕ 收起。它与停靠面板共用同一份列表,滚动位置、搜索、键盘光标全部延续
13
13
  - **跳到本节末尾** —— 悬停标题行 / 组头 / 结果行,右端渐显一枚圆钮,点击跳到该节内容结束处;组头这颗跳到整轮对话的末尾
14
14
  - **跨会话检索** —— 搜索范围第三档「会话」用宿主的全文索引搜其他会话的消息正文,点结果切过去并继续查找;已归档 / 子会话 / 不在列表里的会话会被略过并计数
15
- - **只看提问** —— 一键把大纲折成「每轮只留时间与你的提问首行」
15
+ - **只看提问** —— 搜索范围的「提问」档:结果只看你的提问;搜索框留空时大纲折成「每轮只留时间与你的提问首行」
16
16
  - **记住阅读位置** —— 重新打开会话回到上次读到的那一轮(半小时内有效;可在设置里关掉)
17
17
  - **键盘导航** —— ↑/↓ 移动光标、Enter 跳转、Home / End 到首尾、Esc 收起;光标位置有屏幕阅读器播报
18
18
  - **中英双语** —— 界面语言可设为跟随宿主、中文或 English;中文时间戳用 `昨天` / `前天`,英文昨天用 `yesterday`、更早用 `YY-MM-DD HH:MM` 日期
19
- - **插件配置卡片** —— 设置 → 插件 → 插件配置里的「对话大纲」卡片:语言、默认停靠边缘、显示的标题层级、收起把手的位置、记住阅读位置、模糊搜索、悬停预览与诊断开关;改过的字段标「已自定义」并可单独重置(改回默认值时标记自动消失),卡片与面板实时同步
19
+ - **插件配置卡片** —— 设置 → 插件 → 插件配置里的「对话大纲」卡片:语言、默认停靠边缘、显示的标题层级、大纲密度、收起把手的位置、记住阅读位置、模糊搜索、悬停预览与诊断开关;改过的字段标「已自定义」并可单独重置(改回默认值时标记自动消失),卡片与面板实时同步
20
20
  - **回合时间带日期** —— 昨天 `昨天 15:04`、前天 `前天 15:04`、更早 `25-09-11 15:04`,跨天的会话里时间不再重影
21
21
  - **标题行副标题** —— 每行标题下方显示该节正文的第一句,同名标题一眼可辨
22
22
  - **悬停预览** —— 悬停标题行显示该节开头、回合时间与层级路径
23
- - **搜索** —— 标题 / 全文两种范围,结果列表点击定位并高亮,`n/N` 回车逐处跳,Esc 关闭
23
+ - **搜索** —— 标题 / 提问 / 全文 / 会话 四种范围(范围按钮循环切换),结果列表点击定位并高亮,`n/N` 回车逐处跳,Esc 关闭
24
+ - **搜索历史** —— 搜索框清空后列出最近搜索过的词,点一下原词重搜,可一键清空
24
25
  - **搜索容错** —— 大小写、全角半角、连续空白自动视为同一匹配;「模糊」开关可放宽到关键字中间夹字
25
26
  - **对话内高亮** —— 命中的关键字在对话中高亮,当前命中单独标亮
26
27
  - **组头吸顶** —— 滚动大纲时,当前回合的组头固定在面板顶部
27
- - **层级筛选** —— 标题栏的圆形层级按钮弹出 H1–H6 开关,任意组合显示
28
+ - **层级筛选** —— 设置卡片里的「显示的标题层级」任选 H1–H6 组合;顶栏左起第一颗按钮直达该设置页
28
29
  - **自动跟随** —— 滚动对话时正在阅读的回合自动点亮(封闭蓝框),大纲自动跟随
29
30
  - **跳转** —— 点击标题跳到对话中该标题的位置,滚动动画交给浏览器自己的平滑滚动(按真实时间推进,60Hz 与 240Hz 屏幕上时长一致);飞行中目标被宿主翻页挪动时会重新瞄准、动画被宿主滚动打断时会重新发起,跨页远跳不会半途停下;若某个浏览器把平滑滚动直接执行成瞬移,插件改为自己逐帧绘制。面板与对话双向定位
30
31
  - **回到底部** —— 往上翻远之后,列表右下角的浮动按钮一步回到最新一条(不在底部时出现、到底后消失)
31
32
  - **回到我离开的位置** —— 关闭面板或幕布时记住列表顶部那一行(两者各记各的、互不覆盖),下次打开时列表右上角出现向上的浮动按钮,一步回到那一行的**原位置**;用过一次或自己滚回该处就渐隐并忘掉,直到下次关闭再记。同一规则下,打开面板或幕布时**正在阅读的那一行**会落在列表顶部(读的就在最新几轮时列表已经到底,那一行自然停在底部)
32
33
  - **可停靠、可缩放** —— 拖顶部横条移动,◀ / ▶ 切换左右停靠,拖边缘调宽高(尺寸没有上限,最窄可到 120px),收起后成为边缘把手(停在什么高度由设置里的「把手位置」决定);位置与尺寸按浏览器记住(顶边距、宽度、高度只通过拖拽调整)
33
34
  - **面板缩放** —— 设置里的滑块把**内容**(文字、图标、按钮及其间距)在 50%–200% 之间按 5% 一档缩放,**面板本身的尺寸不变**;拖动滑块时只移动读数,松手才写入设置。面板变窄时顶栏四颗按钮保持一行:先挤掉中间的空白,挤满后整行可横向滚动(在顶栏上滚滚轮即可),此时顶部的灰色拖拽横条渐隐消失
35
+ - **大纲密度** —— 设置里的「大纲密度」两档:「标准」保持原有行距,「紧凑」收紧行距与组间距,一屏看到更多条目
34
36
  - **幕布缩放** —— 另一个滑块,把**幕布内容**在 50%–200% 之间按 5% 一档缩放,幕布本身的尺寸不变;与面板缩放各自独立、互不影响。幕布内容的默认大小比此前小一档(滑块的 100% 即此前的 90%),且只缩放幕布里的大纲,不改变对话本体
35
37
  - **分页** —— 默认显示最近的若干组,向上滚动既展开索引也加载更早的对话
36
38
  - **边界提示** —— 滚到最早或最新再继续滚动时,面板底部短暂提示
@@ -42,8 +44,9 @@
42
44
 
43
45
  | 插件版本 | 支持的 DSH 版本 |
44
46
  | --- | --- |
45
- | **0.8.x**(最新,0.8.1) | 0.1.5-rc.3、0.1.7-alpha.1、0.1.7-alpha.2、0.1.7-rc.1、0.1.7-rc.2、0.2.0-rc.1 |
46
- | 0.7.x(0.7.14) | 0.1.5-rc.3、0.1.7-alpha.1、0.1.7-alpha.2、0.1.7-rc.1、0.1.7-rc.2、0.2.0-rc.1 |
47
+ | **0.9.x**(最新,0.9.0) | 0.1.5-rc.3、0.1.7-alpha.1、0.1.7-alpha.2、0.1.7-rc.1、0.1.7-rc.2、0.2.0-rc.1、0.2.0-rc.2 |
48
+ | 0.8.x(0.8.2) | 0.1.5-rc.3、0.1.7-alpha.1、0.1.7-alpha.2、0.1.7-rc.1、0.1.7-rc.2、0.2.0-rc.1、0.2.0-rc.2 |
49
+ | 0.7.x(0.7.14) | 0.1.5-rc.3、0.1.7-alpha.1、0.1.7-alpha.2、0.1.7-rc.1、0.1.7-rc.2、0.2.0-rc.1、0.2.0-rc.2 |
47
50
  | 0.6.x(0.6.3) | 0.1.5-rc.1、0.1.5-rc.2 |
48
51
  | 0.5.x(0.5.1) | 0.1.5-rc.1、0.1.5-rc.2 |
49
52
  | 0.4.x(0.4.1) | 0.1.5-rc.1、0.1.5-rc.2 |
@@ -78,8 +81,9 @@ dsh plugin --profile web add <插件目录路径>
78
81
 
79
82
  - **跳转**:点击大纲标题或组头跳到对应位置;带「未加载」标记的条目会先把该回合加载进来再跳;失败回合点报错行跳到对话中的报错位置
80
83
  - **搜索**:放大镜打开搜索框,输入后点结果定位并高亮,回车逐处跳,Esc 关闭
84
+ - **搜索历史**:清空搜索框后点最近搜索过的词即可重搜;右侧「清空」丢掉整份记录
81
85
  - **搜索容错**:全角/半角、大小写、空格差异会自动匹配;需要更宽松时点搜索框右侧的「模糊」开关
82
- - **层级筛选**:点标题栏的圆形层级按钮弹出 H1–H6 开关,选择显示的层级
86
+ - **层级筛选**:点顶栏左起第一颗按钮(设置图标)直达本插件的设置页,在「显示的标题层级」里选择要显示的层级
83
87
  - **移动与停靠**:拖顶部横条移动,◀ / ▶ 切换左右停靠
84
88
  - **调整大小**:拖右边缘、下边缘或右下角(没有上限,最窄到 120px;面板过窄时顶栏可横向滚动)
85
89
  - **加载更早**:在大纲中向上滚动(既展开索引,也加载更早的对话)
@@ -87,11 +91,11 @@ dsh plugin --profile web add <插件目录路径>
87
91
  - **跳到本节末尾**:悬停标题行 / 组头 / 结果行,点右端出现的圆钮
88
92
  - **跨会话检索**:搜索框右侧的范围按钮点两下切到「会话」,用宿主的全文索引搜其他会话;点结果切到那个会话并继续查找
89
93
  - **键盘**:面板打开后 ↑/↓ 移动光标、Enter 跳转、Home / End 到首尾、Esc 收起;搜索框里 ↑/↓ 在命中之间切换
90
- - **只看提问**:标题栏的语音气泡按钮把大纲折成每轮的时间 + 你的提问首行
94
+ - **只看提问**:范围按钮(标题 / 提问 / 全文 / 会话)切到「提问」——结果只看你的提问,搜索框留空时大纲折成每轮的时间 + 你的提问首行
91
95
  - **回到底部**:翻远了之后点列表右下角的浮动按钮回到最新一条
92
96
  - **回到我离开的位置**:关掉面板或幕布时它记住你当时看的那一行;下次打开时右上角的浮动按钮一步带你回去
93
97
  - **阅读位置**:滚动对话,正在阅读的回合会以蓝框标出;大纲会自动跟随
94
- - **设置**:在 **设置 → 插件 → 插件配置** 里展开「对话大纲」卡片,可改语言、默认停靠边缘、面板缩放(50%–200% 滑块,5% 一档)、收起把手的位置(0%–100% 滑块,1% 一档;0% 在最下、100% 在最上,默认 50% 居中)、显示的标题层级、记住阅读位置与模糊/悬停/诊断开关;改过的字段可单独重置(改回默认值时标记自动消失)。卡片与面板实时同步,不需要刷新;偏好保存在 DSH 的设置里,跟随配置走
98
+ - **设置**:在 **设置 → 插件 → 插件配置** 里展开「对话大纲」卡片,可改语言、默认停靠边缘、大纲密度(标准/紧凑)、面板缩放(50%–200% 滑块,5% 一档)、收起把手的位置(0%–100% 滑块,1% 一档;0% 在最下、100% 在最上,默认 50% 居中)、显示的标题层级、记住阅读位置与模糊/悬停/诊断开关;改过的字段可单独重置(改回默认值时标记自动消失)。卡片与面板实时同步,不需要刷新;偏好保存在 DSH 的设置里,跟随配置走
95
99
 
96
100
  ## 诊断
97
101