deepseek-harness-desktop
by liuweifly
Native macOS desktop app for DeepSeek Harness (dsh web) — 一键启动的 DeepSeek 桌面版
安装
dsh plugin --profile web add github:liuweifly/deepseek-harness-desktopGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
把 DeepSeek Harness(dsh web)包装成原生 macOS 桌面 App——打开即用,不用再手动开终端、记端口。
⚠️ 非官方项目。App 图标采用 DeepSeek 官方鲸鱼标识(取自
@deepseek-ai/dsh官方资源),DeepSeek 相关名称、鲸鱼标识与商标均归 DeepSeek 所有;本仓库代码以 MIT 协议开源。
特性
- 一键启动:打开 App 自动在后台拉起
dsh web(默认127.0.0.1:3080),服务就绪后打开原生窗口 - 智能复用:若 3080 已有 Harness 实例(比如你正开着网页版),直接复用,不重复启动;退出时也只停掉自己拉起的服务,不会误杀共享实例
- 与网页版数据完全一致:共享
~/.dsh状态,会话、技能、子任务、历史记录互通 - 干净的进程管理:
dsh会 fork 子进程承载实际服务,退出时按进程组整体清理,不留孤儿进程 - 统一标题栏(macOS):无边框窗口,红绿灯悬浮于侧边栏顶部,网页自身头部即 App 头部(Claude Code App 同款样式);View 菜单或
Cmd+Shift+T可随时切回传统标题栏 - 原生体验:单实例锁、系统浏览器打开外部链接、完整菜单(Cmd+Q / Cmd+R / DevTools / 缩放 / 全屏)
- 开箱即用:无 API Key 要求(走 Harness 自身配置),无需安装 Node/Homebrew
安装
方式一:直接下载
从 Releases 下载 DeepSeek.app(或 dmg),拖入「应用程序」即可。
本地构建的 App 使用 ad-hoc 签名;若 macOS 提示无法打开,执行:
xattr -cr /Applications/DeepSeek.app
方式二:自行打包
需要 Node.js ≥ 18 与 macOS(Apple Silicon / Intel 均可)。
git clone https://github.com/liuweifly/deepseek-harness-desktop.git
cd deepseek-harness-desktop
npm install
npm run pack # 产出 dist/mac-arm64/DeepSeek.app
cp -R dist/mac-arm64/DeepSeek.app /Applications/
codesign --force --deep --sign - /Applications/DeepSeek.app
使用
| 场景 | 行为 |
|---|---|
| 网页版未运行 | App 自动启动 Harness 服务,窗口打开即用 |
| 网页版已运行 | 复用现有服务,不重复启动 |
| 关闭窗口 / Cmd+Q | 只停止自己拉起的服务;共享服务不受影响 |
自定义端口:启动前设置环境变量 DSH_DESKTOP_PORT(默认 3080)。
服务日志:~/Library/Application Support/DeepSeek/server.log
工作原理
┌─────────────────────────────┐
│ DeepSeek.app (Electron) │
│ ┌───────────────────────┐ │
│ │ Harness Web UI │ │
│ └───────────────────────┘ │
└──────────────┬──────────────┘
│ localhost
┌──────────────┴──────────────┐
│ dsh web (本机 Node 进程) │
│ 会话 / 技能 / 子任务 / 工具 │
└─────────────────────────────┘
App 启动时探测端口:可用则 spawn Harness(通过 ELECTRON_RUN_AS_NODE 复用 Electron 自带 Node,保证原生模块 ABI 一致);被占用则直接连入。
项目结构
main.js Electron 主进程(服务生命周期 + 窗口 + 菜单)
preload.js 渲染进程桥(极简)
scripts/postpack.js 打包后补全生产依赖树(electron-builder 在 dsh 深层依赖上会漏包)
build/icon.svg 图标源文件(可自行替换后重新打包)
开发
npm install
npm start # 开发模式直接运行
npm run pack # 打包 .app
已知限制
- 目前仅支持 macOS(arm64 已验证;x64 理论上可用)
- 图标为原创绘制,与官方鲸鱼标识不完全一致
License
MIT © liuweifly
Built on @deepseek-ai/dsh (DeepSeek Harness).
原始 README: https://github.com/liuweifly/deepseek-harness-desktop/blob/main/README.md ↗
同类插件
查看全部 →
dsh-anchored-standard
两阶段 DeepSeek Harness 预设:先 Minimal 对齐的 bootstrap,再切完整 Standard 工具(Project2 98/99)

PicGo-Core
极致的图片上传引擎,CLI 与 API 双支持

awesome-deepseek-harness
DeepSeek Harness(DSH)及其优秀社区插件的精选指南。

awesome-deepseek-harness
DeepSeek Harness (DSH)生态系统:来自dsh-external/hub和公共dsh-plugin主题的精选插件、工具和基础设施。

AI-Novel-Writer
本地优先 AI 小说创作工作台,提供 Windows/macOS 桌面版与 DeepSeek Harness 插件开发预览,支持角色、大纲、章节蓝图、审稿修稿和本地模型。

mcp-for-stata
MCP-for-Stata:把 Stata 集成进你的 agent