DSH-Service
其他 活跃维护

DSH-Service

DecresLuna/DSH-Service

运行于macOS菜单栏的轻量服务管理工具,支持一键启停、实时查看DeepSeek相关服务状态,无需额外配置,无冗余后台进程,操作直观高效。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
Swift
主要语言
None
开源协议
302 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:DecresLuna/DSH-Service
git clone https://github.com/DecresLuna/DSH-Service.git
git clone git@github.com:DecresLuna/DSH-Service.git
README.md main

DeepSeek Harness Mac 菜单栏服务管理器

dsh web 服务托管进 Mac 菜单栏:可实现开机静默自启、一键开启/重启/关闭服务、一键打开网页控制台。

使用

菜单栏点击 DeepSeek 鲸鱼图标(运行中绿色 / 未运行灰色),菜单提供:

菜单项 说明
状态行 「● 服务运行中 · PID xxxx · 已运行 3 小时 25 分」(绿点)/「○ 服务未运行」(灰点)/「● 自检异常:未找到 node 或 dsh…」(橙点,环境异常时显示原因)
☑ 开机自启 勾选 = 注册登录项,登录后自动打开本软件并静默开启服务;取消 = 移除登录项
开启服务 服务已运行则禁用
重启服务 服务未运行则禁用
关闭服务 服务未运行则禁用;只关服务不关本软件
打开网页控制台 浏览器打开 http://127.0.0.1:3080
打开日志文件夹 Finder 定位 ~/Library/Logs/DSH/
关闭服务并退出 停止服务并退出本软件
  • 服务以子进程方式托管(node …/dsh web --no-open),无终端窗口
  • 服务状态以 3080 端口监听为准判断(手动 dsh web 启动的也会被识别)
  • 日志:~/Library/Logs/DSH/dsh-web.{out,err}.log(可用环境变量 DSH_LOG_DIR 覆盖)
  • App 图标:来自 assets/logo.svg(绿色 DeepSeek 鲸鱼),由 tools/make-icon.swift 生成 assets/AppIcon.icns,重新生成后跑 ./build.sh 即可
  • 版本与变更记录:见 UpdateLog.md(维护者自动维护,随迭代更新)

命令行模式(自测/脚本)

cd "/Users/lei/Documents/DSH/DSH Service/build"
"DSH Service.app/Contents/MacOS/DSH Service" --status   # running <pid> | not-running
"DSH Service.app/Contents/MacOS/DSH Service" --start    # 服务已开启(PID x)/ 已在运行 / 操作失败:…
"DSH Service.app/Contents/MacOS/DSH Service" --stop     # 服务已关闭 / 服务未运行
"DSH Service.app/Contents/MacOS/DSH Service" --restart  # 服务已重启(PID x)/ 操作失败:…

构建与部署

cd "/Users/lei/Documents/DSH/DSH Service"
./rebuild.sh   # 推荐:重建 + 自动同步到 /Applications/ + 重启
./build.sh     # 仅重建 build/DSH Service.app

依赖:Xcode Command Line Tools(swiftccodesign),不需要 Xcode 工程。
签名:优先使用自签名证书「dsh web」(稳定身份,自动化授权跨构建有效);无证书时回退 ad-hoc。

正式安装位置

  • 正式版位于 /Applications/DSH Service.apprebuild.sh 自动部署过去并重启)
  • 菜单里勾选「开机自启」即可注册登录项;旧登录项(若指向旧路径)在「系统设置 → 登录项」里移除

已知取舍

  • 若在活动监视器里强制退出本软件,服务子进程会继续运行(下次用「关闭服务」即可收尾)
  • 首次勾选「开机自启」时,macOS 会弹一次「控制系统事件」授权框(一次性)