在使用 DeepSeek Harness (DSH) 的 Web 模式時,設置面板往往包含大量分區和選項。在長列表中定位具體配置項需要多次翻頁。dsh-settings-search-plugin 插件通過在設置面板增加搜索入口,提供獨立的候選列表,幫助快速定位到目標分區並聚焦具體設置項。
插件簡介¶
這是一個僅運行於瀏覽器的插件。它爲 DSH Web 設置面板增加了一個搜索字段,在輸入時覆蓋內容列展示獨立候選列表,點擊後導航至所屬分區並聚焦對應設置。
安裝與啓用¶
按照以下步驟將插件掛載到 Web 配置文件中:
- 克隆倉庫並安裝依賴
git clone https://github.com/DoiiarX/dsh-settings-search-plugin
cd dsh-settings-search-plugin
pnpm install
注:構建後的 lib/ 輸出已提交,peer 依賴由 harness 運行時提供。
- 編輯配置文件
編輯$HOME/.dsh/profiles/web/package.json,在dependencies下添加:
"@doiiarx/dsh-settings-search-plugin": "link:<絕對路徑到該目錄>"
同時在 dsh.profile.bundles 下添加:
"@doiiarx/dsh-settings-search-plugin"
- 安裝依賴並重啓
在 Web 配置目錄下運行pnpm install,然後重啓 Web 進程。驗證設置面板是否出現搜索字段。
核心功能¶
- 搜索入口與獨立列表
在設置面板中新增搜索輸入框。輸入內容後,會在內容列上方展示獨立的候選列表。 - 導航與聚焦
點擊候選項後,瀏覽器會自動導航至該設置所屬的分區,並滾動至對應設置項,同時高亮顯示其輪廓。 - 索引構建機制
插件通過三種方式構建搜索索引:- Slot Ledger(聲明式):讀取注入的
slots服務,所有註冊的settings.section都是候選項,無論是否被訪問。 - Registration Surface(可選增強):插件可調用全局接口註冊更詳細的 item 級數據。
- Rendered-DOM Scan(已訪問分區):觀察已打開分區的 DOM,提取標題和文本生成 item 級候選項。
- Slot Ledger(聲明式):讀取注入的
- 註冊表面支持
插件提供了一個全局對象window.__DSH_SETTINGS_SEARCH__,允許其他設置插件註冊 item 級搜索項,包括自定義關鍵詞和data-settings-item錨點。
典型用法¶
如果需要在設置插件中註冊搜索項,可在客戶端的 apply 方法中調用:
window.__DSH_SETTINGS_SEARCH__?.register('local-shell-tools', {
label: 'Shell',
keywords: 'shell 終端 命令 cmd bash powershell pwsh 語言環境',
items: [
{
id: 'bashLang',
label: '語言環境',
desc: '寫入 LANG 與 LC_ALL',
keywords: '語言 locale lang 環境'
},
],
})
注意事項¶
- 瀏覽器端運行:該插件僅運行於瀏覽器環境,不涉及設置命名空間或模型工具,因此無需配置
WEB_SETTINGS_NAMESPACES且無需重建宿主。 - 未訪問分區的索引限制:對於用戶從未打開過且插件未註冊的分區,搜索僅返回分區名稱(Tab 級),無法提供具體的 Item 級候選項。
- 匹配邏輯:候選項文本僅進行標準化處理,不做詞幹提取或拼音匹配,不支持模糊召回。
- 覆蓋層特性:搜索覆蓋層是頁面局部的,尺寸在安裝時測量。如果主題在對話框掛載後改變了導航欄或內容的寬度,可能需要重新打開設置面板以重新計算尺寸。