dsh-shutdown:爲 DeepSeek Harness Web UI 添加安全關閉功能

在 DeepSeek Harness (dsh) 的日常開發中,結束 Web UI 對應的進程通常需要切換回終端執行命令。頻繁切換窗口會增加操作成本。dsh-shutdown 插件將關閉邏輯集成到了 Web 界面中,通過右上角的按鈕提供快捷入口,實現從界面直接安全退出。

插件定位

dsh-shutdown 是一個爲 dsh Web UI 增加右上角關閉入口的客戶端插件。它不修改 dsh 核心源碼,通過獨立的插件包實現功能擴展。項目由 Lundly 維護,遵循 MIT 許可證。

核心功能

  1. 右上角入口:在 Web 界面右上角新增一個常駐的關閉按鈕(圖標樣式),鼠標懸停顯示“關閉 DSH”。
  2. 安全退出流程:點擊按鈕後彈出確認提示。確認後,插件走 dsh launcher 的優雅退出路徑:先清理插件樹(逆序清理),再關閉 Web 服務,最後退出進程。
  3. 瀏覽器標籤頁處理:嘗試自動關閉瀏覽器標籤頁。
  4. 兜底畫面:若瀏覽器安全策略阻止腳本關閉標籤頁,頁面會渲染“dsh 已安全關閉”的提示畫面,提醒用戶手動關閉。
  5. 交互設置:支持在確認提示中選擇“不再顯示”,之後點擊按鈕將直接關閉;該選項可在通用設置中重新開啓。

安裝與啓用

從 GitHub 安裝

推薦使用官方倉庫安裝。該倉庫直接提交了構建產物,安裝時無需授權構建,pnpm 不會彈出 allowBuilds 提示。

dsh plugin --profile web add github:Lundly/dsh-shutdown

若需鎖定特定版本,可 pin 到具體提交:

dsh plugin --profile web add github:Lundly/dsh-shutdown#<commit-sha>

從本地目錄安裝

在插件目錄的上級目錄執行以下命令。首次執行會自動創建名爲 web 的 profile,並將本插件作爲 bundle 追加進去。

dsh plugin --profile web add ./dsh-shutdown

驗證與移除

安裝後啓動 dsh 並打開 Web 界面,即可在右上角看到關閉按鈕。驗證與移除命令如下:

# 查看已安裝的插件
dsh plugin --profile web list

# 移除插件
dsh plugin --profile web remove dsh-shutdown

注意:bundle 成員變化需重啓 profile 後生效。

從源碼構建

如果需要自行構建或修改插件,可執行以下命令:

pnpm install
pnpm build     # 生成 lib/index.js(Host 半)和 lib/client.js(瀏覽器半)
pnpm typecheck

本插件不依賴 dsh 源碼即可構建。宿主提供的包(如 @deepseek-ai/cordis、react 等)均以 peer/external 方式聲明,產物零第三方運行時代碼,由 dsh 宿主與瀏覽器端模塊加載器注入。

適用場景與注意

  • 適用場景:需要在 Web UI 界面直接結束 dsh 進程的開發者,希望減少終端與瀏覽器窗口切換的開發者。
  • 權限注意:插件以當前 dsh 進程的權限運行,請確保對安裝的插件源碼有足夠的信任度。
  • 生態背景:DSH 的核心理念是“一切皆插件”,旨在通過模塊化擴展提升開發效率。社區目錄(如 SkillHub)是獨立站點,與 DeepSeek 或幻方沒有官方從屬關係。

總結

dsh-shutdown 通過集成關閉邏輯,簡化了 dsh 進程的退出流程。更多插件可參考 SkillHub 目錄 或訪問 GitHub 倉庫。

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

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

小夜