dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
一个基于 Electron 的 Windows 桌面应用,用于启动并承载 DeepSeek Harness 的完整 Web 界面(对话、插件、技能、工作流、子代理、设置等全部功能),并在右上角实时显示峰谷计价时段与 DeepSeek 账户余额。
💡 通用版:不含任何个人 API Key,开箱即用,配置你自己的 Key 即可。 💡 无需 Visual Studio / 任何 IDE:Node.js + Electron,命令行即可运行、测试、打包。 🧩 DeepSeek Harness 社区项目:本应用是 DeepSeek Harness(DSH)生态的桌面客户端,通过
dsh-plugin主题与官方社区关联。
空闲,2小时30分转高峰,余额:¥7.33,点击展开时段、倒计时、守卫状态、余额明细、本机高峰窗口、当前价目与相关操作sandbox: true + contextIsolation: true + nodeIntegration: falseDSH_DESKTOP_SAFE=1 启动可跳过托盘等窗口管理功能,仅保留「起服务 + 载界面」,用于异常时快速恢复safeStorage),不再只能手工编辑 JSON~/.dsh-desktop/config.json(此前只能照报错信息手动创建)DEEPSEEK_API_KEY → 应用配置(加密或明文)→ Harness 凭据 ~/.dsh/credentials.yaml按 DeepSeek 官方峰谷计价规则在本地判定时段并强制执行:
高峰 = 周一至周五 01:00–04:00 与 06:00–10:00(UTC),其余时间(含整个周末)为空闲时段;空闲价 = 高峰价 5 折。
换算北京时间:高峰为周一至周五 09:00–12:00 与 14:00–18:00。应用按你本机时区实时换算,不只显示 UTC。
显示:内嵌在菜单栏(紧接「帮助」之后)的常驻状态标签:
| 状态 | 菜单栏标签 |
|---|---|
| 空闲时段 | 空闲,2小时30分转高峰,余额:¥7.33 |
| 高峰时段 | 高峰,1小时30分转空闲,余额:¥7.33 |
点击后显示详细信息:
运行中 —— 高峰不消耗任何 token / 待命 / 已临时放行 / 已关闭 / ⚠ 未生效为什么也放在菜单栏:原生菜单永远不会遮挡 Web 内容,也不会抢走页面里的点击(包括右侧栏的按钮)。 说明:Windows 的应用菜单由系统从左往右排布,Electron 未提供菜单项右对齐的能力,因此它位于「帮助」右侧,而不是贴着窗口最右边缘。
除了菜单栏标签,页面里还有一张小卡,默认开启并吸附在会话标题旁「XX模式」徽标右侧约 2 个字符处(按徽标字号计算,窗口缩放时自动重算):
限制:高峰时段不消耗任何 token。实现方式不是「发出请求后再取消」,而是在 harness 侧真正短路模型调用:
dsh web 时会用 --patch 注入一个随应用分发的 Cordis 插件 peak-guard.mjsllm/stream(包裹每一次流式模型调用的 waterfall),高峰时段不调用 next() —— 请求根本不会发往 DeepSeek,因此不产生任何 token 消耗,覆盖普通对话、子代理、工作流、Ralph、压缩等全部路径npm test # 可独立运行的全部单测(不需要 dsh / API Key / 网络)
npm run test:harness # 需要本机 dsh 的一组:端口退让、启动认证、token 复用
npm run test:e2e # 端到端:真实启动 harness 验证守卫被加载并写出心跳
npm run verify # 上面全部 + 体检
test:harness这一组使用临时 DSH_HOME 与随机端口,不会碰开发机上正在运行的会话。
启动时自动完成,无需手动执行任何命令:
npm install -g @deepseek-ai/dshdsh web(带 --no-open,界面由窗口承载而非跳浏览器)dsh web 需要认证,裸访问返回 401。本应用会捕获启动输出中的带 token URL 并用它加载界面(303 → cookie → 200),彻底解决黑屏HTTP_PROXY / HTTPS_PROXY / ALL_PROXY / NO_PROXY 环境变量(0.1.5 新增)--no-open 官方参数(0.1.5 官方推荐用法)| 文档 | 内容 |
|---|---|
| 使用手册 | 安装、菜单栏状态、峰谷与零 token、API Key、托盘与更新 |
| 故障排查 | 启动失败、端口冲突、守卫未生效、余额不可用… |
| 代码签名与校验 | SmartScreen 说明、如何核实下载、如何接入签名证书 |
遇到启动问题时运行(输出环境、服务、认证、余额、代理状态):
node scripts\doctor.js

