dsh-desktop — 官方 DeepSeek Harness 桌面的外置增强层
30.8/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/30 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Fahaxik1oxxx/dsh-desktop该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- Electron桌面外壳
- 服务器生命周期管理
- 托盘控制
README
由 DeepSeek 最新模型翻译生成展开完整文档(README 剩余 1 节)
dsh-desktop — 官方 DeepSeek Harness 桌面的外置增强层 DeepSeek Harness 自带官方桌面端,位于该仓库的 apps/desktop(Electron 壳 + 自己的 Host + 打包脚本)。本仓库不复制也不修改它,只提供官方桌面缺少的那一半:源码检出的更新与增量重建。 官方在 GitHub 上的 release 只有变更说明、没有安装包资源,所以本机使用官方桌面就是从源码启动: pnpm run dev:desktop # 构建后启动(会跑完整构建) pnpm run start:desktop # 跳过构建,直接启动已有产物 为什么需要这一层 start:desktop 不知道源码是否比产物新,dev:desktop 每次都跑完整构建。于是每次 git pull 之后只有两个选择:用可能过期的产物启动,或者等一次完整构建。官方桌面的自动更新只服务打包版本,管不到源码检出。 这一层补上: - 只快进:先 fetch,确认本地落后且可 fast-forward 才合并;工作区有 tracked 改动或已分叉就跳过更新并照常启动,绝不覆盖本地内容。 - 依赖按需:只有 pnpm-lock.yaml 真的变了才跑 pnpm install。 - 增量构建:按变更文件选最短的构建组合,纯文档更新完全不构建。 - 缺产物兜底:apps/desktop/lib 或 apps/desktop-host/lib 缺失时强制完整构建,而不是按「无变更」跳过。 使用 | 入口 | 作用 | | 桌面 / 开始菜单「DeepSeek Harness」 | 无控制台窗口启动官方桌面(唯一快捷方式) | | desktop\launch-hidden.vbs | 无窗口启动:wscript.exe 以 SW_HIDE 跑整条进程链,输出写 logs\desktop.log | | desktop\start-official.cmd | 启动(保留控制台,便于直接看输出) | | desktop\update-and-start.cmd | 更新 + 增量重建 + 启动(保留控制台以便看构建进度) | | desktop\update-and-start.cmd --check | 只报告本地/远端状态与将要执行的构建 | | desktop\open-log.cmd | 打开最近一次无窗口启动的输出 | 桌面只放一个快捷方式;更新与看日志是维护动作,从 desktop\ 目录里跑对应的 .cmd。 选项: | 选项 | 作用 | | --check | 只报告,不修改任何东西 | | --full | 忽略增量判断,跑完整 pnpm run build | | --no-build | 只更新,不构建 | | --no-start | 更新后不启动桌面 | | --git | 指定 git 可执行文件(默认 PATH 上的 git) | 两个启动器都会设置 DSH_HOME(默认 %USERPROFILE%\.dsh),让官方桌面直接用你已有的会话、工作区与凭据;不设置的话官方开发启动器会在 apps/desktop/.desktop-build 下另建一个空 home。 首次启动会准备随包运行时(Node + Python,约 270 MB),可能要好几分钟;网络受限时设好 HTTPS_PROXY 后重跑即可。 .cmd 与 .vbs 必须保持 CRLF 行尾且纯 ASCII:cmd.exe 会误解析 LF-only 批处理,而其中的 UTF-8 多字节字符会触发 DBCS 前导字节错位。.gitattributes 已声明这两类文件为 CRLF。 启动前的环境修复(preflight) 两条启动路径都会先跑 preflight.js,它只做幂等的两件事: 1. 清理 pnpm 死链。 pnpm 的 node_modules/.pnpm/node_modules 会残留已删除包的链接(install、--force、删 .modules.yaml 都报 “Already up to date”,不会清理)。官方开发启动器会遍历该目录并对每条链接 realpathSync,任何一条死链都会让启动直接 ENOENT 失败。判定标准只有两条:目标不存在,或目标不是包目录(没有 package.json);包名与链接名不同的正常别名(如 string-width-cjs)保留。 2. 盖章 exe 图标。 见下节。 启动路径:快速与完整 上游 pnpm run start:desktop 每次都跑 dev.ts,它无条件做两件重活: 1. prepareDevelopmentProject —— 把约 1500 个依赖链接镜像进一次性项目; 2. preparePrimaryRuntime —— 完整冒烟:用随包 Python 导入 numpy/pandas、做 Office 文档往返转换、跑 pip check、核对 node/pnpm 版本。 本机实测这条路要约 100 秒才能出窗口,而那两份准备结果是落在磁盘上、跨启动有效的。所以 start.js 先判断它是否仍然对应当前检出: | 条件 | 不成立时 | | apps/desktop/lib/main.js 与 apps/desktop-host/lib/index.js 存在 | 回退完整启动 | | 目标平台的 primary-runtime 目录存在 | 回退完整启动 | | 一次性项目记录的桌面版本 == 当前 apps/desktop/package.json 版本 | 回退完整启动 | | 记录的工作区状态(git HEAD + pnpm-lock.yaml 修改时间)未变 | 回退完整启动 | 全部成立就直接拉起 Electron(launch.js 按 dev.ts 的方式设置环境与参数),把日常启动压到几秒;任何一条不成立都回退到上游完整路径,那次运行会重建被校验的东西并更新记录。 - node start.js --check 只打印这次会走哪条路以及原因。 - 拉取新源码或改动依赖锁之后,下一次启动会是完整启动(约 100 秒),之后恢复快速。 - 如果你自己跑过上游 pnpm run start:desktop,用 node start.js --mark-prepared 把当前状态记为已准备,下次即走快速路径。 启动器还会清掉继承来的 ELECTRON_RUN_AS_NODE:DSH 自己的 Electron 子进程会设置它,一旦被继承,Electron 会按纯 Node 启动并对 --remote-debugging-port / --user-data-dir 报 bad option 直接退出。上游 dev.ts 只展开 process.env,没有这一步。 Windows 图标 上游既没有 app.setAppUserModelId,也没给主窗口指定 icon,所以任务栏、Alt+Tab 与 exe 图标都来自 Electron 可执行文件本身——未打包启动就是 Electron 默认图标。 这一层就地给 dist\electron.exe 盖章应用图标与产品名,而不是复制改名成 DeepSeekHarness.exe: | 可执行文件 | app.isPackaged | | electron.exe | false → 官方桌面正确进入开发模式 | | DeepSeekHarness.exe | true → 官方桌面误判为已打包,去找 apps/desktop/dsh/desktop-runtime.json 并启动失败 | Electron 在 Windows 上按可执行文件名判断 app.isPackaged(process.defaultApp 是另一个基于参数的信号,两者不等价)。所以改名这个老办法会直接破坏官方桌面的开发模式判定。 盖章用仓库已带的 rcedit(desktop/node_modules/rcedit),幂等判断记录在 dist\.dsh-icon-stamp.json:标记里的图标摘要 + 盖章后的 exe 大小都匹配才跳过;重装依赖把 exe 还原成原始字节后大小会变,下次启动自动重盖。 图标取自本仓库自带的两份图标,都是本机原本在用的那张图,而不是上游的 apps/desktop/resources/: | 文件 | 用途 | | assets\deepseek-win.ico | 盖章进 electron.exe(任务栏 / Alt+Tab / exe) | | assets\deepseek.ico | 桌面与开始菜单快捷方式 | 上游托盘图标 apps/desktop/resources/tray-windows.ico 是上游资源,这一层不改它。 增量构建规则 变更文件 → pnpm run 步骤: | 变更位置 | 构建步骤 | | 仅 .md / docs/ / .agents/ / snapshots/ / LICENSE | 不构建 | | 仅 .github/ / website/ / benchmarks/ / examples/ | 不构建 | | 仅 apps/desktop/* | build:desktop | | 仅 apps/web/ | build:web | | packages/client/ | build:lib + build:web | | 其它 packages/、apps/cli/、apps/desktop-host/、vendor/、scripts/、根配置文件 | build:lib | | native/* | build:native-system + build:lib | | 认不出的新区域 | 完整 build | 每一步都必须在官方 package.json 里真实存在,tests/build-plan.test.js 会在嵌套检出时校验这一点。规则判断错时可以 --full 覆盖。 目录 desktop/ ← 本仓库 launch-hidden.vbs 无窗口启动(输出写 logs\desktop.log) start-official.cmd 启动(保留控制台) start.js 启动入口:preflight → 快速或完整启动;--check / --mark-prepared launch.js 决策采集与 Electron 启动;--check 的实现 launch-plan.js 能否跳过上游准备的纯判断 update-and-start.cmd 更新 + 增量重建 + 启动 update-and-start.js 编排:fetch → ff → install → build → launch preflight.js 启动前修复:清理 pnpm 死链 + 盖章 exe 图标 link-audit.js pnpm virtual-hoist 死链的识别与清理 stamp-electron-icon.js 就地给 electron.exe 盖图标与产品名 build-plan.js 变更文件 → 构建步骤 gitup.js dirty / behind / lockfile / ff 判定(纯逻辑) proc.js 子进程执行器(超时杀进程树) open-log.cmd 打开最近一次无窗口启动的日志 tests/ node:test assets/deepseek-win.ico exe / 任务栏图标(BMP 帧,Windows 资源用) assets/deepseek.ico 快捷方式图标(PNG 帧) npm 脚本 | 命令 | 作用 | | npm test | node --test | | npm start | 等于 start-official.cmd | | npm run check | 打印这次会走快速还是完整启动 | | npm run update | 等于 update-and-start.cmd | | npm run stamp | 单独盖章 exe 图标(-- --force 强制重盖) | 唯一的运行期依赖是 rcedit(盖章 exe 用);Electron 由上游 apps/desktop 自己声明。 测试 node --test 嵌套在上游检出内时,测试会额外校验构建步骤名在官方 package.json 中存在;单独检出本仓库时该用例自动跳过。 License 本仓库代码 MIT。官方桌面、web 界面与上游功能归 deepseek-ai/deepseek-harness(MIT, Copyright (c) 2026 DeepSeek)所有;DeepSeek 徽标归其权利人所有。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Fahaxik1oxxx/dsh-desktop
dsh-desktop — 官方 DeepSeek Harness 桌面的外置增强层
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,350已汉化DSH
71.5
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,506已汉化DSH
71.1
AI 矢量设计工具ZSeven-W/openpencil
全球首个 AI 原生开源矢量设计工具。
★ 7,027已汉化DSH
71.1
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。