dsh-dock 0.10.0 → 0.10.2

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
@@ -23,8 +23,9 @@
23
23
  | **任务通知** | 任务完成 / 异常 / 需确认通知:页内卡片、6 种提示音、浏览器系统通知、钉钉/飞书群机器人推送(宿主直发,浏览器关着也能推);与动画互相独立、各自启停 |
24
24
  | **运行状态** | 任务运行状态一览:进行中任务的阶段 / 耗时 / 回合 / 步骤 / 工具 / Token、等待确认提醒(等待的工具与说明)与最近完成记录(只读,与动画/通知共用同一份宿主侧追踪) |
25
25
 
26
+ | **趣味游戏** | 任务等待时消磨时间的十款小游戏(五子棋、中国象棋、俄罗斯方块、推箱子、贪吃蛇、打砖块、极速赛车、坦克大战、星际躲避、反应堆解谜);浮动窗口可拖动/缩放/最小化,不遮挡会话,靠屏幕侧边隐藏 |
26
27
  | **图片理解代理** | 图片识别等(visionproxy);原图候选默认折叠展示,图片能力以你的声明为准 |
27
- | **手机接力** | 手机扫码安全接入同一 DSH(反向代理 + 任务/备注同步);**局域网电脑直连(0.0.0.0)**——另起一个 0.0.0.0 绑定的完整 DSH 子实例,局域网电脑访问到的功能、交互与 127.0.0.1 完全一致(会话记录、工作区文件夹选择等) |
28
+ | **远程访问** | 账号密码登录的远程入口:网关监听 `0.0.0.0` 独立端口,手机/平板/局域网电脑访问同一实例,会话与任务进度实时一致(**局域网电脑直连**:另起一个 0.0.0.0 绑定的完整 DSH 子实例,功能与 127.0.0.1 完全一致) |
28
29
  | **心跳监视 / 主题信息** | 示例功能(纯 Client) |
29
30
 
30
31
  **会话区随身小控件**:启用后,在会话输入区工具行(模型选择器左侧)显示——
@@ -87,6 +88,8 @@ dsh plugin --profile web remove dsh-dock # 卸载
87
88
 
88
89
  停用某功能后,其菜单项、首页卡片、会话区小控件一并隐藏。
89
90
 
91
+ ![设置 → 功能坞:每个模块一张卡片,卡片开关与面板页脚开关等效](screenshots/dock-settings.png)
92
+
90
93
  ### 会话区随身小控件
91
94
 
92
95
  启用「模型余额」「用量记录」后,会话输入区工具行(模型选择器左侧)会出现两个小芯片:
@@ -99,6 +102,9 @@ dsh plugin --profile web remove dsh-dock # 卸载
99
102
  ### 各功能使用
100
103
 
101
104
  **用量记录**
105
+
106
+ ![用量记录页:秒级时间筛选、9 张 KPI 卡、分组汇总与 15 列明细(支持 CSV 导出)](screenshots/dock-tokenlog.png)
107
+
102
108
  1. 打开功能坞 → 用量记录
103
109
  2. 使用顶部筛选:时间范围(秒级)、会话、提供商、模型(与提供商联动)、状态、推理强度
104
110
  3. 查看 9 张 KPI 卡(调用次数 / Token / 输入 / 缓存命中 / 命中率 / 输出 / 金额 USD / 金额 CNY / 累计耗时)
@@ -107,6 +113,9 @@ dsh plugin --profile web remove dsh-dock # 卸载
107
113
  6. 「CSV 导出」下载当前筛选结果
108
114
 
109
115
  **模型余额**
116
+
117
+ ![模型余额:全部已配置 Provider 的余额/配额一屏查看(可查余额的排前面)](screenshots/dock-balance.png)
118
+
110
119
  1. 打开功能坞 → 模型余额
111
120
  2. 列表展示全部已配置 Provider 的余额/配额状态(每 5 分钟自动刷新,可手动「刷新」)
112
121
 
@@ -125,6 +134,8 @@ dsh plugin --profile web remove dsh-dock # 卸载
125
134
 
126
135
  **任务通知**(从「任务动画」拆出,独立菜单项与开关)
127
136
 
137
+ ![任务通知:通知事件 / 提醒方式 / 提示音试听 / 钉钉与飞书群机器人推送(Webhook 已脱敏)](screenshots/dock-notify.png)
138
+
128
139
  1. 打开功能坞 → 任务通知:
129
140
  - **通知事件**:完成通知 / 异常通知 / **需确认提醒**(工具等待你批准,如沙箱越界执行命令时弹常驻卡片 + 确认音)各自独立开关
