Back to home

llyyhh0487

desk-harness

DESK HARNESS — DeepSeek Harness 的 Windows 桌面壳:自动部署并拉起本地 dsh 服务,托盘驻留、终端停靠面板、dsh-plugin 插件商店,开箱即用。deepseek-harness · dsh-plugin · electron

Stars
1
Language
JavaScript
Created
Aug 16, 2026
Updated
Aug 16, 2026

Introduction

🖥️ DESK HARNESS

DeepSeek Harness 的 Windows 桌面壳 —— 一个把网页版"装进"原生窗口的 Electron 魔法盒子 ✨

你以为你打开的是一个网页?不,你双击的是一个桌面应用。窗口里跑的是原汁原味的 DeepSeek Harness 网页版,外面套的是一层丝滑的桌面皮肤 🧥:托盘驻留、真终端、插件商店、任务栏进度条……全都开箱即用,目标机器上什么都不用装,双击 exe 就是全部。

没有 Node.js?没关系,它自己下 📦 没有 pnpm?没关系,它自己装 🛠️ 连服务都是它自己拉起来的 🚀 —— 你只管坐下聊天。


✨ 特色一览

#特色一句话
1🪄 零环境依赖自动检测 + 一键部署:Node/pnpm/npx/dsh 缺啥补啥,有就不重复下
2🚀 服务自管理在 workspace 里 npx --yes dsh web 拉起,与手动终端一字不差;三级降级 + 秒级失败感知
3🌌 科技感启动页打字机状态、检查清单、倒计时/立即进入、首次引导、自定义背景与欢迎语
4🎨 自绘标题栏渐变毛玻璃、菜单、会话标题、Token 用量胶囊、💰 余额胶囊
5🖥️ 真终端停靠面板node-pty 真终端、侧边滑出不挤对话区、宽度记忆
6📄 文档停靠面板本地 md/代码/日志即开即读、可编辑保存
7📁 工作区文件面板拖文件进工作区,AI 直接可读
8🧩 dsh-plugin 插件商店全量索引、精选/全部/我的插件、双语 README、更新检测、一键重启生效
9🔔 桌面原生体验托盘驻留、Ctrl+Alt+D 唤起、任务栏进度条、完成通知、单实例
10🖼️ 视觉定制壁纸(图/视频)、界面+exe 图标一体换、深浅主题、置顶、开机自启
11🎛️ 命令面板Ctrl+K 集中所有开关与入口
12🔒 安全底座渲染沙箱、IPC 最小权限、服务只绑 127.0.0.1、密钥不落盘

📖 详细介绍

🪄 零环境依赖:装完就能用

双击安装包 → 首次启动弹出一个部署窗口,自动检测你机器上的 Node.js / pnpm / npx 和 @deepseek-ai/dsh

  • → 直接复用,零下载、秒过;
  • 没有 → 自动从镜像下载 Node.js、安装 pnpm、生成 npx 外壳、把依赖装进「安装目录\deepseekharness-desktop\workspace」——全程不用你敲一个命令。

装完它会把这些运行时加进用户 PATH,系统终端里也能直接用。部署位置由安装包选的安装目录决定,卸载时一并清干净。

🚀 服务自管理:它就是你的"手动拉起",自动化了

网页版需要一个本地服务(dsh web,只监听 127.0.0.1)。DESK HARNESS 的做法和你手动排查时一模一样:进到 workspace 目录,执行 npx --yes dsh web

  • 启动时检测端口:已有服务 → 直接挂上,不重复拉起;没有 → 自己拉;
  • 拉不起?自动降级三连:裸 dsh → 绝对路径(8.3 短路径),每一步秒级感知失败,不用傻等;
  • 全程零 PowerShell 黑箱、全链路日志落盘(见下方"故障排查");
  • 装/删插件后一键「重启服务并重启桌面端」,走同一套引擎。

🌌 启动页:打开即仪式感

打字机动画逐字报状态:运行环境检查 ✅ → 本地服务检测/启动 🚀 → 就绪。首次使用带你走 API Key 引导;此后 3 秒倒计时自动进入,或点「立即进入」。欢迎语、背景图都能在控制面板里换。

🎨 自绘标题栏:网页穿上了西装

渐变 + 毛玻璃 + 霓虹分界线的自绘标题栏,右侧无缝挂接 Windows 原生窗口按钮。中间显示当前会话标题;右侧一排胶囊:

  • Token 胶囊——实时显示本会话 token 用量与上下文占用(与网页版同源数据);
  • 💰 余额胶囊——本地读取 .credentials.yaml 里的 Key,每 5 分钟查询一次账户余额,点击直达官方用量页。

🖥️ 真终端 + 📄 文档 + 📁 工作区:三合一停靠面板

