YuanHarness 桌面端

August 21, 2026 · View on GitHub

YuanHarness 桌面端界面截图

基于官方 DeepSeek Harness 桌面端架构(Electron 壳 + loopback DSH Web Host,壳核分离)的 YuanHarness 定制版桌面端。开箱即用:安装包内置四个插件与品牌默认外观,下载 → 安装 → 启动即可使用,无需手动 dsh plugin add

下载

最新版本 v0.1.5(本板块由发布工作流自动更新,无需手工维护):

平台安装包大小下载
macOS(Apple Silicon)yuanharness-0.1.5-mac-arm64.dmg≈182 MB下载 .dmg
Windows(x64)yuanharness-0.1.5-win-x64.exe≈161 MB下载 .exe

更多历史版本见 Releases

首次启动

  • macOS:打开 DMG,把 YuanHarness 拖进「应用程序」。首次启动时 Gatekeeper 会提示 「无法验证开发者」(本包使用 ad-hoc 签名,未购买商业开发者证书)—— 右键(或控制键 + 单击)YuanHarness → 打开 → 再点一次「打开」即可,之后双击正常启动。 若提示方式不同(如「已损坏」,常见于旧版本包或经 AirDrop 传输的副本),在终端执行:

    xattr -dr com.apple.quarantine /Applications/YuanHarness.app
    

    然后双击启动。

  • Windows:DSH 运行时启动时会创建 ~/.dsh/profiles/node_modules 回退符号链接, 若系统无法创建符号链接,请在 设置 → 隐私和安全性 → 对于开发人员 中启用「开发者模式」 (或以管理员身份运行),App 启动前会自动检测并提示。

内置插件

插件说明
dsh-vision-plugin模型目录「图片输入」开关 + 可选视觉中转(vision_analyze / vision_status / vision_test / vision_configure)
dsh-imagegen-plugin生图/改图中转(image_generate / imagegen_status / imagegen_test / imagegen_configure + 生图 skill)
dsh-customui-pluginWeb GUI 个性化:侧边栏 Logo、空对话欢迎区(Logo + 文案)、对话背景图
dsh-better-sidebaromdsh-dev/DSH-better-sidebarVSCode 风格右侧边栏(资源管理器 / 编辑器 / 终端 / git / 浏览器)

首次启动时,App 会自动把上述插件安装到 $DSH_HOME/profiles/web(默认 ~/.dsh/profiles/webDSH_HOME 环境变量可覆盖)。插件的运行期依赖已随安装包预装(打包期生成,含 node-pty 全平台预编译二进制),首次启动无需联网、无需 pnpm、不依赖符号链接权限。 仅当检测到依赖被手工删除/损坏时,才会用随包 pnpm 联网修复(默认走 npmmirror 源, 可在 profile 的 .npmrc 修改);修复失败不阻塞启动。

开发

npm install          # electron / electron-builder
npm run fetch:all    # 拉取 resources/host(~300MB)、resources/pnpm,并预装内置插件运行期依赖
npm run dev          # 开发态启动(electron .)

开发态默认使用系统 PATH 的 node 作为 Host 运行时(可用 DSH_DESKTOP_NODE_EXECUTABLE 覆盖)。

打包

npm run build:mac    # → dist/yuanharness-<版本>-mac-<架构>.dmg
npm run build:win    # → dist/yuanharness-<版本>-win-<架构>.exe(NSIS 安装包)
npm run build:all    # 两者都打
  • macOS 目标:DMG(Apple Silicon;electron-builder --mac --x64 可出 Intel 版, 注意 resources/host 需在同一架构机器上重新 npm run fetch:host)。
  • Windows 目标:NSIS 安装包(x64)。
  • macOS 无 Developer ID 证书时执行 ad-hoc 签名scripts/after-pack.cjs): Gatekeeper 提示从「已损坏,无法打开」变为「无法验证开发者」,用户右键 → 打开即可 (无需终端)。配置 CSC_LINK(Developer ID 证书 p12)+ APPLE_ID / APPLE_ID_PASSWORD / APPLE_TEAM_ID 环境变量后 electron-builder 自动切换为正式签名 + 公证。

自检

npm run selftest:mac
# 用全新 DSH_HOME 启动打包产物,走完 provision → Host 启动 → 截屏,
# 输出 dist/selftest/home(完整 DSH home)与 dist/selftest/screenshot.png

发布(GitHub Releases)

推送 v* tag 即触发 .github/workflows/release.yml:mac(dmg)与 win(exe)并行构建, 自动创建/更新 GitHub Release 并挂载安装包——用户即可在 Releases 页面一键下载。

git tag v0.1.1 && git push origin v0.1.1

与官方桌面端的关系

  • 主进程生命周期/Host 监督逻辑源自官方 @deepseek-ai/dsh-desktop(MIT),保留其 安全策略(loopback 随机端口、会话加固、外链拦截、单实例锁、托盘常驻)。
  • DSH 运行时来自 npm 发布的 @deepseek-ai/dsh(版本固定于 scripts/fetch-host.mjs)。
  • 内置插件来自各自仓库 / 本地维护版本,升级方式:替换 vendor/plugins/<插件> 后重新打包。

License

MIT(各内置插件沿用其自身许可证,见 vendor/plugins/*/LICENSE)。