dsh-dock 0.20.0 → 0.21.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 +15 -10
- package/client.js +1403 -654
- package/features/balance/view.js +8 -6
- package/features/mobile/host.js +22 -0
- package/features/mobile/view.js +345 -0
- package/features/notify/host.js +50 -15
- package/features/notify/view.jsx +713 -367
- package/features/tokenlog/view.jsx +8 -3
- package/index.js +3 -0
- package/package.json +2 -2
- package/screenshots/dock-notify.png +0 -0
- package/src/client.jsx +38 -7
- package/src/host-core.js +6 -0
package/README.md
CHANGED
|
@@ -21,13 +21,14 @@
|
|
|
21
21
|
| **模型提供商** | 管理自定义模型 Provider 本身:新增 / 编辑 / 删除(OpenAI 兼容、Anthropic Messages 等)、API Key 写入本机凭据库、拉取上游 `{baseURL}/models` 列表;排版同官方模型管理页。**独立功能,可单独停用**——停用后写配置与出站拉取的路由一并关闭 |
|
|
22
22
|
| **模型余额** | 展示所有模型 Provider 账户余额(5 分钟自动刷新);内置「DeepSeek 账号」官网余额(走宿主登录态,充值/赠送分列,不是 API Key 余额接口) |
|
|
23
23
|
| **任务动画** | 19 种任务运行动画(含星际远征、星云潮汐、曲速航道、量子雷达、星座网络、深海脉动、神经电路等),速度随任务活动联动,配置全部持久化 |
|
|
24
|
-
| **任务通知** | 任务完成 / 异常 / 需确认 / 需回答 /
|
|
24
|
+
| **任务通知** | 任务完成 / 异常 / 需确认 / 需回答 / 卡住通知(设置页支持「服务端配置 / 本机配置」总开关 + 事件×渠道勾选矩阵):页内卡片(总开关 + 完成/异常/需确认/卡住各自独立开关 + 卡片口径简洁/适中/详细三挡;卡住卡写明主/子任务、停滞时长与最后动作,恢复自动收、主任务在等子任务时不误报;**停在原地等人(等批准 / 等回答)一律不算卡住**,等回答单独弹「任务需要你回答」卡)、6 种提示音、浏览器系统通知、语音播报(**服务端总开关 + 本机开关两层**:服务端管全实例、本机开关存当前浏览器,两者都开才播报;完成/停止/需授权/需回答/卡住 × 简洁/适中/详细三挡 × 音色可选)、钉钉/飞书群机器人推送(宿主直发,浏览器关着也能推,消息口径可调);与动画互相独立、各自启停 |
|
|
25
25
|
| **运行状态** | 任务运行状态一览:进行中任务的阶段 / 耗时 / 回合 / 步骤 / 工具 / Token、等人介入提醒(等批准的工具与说明 / 等回答的问题,分别打「等待确认」「等待回答」标签)与最近完成记录(只读,与动画/通知共用同一份宿主侧追踪) |
|
|
26
26
|
| **语音朗读** | 把会话回复读出来(浏览器 Web Speech API 语音合成,不消耗 token、不经过服务器):每条已完成回复下方一个 🔊 喇叭——点一下读这条、播放中再点暂停、继续就地续读(不重头),另有重新朗读/停止;也可开「自动朗读」,任务结束时直接读最后一条回复。音色/语速/音调/音量可调,Markdown 自动清洗(代码块、表格、思考过程不念),支持「只读前 N 句 / 字数上限」 |
|
|
27
27
|
|
|
28
28
|
| **趣味游戏** | 任务等待时消磨时间的十款小游戏(五子棋、中国象棋、俄罗斯方块、推箱子、贪吃蛇、打砖块、极速赛车、坦克大战、星际躲避、反应堆解谜);浮动窗口可拖动/缩放/最小化,不遮挡会话,靠屏幕侧边隐藏 |
|
|
29
29
|
| **图片理解代理** | 图片识别等(visionproxy);原图候选默认折叠展示,图片能力以你的声明为准 |
|
|
30
30
|
| **远程访问** | 账号密码登录的远程入口:网关监听 `0.0.0.0` 独立端口,手机/平板/局域网设备访问同一实例,会话与任务进度实时一致;主实例保持仅监听 `127.0.0.1`,结构上不存在绕开登录的直连路径;LAN 非安全上下文自动补 crypto.randomUUID。 |
|
|
31
|
+
| **手机适配** | 手机/窄屏体验优化(**默认关闭,需要时在功能坞开启**;关闭后零残留、不干扰原生排版):输入框 16px 防 iOS 聚焦整页缩放、原生侧栏开关触控热区扩到 44×44、代码块横向滚动、会话输入行的余额/用量 chip 收起;旧版 DSH(<768 仍是「左导航 + 右内容」两栏弹层 / 静态图标轨道)自动兜底成单列 / 浮层抽屉。样式与行为在挂载时注入、关闭即移除,不改 `index.html` 与 `viewport` meta。 |
|
|
31
32
|
| **心跳监视 / 主题信息** | 示例功能(纯 Client) |
|
|
32
33
|
|
|
33
34
|
**会话区随身小控件**:启用后,在会话输入区工具行(模型选择器左侧)显示——
|
|
@@ -39,7 +40,7 @@
|
|
|
39
40
|
|
|
40
41
|
## 界面
|
|
41
42
|
|
|
42
|
-
|
|
43
|
+
「功能坞」现在是**侧栏一级面板图标**(与「插件」「服务台」并列):点击打开功能坞面板页。可用侧栏「更多」菜单里的 Pin 把它固定在侧栏顶部,或取消固定收进「更多」——位置随你。会话输入区的余额/用量小控件点击仍会弹出浮层面板。
|
|
43
44
|
|
|
44
45
|

