Olympianz/dsh-desktop-packager ↗★ 0
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).
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Olympianz/dsh-desktop-packager说明文档
阅读完整 README ↗使用
1. 在 Settings 里配置
打开 dsh web → 左下角 Settings → 「桌面打包」,分别配置:
- 设计方案:填 logo 绝对路径(
.png/.svg/.icns)、应用名、主题色、背景色,点「保存」。 - 插件设置:勾选要打进桌面 app 的插件(留空 = 全部)。
- 模型设置:勾选要打进桌面 app 的模型(留空 = 全部)。
- 权限设置:新增/删除用户(账号 + 密码),并为每个用户勾选权限
(查看/修改
settings、settings-design、settings-plugins、settings-models、settings-permissions)。
2. 打包
对助手说「帮我用 dsh_package_desktop 打包我的 deepseek-harness」,助手会调用该工具。 核心参数:
| 参数 | 默认 | 说明 |
|---|---|---|
dshCheckoutDir | 配置 dshCheckoutDir | 已构建(pnpm run build 完成)的 harness 源码目录 |
out | ~/Desktop/DeepSeek-Harness-dist | 产物输出目录 |
appName | 设计方案里的 appName | 应用显示名(工具参数优先级高于设计方案) |
bundleId | com.deepseek.harness | bundle identifier |
version | 0.1.1 | 版本号 |
arch | arm64 | arm64 / x64 |
identity | 空(ad-hoc) | Developer ID 签名身份 |
nodeBin / nodeVersion | 空 | 复用本地 Node / 指定下载版本 |
skipDmg / keepStaging | false | 只出 .app / 保留中间目录 |
打包时工具把 configPath 传给 build-macos.mjs,后者读取同一份 JSON 并应用
logo / 主题色 / 插件 / 模型 / 用户权限定制。
1. 在 Settings 里配置
打开 dsh web → 左下角 Settings → 「桌面打包」,分别配置:
- 设计方案:填 logo 绝对路径(
.png/.svg/.icns)、应用名、主题色、背景色,点「保存」。 - 插件设置:勾选要打进桌面 app 的插件(留空 = 全部)。
- 模型设置:勾选要打进桌面 app 的模型(留空 = 全部)。
- 权限设置:新增/删除用户(账号 + 密码),并为每个用户勾选权限
(查看/修改
settings、settings-design、settings-plugins、settings-models、settings-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 # 定制化状态文件