前言¶
DeepSeek Harness 的插件生态旨在解决功能扩展与流程自动化的问题。在本地开发或调试 Harness 时,开发者常面临代码同步、依赖安装及服务重启的重复操作。dsh-selfup 插件通过封装这些操作,提供了统一的维护入口,使开发者能够在 DSH 会话中直接管理 Harness 仓库的状态与部署。
这是什么¶
这是一个由 geokkjer 维护的插件包,用于管理 DeepSeek Harness 仓库的自更新与部署。它将 Git 操作、依赖安装、CLI 安装及 systemd 服务管理整合为四个工具命令,运行在 Harness 仓库的检出目录中。
核心功能¶
插件提供四个主要工具:
-
dsh_update_status
查看仓库和部署状态的只读快照。包括仓库路径、分支、HEAD 提交、与 origin/master 的领先/落后状态、工作区脏文件数量、CLI 版本、构建二进制文件是否存在以及 systemd 单元状态。 -
dsh_update
执行更新流程,步骤依次为git fetch、git merge --ff-only、pnpm install和pnpm run build。每个步骤独立运行并可跳过。若构建失败,会自动尝试清理后重试。更新成功后可自动重启服务。 -
dsh_install
安装 dsh CLI 工具。mode=local(默认)会将构建好的 CLI 写入~/.local/bin/dsh,或回退到源码启动器;mode=arch则利用makepkg从 npm tarball 构建 Arch 包。 -
dsh_systemd
管理 dsh web 的 systemd 用户服务。支持写入服务文件、启动、停止、重启和状态查询。
安装与启用¶
安装插件到 web 配置文件:
dsh plugin --profile web add dsh-selfup
插件安装后,重启 dsh web 服务器即可在会话中使用上述工具。
典型用法¶
- 检查当前状态:
dsh_update_status
- 更新代码并重新构建:
dsh_update
- 在本地安装 CLI 工具:
dsh_install mode=local
- 重启 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 许可证,开发者可自由集成并扩展。