130
141
  - **提醒方式**:卡片停留时长(4 / 8 / 15 / 30 秒或常驻)、浏览器系统通知(仅页面后台时推送,首次开启会请求授权)、**提示音** 6 种 WebAudio 合成音效可选(完成 / 异常 / 确认各配一音,可单独试听)
@@ -135,6 +146,8 @@ dsh plugin --profile web remove dsh-dock # 卸载
135
146
 
136
147
  **运行状态**(从「任务动画」拆出,独立菜单项与开关;只读)
137
148
 
149
+ ![运行状态:进行中任务的阶段/耗时/回合/步骤/工具/Token、等待确认与最近完成(只读)](screenshots/dock-runstate.png)
150
+
138
151
  1. 打开功能坞 → 运行状态:
139
152
  - **进行中任务**:任务标题 + 阶段标签(思考中 / 输出中 / 编写代码 / 查资料)、模型(Provider)、已运行时长、回合 / 步骤 / 工具次数、输入↧输出↥ Token
140
153
  - **等待确认**:顶部横幅提示「N 项等待确认」,对应任务打「等待确认」标签并列出等待的工具与说明(工具等待你批准时任务会停在原地)
@@ -154,7 +167,7 @@ dsh plugin --profile web remove dsh-dock # 卸载
154
167
  **图片理解代理(visionproxy)**
155
168
  - 用于图片内容识别等场景。原图直发候选默认折叠,模型设置中勾选「图片」输入类型的模型即可走该通道;请按实际 Provider 能力选择,端点不支持时取消该标记即可恢复代理识别。
156
169
 
157
- **手机接力**
170
+ **远程访问**
158
171
 
159
172
  主 DSH 默认只监听 `127.0.0.1`(官方 CLI 拒绝 `--host 0.0.0.0`,因为浏览器表层没有登录认证)。「远程访问」在**不改主实例绑定**的前提下提供带登录的远程入口:
160
173
 
@@ -163,6 +176,14 @@ dsh plugin --profile web remove dsh-dock # 卸载
163
176
  3. **异地组网**:Tailscale/ZeroTier 等虚拟组网内直接用组网 IP 访问同一入口,效果与局域网相同。
164
177
  4. **安全机制**:密码只存加盐哈希;登录失败按来源 IP 限速(10 分钟 10 次);修改密码后所有设备立即下线;关闭远程访问即停止网关并注销所有会话。工作区目录选择自动为浏览器浏览模式(可跨盘输入路径);远程页面的兼容兜底(`crypto.randomUUID`)由网关注入。
165
178
 
179
+ **趣味游戏**
180
+
181
+ ![趣味游戏:十款小游戏在浮动窗口里运行(棋盘对战 / 经典机台 / 街机动作),不占满屏、不遮挡会话](screenshots/dock-games.png)
182
+
183
+ - 任务在后台继续执行时,游戏在局部浮动窗口里运行(可拖动、可调大小、可最大化/最小化、不遮挡会话内容)。
184
+ - 屏幕侧边的「趣味游戏」磁吸入口贴在左边栏右缘(不挡工作区目录),可换上下部位、左右换边,位置会被记住。
185
+ - 十款小游戏:五子棋、中国象棋(你 vs AI)、俄罗斯方块、推箱子、贪吃蛇、打砖块、极速赛车、坦克大战、星际躲避、反应堆解谜;都支持键盘(配套的也配了按钮)操作。
186
+
166
187
  **心跳监视 / 主题信息** | 示例功能(纯 Client) |
167
188
 
168
189
  **会话区随身小控件**:启用后,在会话输入区工具行(模型选择器左侧)显示——
@@ -225,6 +246,8 @@ dsh plugin --profile web remove dsh-dock # 卸载
225
246
 
226
247
  停用某功能后,其菜单项、首页卡片、会话区小控件一并隐藏。
227
248
 
249
+ ![设置 → 功能坞:每个模块一张卡片,卡片开关与面板页脚开关等效](screenshots/dock-settings.png)
250
+
228
251
  ### 会话区随身小控件
229
252
 
230
253
  启用「模型余额」「用量记录」后,会话输入区工具行(模型选择器左侧)会出现两个小芯片:
@@ -237,6 +260,9 @@ dsh plugin --profile web remove dsh-dock # 卸载
237
260
  ### 各功能使用
238
261
 
239
262
  **用量记录**
