Back to home@hpyer

dsh-for-mac

DshForMac 是 DeepSeek Harness 的原生 macOS 启动器与运行时管理器,提供本地环境检测、版本管理及内嵌 Web 界面。

Stars
0
Language
Swift
Created
Aug 31, 2026
Updated
Aug 31, 2026

Introduction

DshForMac

DshForMac(DeepSeek Harness for Mac)DeepSeek Harness(DSH) 的原生 macOS 启动器与本地容器。它负责检测本机 Node.js、下载和管理经过校验的 DSH 版本、启动本地 DSH Web 服务,并在应用窗口中显示 DSH 界面。

它不是 DSH 的分叉实现,不会重定向 DSH 的用户数据,也不会修改全局 npm、pnpm、Node.js 或 shell 配置。

项目初衷:网上其实有很多Mac桌面端了,但是基本都要求最新的系统或者支持到14/15系统就算好的了,但我觉得应该还是有部分用户仍在使用旧系统(包括我还有台13系统的)。所以,只要你电脑能装dsh必须的22.1924以上版本的nodejs,那么你就可以安装这个应用。

功能

  • 自动检测 Node.js、npm、npx,以及可选的 pnpm/Corepack;支持手动选择 node 可执行文件。
  • Node.js 可用后自动启动 DSH;首次运行会下载 @deepseek-ai/dsh 的精确版本并校验完整性。
  • 为每个 DSH 版本建立独立运行时目录;启动健康检查通过后才切换当前版本,自动保留最多三个健康版本。
  • 使用内嵌 WebView 打开本机 DSH 服务,默认地址为 http://127.0.0.1:3080;端口可在设置中修改。
  • 提供 DSH 版本选择、更新检查频率、包下载镜像、端口设置、一键重启与菜单栏控制。
  • 可在应用右侧只读预览 DSH 产出的文本、Markdown、图片和 SVG 文件。

系统要求

  • macOS 11 或更高版本。
  • 可用的 Node.js:v22.19 或更高的 v22,或 v24 及更高版本。
  • 与 Node.js 配套的 npmnpx
  • 能访问所选 npm registry。默认使用腾讯云镜像:https://mirrors.cloud.tencent.com/npm/

应用不包含 Node.js。若未检测到兼容版本,DshForMac 会给出说明并可打开 Node.js 官网;安装完成后回到应用重新检测即可。

安装与首次启动

  1. 打开发布的 DshForMac-<版本>-unsigned.dmg
  2. DshForMac.app 拖入“应用程序”(/Applications)文件夹。
  3. 打开 DshForMac。检测到兼容的 Node.js 后,应用会自动下载、校验并启动 DSH;首次启动需要保持网络可用。

当前应用未签名。若 macOS 的 Gatekeeper 阻止打开,请先在“系统设置 → 隐私与安全性”中选择“仍要打开”,或在终端执行下面的命令移除应用的隔离属性:

sudo xattr -rd com.apple.quarantine /Applications/DshForMac.app

执行后再次打开应用。该命令仅应针对你信任来源获得的 DshForMac 应用使用。

使用说明

首次成功启动后,DSH 会显示在主窗口中。常用操作如下:

  • 在菜单栏或应用菜单选择“一键重启 DSH”,重启当前 DSH 版本。
  • 通过“设置…”修改服务端口、下载镜像、DSH 版本和更新检查频率,并可打开已安装版本目录或立即检查更新。
  • 当端口已被其他非 DshForMac 管理的服务占用时,请停止该服务或在设置中更换端口。
  • 点击 DSH 中的产出物文件,会在右侧以只读方式预览受支持的内容;不受支持的文件可确认后使用默认应用打开。

DSH 的配置、会话和插件仍由 DSH 使用其上游默认用户数据路径管理。DshForMac 只在 ~/Library/Application Support/DshForMac/runtimes/ 下保存受管 DSH 版本。

从源码构建

项目使用 Swift Package Manager:

swift test
swift run DshForMac

如需生成通用 macOS DMG,请运行:

./scripts/package-dmg.sh

输出文件位于 dist/,且为未签名产物。打包脚本不会覆盖同名 DMG;重新构建同一版本前,需要先处理已有产物或更新版本号。

自动发布

推送形如 v0.1.0 的语义化 Git 标签会触发 GitHub Actions。工作流会在 macos-15-intel 和 Apple Silicon macos-15 Runner 分别构建、测试和打包,向同一个 GitHub Release 上传两个架构专用 DMG。Release 标题使用去除 v 前缀后的版本号,说明内容从 CHANGELOG.md 中同一版本的章节提取。

发布前请同步更新 Packaging/Info.plistAppMetadata.versionCHANGELOG.md 中的版本号;工作流会校验它们必须与标签一致。

更多实现细节见 架构文档

License

This project is licensed under the MIT License.