deepseek-harness-desktop
by qyqy-1109
DeepSeek Harness Desktop:自足的 Windows 桌面外壳(Electron),自动启动 dsh web 并附带订阅等
DeepSeek Harness Desktop: self-contained Windows desktop shell (Electron) that auto-starts dsh web, plus a sub
安装
dsh plugin --profile web add github:qyqy-1109/deepseek-harness-desktopGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
目录
把 DeepSeek Harness 变成双击即用的 Windows 桌面应用:
- 独立窗口承载 DSH Web GUI,不再需要手开浏览器、不再需要记命令;
- 自动启动服务:双击图标后自动拉起
dsh web(已有服务则直接复用),关窗口最小化到托盘; - 完全自包含:安装包内置完整的 dsh CLI 和 Node 运行时(Electron 43 / Node 24),最终用户不需要安装任何东西;
- 内置常用插件:安装包附带 6 个插件(背景图库、Codex 风味、dshmarket、dsh-difyctl、super-injector、mode-boost),首次启动自动装进全新 profile,朋友开箱即用
- 应用图标可更换:托盘菜单 → "应用图标" → 经典蓝色鲸鱼 / 黑色鲸鱼 / 上传自定义图片(自动裁剪为方形并适配 7 档桌面图标尺寸,同步更新窗口、托盘和桌面快捷方式图标);
- 官方鲸鱼图标 + 附赠一个保留 DSH 原生风格、只加一点 Codex 终端质感的主题点缀插件。
📦 一、给最终用户:安装教程(发给朋友照着做)
你的朋友只需要下面这一节,不需要 Node.js、不需要命令行、不需要懂技术。
第 1 步:拿到安装包
从发布者处获取 DeepSeek Harness Desktop Setup 0.1.5.exe(约 176MB),或从 GitHub Releases 下载。
第 2 步:安装
- 双击安装包;
- 若出现蓝色 SmartScreen 提示"Windows 已保护你的电脑" —— 因为软件未购买代码签名证书,这是正常现象:
- 点击 "更多信息" → "仍要运行";
- 等待进度条完成(首次安装 2~10 分钟都正常,见下方"常见问题");
- 安装完成后桌面自动出现 "DeepSeek Harness" 快捷方式,应用会自动打开。
第 3 步:首次启动(约 10~20 秒)
- 双击桌面快捷方式;
- 首次启动时应用会自动初始化配置目录(
C:\Users\你的用户名\.dsh),窗口会晚一点出现,请耐心等待; - 窗口打开后,点击左侧 设置(⚙️) → 模型,填入你的 DeepSeek API Key(没有就到 platform.deepseek.com 申请);
- 回到会话页,开始使用!
第 4 步:日常使用
| 操作 | 方法 |
|---|---|
| 启动 | 双击桌面快捷方式 |
| 关闭窗口 | 点右上角 × —— 应用最小化到托盘(右下角小图标),后台继续运行 |
| 完全退出 | 托盘图标右键 → 退出 |
| 重新打开 | 双击托盘图标或桌面快捷方式 |
| 从浏览器打开 | 托盘右键 → "在浏览器中打开" |
| 更换应用图标 | 托盘右键 → 应用图标 → 经典蓝色鲸鱼 / 黑色鲸鱼 / 自定义图标(上传图片);上传的图片会自动裁剪成方形并适配所有桌面图标尺寸,窗口、托盘、桌面快捷方式同步更新 |
首次启动只需一次初始化;之后每次双击都是秒开。
常见问题(FAQ)
Q: 安装很慢? 正常。安装包 154MB、解压后约 400MB,且文件数量多,杀毒软件会逐个扫描。等 2~10 分钟即可;超过 15 分钟可将安装包目录加入 Windows Defender 排除项后重试。
Q: 打开后报 "Failed to load plugins"? 请重新下载最新版本安装包(旧版本存在运行时兼容问题,已在 0.1.0+ 修复)。若仍有问题,把窗口中的完整错误文本发给开发者。
Q: 双击没反应 / 弹出错误框?
- 检查是否已安装过旧版本:设置 → 应用 → 卸载 "DeepSeek Harness Desktop" 后重新安装;
- 若提示"未找到 dsh 命令",说明安装包不完整,请重新下载;
- 截图错误内容反馈给开发者。
Q: 需要梯子吗? 不需要。只有配置 API Key 后调用 DeepSeek 模型需要能访问 DeepSeek API(国内可直接访问)。
🛠️ 二、给开发者:从源码构建
环境要求
| 工具 | 版本 | 说明 |
|---|---|---|
| Node.js | ≥ 22.19(推荐 24 LTS) | 构建与开发 |
| npm | ≥ 10 | 随 Node 安装 |
| pnpm | 11(可选) | 仅安装 Codex 插件到 web profile 时需要;corepack enable 可启用 |
| Git | 任意 | 克隆仓库 |
1. 克隆与安装依赖
git clone https://github.com/qyqy-1109/deepseek-harness-desktop.git
cd deepseek-harness-desktop
npm install
若 npm 提示 electron 的 install 脚本被拦截(npm 11 的 allow-scripts 安全机制):
npm approve-scripts electron npm install
2. 开发模式运行
npm start
或双击 启动-桌面版.cmd(英文名 launch-desktop.cmd)。
应用启动逻辑:
- 探测
http://127.0.0.1:3080—— 已有dsh web在跑则直接复用; - 否则自动解析并拉起
dsh web(优先使用项目内vendor/内置副本,其次 PATH 上的dsh,再其次 npm 全局安装); - 窗口加载 GUI,托盘常驻。
3. 打包自包含安装包
npm run dist # 生成 dist\DeepSeek Harness Desktop Setup <版本>.exe
npm run dist:portable # 或便携版(免安装)
打包流程(scripts/prepare-vendor.mjs 自动执行):
- 若本机存在 npm 全局安装的
@deepseek-ai/dsh,直接复制其完整依赖树到vendor/(快速、版本精确); - 否则自动
npm install @deepseek-ai/dsh --prefix vendor下载; - electron-builder 将
vendor/作为 extraResources 打进安装包(resources/dsh)。
国内网络提示:electron-builder 需要从 GitHub 下载 Electron 与 NSIS 组件,国内可能失败。已内置 Electron 镜像配置;若 NSIS 组件下载失败,在 cmd 中先执行:
set ELECTRON_BUILDER_BINARIES_MIRROR=https://npmmirror.com/mirrors/electron-builder-binaries/ npm run dist(该环境变量仅对当前 cmd 窗口有效。)
4. 生成应用图标
node scripts/make-icon.mjs
生成:
assets/icon-blue.png+assets/icon-black.png(运行时内置的两个鲸鱼图标,打包进应用);build/icon.png+build/icon.ico(安装包/exe 用的蓝色鲸鱼图标,7 种尺寸)。
图标源为官方 DSH 鲸鱼 logo(取自 GUI 的 /favicon.svg,见 build/favicon-official.svg)+ DeepSeek 蓝渐变圆角底;若 @resvg/resvg-js 不可用则回退到内置像素图标。运行时更换图标(托盘 → 应用图标)会生成多尺寸 ICO 到用户目录 %APPDATA%\dsh-codex-desktop\icons\。
5. 项目结构
dsh-codex-desktop/
├── main/
│ ├── main.js Electron 主进程:单实例、窗口、托盘、生命周期
│ └── dsh-server.mjs 纯 Node 模块:dsh 命令解析 / 拉起 / 健康探测 / 清理
├── preload.js preload 桩(隔离配置)
├── plugin/dsh-codex-flavor/ DSH client 插件:Codex 风味点缀(见其 README)
├── plugin/dsh-background/ DSH client 插件:背景图片图库(见其 README)
├── scripts/
│ ├── make-icon.mjs 图标生成(官方鲸鱼)
│ ├── prepare-vendor.mjs 把 dsh 依赖树装进 vendor/(打包前置)
│ ├── 验证并安装.cmd 一键验证+安装插件到 web profile
│ └── verify-install.cmd 同上(英文名)
├── 启动-桌面版.cmd 开发模式双击启动
├── launch-desktop.cmd 同上(英文名)
└── build/ 生成的图标 + 官方 favicon 源文件
6. 环境变量(全部可选)
| 变量 | 默认 | 作用 |
|---|---|---|
DSH_DESKTOP_PORT / DSH_PORT |
3080 |
dsh web 监听端口 |
DSH_WEB_URL |
http://127.0.0.1:<port> |
直接指定 GUI 地址(跳过探测) |
DSH_BIN |
自动解析 | 显式指定 dsh 可执行文件路径 |
DSH_DESKTOP_TRAY |
1 |
设为 0:关闭窗口直接退出,不驻留托盘 |
DSH_HOME |
~/.dsh |
dsh web 的工作目录 |
🎨 三、Codex 风味插件
plugin/dsh-codex-flavor/ 是一个 DSH client 插件:在保留 DSH 设计系统原样的前提下,叠加少量终端质感:
- 深色模式下代码块呈近黑终端面板(
#0f1115)+ 细边框; - 代码表面统一为编程等宽字体栈(Cascadia Code / JetBrains Mono / ui-monospace);
- 成功/状态强调色微调为 Codex 终端绿(
#3fb950系); - 品牌蓝、布局、圆角等其余全部保持 DSH 原样;四档配置可关。
安装到 web profile
cd plugin/dsh-codex-flavor
corepack enable # 启用 pnpm(若已安装可跳过)
dsh plugin --profile web add .
dsh --profile web --dump-config | findstr codex # 确认出现 dsh-codex-flavor 层
然后重启 dsh web(插件集合变化必须重启),刷新页面生效。
配置
patch 行默认配置:
config:
enabled: true # 总开关
codexCodeBlocks: true # 终端面板质感代码块
codexFont: true # 代码等宽字体栈
codexAccent: true # 成功绿微调
卸载
dsh plugin --profile web remove dsh-codex-flavor
🎨 四、背景图片插件
plugin/dsh-background/ 在 设置 → 通用 增加「背景」行:
- 上传图片 — 上传本地图片,自动压缩并保存到图库(最多 3 张);点击缩略图切换当前背景,
×删除单张; - 透明度 / 模糊滑杆实时调节背景效果;
- 跟随外观 — 清除当前背景;
- 选择持久保存(localStorage),刷新/重启保留。
背景以固定层显示在主内容区与侧边栏的半透明底上,消息等内层表面保持不透明以保证可读性。
安装:
cd plugin/dsh-background
dsh plugin --profile web add -w <本目录绝对路径> # -w 必需(profile 是 pnpm workspace 根)
然后重启 dsh web 生效;此后修改 lib/client.js 只需刷新页面。
🧪 五、验证清单
- 插件:
dsh --profile web --dump-config出现dsh-codex-flavor层; - 浏览器开发者工具 → Network 可见
/plugins/dsh-codex-flavor/client.js?rev=...返回 200; - 深浅色切换后,深色模式代码块呈现终端面板质感,其余界面保持 DSH 原风格;
- 桌面应用:无
dsh web运行时双击图标,应用自动拉起服务并打开窗口;退出应用后服务一并停止(仅限应用自己拉起的实例)。
🙏 致谢 / Acknowledgements
本项目站在以下开源知识与项目之上,特此致谢:
- KinGao294/dsh-skin — 背景图片插件的直接架构范本:
ctx.theme.register注册主题、ctx.theme.overrideTokens半透明化主画布/侧边栏、z-index:-1固定背景层、localStorage 持久化,以及"第三方 settings 命名空间不在 Host 白名单(WEB_SETTINGS_NAMESPACES)内"等平台边界知识; - yjh051108/dsh-routing-suite — 感谢作者 风神 的路由套件插件(super-injector / mode-boost):随安装包内置分发,并为本项目提供了 settings 槽位契约的实战参考(其
settings.section注册方式帮助我们确认了插件页必须使用 React 组件契约); - deepseek-ai/deepseek-harness — DeepSeek Harness 本身:客户端插件契约(
dsh.bundle/dsh.client/ 双面导出)、--dsw-*设计 token 体系、__ModuleLoader__bundle 格式、设置槽位(settings.general.item)等均以其正式版实现为准; - dsh-external/dsh-agent-teams(公开镜像) — 其
dsh-plugin-development开发 Skill 指导了本项目插件开发的完整流程(契约、取证、验证矩阵); - Electron 与 electron-builder — 桌面壳与打包;npmmirror 提供了国内可用的二进制镜像。
📄 许可
MIT。图标使用 DeepSeek Harness 官方品牌资源(来源:GUI /favicon.svg,见 build/favicon-official.svg)。
原始 README: https://github.com/qyqy-1109/deepseek-harness-desktop/blob/main/README.md ↗
同类插件
查看全部 →
dsh-anchored-standard
两阶段 DeepSeek Harness 预设:先 Minimal 对齐的 bootstrap,再切完整 Standard 工具(Project2 98/99)

PicGo-Core
极致的图片上传引擎,CLI 与 API 双支持

awesome-deepseek-harness
DeepSeek Harness(DSH)及其优秀社区插件的精选指南。

awesome-deepseek-harness
DeepSeek Harness (DSH)生态系统:来自dsh-external/hub和公共dsh-plugin主题的精选插件、工具和基础设施。

AI-Novel-Writer
本地优先 AI 小说创作工作台,提供 Windows/macOS 桌面版与 DeepSeek Harness 插件开发预览,支持角色、大纲、章节蓝图、审稿修稿和本地模型。

mcp-for-stata
MCP-for-Stata:把 Stata 集成进你的 agent