Olympianz/dsh-desktop-packager0

dsh-desktop-packager

Package a built DeepSeek Harness checkout into a distributable macOS desktop app (.app + .dmg) with a standalone Node runtime and an Electron shell, customized through a Web Settings section (logo/VI theme, bundled plugins, bundled models, users & permissions).

包名
dsh-desktop-packager
版本
0.3.0
许可证
MIT
最近更新
2026年8月31日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Olympianz/dsh-desktop-packager

使用

1. 在 Settings 里配置

打开 dsh web → 左下角 Settings → 「桌面打包」,分别配置:

  • 设计方案:填 logo 绝对路径(.png/.svg/.icns)、应用名、主题色、背景色,点「保存」。
  • 插件设置:勾选要打进桌面 app 的插件(留空 = 全部)。
  • 模型设置:勾选要打进桌面 app 的模型(留空 = 全部)。
  • 权限设置:新增/删除用户(账号 + 密码),并为每个用户勾选权限 (查看/修改 settingssettings-designsettings-pluginssettings-modelssettings-permissions)。

2. 打包

对助手说「帮我用 dsh_package_desktop 打包我的 deepseek-harness」,助手会调用该工具。 核心参数:

参数默认说明
dshCheckoutDir配置 dshCheckoutDir已构建pnpm run build 完成)的 harness 源码目录
out~/Desktop/DeepSeek-Harness-dist产物输出目录
appName设计方案里的 appName应用显示名(工具参数优先级高于设计方案)
bundleIdcom.deepseek.harnessbundle identifier
version0.1.1版本号
archarm64arm64 / x64
identity空(ad-hoc)Developer ID 签名身份
nodeBin / nodeVersion复用本地 Node / 指定下载版本
skipDmg / keepStagingfalse只出 .app / 保留中间目录

打包时工具把 configPath 传给 build-macos.mjs,后者读取同一份 JSON 并应用 logo / 主题色 / 插件 / 模型 / 用户权限定制。

1. 在 Settings 里配置

打开 dsh web → 左下角 Settings → 「桌面打包」,分别配置:

  • 设计方案:填 logo 绝对路径(.png/.svg/.icns)、应用名、主题色、背景色,点「保存」。
  • 插件设置:勾选要打进桌面 app 的插件(留空 = 全部)。
  • 模型设置:勾选要打进桌面 app 的模型(留空 = 全部)。
  • 权限设置:新增/删除用户(账号 + 密码),并为每个用户勾选权限 (查看/修改 settingssettings-designsettings-pluginssettings-modelssettings-permissions)。

配置项(cordis.yml)

- id: dsh-desktop-packager
  name: dsh-desktop-packager
  config:
    dshCheckoutDir: /absolute/path/to/deepseek-harness
    out: ~/Desktop/DeepSeek-Harness-dist
    appName: DeepSeek Harness
    bundleId: com.deepseek.harness
    version: 0.1.1
    arch: arm64            # arm64 | x64
    identity: ""           # Developer ID Application: …
    nodeBin: ""            # 复用本地 node 二进制
    nodeVersion: ""
    nodeDistBase: https://nodejs.org/dist
    electronMirror: ""     # 国内镜像加速
    electronBuilderBinariesMirror: ""
    skipDmg: false
    keepStaging: false
    configPath: ~/.dsh/desktop-packager/config.json   # 定制化状态文件