DeepSeek Harness 插件:dsh-home-hosted

前言

DeepSeek Harness (DSH) 的核心設計理念是「一切皆插件」。作爲開發者,在本地搭建並管理服務時,通常需要面對分散的配置和重啓恢復的問題。dsh-home-hosted 插件連接了 DSH 與 home-hosted 面板,它不負責直接安裝軟件,而是通過面板 API 管理 Gitea、Jellyfin、FTP 等服務及其容器化堆棧的條目,同時接管面板自身的啓動和自動恢復流程。

插件概況

  • 名稱:dsh-home-hosted
  • 維護者:NamesMT
  • 類別:工作流
  • 許可證:MIT
  • 核心功能:通過 DSH 提示生成本地服務器條目,並從 dsh 管理面板、條目及開機自啓。

安裝與啓用

在終端中執行以下命令安裝插件。安裝後,在 DSH 的 Web 界面設置中即可找到對應入口。

dsh plugin --profile web add dsh-home-hosted

核心功能

1. 服務條目管理

插件允許對 home-hosted 面板中的條目進行全生命週期管理。
* 操作:添加、編輯、啓動、停止、重啓。
* 支持類型:Gitea、Jellyfin、FTP、Compose 堆棧等。

2. 面板自身管理

除了具體的服務實例,插件還能管理 home-hosted 面板本身。
* 功能:支持 BYOU(Bring Your Own UI)自定義界面、工作區管理、反向代理(含 HTTPS)、備份(支持 AES-256 加密)、通知、動態 DNS (DDNS)、健康檢查、實時日誌及主機資源監控。

3. Agent 工具集

插件內置了一組 Agent 工具,用於在 DSH 會話中直接操作面板,無需手動切換界面。
* 狀態與列表:home_hosted_status(面板狀態)、home_hosted_workspaces_list、home_hosted_servers_list。
* 生命週期與編輯:home_hosted_servers_lifecycle(啓動/停止/重啓)、home_hosted_servers_edit(創建/更新/刪除)。
* 自動恢復與日誌:home_hosted_autostart_manage(安裝/卸載)、home_hosted_ui_manage(UI 狀態/更新/回滾)、home_hosted_panel_logs(面板控制台日誌)。

4. 開機自啓

插件支持爲面板配置系統級開機自啓,確保機器重啓後服務自動恢復。
* Linux:systemd-user、systemd-system、XDG autostart。
* macOS:launchd-agent、launchd-daemon。
* Windows:Run key、Task Scheduler。

典型用法

  1. 添加服務器:在 DSH 界面打開 Settings → Home Hosted,根據提示添加服務器。例如,可以輸入指令添加 Gitea(端口 3000)和 Jellyfin(端口 8096)。
  2. 配置自動恢復:在設置中開啓 Manage dsh 和 Autostart。這會確保面板及其管理的所有服務在系統重啓後自動啓動。
  3. 使用 Agent 工具:在 DSH 會話中調用 Agent 工具。例如,使用 home_hosted_servers_lifecycle 檢查或控制服務器狀態,或在面板未響應 API 時查看 home_hosted_panel_logs。

注意事項

  • 顯式啓動:插件不會在添加後自動安裝或啓動服務,必須由用戶明確提示纔會執行。
  • 權限要求:Agent 工具受會話權限限制,執行寫入操作(如停止服務、修改配置)通常需要「完全訪問」權限。
  • 運行身份:開機自啓條目以提升權限的用戶身份或面板 root 所有者的身份運行。若以 root 運行,路徑移動可能導致啓動失敗,需注意目錄歸屬。
  • Token 處理:如果 API Token 缺失或被拒絕,頁面會提示並允許一鍵生成有效的 Token。
  • 多面板識別:如果機器上存在多個 home-hosted 面板實例,Agent 工具在執行操作前會先識別並鎖定目標面板,避免誤操作。

生態背景

DSH 理念是「一切皆插件」,該插件由社區開發者 NamesMT 維護,旨在豐富 DSH 的本地化部署能力。更多詳情與源碼可參考:GitHub。

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

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

小夜