@luziyang2026/dsh-question-nav 0.3.0 → 0.4.1

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/LICENSE CHANGED
@@ -1,29 +1,21 @@
1
- BSD 3-Clause License
1
+ MIT License
2
2
 
3
- Copyright (c) 2026, Abel Keith Sun. All rights reserved.
3
+ Copyright (c) 2026 Abel Keith Sun
4
4
 
5
- Redistribution and use in source and binary forms, with or without
6
- modification, are permitted provided that the following conditions are met:
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
7
11
 
8
- 1. Redistributions of source code must retain the above copyright notice,
9
- this list of conditions and the following disclaimer.
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
10
14
 
11
- 2. Redistributions in binary form must reproduce the above copyright notice,
12
- this list of conditions and the following disclaimer in the documentation
13
- and/or other materials provided with the distribution.
14
-
15
- 3. Neither the name of the copyright holder nor the names of its
16
- contributors may be used to endorse or promote products derived from this
17
- software without specific prior written permission.
18
-
19
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
23
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29
- POSSIBILITY OF SUCH DAMAGE.
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -10,22 +10,26 @@ It is an external plugin bundle with zero runtime dependencies — the browser
10
10
  half (`lib/client.js`) externalizes everything to the DSH shell, so it adds
11
11
  only a small bundle to the GUI at load time.
12
12
 
13
- Package: **`@luziyang2026/dsh-question-nav`** ([npm][npm]).
13
+ Package: **`@luziyang2026/dsh-question-nav`** ([npm][npm] · [GitHub][github]).
14
+
15
+ ## Preview
16
+
17
+ ![Left-edge dot minimap with a hover tooltip showing the turn label and full question text](https://raw.githubusercontent.com/AbelKeithsun/dsh-question-nav/main/docs/images/question-nav-preview.jpg)
14
18
 
15
19
  ## What it does
16
20
 
17
21
  - **Left-edge dot minimap** (embedded, not reserving any width).
18
22
  - **Vertically centered** in the conversation column.
19
- - **One dot = one user question**, with a small count above the dot column.
20
- - **Full history, no render-window expansion**: the index is built by paging
21
- the raw `session.history` RPC (read-only), so every question in the session
22
- including ones still collapsed behind DSH's "load older" button appears as
23
- a dot without expanding the conversation's paged window (memory economy
24
- preserved). While the index is building the count shows a "…"; if the safety
25
- budget is exhausted a dimmed dashed dot above the oldest question offers
26
- "load earlier" on click.
23
+ - **One dot = one turn that asked a question** (strictly aligned with the
24
+ Trajectory view's turn numbering), with a small count above the dot column.
25
+ - **Full history, persisted, no render-window expansion**: the plugin's host
26
+ half registers a `questionIndex` session projectionthe projection
27
+ registry folds the whole event log (read-only, the chat's paged window is
28
+ never touched), the official projection cache persists it across restarts,
29
+ and push frames deliver new questions live.
27
30
  - **Hover**: the dot enlarges and an instant tooltip (portal-rendered, no
28
- native-title delay) shows the question's **full text**.
31
+ native-title delay) shows the **turn label** (`Turn N`) plus the turn's
32
+ **full question text** (all of them, when one turn batched several).
29
33
  - **Click**: jumps to that question. Only then does the jump loop page the
30
34
  window (`loadOlder()`) to bring that specific page into view — never the
31
35
  whole history up front.
@@ -79,8 +83,9 @@ module table.
79
83
 
80
84
  ## License
81
85
 
82
- BSD-3-Clause.
86
+ MIT.
83
87
 
84
88
  [dsh]: https://github.com/deepseek-harness/deepseek-harness
85
89
  [npm]: https://www.npmjs.com/package/@luziyang2026/dsh-question-nav
90
+ [github]: https://github.com/AbelKeithsun/dsh-question-nav
86
91
  [bundle]: https://github.com/deepseek-harness/deepseek-harness
package/README.zh.md CHANGED
@@ -7,19 +7,24 @@
7
7
  它是外部插件 bundle,**零运行时依赖** —— 浏览器半区(`lib/client.js`)把一切
8
8
  外部化给 DSH 外壳,加载时只往 GUI 里加一个很小的 bundle。
9
9
 
10
- 包名:**`@luziyang2026/dsh-question-nav`**([npm][npm])。
10
+ 包名:**`@luziyang2026/dsh-question-nav`**([npm][npm] · [GitHub][github])。
11
+
12
+ ## 效果展示
13
+
14
+ ![左缘圆点迷你地图:竖排圆点,每个圆点对应一个用户提问,悬停显示 Turn 编号与全文](https://raw.githubusercontent.com/AbelKeithsun/dsh-question-nav/main/docs/images/question-nav-preview.jpg)
11
15
 
12
16
  ## 功能
13
17
 
14
18
  - **左缘圆点迷你地图**:内嵌,**不占任何宽度**。
15
19
  - **垂直居中**在对话栏中。
16
- - **一个圆点 = 一个用户提问**,圆点列上方有提问数量。
17
- - **完整历史、不展开渲染窗口**:索引通过分页读取原始 `session.history`
18
- RPC(只读)构建,所以会话里的每一个提问——包括仍被 DSH"加载更早"按钮
19
- 折叠隐藏的老提问——都会变成圆点,**不会**展开对话的分页窗口(保留 DSH
20
- 的内存经济性)。构建索引期间数量后显示 "…";若超过安全预算,最老提问
21
- 上方会出现一个虚线圆点,点击继续加载。
22
- - **悬停**:圆点放大 + 即时提示框(portal 渲染,无原生 `title` 延迟)显示**全文**。
20
+ - **一个圆点 = 一个含提问的 turn**(与轨迹视图的 Turn 编号严格对齐),
21
+ 圆点列上方有圆点数量。
22
+ - **完整历史、持久化、不展开渲染窗口**:插件的 host 半面注册
23
+ `questionIndex` 会话投影——投影注册表折叠完整事件日志(只读,对话的
24
+ 分页窗口完全不被动),官方 projection-cache 跨重启持久化,新提问通过
25
+ 推送帧实时到达。
26
+ - **悬停**:圆点放大 + 即时提示框(portal 渲染,无原生 `title` 延迟)显示
27
+ **Turn 编号**(`Turn N`)和该轮提问**全文**(一轮多条提问时全部列出)。
23
28
  - **点击**:跳转到该提问;只有这时跳转循环才 `loadOlder()` 扩窗,把**那一页**
24
29
  带进视图——绝不会一次性展开整个历史。
25
30
  - 圆点列空白区域**点穿**到对话内容,不会挡住聊天。
@@ -69,8 +74,9 @@ externals 经加载器模块表解析。
69
74
 
70
75
  ## License
71
76
 
72
- BSD-3-Clause
77
+ MIT
73
78
 
74
79
  [dsh]: https://github.com/deepseek-harness/deepseek-harness
75
80
  [npm]: https://www.npmjs.com/package/@luziyang2026/dsh-question-nav
81
+ [github]: https://github.com/AbelKeithsun/dsh-question-nav
76
82
  [bundle]: https://github.com/deepseek-harness/deepseek-harness