263
+
264
+ ![用量记录页:秒级时间筛选、9 张 KPI 卡、分组汇总与 15 列明细(支持 CSV 导出)](screenshots/dock-tokenlog.png)
265
+
240
266
  1. 打开功能坞 → 用量记录
241
267
  2. 使用顶部筛选:时间范围(秒级)、会话、提供商、模型(与提供商联动)、状态、推理强度
242
268
  3. 查看 9 张 KPI 卡(调用次数 / Token / 输入 / 缓存命中 / 命中率 / 输出 / 金额 USD / 金额 CNY / 累计耗时)
@@ -245,6 +271,9 @@ dsh plugin --profile web remove dsh-dock # 卸载
245
271
  6. 「CSV 导出」下载当前筛选结果
246
272
 
247
273
  **模型余额**
274
+
275
+ ![模型余额:全部已配置 Provider 的余额/配额一屏查看(可查余额的排前面)](screenshots/dock-balance.png)
276
+
248
277
  1. 打开功能坞 → 模型余额
249
278
  2. 列表展示全部已配置 Provider 的余额/配额状态(每 5 分钟自动刷新,可手动「刷新」)
250
279
 
@@ -263,6 +292,8 @@ dsh plugin --profile web remove dsh-dock # 卸载
263
292
 
264
293
  **任务通知**(从「任务动画」拆出,独立菜单项与开关)
265
294
 
295
+ ![任务通知:通知事件 / 提醒方式 / 提示音试听 / 钉钉与飞书群机器人推送(Webhook 已脱敏)](screenshots/dock-notify.png)
296
+
266
297
  1. 打开功能坞 → 任务通知:
267
298
  - **通知事件**:完成通知 / 异常通知 / **需确认提醒**(工具等待你批准,如沙箱越界执行命令时弹常驻卡片 + 确认音)各自独立开关
268
299
  - **提醒方式**:卡片停留时长(4 / 8 / 15 / 30 秒或常驻)、浏览器系统通知(仅页面后台时推送,首次开启会请求授权)、**提示音** 6 种 WebAudio 合成音效可选(完成 / 异常 / 确认各配一音,可单独试听)
@@ -273,6 +304,8 @@ dsh plugin --profile web remove dsh-dock # 卸载
273
304
 
274
305
  **运行状态**(从「任务动画」拆出,独立菜单项与开关;只读)
275
306
 
307
+ ![运行状态:进行中任务的阶段/耗时/回合/步骤/工具/Token、等待确认与最近完成(只读)](screenshots/dock-runstate.png)
308
+
276
309
  1. 打开功能坞 → 运行状态:
277
310
  - **进行中任务**:任务标题 + 阶段标签(思考中 / 输出中 / 编写代码 / 查资料)、模型(Provider)、已运行时长、回合 / 步骤 / 工具次数、输入↧输出↥ Token
278
311
  - **等待确认**:顶部横幅提示「N 项等待确认」,对应任务打「等待确认」标签并列出等待的工具与说明(工具等待你批准时任务会停在原地)
@@ -292,7 +325,7 @@ dsh plugin --profile web remove dsh-dock # 卸载
292
325
  **图片理解代理(visionproxy)**
293
326
  - 用于图片内容识别等场景。原图直发候选默认折叠,模型设置中勾选「图片」输入类型的模型即可走该通道;请按实际 Provider 能力选择,端点不支持时取消该标记即可恢复代理识别。
294
327
 
295
- **手机接力**
328
+ **远程访问**
296
329
 
297
330
  主 DSH 默认只监听 `127.0.0.1`(官方 CLI 拒绝 `--host 0.0.0.0`,因为浏览器表层没有登录认证)。「远程访问」提供**账号密码登录的网关**作为唯一远程入口,主实例保持仅本机:
298
331
 
@@ -300,6 +333,14 @@ dsh plugin --profile web remove dsh-dock # 卸载
300
333
  - 密码只存加盐哈希;登录失败按来源 IP 限速(10 分钟 10 次);修改密码后所有设备立即下线;关闭远程访问即停止网关并注销所有会话。
301
334
  - 旧版「服务器模式(0.0.0.0)」与「扫码令牌接力」已被此方案取代:前者把无认证的 DSH 裸露给局域网,后者双实例任务状态不同步。开启远程访问时会自动清理旧的 0.0.0.0 webserver 补丁行(提示重启后回到仅本机)。
302
335
 
