前言¶
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” 区域。
典型用法¶
- 重启进程:进入 Settings → Restart,点击 “Restart now”。页面会在新实例启动后自动刷新。
- 开关插件:在插件列表中点击开关切换状态。若状态有变更,行内会显示 “Restart to apply” 标签,顶部通知栏也会提供重启按钮。
- 安装更多插件:点击 “Browse more plugins” 直接跳转至 Community plugins 页面。
- 切换本地分支:对于本地检出插件,点击 ⎇ 图标进入 Git 面板,选择仓库和分支进行切换。
- 重装本地检出:在 Git 面板下方的 “Reinstall” 区域,选择来源(Local/Remote/Plugin)并确认,即可重置代码或切换到最新包。
- 修复链接:如果某行显示 “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