|
|
45
46
|
|
|
@@ -120,7 +121,7 @@ dsh plugin --profile web add dsh-dock # 换回 npm 版
|
|
|
120
121
|
每个功能有独立开关,两个入口:
|
|
121
122
|
|
|
122
123
|
- **弹窗页脚**:进入某个功能页,页脚显示「已启用(点击停用)/ 已停用(点击启用)」
|
|
123
|
-
-
|
|
124
|
+
- **设置页**:账号菜单 → 设置 → 功能坞,每个模块卡片上有开关
|
|
124
125
|
|
|
125
126
|
停用某功能后,其菜单项、首页卡片、会话区小控件一并隐藏。
|
|
126
127
|
|
|
@@ -186,14 +187,18 @@ dsh plugin --profile web add dsh-dock # 换回 npm 版
|
|
|
186
187
|
|
|
187
188
|
**任务通知**(从「任务动画」拆出,独立菜单项与开关)
|
|
188
189
|
|
|
189
|
-

|
|
190
191
|
|
|
191
192
|
1. 打开功能坞 → 任务通知:
|
|
192
|
-
-
|
|
193
|
-
-
|
|
194
|
-
-
|
|
195
|
-
|
|
196
|
-
|
|
193
|
+
- **配置来源**(顶部总开关):**服务端配置**(默认,存宿主 `settings`,所有浏览器/设备共享)或**本机配置**(只存当前浏览器 `localStorage`,自己一套开关、不影响别人;可一键从服务端复制)。群机器人推送与语音服务端总开关始终由服务端执行/控制,本机模式下不可修改。
|
|
194
|
+
- **按事件提醒**(默认页签):事件 × 渠道矩阵——纵向是**完成 / 异常 / 需确认·需回答 / 卡住**,横向是**页内卡片 / 提示音 / 系统通知 / 语音播报 / 钉钉 / 飞书**;勾选即「该事件用该渠道提醒」。「—」表示该渠道不支持此事件(提示音与系统通知没有卡住,群机器人只在任务结束推送)。每个渠道的总开关、正文口径与详细参数在「按渠道设置」页签。
|
|
195
|
+
- **按渠道设置**:
|
|
196
|
+
- **页内卡片**:总开关 + 正文口径三挡(简洁 / 适中 / 详细);结束卡常驻到「看过」、点卡直达会话、≥3 张自动叠放收纳。
|
|
197
|
+
- **提示音**:总开关 + 6 种 WebAudio 合成音效可选、可单独试听。
|
|
198
|
+
- **系统通知**:总开关 + 浏览器授权状态;仅页面在后台时推送。
|
|
199
|
+
- **语音播报**:服务端总开关 + 本机开关(两者都开才播报)+ 播报口径三挡 + 语速/音量/音色/语言/试听;播报事件在上方矩阵的「语音播报」列勾选。
|
|
200
|
+
- **群机器人**:钉钉 / 飞书推送(任务结束由宿主直发,浏览器关着也能推);各自可填 Webhook、发送测试消息,并选择**消息口径**(简洁 / 适中 / 详细);推送事件在「按事件提醒」的钉钉/飞书列勾选(仅完成 / 异常)。
|
|
201
|
+
- **语音播报细节**(可选,默认关):任务**完成 / 停止 / 需要授权 / 需要回答 / 卡住**时用浏览器语音(Web Speech API)说一句话——口径**三挡**:**简洁**=一句话(「任务完成」;卡住则报「主任务(或子任务)·标题 卡住了」,一听就知道卡在哪),**适中**=点名任务(结束带原因与耗时、需授权带要批准的场景、卡住带停滞时长),**详细**=全量(结束带回合统计与回复摘要、需授权带工具名、需回答带问题正文、卡住带最后动作);可调语速/音量/音色/语言并试听(音色下拉与【语音朗读】同款:读本机音色表、中文在前分组,换设备选中的音色不存在时自动按语言回落)。与【语音朗读】共用本机声音但两套开关互不依赖;播报是打断式的(正在朗读正文时任务信先来);「卡住」= 编程阶段长时间没有任何动静时报一次,**主任务与子任务会话分别判定、分别播报**(会话头 `origin`/`delegationDepth` 判归属;恢复后再卡可再报;**等批准、等回答的会话都不算卡住**——前者由「需要授权」负责、后者由「需要回答」负责;主任务有子任务在跑时不算卡住,交给子任务判定;**有在飞的工具调用、正在压缩上下文也不算卡住**,那是在干活,判据统一在 `src/shared.js` 的 `taskStalled`,两条通知路径共用一份)
|
|
197
202
|
2. 通知与动画**互不依赖**:停用「任务动画」后通知照常工作,反之亦然(动画 / 通知 / 运行状态共用同一份宿主侧任务追踪,只有一份开销)
|
|
198
203
|
3. 群机器人推送的事件筛选跟随「完成 / 异常通知」开关;通知配置经宿主 settings 持久化,重启后恢复;升级会自动把旧版存在「任务动画」里的通知配置迁移过来
|
|
199
204
|
|
|
@@ -255,7 +260,7 @@ dsh plugin --profile web add dsh-dock # 换回 npm 版
|
|
|
255
260
|
- **重启自动拉起**:开启状态与端口会被记住,重启 `dsh web` 后插件加载时网关按上次端口自动重新监听,不必进面板再点一次;账号密码同样保持。历史升级中若账号等配置滞留在 `~/.dsh/settings.yaml.imported`(dsh 升级改名旧配置时官方导入 dsh-dock 段失败),下次启动会一次性自动恢复——现网已有改动的段不会被覆盖。
|
|
256
261
|
- **异地组网**:Tailscale/ZeroTier 等虚拟组网内直接用组网 IP 访问同一入口,效果与局域网相同。
|
|
257
262
|
- 旧版「服务器模式(0.0.0.0)」与「扫码令牌接力」已被此方案取代:前者把无认证的 DSH 裸露给局域网,后者双实例任务状态不同步。开启远程访问时会自动清理旧的 0.0.0.0 webserver 补丁行(提示重启后回到仅本机)。
|
|
258
|
-
2.
|
|
263
|
+
2. **手机端接力体验(远程访问自带)**(页面排版/抽屉/设置弹层由【手机适配】模块负责,见上表):
|
|
259
264
|
- **PWA 添加到主屏幕**:网关自带 manifest 与图标(品牌渐变 + 白色气泡,零依赖生成),手机浏览器「添加到主屏幕」后像 App 一样全屏打开,无地址栏;未登录也能先装,打开后自然进登录页。
|
|
260
265
|
- **断线提示**:换网 / 锁屏久置导致连接中断时,页面顶部出现「连接已断开,正在重连…」胶囊,恢复后自动消失(连续 2 次探测失败才提示,不闪报)。
|
|
261
266
|
- 面板「远程访问」页与首页总揽会显示当前**在线设备数**;登录页支持密码明文切换。
|