336
+ **趣味游戏**
337
+
338
+ ![趣味游戏:十款小游戏在浮动窗口里运行(棋盘对战 / 经典机台 / 街机动作),不占满屏、不遮挡会话](screenshots/dock-games.png)
339
+
340
+ - 任务在后台继续执行时,游戏在局部浮动窗口里运行(可拖动、可调大小、可最大化/最小化、不遮挡会话内容)。
341
+ - 屏幕侧边的「趣味游戏」磁吸入口贴在左边栏右缘(不挡工作区目录),可换上下部位、左右换边,位置会被记住。
342
+ - 十款小游戏:五子棋、中国象棋(你 vs AI)、俄罗斯方块、推箱子、贪吃蛇、打砖块、极速赛车、坦克大战、星际躲避、反应堆解谜;都支持键盘(配套的也配了按钮)操作。
343
+
303
344
  **心跳监视 / 主题信息**
304
345
  - 示例功能,展示纯 Client 功能模块的写法
305
346
 
@@ -310,6 +351,12 @@ dsh plugin --profile web remove dsh-dock # 卸载
310
351
  - **任务动画/任务通知/运行状态不生效**:三者的路由都在宿主进程内(动画/通知的配置持久化也在宿主),旧宿主需重启 `dsh web` 加载(面板页会提示「宿主进程是旧版本」)。另注意通知与运行状态已各自独立成菜单项,需在功能坞里分别开启「任务通知」「运行状态」。
311
352
  - **用量记录空白**:确认 dsh 是较新版本且插件宿主已加载(查看启动日志含 `[dsh-dock] host half loaded`);旧宿主进程需重启 dsh web 加载新路由。
312
353
  - **余额显示「需登录 / 无密钥」**:对应 Provider 未在 dsh 凭据中配置可查询余额的密钥,属正常状态提示。
354
+ - **切模型 / 打开历史会话卡住,报 `preset "…" failed to mount`**:这是该 **agent 预设**与 dsh 版本
355
+ 的 schema 漂移,不是本插件的问题。预设目录在 `~/.dsh/.agent-presets/<id>/`,dsh 升级后预设里的
356
+ 行可能不再合法(例如 `@deepseek-ai/dsh-persona` 在 0.1.5-rc.1 把 `config.text` 改为必填的
357
+ `config.prefix` + `config.suffix`),导致绑定了它的会话无法 resume。修法:把该预设与 dsh 自带的
358
+ `standard` 预设对齐(照抄新字段,保留自己的 persona 正文);细节见
359
+ [`docs/workflow.md`](docs/workflow.md) §6「升级核对」。
313
360
 
314
361
  ## 开发:新增一个功能模块
315
362
 
package/client.js CHANGED
@@ -10503,7 +10503,7 @@ var feature10 = {
10503
10503
  };
10504
10504
 
10505
10505
  // src/client.jsx
10506
- var DOCK_VERSION = "0.10.0";
10506
+ var DOCK_VERSION = "0.10.2";
10507
10507
  var BUILTIN_FEATURES = [feature, feature2, feature3, feature4, feature5, feature6, feature7, feature8, feature9, feature10];
10508
10508
  var PLANNED_FEATURES = [];
10509
10509
  var PLANNED_NOTES = {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-dock",
3
- "version": "0.10.0",
3
+ "version": "0.10.2",
4
4
  "description": "DeepSeek Harness 功能坞插件(dsh-dock):模块化功能中枢——每个功能一个 features/ 模块(可单独提取成包发布,又可经 dockBridge 装回面板)。含用量记录(LLM 调用记账/费用统计)、模型设置、图片理解代理、模型余额、任务动画(19 种运行动画 + 桌面伙伴 3D 场景)、任务通知(完成/异常/需确认通知、提示音、系统通知、钉钉/飞书推送)、运行状态(进行中任务与最近完成一览);侧栏入口 + 可拖拽弹窗(最大化/最小化/缩放)。",
5
5
  "type": "module",
6
6
  "main": "index.js",
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/src/client.jsx CHANGED
@@ -30,7 +30,7 @@ import { feature as fGames } from "../features/games/view.jsx";
30
30
  import { feature as fMobileRelay } from "../features/mobile-relay/view.jsx";
31
31
 
32
32
  const name = "dsh-dock";
33
- const DOCK_VERSION = "0.10.0";
33
+ const DOCK_VERSION = "0.10.2";
34
34
 
35
35
  // ---- 内置功能注册表:新功能 = features/<id>/ 加模块 + 这里 import 一行 ----
36
36
  const BUILTIN_FEATURES = [fTokenlog, fModelconfig, fHeartbeat, fTheme, fBalance, fAnimation, fNotify, fRunState, fGames, fMobileRelay];