DeepSeek Harness 插件管理器 (dsh-plugin-manager)

前言

DeepSeek Harness (DSH) 採用“一切皆插件”的理念,通過配置文件管理插件的行爲。在已有的做法中,管理插件條目(如啓用/禁用)或通過 Web 界面安裝新包通常需要操作文件或重啓進程。下面介紹的 dsh-plugin-manager 提供了一個安全的、僅環回的 Web UI,用於管理當前激活的 Web 配置文件插件。

插件定位

  • 名稱:leonardoxr/dsh-plugin-manager
  • 描述:Safe loopback-only Web UI for managing DeepSeek Harness profile plugins(用於管理 DeepSeek Harness 配置文件插件的安全、僅環回 Web UI)
  • 維護者:leonardoxr
  • 許可證:MIT
  • 分類:客戶端

核心功能

經過上面的步驟安裝後,該插件爲 DSH Web 界面增加了以下能力:

  1. 條目控制

    • 啓用或禁用來自當前激活的 Web 配置文件的可變條目,包括系統自帶的條目。
    • 移除其自身的顯式覆蓋配置,將條目恢復到組合配置文件的默認狀態。
  2. 熱掛載

    • 安裝並熱掛載安全的單條目 DSH 包,無需重啓 DSH Web 進程。
  3. 文件保護

    • 在 $DSH_HOME/profiles/web/cordis.patch.yml 中,除了一個清晰標記的受管理塊外,保留其餘部分的字節不變。
  4. 安全邊界

    • 使用插件擁有的、註冊了 authority: loopback 的連接 RPC 通道。
    • 當通過局域網或 Tailscale 訪問時,Web UI 僅顯示只讀訪問消息,不暴露生命週期或包操作。
    • 拒絕禁用自身或 Web 傳輸/UI/實時配置重載鏈路。
    • 拒絕模糊的重複 patch ID 以及配置文件樹之外的條目。
  5. 包安裝

    • 接受帶有可選版本或 dist-tag 的 npm 註冊表包名。
    • 通過 DSH 的公共子進程服務,無 shell 啓動 pnpm,並使用憑證清洗後的環境。
    • 禁用包生命週期腳本並限制捕獲的輸出。

安裝

安裝該插件需要將預構建的發佈包添加到 Web 配置文件中。安裝完成後,DSH Web 需要重啓一次,因爲配置文件的擴展是在啓動時掃描的。

dsh plugin --profile web add https://github.com/leonardoxr/dsh-plugin-manager/releases/download/v0.2.0/leonardoxr-dsh-plugin-manager-0.2.0.tgz

安裝成功後,打開 DSH Web 界面,導航到 Settings(設置)→ Plugins(插件)→ Manage plugins(管理插件)即可使用。

使用方式

安裝插件後,可以通過以下方式管理:

  1. 啓用/禁用條目:在“管理插件”頁面中切換條目的狀態。現有的條目切換會被持久化到 Web 配置文件的 patch 中,並立即生效。
  2. 移除覆蓋:如果插件條目被當前管理器覆蓋,可以將其移除以恢復默認值。
  3. 安裝新包:支持通過源碼方式直接安裝。
    dsh plugin --profile web add github:leonardoxr/dsh-plugin-manager#v0.2.0
  1. 刷新頁面:安裝新的瀏覽器包後,需要刷新瀏覽器頁面以加載新的瀏覽器擴展。

注意事項與安全

在使用該插件時,需注意以下安全與功能限制:

  1. 環回權限限制:authority: loopback 限制了網絡可達性,但這並不是調用者認證。本地同用戶進程、可變包管理器可執行文件、SSRF 能力的瀏覽器內容以及忽略共享 DSH 鎖的配置文件寫入器,仍處於本地信任邊界內。
  2. 沙箱隔離:禁用生命週期腳本並不對已安裝的插件進行沙箱隔離。插件將使用與 DSH 主進程相同的用戶權限運行。請僅安裝經過審查和信任的發佈者提供的精確版本。
  3. 包格式限制:插件拒絕安裝複雜或多行的包。對於此類包,應使用官方 CLI 安裝並在方便時重啓 DSH Web。
  4. 超時處理:如果安裝或操作超時,已管理的 patch 或條目會被保留,不會導致正在運行的條目變爲未跟蹤狀態。
  5. 初始狀態:由於配置文件擴展在啓動時掃描,初次安裝插件後必須重啓 DSH Web。

總結

dsh-plugin-manager 爲 DSH 用戶提供了一個可視化的、安全的 Web 端管理入口,簡化了插件條目的開關與熱加載流程。但在使用前,請務必理解其安全模型與信任邊界,避免引入不受信任的代碼。

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

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

小夜