dsh-workbuddy:DeepSeek Harness 的 Wordless 風格主題

前言

DeepSeek Harness (DSH) 的空白會話英雄區域默認只提供基本的品牌標記和工作區選擇入口。dsh-workbuddy 爲這兩個區域注入了 Wordless 風格的視覺樣式,同時保持 DSH 原生編輯器和選擇器芯片不變。

插件簡介

這是一個主題類插件,由開發者 ml020 維護,採用 MIT 許可證。它通過重寫特定插槽的樣式,將默認的空白會話界面替換爲更符合 Wordless 設計語言的 Lime 漸變品牌標記和 Wordless 風格菜單。

安裝

使用以下命令安裝插件:

dsh plugin add ml020/dsh-workbuddy

核心功能

插件主要對兩個 DSH 英雄區域插槽進行重寫:

  1. 品牌標記重寫
    將 conversation.hero.brand.mark 插槽替換爲一個 Lime(酸橙)漸變的品牌方塊,其中包含 “W” 字樣。該插槽不支持自定義歡迎標題,因爲主機端 hero.headline 是硬編碼的。

  2. 工作區菜單重寫
    將 conversation.hero.workspace 插槽替換爲 Wordless 風格的菜單。該菜單是 position: fixed 的,相對於錨定的觸發芯片定位,當下方空間不足時會自動翻轉顯示在上方。菜單支持完整的鍵盤導航。

  3. 原生組件保留
    原生的 DSH Web 編輯器(對話框)和原生選擇器芯片保持完全 untouched(未被修改)的狀態。

  4. 鍵盤導航
    菜單支持以下鍵盤操作:

    • ↑ / ↓:在列表中移動光標,支持兩端循環。
    • Home / End:跳轉至列表首行或末行。
    • Enter / Space:選中當前光標所在的行。
    • Esc:關閉菜單並將焦點交還給主機芯片。
    • Tab / Shift + Tab:關閉菜單並交還焦點。
    • 可打印字符:支持輸入字符進行工作區名稱的快速跳轉查找。
  5. 工作區創建流程
    插件通過聲明 conversation.hero.workspace.directoryFlow 子插槽,補全了主機端未提供的創建回調。這意味着用戶可以通過菜單中的 “Add workspace…” 操作正常創建新工作區,且該操作與原生目錄選擇器的行爲一致。

注意事項

  • 注入機制:插件使用 ctx.slots.inject 來覆蓋默認插槽,而不是添加額外的插槽。每個插槽獨立注入,因此它們的生命週期不耦合。
  • 焦點管理:鍵盤導航要求菜單打開時,光標所在的行必須已經獲得焦點。如果菜單打開時沒有光標行,第一次按鍵會直接跳過第一行。此外,菜單會根據當前選中的 ID 來渲染選中狀態,並在刷新時保持光標行可見。
  • 創建回調:由於主機端的 renderSlot 調用不包含創建回調,插件必須自行處理工作區創建邏輯。如果創建被拒絕,會通過可重試的對話框提示,而不是靜默失敗。

結語

對於希望調整 DSH 界面視覺風格但又不想觸碰原生編輯器的用戶,dsh-workbuddy 提供了一個輕量級的解決方案。它通過覆蓋插槽實現了 Wordless 風格的定製,同時完整保留了工作區管理和創建的交互邏輯。

插件目錄:https://www.skillhub.cn/plugins/ml020/dsh-workbuddy
GitHub 倉庫:https://github.com/ml020/dsh-workbuddy

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

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

小夜