dsh-select-quote 0.3.9 → 0.3.10
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/README.md +33 -4
- package/lib/client.js +1580 -343
- package/lib/index.js +911 -2
- package/package.json +8 -2
package/README.md
CHANGED
|
@@ -3,15 +3,17 @@
|
|
|
3
3
|
[DeepSeek Harness](https://deepseek-harness.github.io/deepseek-harness/guide/quickstart) 的客户端插件:在对话里**划词加批注**——选中的原文连同你的评论一起交给模型,并让它在回答里明确指出说的是哪一段。
|
|
4
4
|
|
|
5
5
|
- **划词工具条**:选中对话区任意文本,浮出「复制 / 添加到任务」;选中的文本是 http(s) 链接(或落在链接上)时多一个「打开链接」,用系统默认浏览器打开(绕开应用内浏览器);拖拽结束才出现,不挡操作
|
|
6
|
+
- **右键菜单**:在选区矩形内点右键,同一套「复制 / 打开链接 / 添加到任务」出现在指针处;选区之外、其它插件已接管的右键一律不碰,桌面端未接管时保留宿主的原生 Copy 菜单
|
|
7
|
+
- **快捷键**:选中文字后一键打开菜单或直接添加;桌面 macOS 是 `⌘L` / `⇧⌘L`,其它平台的默认键位见下表;可在设置里单独开关
|
|
6
8
|
- **批注摘要**:添加后输入框上方出现一块「N 条批注」摘要,草稿里不会出现任何协议文本
|
|
7
|
-
-
|
|
9
|
+
- **正文标记**:被划中的文字在原消息里留下淡色底、虚线下划线和序号角标,点摘要条目会滚回那段文字;角标始终压在选区高亮之上,多条批注结尾重合时会自动向右/向上错开
|
|
8
10
|
- **模型回指**:模型回答里指向某条批注的位置,渲染成带预览的 chip
|
|
9
11
|
- **对话记录**:已发送消息仍由宿主气泡渲染(时间、复制、撤回都在),批注收成一块摘要,悬停(触屏点按)展开列表
|
|
10
12
|
- **界面语言**:跟随 dsh 自己的语言设置,简体中文 / English / Русский
|
|
11
13
|
|
|
12
|
-

|
|
13
15
|
|
|
14
|
-
<sub
|
|
16
|
+
<sub>示意图:正文标记、批注摘要与 chip 预览(按产品真实设计 token 渲染,源文件 `assets/screenshot-1.mock.html`)</sub>
|
|
15
17
|
|
|
16
18
|
---
|
|
17
19
|
|
|
@@ -45,6 +47,30 @@ dsh web --patch "$PWD/dev.patch.yml"
|
|
|
45
47
|
4. 正常打字发送,批注随消息一起交给模型,摘要随之消失
|
|
46
48
|
5. 模型回答里引用某条批注的位置显示为 chip:悬停、点击(触屏点按)或键盘聚焦都会打开预览,显示原文和评论;预览默认在 chip 上方,右上角「原文」按钮回到正文;键盘聚焦 chip 后按 ↓ 进入按钮,Esc 关闭
|
|
47
49
|
|
|
50
|
+
### 入口与菜单
|
|
51
|
+
|
|
52
|
+
选中文字后有三条路打开「复制 / 打开链接 / 添加到任务」:
|
|
53
|
+
|
|
54
|
+
- **自动浮出**(默认):拖拽结束就在选区上/下方显示工具条
|
|
55
|
+
- **右键菜单**:在选区矩形内点右键,菜单出现在指针处;点选区外仍是宿主自己的菜单(桌面端是原生 Copy),别的处理器已经 `preventDefault` 的右键也不会抢
|
|
56
|
+
- **快捷键**:选中文字后按下表键位,不用经过菜单
|
|
57
|
+
|
|
58
|
+
| 操作 | 桌面 macOS | 桌面 Win/Linux | Web macOS | Web Windows | Web Linux |
|
|
59
|
+
|---|---|---|---|---|---|
|
|
60
|
+
| 打开划词菜单 | `⌘L` | `Ctrl+Shift+L` | `⇧⌘L` | `Ctrl+Shift+L` | `Ctrl+Shift+,` |
|
|
61
|
+
| 添加到任务 | `⇧⌘L` | `Ctrl+Shift+.` | `⌥⌘L` | `Ctrl+Shift+.` | `Ctrl+Shift+.` |
|
|
62
|
+
|
|
63
|
+
「打开划词菜单」把菜单锚在选区首行下边缘;「添加到任务」直接保存批注并打开评论框,和点工具条上的同名按钮一致。「复制」不注册插件命令,直接用系统的 `⌘C` / `Ctrl+C`。两个命令都只认对话区的选区,有一条批注正在编辑时会提示先完成它。所有键位都能在宿主的「快捷键」设置里改。
|
|
64
|
+
|
|
65
|
+
前两条由「划词入口」切换,快捷键是独立开关;默认只开自动浮出,右键和快捷键都关。
|
|
66
|
+
|
|
67
|
+
## 设置
|
|
68
|
+
|
|
69
|
+
插件页 → `dsh-select-quote`,配置直接显示在该插件的外层页面(描述与行列表之间),不用再点进「配置」:
|
|
70
|
+
|
|
71
|
+
- **划词入口**:自动浮出 / 右键菜单 / 两者都开;默认自动浮出。触屏始终使用底部操作条
|
|
72
|
+
- **快捷键**:打开或关闭「打开划词菜单」「添加到任务」两个命令;开启后开关下方直接列出它们当前生效的键位,被别的插件占用时显示冲突。命令只在开启期间出现在宿主的「快捷键」设置里,改键也在那里;默认关闭
|
|
73
|
+
|
|
48
74
|
## 语言
|
|
49
75
|
|
|
50
76
|
界面语言由 dsh 决定,插件不再自己判断浏览器语言。在 **设置 → 通用 → 语言** 里切换。
|
|
@@ -65,6 +91,8 @@ dsh web --patch "$PWD/dev.patch.yml"
|
|
|
65
91
|
- **占用了用户气泡的渲染**:本插件以 `priority: -10` 接管内置 `user` / `steering` 节点,再委托宿主 `UserMessageNodeView` 渲染(只改写 `node` 的文本块,剥掉协议)。其它插件若也想接管这两个键,优先级数值必须小于 `-10` 才会赢过本插件;被别的接管者赢走时,本插件不再折叠消息里的协议块。
|
|
66
92
|
- **摘要宽度有限**:输入框上方只有一块摘要(约输入框的 1/5,148–220px),悬停列表里的原文和评论最多显示三行;编辑批注时原文完整显示,超过 132px 在框内滚动。
|
|
67
93
|
- **划词只在对话区生效**:不介入编辑器、终端等面板。
|
|
94
|
+
- **右键只在选区矩形内接管**:指针在选区外、右键已被其它插件处理、或触发方式没开「右键菜单」时,插件完全不介入,宿主自己的菜单照常出现。桌面端接管时原生 Copy 菜单会被抑制;没接管时仍由客户端弹原生菜单,这是两条互斥的路径。
|
|
95
|
+
- **Web Linux 快捷键只有两个可用组合**:宿主的 Web 快捷键只接受 `Ctrl+/`、`Ctrl+Shift+,`、`Ctrl+Shift+.` 三种组合,其中 `Ctrl+/` 已被宿主的快捷键面板占用,所以本插件用后两个,且不能像其它平台一样用字母键。桌面 Windows/Linux 用 `Ctrl+Shift+L` / `Ctrl+Shift+.`,不影响 `Ctrl+L` 的平台含义,也避开 AltGr 会打出字符的组合。
|
|
68
96
|
- **创建选区仍依赖指针**:对话正文是静态渲染,没有可放置的键盘光标;键盘用户需借助光标浏览或辅助技术建立选区。选区建立后的工具条按钮可聚焦,摘要面板已支持 Enter / ↓ / Tab / Esc 与触屏点按。
|
|
69
97
|
|
|
70
98
|
## 常见问题
|
|
@@ -93,7 +121,7 @@ pnpm run watch # 增量重建
|
|
|
93
121
|
|
|
94
122
|
依赖用 pnpm 管理(锁文件 `pnpm-lock.yaml`);构建产物 `lib/` 随源码一起提交,运行时直接读它。
|
|
95
123
|
|
|
96
|
-
`pnpm run verify` 无头执行产物:断言
|
|
124
|
+
`pnpm run verify` 无头执行产物:断言 10 项贡献都注册上,检查三份词典的键与 `{placeholder}` 在每种语言里都齐备(复数消息必须有 `.other` 兜底)、插件页展示元信息(locale + icon)按宿主规则解析、`npm pack` 实际发货清单。它还会回放批注持久化与跨标签同步、链接识别、宿主视图解析、发送手势、协议块读写与回声剥离、右键接管判定与两个快捷键命令等关键路径。
|
|
97
125
|
|
|
98
126
|
### 热更新到桌面客户端
|
|
99
127
|
|
|
@@ -120,6 +148,7 @@ fork 后开分支,提交前跑 `pnpm run check`。一个 PR 只讲一件事,
|
|
|
120
148
|
## 致谢
|
|
121
149
|
|
|
122
150
|
- [@imallakov](https://github.com/imallakov):多语言文案、跨平台构建、装饰器楔死修复与批注归属(PR #2 / #3 / #4)
|
|
151
|
+
- [@Ladersbt](https://github.com/Ladersbt):批注 chip 悬停预览的需求与反馈([#9](https://github.com/latte03/dsh-select-quote/issues/9))
|
|
123
152
|
- [@EliteOtaku](https://github.com/EliteOtaku):桌面端渲染进程楔死的定位报告与 CDP 探针方法([#1](https://github.com/latte03/dsh-select-quote/issues/1))
|
|
124
153
|
|
|
125
154
|
## License
|