dsh-selfup:DeepSeek Harness 的自更新与部署工具

前言

DeepSeek Harness 的插件生态旨在解决功能扩展与流程自动化的问题。在本地开发或调试 Harness 时,开发者常面临代码同步、依赖安装及服务重启的重复操作。dsh-selfup 插件通过封装这些操作,提供了统一的维护入口,使开发者能够在 DSH 会话中直接管理 Harness 仓库的状态与部署。

这是什么

这是一个由 geokkjer 维护的插件包,用于管理 DeepSeek Harness 仓库的自更新与部署。它将 Git 操作、依赖安装、CLI 安装及 systemd 服务管理整合为四个工具命令,运行在 Harness 仓库的检出目录中。

核心功能

插件提供四个主要工具:

  1. dsh_update_status
    查看仓库和部署状态的只读快照。包括仓库路径、分支、HEAD 提交、与 origin/master 的领先/落后状态、工作区脏文件数量、CLI 版本、构建二进制文件是否存在以及 systemd 单元状态。

  2. dsh_update
    执行更新流程,步骤依次为 git fetch、git merge --ff-only、pnpm install 和 pnpm run build。每个步骤独立运行并可跳过。若构建失败,会自动尝试清理后重试。更新成功后可自动重启服务。

  3. dsh_install
    安装 dsh CLI 工具。mode=local(默认)会将构建好的 CLI 写入 ~/.local/bin/dsh,或回退到源码启动器;mode=arch 则利用 makepkg 从 npm tarball 构建 Arch 包。

  4. dsh_systemd
    管理 dsh web 的 systemd 用户服务。支持写入服务文件、启动、停止、重启和状态查询。

安装与启用

安装插件到 web 配置文件:

dsh plugin --profile web add dsh-selfup

插件安装后,重启 dsh web 服务器即可在会话中使用上述工具。

典型用法

  1. 检查当前状态:
   dsh_update_status
  1. 更新代码并重新构建:
   dsh_update
  1. 在本地安装 CLI 工具:
   dsh_install mode=local
  1. 重启 dsh web 服务:
   dsh_systemd action=restart

适用场景与注意

  • 环境要求:需要 DeepSeek Harness 的仓库检出(通过 git rev-parse --show-toplevel 定位),以及 git、node、pnpm 命令。若使用 Arch 包构建模式,需额外安装 makepkg。
  • 会话影响:dsh_systemd 的 start 或 restart 操作会终止当前调用会话,新代码仅在会话终止后生效。
  • 权限限制:插件遵循沙盒策略,Shell 调用的写入操作(如安装启动器、写入服务文件)受限于当前会话的沙盒策略,而非执行器的默认限制。

短结尾

dsh-selfup 通过将代码更新、依赖管理和服务运维封装进 DSH 插件,降低了 Harness 本地开发的手动成本。结合其 MIT 许可证,开发者可自由集成并扩展。

羽毛球分组比赛记分
小程序二维码

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

小夜