dsh-restart:DSH Web 进程重启与插件管理工具

前言

DeepSeek Harness (DSH) 采用插件化架构,管理已安装插件、切换本地开发分支以及重启 Web UI 通常是分散的操作。对于开发者而言,频繁的手动重启和配置修改效率较低。dsh-restart 插件在 Settings 中新增了“Restart”模块,通过图形化界面集中处理进程重启、插件开关、分支切换及重装等任务,简化日常开发流程。

核心功能

该插件为 DSH Web UI 提供了以下管理能力:

  • 一键重启进程:通过独立的辅助进程启动新的 Web 实例,等待旧进程释放端口(最长 20 秒)后再接管,避免端口占用导致的启动失败。
  • 插件开关:在设置中列出所有第三方插件,通过开关切换启用/禁用状态,修改后需重启生效。
  • 社区插件跳转:提供快捷入口直接跳转到 Community plugins 页面,或一键安装 dsh-community-plugins。
  • Git 分支切换:针对本地 Git 检出项,提供跨仓库(Local/origin/upstream)的分支切换功能。
  • 本地重装:支持从 Local(本地代码)、Remote(远程仓库)或 Plugin(npm 包)三种来源对本地检出项进行“干净重装”。
  • 链接健康检查:检测 node_modules 与插件清单的匹配情况,修复因替换导致的断链或过期符号链接。
  • 卸载管理:从 bundles 和 dependencies 中移除插件(内置包不可卸载)。

安装与启用

安装前请确保环境已满足要求(Node.js >= 20 且已安装 pnpm)。

dsh plugin --profile web add github:dujar/dsh-restart

安装完成后,在浏览器中刷新页面,Settings 侧边栏底部会出现 “Restart” 区域。

典型用法

  1. 重启进程:进入 Settings → Restart,点击 “Restart now”。页面会在新实例启动后自动刷新。
  2. 开关插件:在插件列表中点击开关切换状态。若状态有变更,行内会显示 “Restart to apply” 标签,顶部通知栏也会提供重启按钮。
  3. 安装更多插件:点击 “Browse more plugins” 直接跳转至 Community plugins 页面。
  4. 切换本地分支:对于本地检出插件,点击 ⎇ 图标进入 Git 面板,选择仓库和分支进行切换。
  5. 重装本地检出:在 Git 面板下方的 “Reinstall” 区域,选择来源(Local/Remote/Plugin)并确认,即可重置代码或切换到最新包。
  6. 修复链接:如果某行显示 “Link broken” 警告,点击 “Repair link” 可通过 dsh plugin install 重新生成正确的符号链接。

适用场景与注意

  • 环境要求:运行此插件需要 Node.js >= 20 和 pnpm。
  • 重启生效:插件的开关、卸载等状态变更必须通过重启 dsh web 才能生效。
  • 内置保护:DeepSeek 内置包(如 @deepseek-ai/* 和 cordis:*)无法被卸载。
  • 安全机制:所有接口均执行同源或 localhost 检查,防止跨域访问。

总结

dsh-restart 解决了 DSH 日常开发中繁琐的进程管理和插件维护问题。通过将 git 操作、插件开关和链接修复集成到 Web 界面,它减少了命令行操作,提升了管理效率。该插件遵循 MIT 协议,由社区维护,适合所有需要频繁管理 DSH 插件生态的开发者使用。

  • GitHub 仓库: https://github.com/dujar/dsh-restart
  • 官方目录: https://www.skillhub.cn/plugins/dujar/dsh-restart
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