dsh-desktop-enhance 0.0.0-stage → 0.2.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/README.md CHANGED
@@ -1,3 +1,146 @@
1
- # Temporary Holding Version
1
+ # dsh-desktop-enhance
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ 为 **DeepSeek Harness 桌面版**(DSH Desktop `0.2.0-rc.2`)补四个界面能力的插件。**自用**。
4
+
5
+ ## 四个功能
6
+
7
+ ### 页内查找
8
+
9
+ 宿主没有页内查找。装上后按 **`Cmd+F`** 唤出查找条,在当前对话里搜文字:
10
+
11
+ - 输入即时高亮全部命中,并标出当前那一处,如 `3/28`
12
+ - `Enter` / `Shift+Enter` 前后跳转,环绕
13
+ - 跳到的内容如果被折叠着,会临时显示出来;**关掉查找条就恢复原状**
14
+ - `Escape` 关闭(快捷键再按一次也关)
15
+ - 匹配**大小写不敏感**,按字面匹配(正则符号当普通字符)
16
+
17
+ Web 版(浏览器里打开的那种)键位是 **`Cmd+Shift+.`** —— `Cmd+F` 是浏览器自己的查找,抢不过来。
18
+
19
+ ### 轮次编号
20
+
21
+ 鼠标移到对话右侧的轮次轨道刻度上,会弹出该轮的预览卡。插件在预览卡的**提示词前面**加一个 `#N`:
22
+
23
+ ```
24
+ #11 帮我把这个表按月份拆开
25
+ ```
26
+
27
+ 标题文字顺次右移,不占额外行高,也不会把下方的回复摘要挤掉。
28
+
29
+ ### 压缩行高亮
30
+
31
+ 上下文被压缩时,对话流里会有一条"历史已被摘要取代"的标记。宿主默认把它折进折叠的过程组里,你根本看不见。
32
+
33
+ 装上后这一行**任何时候都显示**,并且做成**居中的琥珀胶囊**,一眼能从旁边的工具调用里区分出来:
34
+
35
+ - 用宿主自己的警示色系(和上下文配额提示同一族)
36
+ - 展开时自动退回通栏样式(宿主展开时把它变成遮盖头,缩成小胶囊会让正文从两侧透出)
37
+ - 手工 `/compact` 触发的压缩同样适用
38
+
39
+ ### 建议
40
+
41
+ 一轮结束后,输入框上方出现最多 3 条「下一步可能想问的」提示词(**一行**,窄屏才折行)。它与输入框**左对齐、同宽**:
42
+
43
+ ```
44
+ 建议 1 跑一遍刚写的测试 2 给设置卡片做同样的处理 3 /code-review high ✕
45
+ ```
46
+
47
+ - 点一条,它**插到光标处**(不是整框替换),你可以先改再按 Enter —— **插件从不替你发送**
48
+ - 鼠标悬浮时那条会变成**淡蓝色底**,一眼看得出哪个能点
49
+ - 点过的那条会淡化,条本身留着,直到你提交、点 `✕`、或下一轮把它换掉
50
+ - 你**一提交**(按 Enter 或点发送),这条建议就立刻收起
51
+ - 换轮时会先显示「正在想下一轮…」;模型没给出任何有价值的下一步时,整条消失
52
+ - **每一轮结束都会问** —— 不看你问了什么、回答多长,也不管这轮是正常结束还是中途报错
53
+ - 建议只取**纯文本**;斜杠开头的建议如果在当前会话里不存在,直接丢掉,点了不会报错
54
+ - 切到别的会话再切回来**不会重复问** —— 每一轮只打一次调用,不多花
55
+
56
+ 代价要说在前面:**这是四个功能里唯一会花钱的** —— 每轮结束都会打**一次**模型调用。关掉这个开关就完全不打。
57
+
58
+ #### 建议用哪个模型、哪档推理(可调,**建议调**)
59
+
60
+ 这个开关下面还有三个参数,展开在同一个页面上:
61
+
62
+ | 设置 | 默认 | 说明 |
63
+ |---|---|---|
64
+ | **模型** | 跟随当前会话 | 下拉里列出所有 provider 的模型;也可以手填 `provider/model` |
65
+ | **推理强度** | 自动挑最安静一档 | 档位**按模型**给(每个模型不一样),所以先选模型再选档位 |
66
+ | **指令模板** | 出厂模板 | 一个可编辑的文本框,占位符见下 |
67
+
68
+ > ⚠️ **建议挑一个「非推理」档位。** 实测默认档位要 **约 1:30** 才出三条建议 —— 因为不指定档位时宿主会落到高强度推理,而这一步只是「猜三个问句」,不值得。选模型后档位列表会列出它支持的级别;挑最安静的那个(如 `minimal`)就能快很多。
69
+ >
70
+ > 有些模型不提供「关闭推理」这一档,插件会挑它最安静的那一档;一个都不合适时**不指定**,让宿主用默认。
71
+
72
+ 模板里必须保留两个占位符,插件会帮你检查:
73
+
74
+ - `{{MAX_SUGGESTIONS}}` —— 最多几条(当前 3)
75
+ - `{{LABEL_MAX}}` —— 标签最多几个字符(当前 48)
76
+
77
+ 改坏了有「恢复默认」一键还原。与出厂模板**一字不差**时会存成空串(也就是「用默认」),所以恢复默认之后配置是干净的。
78
+
79
+ ## 安装
80
+
81
+ 从 npm 装:
82
+
83
+ ```bash
84
+ dsh plugin --profile desktop add dsh-desktop-enhance
85
+ ```
86
+
87
+ **首次安装后需要重启一次 App**(客户端清单在启动时构建)。
88
+
89
+ > ⚠️ 如果 profile 里原本是 `link:` 指向本地仓库(开发时的装法),**必须先 `remove` 再 `add`** —— 直接 `add` 会认为「已是最新」并**静默保留 `link:`**,你不会得到一份独立副本:
90
+ >
91
+ > ```bash
92
+ > dsh plugin --profile desktop remove dsh-desktop-enhance
93
+ > dsh plugin --profile desktop add dsh-desktop-enhance
94
+ > ```
95
+ >
96
+ > 成功的标志是 profile 的 `package.json` 里那一行变成 `"^0.1.0"` 这样的版本范围,而不再是 `link:…`。
97
+
98
+ ### 更新
99
+
100
+ ```bash
101
+ dsh plugin --profile desktop update dsh-desktop-enhance
102
+ ```
103
+
104
+ > ⚠️ **`pnpm install` 不会自动升到这个包的新版本** —— lockfile 把已解析的版本钉住了,它会打印 `Already up to date` 然后什么都不做。要拿新版本必须显式 `update`(或 `remove` 后再 `add`)。
105
+
106
+ 只改插件内容的话,**刷新页面即可**,不必重启。
107
+
108
+ > ⚠️ **例外:如果插件更新里改了「宿主半侧」(`src/index.ts` / `src/suggest/**`),必须重启 App** —— 刷新页面不够。此时设置卡片会直接把不可用的项**置灰**并提示你重启,而不是等你点了几次之后才报「设置没写进去」。**看到那句提示 = 重启即可解决。**
109
+
110
+ ## 开关
111
+
112
+ 四个功能各有一个开关,在**本插件自己的页面**上:
113
+
114
+ > 侧栏 **插件** → 插件列表里选中 **`dsh-desktop-enhance`** → 页面里的 **「UI 增强」** 一栏
115
+
116
+ 四个开关:**页内查找** / **轮次编号** / **压缩行高亮** / **建议**。默认全开,装完与之前行为一致,除非你自己去关。
117
+
118
+ 「建议」关掉时,它那三个参数(模型 / 推理强度 / 指令模板)也会一并收起 —— 功能关着时它们不起作用。
119
+
120
+ 值写进 profile 的 cordis 配置,**重启后仍然生效**(不是浏览器本地存储)。关掉某一项会**完全回到 DSH 原样**。
121
+
122
+ ## 已知限制
123
+
124
+ - **只搜已经加载的内容。** 更早的轮次需要点「加载更早」才会进搜索范围,查找条不会替你加载。
125
+ - **`Cmd+F` 只在桌面版注册。** Web 实例上是 `Cmd+Shift+.`。
126
+ - 跳转临时展开的内容,**关掉查找条就复原** —— 这是有意设计,不会把整组工具调用永久摊开。
127
+ - **建议依赖宿主能打模型调用。** 会话还没发过第一次请求、或宿主里 `llm` 服务不在时,建议退化成空列表(页面不报错,也没有提示)—— 这是有意的降级:建议是加分项,不该因为它弹错误。
128
+ - **建议的语言跟着你。** 指令里点名要求「用用户自己在用的语言」,所以中文对话给中文建议;模型不听话时可能混出英文。
129
+
130
+ ## 卸载
131
+
132
+ ```bash
133
+ dsh plugin --profile desktop remove dsh-desktop-enhance
134
+ ```
135
+
136
+ ---
137
+
138
+ ## 开发
139
+
140
+ 这个仓库根目录**就是插件包**。开发文档不在 README —— 从 **[AGENTS.md](AGENTS.md)** 进。
141
+
142
+ | 你想… | 去 |
143
+ |---|---|
144
+ | 接手项目、跑测试、起隔离实例 | [AGENTS.md](AGENTS.md) |
145
+ | 改某个功能(为什么这样做、否决过什么、实测数字) | [docs/](docs/index.md) |
146
+ | 写 DSH 客户端插件(机制与坑) | [docs/plugin-development.md](docs/plugin-development.md) |
@@ -0,0 +1,3 @@
1
+ - insert:
2
+ - id: desktop-enhance
3
+ name: 'dsh-desktop-enhance'