前言¶
在 DeepSeek Harness (DSH) 的开发流程中,pnpm dsh web 是启动本地开发服务器的标准命令。但在实际使用中,保持终端窗口打开以维持服务器运行、更新代码后手动重启、以及从日志中提取令牌化 URL,都构成了繁琐的仪式性操作。DSH Launcher 旨在解决这一问题,将服务器的启动、重启、停止以及浏览器跳转等操作封装为 macOS 菜单栏应用,无需终端介入即可管理开发服务器。
是什么¶
songer522/dsh-launcher 是一个针对 DeepSeek Harness 的 macOS 菜单栏工具。它允许开发者在菜单栏中直接控制本地开发服务器的生命周期(启动、停止、重启),无需打开终端或保持标签页打开。该工具包含一个配套的 DSH 插件,用于将运行中的服务器端口、进程 ID (PID) 和令牌化 URL 发布给菜单栏应用。
核心功能¶
- macOS 菜单栏应用:应用以状态栏图标形式存在,无 Dock 图标,常驻后台。
- 无需终端操作:支持启动、重启和停止服务器,所有操作通过菜单或点击完成。
- 信息发布:通过配套 DSH 插件,自动获取服务器的运行端口、进程 ID (PID) 和令牌化 URL。
- 高度可配置:支持自定义启动命令、端口号、工作目录和默认浏览器。
- 原生实现:基于原生 AppKit 开发,单 Swift 文件实现,无外部依赖。
安装与启用¶
安装前需确保环境满足以下条件:macOS 13+ 以及已安装 Xcode 命令行工具。
- 安装 DSH 插件(推荐):
插件默认安装到web配置文件中。
dsh plugin --profile web add https://github.com/songer522/dsh-launcher/releases/latest/download/dsh-menubar-launcher.tgz
安装后需重启服务器以使插件生效。
- 安装菜单栏应用:
从 GitHub 仓库克隆代码并执行构建脚本。
git clone https://github.com/songer522/dsh-launcher.git
cd dsh-launcher
./build.sh
构建后的应用会自动安装到 /Applications 并在菜单栏显示。
配置说明¶
配置文件位于 ~/.config/dsh-launcher/config。首次运行时,应用会尝试在常见工作目录中查找 DeepSeek Harness 项目(如 ~/Workspace、~/Projects 等)。如果项目位置不同,可在应用的偏好设置中手动指定。
配置项包括:
* repo:工作目录
* command:启动命令,支持 {port} 占位符
* port:监听端口
* browser:默认浏览器
* logFile:日志文件路径
注意事项¶
- 插件依赖:菜单栏应用在没有插件的情况下也能工作,它会读取自己启动的服务器的日志来获取端口和 PID。但为了支持从终端启动的服务器,推荐安装插件。
- 权限运行:插件以当前 DSH 进程的权限运行,请确保从可信来源安装并检查源码。
- 配置文件:插件配置文件位置为
~/.config/dsh-launcher/runtime.json。若配置文件不存在,说明服务器未重启或未运行。 - 状态栏交互:菜单栏图标每 3 秒轮询一次服务器状态,运行时为实心,停止时为变暗。
结语¶
DSH Launcher 将 DeepSeek Harness 的终端启动仪式转化为菜单栏的一键操作,减少了维护服务器状态的精力消耗。对于频繁使用 DSH 进行本地开发的 macOS 用户,这是一个提升效率的实用工具。
目录链接:https://www.skillhub.cn/plugins/songer522/dsh-launcher
GitHub 链接:https://github.com/songer522/dsh-launcher