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 許可證,開發者可自由集成並擴展。

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

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

小夜