前言¶
DeepSeek Harness 採用插件化架構,插件是擴展功能的主要方式。在實際使用中,開發者經常需要針對特定 Profile 安裝、更新或卸載插件。直接操作配置文件或依賴包管理器較爲繁瑣,且容易引入不一致性。該插件旨在爲 DSH 提供一個 Profile 級別的插件管理界面,簡化上述操作流程。
核心功能¶
該插件提供了一套完整的插件生命週期管理能力。
- 多來源支持:支持安裝來自 npm registry、npm alias、Git、GitHub、遠程 tarball、絕對本地目錄以及
file:/link:來源的插件。 - 文件上傳:提供文件選擇器,支持上傳並保留
.tgz、.tar.gz和.tar格式的安裝包。 - 版本控制選項:提供默認關閉的“跳過新版本等待期”選項。用戶勾選後,本次操作會追加
--config.minimumReleaseAge=0配置,但其他供應鏈檢查保持不變。當 pnpm 因等待期拒絕操作時,界面會提示解決方案。 - 依賴管理:支持更新或卸載當前 Profile 的直接依賴。更新時允許重新選擇來源(npm、Git、遠程 tarball、本地目錄或壓縮包),卸載時自動關閉等待期以避免鎖文件阻塞。
- 自身更新:提供插件自身的更新功能,複用同一彈窗和等待期選項。更新後會校驗依賴狀態,並在重啓前禁用操作。
- 日誌處理:診斷日誌採用有界保存策略,並在存儲前自動刪除 Authorization、Cookie、token、密碼等敏感信息。
安裝與啓用¶
在安裝前,請確保當前運行環境爲 DeepSeek Harness 0.1.1-rc.2。
- 執行安裝命令:
dsh plugin --profile web add github:qipenglin/dsh-plugin-manager
- 啓動 Web 界面:
dsh web
- 在瀏覽器中進入“設置 → 插件 → 插件管理”頁面。管理器僅操作加載它的當前 Profile,操作成功後需要重啓 Profile 才能生效。
注意事項¶
- Profile 作用域:管理器只操作加載它的當前 Profile。若無法可靠識別當前 Profile(例如桌面宿主未提供
desktopProfiles.current),插件將拒絕啓動。 - 重啓生效:無論是安裝、更新還是卸載操作,成功後 Host 會顯示明確狀態(如“已安裝,重啓後生效”),並提示手動重啓。Host 加載時會消費重啓標記,不會熱加載。
- 環境限制:
- 桌面宿主需同時提供
desktopProfiles.current和desktopPnpm.runPlugin接口,否則無法正常集成。 - 不支持通過 Host 環境變量傳遞私有 registry token,請在 Host secret 或包管理器配置中處理。
- 桌面宿主需同時提供
- 安全性:
- 若未啓用 WebAccess,WebServer 僅允許綁定
127.0.0.1。若綁定0.0.0.0,插件將拒絕啓動。 - CLI Provider 會從子進程環境中刪除敏感信息(如 API Key、token、密碼等)。
- 若未啓用 WebAccess,WebServer 僅允許綁定
總結¶
該插件爲 DeepSeek Harness 的 Profile 開發與調試提供了直觀的管理工具,支持多種插件來源和完整的更新/卸載流程。它通過有界日誌和敏感信息清理保障了操作安全。