前往 Releases 页面 下载 DSH Desktop Setup 1.3.2.exe 安装程序(Windows 10/11,约 95 MB)。
或克隆源码自行构建:
git clone https://github.com/xuanyuying/dsh-desktop.git
cd dsh-desktop
npm install
npm start
dsh web 服务;未运行时自动拉起,已运行时直接复用(端口 3080)| 依赖 | 版本 | 说明 |
|---|---|---|
| Node.js | ≥ 20 | 必装(含 npm) |
| DeepSeek Harness | ≥ 0.1.0-rc | 通过 npm install -g @deepseek-ai/dsh 安装;或由本应用自动发现 npx 缓存 |
| DeepSeek API Key | - | 见下方"API Key 配置" |
按优先级自动读取,任选其一:
环境变量
setx DEEPSEEK_API_KEY "sk-你的key"
应用配置文件(推荐)
# 复制模板到用户目录并填入你的 Key
copy config.example.json %USERPROFILE%\.dsh-desktop\config.json
# 编辑 config.json,把 apiKey 改为 sk-你的key
配置文件格式:
{ "apiKey": "sk-你的DeepSeek-API-Key" }
兼容读取 Harness 凭据:若你已用 dsh 且 ~/.dsh/.credentials.yaml 中存在 DEEPSEEK_API_KEY,自动复用。
API Key 获取:https://platform.deepseek.com → API Keys。
双击项目目录下的 启动桌面端.bat。
首次运行自动安装 Electron 依赖并下载运行时(需联网,约 2~5 分钟),之后秒开。
cd dsh-desktop-desk
npm install # 首次
npm start
node scripts\smoke-test.js # 冒烟测试:服务检测 + 余额 API
node scripts\test-lib.js # lib 模块:12 项断言
node scripts\test-preload.js # 浮层 UI:11 项断言
npm run dist
node scripts\build-dist.js
一键脚本自动完成(全程走 npmmirror 国内镜像、不访问 GitHub):
electronDist),全程离线dist\DSH Desktop Setup 1.2.1.exedsh-desktop-desk/
├── src/
│ ├── main.js # 主进程:Electron 集成(窗口、IPC、菜单、生命周期)
│ ├── menu.js # 应用菜单栏(文件/编辑/视图/工具/帮助)
│ ├── preload.js # 预加载:右下角余额浮层 UI + IPC 桥
│ └── lib/
│ ├── harness.js # Harness 服务检测/启动/停止 + 版本检测升级(纯 Node)
│ └── balance.js # DeepSeek 余额 API 查询(纯 Node 模块,通用 Key 解析)
├── scripts/
│ ├── build-dist.js # 一键打包(国内镜像 / 离线)
│ ├── prepare-builder-cache.js # 构建工具缓存准备
│ ├── download-builder-tools.js # 构建工具下载(npmmirror)
│ ├── smoke-test.js / test-lib.js / test-preload.js / test-menu.js # 测试
│ └── gen-ico.js / download-electron.js / extract-electron.js / patch-builder.js
├── build/ # 应用图标
├── config.example.json # API Key 配置模板(通用)
├── package.json
├── 启动桌面端.bat # 一键启动脚本
└── README.md
Q: 启动时报"未找到 dsh 命令"?
A: 执行 npm install -g @deepseek-ai/dsh,或确认 dsh 在 PATH / npx 缓存中。
Q: 余额显示"不可用"?
A: 检查 API Key 配置(环境变量或 ~/.dsh-desktop/config.json),以及网络能否访问 api.deepseek.com。
Q: 关闭窗口后 dsh 服务还在运行?
A: 若服务由本应用启动,退出时自动关闭;若外部启动(如命令行 dsh web),本应用不接管其生命周期。
Q: 如何修改端口?
A: 设置环境变量 DSH_DESKTOP_PORT(默认 3080)。端口被占用时应用会自动退让到下一个空闲端口,不会结束占用进程。
更多问题见 故障排查。
应用图标使用 DeepSeek 官方鲸鱼标识,重绘为「鲜明蓝底 #2B5CFF + 白色鲸鱼」的圆角方块:
npm run icon # 从 build/whale-source.png 重绘 build/icon.png 并生成多尺寸 icon.ico
scripts/make-icon.ps1 顶部的 $bgR/$bgG/$bgB(底色)、$inkR/$inkG/$inkB(鲸鱼色)、$fill(占比)后重跑build/whale-source.png 取自 DeepSeek 官方站点 favicon,仅用于标识本应用是 DeepSeek Harness 的桌面客户端。
DeepSeek 名称与鲸鱼标识归 DeepSeek 所有,本项目与 DeepSeek 官方无隶属关系;若官方有异议会立即更换。