dsh-wake
DeepSeek Harness (dsh) 唤醒插件 —— 点一下快捷方式,服务自动拉起、窗口自动打开,不用再敲
npx @deepseek-ai/dsh web。
dsh-wake 是一个 DeepSeek Harness 宿主插件(Host + Client),为 Windows 上的 dsh Web GUI 提供一套"开机即用"的桌面体验:
- 一键启动:桌面 / 任务栏 / 开机自启快捷方式,点击即启动隐藏的
dsh web服务并打开 GUI,全程无终端窗口。 - 冷启动动画:服务未运行、首次启动较慢时,屏幕正中央弹出鱼娘跳舞的透明悬浮窗(自带素材,不依赖 whale-girl 插件)。
- 关闭弹窗:在 GUI 窗口右上角 X 按钮上挂一个透明悬浮层,点 X 弹出「彻底关闭 / 关闭窗口 / 取消」对话框(DSH 设计语言风格)。
- 设置项:在「设置 → 通用设置」里提供开机启动下拉开关(开启 / 关闭)。
✨ 功能
1. 一键启动(快捷方式)
点桌面 / 任务栏 / 启动文件夹里的 DeepSeek Harness 快捷方式:
- 检测
http://127.0.0.1:3080服务是否在运行 - 未运行 → 后台隐藏窗口拉起
dsh web(等价于你手动敲的命令,离线直接调 node,更快) - 等就绪 → 打开 GUI 窗口(优先复用你的 Edge 应用窗口)
- 已运行 → 直接打开窗口(幂等,随便双击)
2. 冷启动加载动画
服务未运行时(如开机后第一次点),屏幕正中央显示鱼娘(whale-girl)跳舞动画的透明置顶悬浮窗,几秒后服务就绪自动消失并打开 GUI。素材已打包进插件(assets/celebrate.png,MIT 许可),不需要用户额外安装 whale-girl;万一素材缺失则退化为 🐳 表情摆动动画。
3. 关闭悬浮层 + 二选一弹窗
GUI 窗口右上角的 X 上盖了一个透明悬浮层(轮询跟随窗口位置):
- 点 X → 弹出 DSH 风格对话框:
- 彻底关闭 —— 停止后台
dsh web服务并释放内存 - 关闭窗口 —— 只关 GUI 窗口,后台服务继续运行,下次秒开
- 取消
- 彻底关闭 —— 停止后台
- 悬浮层可无限次使用(每次点击新建弹窗,不会"点一次就消失")。
4. 设置项:开机启动
「设置 → 通用设置」里的 开机启动 DeepSeek Harness 下拉框(开启 / 关闭),与语言选择器等原生选择器同款样式(浅灰胶囊 + 设计系统主题色)。关闭后移除启动文件夹快捷方式;状态持久化在 ~/.dsh/launcher/state.json。
📦 安装
从本地目录安装(开发 / 使用)
dsh plugin --profile web add file:<path-to-dsh-wake>
从 npm 安装(发布后)
dsh plugin --profile web add dsh-wake
安装后重启 dsh web(或点桌面快捷方式冷启动)生效。首次激活会自动生成启动器脚本与快捷方式(桌面 + 启动文件夹)。
注意:插件声明了
dsh.bundle,安装后通过dsh plugin的 reconcile 自动加入 profile 层;带config的 patch 需要重启激活,纯 insert patch 可热挂载。
🖥️ 使用
| 操作 | 效果 |
|---|---|
| 点桌面 / 任务栏「DeepSeek Harness」 | 启动服务(如未运行)+ 打开 GUI |
| 冷启动等待时 | 屏幕中央鱼娘跳舞动画 |
| 点 GUI 右上角 X | 弹出 彻底关闭 / 关闭窗口 / 取消 |
| 设置 → 通用 → 开机启动 | 下拉开启 / 关闭开机自启 |
任务栏固定(Windows 限制,需手动):右键桌面快捷方式 → 固定到任务栏。
⚙️ 配置与 HTTP 接口
插件自动检测环境(node 路径、dsh 入口、工作区、端口、Edge 应用窗口),通常无需配置。可用 config 覆盖(需要重启激活):
| 配置项 | 说明 | 默认 |
|---|---|---|
workspace |
服务启动目录 | 工作区注册表路径 |
port |
GUI 端口 | 3080 |
nodeExe / dshEntry |
服务启动入口 | 自动检测 |
scriptDir |
启动器脚本目录 | ~/.dsh/launcher |
autoSetup |
激活时自动生成脚本+快捷方式 | true |
HTTP 路由(同源 POST 需带 Origin):
| 路由 | 方法 | 说明 |
|---|---|---|
/dsh-wake/status |
GET | 当前状态(脚本、快捷方式、开机启动开关) |
/dsh-wake/setup |
POST | 重新生成脚本 + 刷新快捷方式 |
/dsh-wake/startup |
POST | {enabled: true/false} 开/关开机自启 |
/dsh-wake/remove |
POST | 移除快捷方式(保留脚本) |
/dsh-wake/log |
GET | 启动器日志尾部 |
📁 项目结构
dsh-wake/
├── package.json # 包声明(dsh.bundle / dsh.client / exports)
├── cordis.patch.yml # 纯 insert patch(可热挂载)
├── lib/
│ ├── index.js # 宿主插件入口:路由 / 自动 setup
│ └── launcher.js # 环境检测、脚本生成、快捷方式管理、悬浮窗生成
├── client/
│ └── client.js # 客户端 bundle:通用设置「开机启动」下拉
├── assets/
│ └── celebrate.png # whale-girl 跳舞精灵图(内置,MIT)
├── README.md
└── LICENSE
启动时在 ~/.dsh/launcher/ 生成:
dsh-launcher.ps1—— 一键启动脚本(隐藏拉起服务 + 打开 GUI)dance.ps1—— 鱼娘跳舞悬浮窗close-overlay.ps1—— X 按钮悬浮层 + 关闭对话框state.json—— 持久化状态(开机启动开关)dsh-launcher.log—— 启动器日志
🛠️ 开发
# 修改源码后同步到已安装的插件(file: 安装为副本)
copy lib\*.js %DSH_HOME%\profiles\web\node_modules\dsh-wake\lib\
# 重新生成启动器脚本 / 悬浮窗脚本
node -e "import('file:///…/dsh-wake/lib/launcher.js').then(m => { const e = m.detectEnv({}); m.writeLauncherScript(e); m.writeDanceScript(e); m.writeCloseOverlayScript(e); })"
📜 许可与署名
- 本插件:MIT(见 LICENSE)
- 内置素材
assets/celebrate.png来自 whale-girl(MIT,© 2026 Sam Gao / vlln,角色 credit:ZipZipPipe)
🗺️ Roadmap
- 桌面 / 任务栏 / 开机自启快捷方式
- 冷启动鱼娘跳舞动画(自带素材)
- X 按钮悬浮层 + 关闭对话框(彻底关闭 / 关闭窗口 / 取消)
- 设置 → 通用 → 开机启动下拉开关
- 发布到 npm + dsh-market 插件市场收录
- Agent 工具(
dsh_wake_status/dsh_wake_setup)
还没有评论,来写第一条。