窗口右侧滑出的停靠面板(不压缩对话区,宽度可拖拽记忆):

  • 终端:基于 node-pty 的真终端(不是样子货),cwd 直接落在 workspace;Ctrl+` 秒开;
  • 文档:选一个本地 md/代码/日志即开即读,还能编辑保存(仅限你亲自选过的文件,安全白名单);
  • 工作区:把文件拖进 files/ 目录,AI 侧直接可读,喂资料零摩擦。

🧩 插件商店 dsh-plugin

标题栏一键展开的侧边商店,索引来自 GitHub topic + Search API + npm 注册表三源聚合:

  • 分区浏览:🌟 精选(评分制)/ 全部 / 📦 我的插件;
  • 卡片即点即看详情:简介、标签、星标、双语 README(自带翻译,本地缓存);
  • 安装一条龙:镜像测速选源 → npm 预构建直装(自动构建白名单兜底)→ 完成后引导一键重启生效;
  • 已装插件显示当前版本,检测到新版出现「更新 vX.Y.Z」按钮,卸载按钮常驻。

🔔 桌面原生体验

系统托盘驻留(关窗不下线)、Ctrl+Alt+D 全局唤起、任务完成/审批的系统通知、任务进度实时同步到 Windows 任务栏进度条、单实例、开机自启动。

🖼️ 视觉定制

  • 壁纸:图片 / mp4 / webm / gif 都行,浓度滑杆可调,恢复默认 = 网页版原味背景;
  • 图标:界面图标与 exe 图标一体更换——标题栏/启动页/窗口/任务栏/托盘即时生效,exe 图标重新打包生效,一键恢复默认;
  • 主题:深/浅自动跟随系统;窗口置顶、特效开关(视觉特效 / 标题栏 / Token 胶囊 / 进度条)逐个可关。

🎛️ 命令面板

Ctrl+K 一个面板收拢全部:主题、壁纸、启动页、窗口、工具五组选项,点行即切换,快捷键党狂喜。

🔒 安全底座(发布前经过完整审计)

  • 渲染进程 contextIsolation + sandbox,preload 只暴露白名单 API;
  • 终端命令执行、文档读写、部署窗口等特权通道按窗口来源最小授权
  • 服务只绑定 127.0.0.1,不对外监听;
  • API Key 只从本地凭据读取、只发 DeepSeek 官方域名,不落日志不写盘。

📦 安装(给用户看的,就 3 步)

  1. Releases 下载 desk-harness-setup-1.0.0.exe
  2. 双击 → 选个目录 → 装完自动启动
  3. 等它自己部署完(有 Node 的机器零下载秒过)→ 开聊 💬

卸载?控制面板 → 卸载。干净利落,只留你的会话数据(.dsh)在原地等你。

📂 数据去哪了:部署环境在 <安装目录>\deepseekharness-desktop\,配置在 %APPDATA%\deepseekharness-desktop\,会话/插件与命令行版共享 C:\Users\<你>\.dsh——凭据不用重新配


🔨 从源码构建(给开发者看的)

cd desktop
npm install            # 慢的话挂镜像:
                       #   $env:ELECTRON_MIRROR = "https://npmmirror.com/mirrors/electron/"
                       #   $env:ELECTRON_BUILDER_BINARIES_MIRROR = "https://npmmirror.com/mirrors/electron-builder-binaries/"

npm start              # 开发模式:直接复用仓库里的 dsh 后端,边改边跑
npm run pack           # 打包 → dist/desk-harness-setup-1.0.0.exe

小彩蛋 🥚:开发模式下它会向上回溯目录树找仓库的 node_modules\@deepseek-ai\dsh——把 exe 丢进仓库任意角落都能认出家。


🔍 拉不起服务?先别慌

这套桌面端是全链路日志化的,%APPDATA%\deepseekharness-desktop\ 里躺着四个侦探 🕵️:

文件它在说什么
launch.log拉起全链路:环境快照 → 每次命令/cwd → 端口探测每步 → 服务前 10 秒输出 → 结论
service-out.log服务自己的 stdout/stderr(报错都在这)
server.log桌面端实际执行的启动命令
setup.log首次部署全过程

手动排查口诀:打开 workspace 目录 → 终端敲 npx dsh web。桌面端用的就是这条命令,一模一样。


🗂 目录结构

desktop/
  main.js           主进程大脑(窗口/托盘/菜单/部署/监督式拉起/商店/终端/余额)
  preload.js        渲染层桥梁(contextIsolation + sandbox,只放行白名单 API)
  fx.js / fx.css    注入网页版的桌面皮肤(特效/标题栏/商店/面板/命令面板)
  splash.html       启动页        setup.html      首次部署窗口
  dock.html / dock.js / term-helper.js   终端停靠面板(xterm + node-pty)
  prompt.html       端口设置      close-dialog.html  关闭确认
  build/            图标与 NSIS 脚本     scripts/restart-service.ps1(手动重启脚本)

⚖️ License

MIT —— 拿去用,玩得开心 🎉