DSH 聚焦模式插件:thechengxi/dsh-focus

前言

DeepSeek Harness (DSH) 的 Web 界面由側邊欄、對話區和詳情面板組成。在開發或調試智能體工作流時,開發者需要將注意力集中在特定區域,而非分散在多欄佈局中。dsh-focus 插件通過純 CSS 技術隱藏除指定插槽外的所有界面元素,實現單一區域的聚焦顯示。

核心功能

本插件通過 URL 參數 ?focus= 控制頁面顯示。它支持聚焦任意頂層插槽或特定 data-slot 路徑,且不依賴 DSH 的核心代碼,僅做可見性控制。

  1. 插槽聚焦:支持 ?focus=<插槽路徑>,隱藏非目標區域。
  2. 預設路徑:支持 conversation.session(僅消息流)、conversation.composer(僅輸入區)、sidebar(會話列表)、details(詳情面板)等。
  3. 自定義路徑:支持聚焦第三方插件註冊的任意 data-slot 路徑。
  4. 自動恢復:若當前沒有會話,插件會自動恢復最近的非空白會話,避免空白視圖。
  5. 零時序問題:採用註冊式硬編碼規則,避免動態枚舉帶來的渲染時序依賴。
  6. 持續監聽:處理動態變化(如切換會話、插槽重掛載)。
  7. 快速失敗:未註冊路徑會直接報錯,不靜默降級。

典型用法

在 DSH Web 啓動後,在 URL 後追加參數即可生效。以下是常用路徑:

  • ?focus=conversation.session:僅顯示消息流。
  • ?focus=conversation.composer:僅顯示輸入區(沉底)。
  • ?focus=conversation:對話區整體全寬。
  • ?focus=sidebar:會話列表全寬。
  • ?focus=details:詳情面板全寬。
  • ?focus=conversation.chat.node:消息區域全寬。
  • ?focus=<任意 data-slot 路徑>:聚焦自定義插槽。
  • ?focus-debug=1:啓用調試模式。
  • window.__dshFocusHealth():瀏覽器控制台健康檢查函數。

安裝與啓用

DSH 從 ~/.dsh/profiles/node_modules 解析插件包。需將倉庫鏈接至該位置,並將插件掛載到當前 profile 的持久 patch 層。

1. 部署插件

在倉庫根目錄執行以下 PowerShell 命令(將 <本倉庫絕對路徑> 替換爲實際路徑):

mklink /J "$env:USERPROFILE\.dsh\profiles\node_modules\@dsh-focus\focus-plugin" "<本倉庫絕對路徑>"

2. 掛載插件

編輯 ~/.dsh/profiles/<profile>/cordis.patch.yml 文件,在末尾追加以下內容:

- insert:
  - id: focus-mode
    name: '@dsh-focus/focus-plugin'

注意事項:
- 首次掛載:需重啓 DSH 進程。
- 代碼修改:插件代碼修改後,無需重啓,瀏覽器刷新即可加載新代碼。
- 掛載名稱:name 字段必須精確等於 @dsh-focus/focus-plugin,否則會導致啓動失敗。
- 持久化:必須將配置寫入 profile 的持久 patch,而非臨時 dsh.mcp.patch.yml,否則會導致不穩定。

適用場景與注意

本插件基於 @deepseek-ai/dsh@0.1.1-rc.2 基線。它通過純 CSS 實現功能,適合需要長時間專注單一開發區域的場景。在使用前,請確認插件源碼與許可證符合您的需求。

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

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

小夜