前言¶
DeepSeek Harness (DSH) 在運行任務時,Web GUI 的狀態欄會顯示“Deep diving…”。這個提示信息在長時間運行的任務中顯得單調。DSH 採用插件化架構,插件 vincent-guo/dsh-loading-phrases 的作用是在不改變原有 UI 佈局的前提下,將這段文本替換爲交替出現的機智短語和實用提示。
插件簡介¶
這是一個由 vincent-guo 維護的插件,屬於“趣味換裝”類別。它的核心功能是在 DSH Web GUI 中,用隨機的“機智短語”和“實用技巧”替換“Deep diving…”狀態,同時保留原有的流光動畫效果和運行時間計時器。
核心功能¶
該插件在任務運行期間(即原狀態線出現時)介入,具體行爲如下:
- 位置與樣式保留:文本替換髮生在與原狀態線相同的位置,渲染效果(如流光漸變)和 15 秒後出現的計時器完全保持原樣。
- 嚴格的交替邏輯:採用嚴格的 5 秒機智短語 / 10 秒實用技巧的交替模式,且每次任務開始都從機智短語開始。
- 不重複洗牌:使用 Fisher-Yates 洗牌算法實現不重複的隨機輪播,同一輪次內不會出現重複條目。
- 語言適配:根據 GUI 的語言環境(
zh爲中文,其他爲英文)自動選擇對應的短語庫。 - 無障礙支持:將文本同步到狀態行的
aria-label,確保屏幕閱讀器能讀出實際內容。 - 寬屏截斷:在窄窗口下,超長短語會自動截斷並顯示省略號。
- 失效回退:如果插件腳本失效或 DOM 結構發生變化,插件會記錄控制台診斷信息,並自動回退到 DSH 原生的“Deep diving…”文本,不會導致界面崩潰。
安裝與啓用¶
通過 CLI 安裝該插件:
dsh plugin --profile <profile> add @vincent-guo/dsh-loading-phrases
該插件聲明瞭 dsh.bundle.patch,因此 dsh plugin add 會自動協調 dsh.profile.bundles。安裝後,重啓 DSH 進程並刷新 Web GUI 頁面(⌘/Ctrl+Shift+R)即可生效。
如果安裝時未使用 bundle 協調機制,需要在 ~/.dsh/profiles/<profile>/cordis.patch.yml 中手動添加 load row:
- insert:
- id: loading-phrases
name: '@vincent-guo/dsh-loading-phrases'
配置與自定義¶
插件提供了一個圖形化設置面板來管理配置。
GUI 設置面板¶
在 Web GUI 的側邊欄底部,進入 Settings -> Loading Phrases 頁面。你可以在此進行以下操作:
- 模式選擇:支持
all(交替)、witty(僅機智短語)、tips(僅實用技巧)、off(關閉,恢復原生文本)。 - 時長設置:調整機智短語和實用技巧的停留時間(單位:秒,存儲爲毫秒)。
- 洗牌開關:控制是否啓用不重複隨機輪播。
- 語言策略:選擇
auto(跟隨 GUI)或強制指定en/zh。 - 內容編輯:通過 English / 中文 標籤頁編輯對應的短語和技巧列表。
- 保存策略:點擊保存會即時應用更改。Save phrases 按鈕僅寫入修改過的部分,未修改的列表將保持爲空(繼承內置內容)。
- 打開配置文件:點擊“Open phrase config”按鈕,會使用默認編輯器打開配置文件進行批量編輯。
配置文件¶
配置文件位於 ~/.dsh/dsh-loading-phrases.json。這是機器本地的配置,所有配置文件都共用此一份。插件以 MIT 許可證發佈。
默認配置結構如下:
{
"loadingPhrases": {
"mode": "all",
"wittyIntervalMs": 5000,
"tipsIntervalMs": 10000,
"shuffle": true,
"language": "auto",
"phrases": { "en": [], "zh": [] },
"tips": { "en": [], "zh": [] }
}
}
內容來源¶
- 機智短語:數量爲英文 49 條、中文 24 條,來源爲 Qwen Code 的 web-shell 列表(Apache-2.0 許可證)。
- 實用技巧:數量爲英文 40 條、中文 40 條,針對 DSH UI 的實際行爲編寫。
開發與擴展¶
如果你想修改源內容,可以編輯 src/data/witty.json 和 src/data/tips.json(注意:這兩個文件中的 en 和 zh 是獨立的內容,並非翻譯關係)。修改後,運行 node scripts/sync-data.js 重新生成 lib/client.js 中的數據塊。
適用場景與注意¶
該插件適合希望在長時間運行的任務中獲得更豐富視覺反饋的 DSH 用戶。
注意事項:
* 插件以當前 DSH 進程的權限運行,安裝前應檢查源碼與許可證。
* 修改代碼文件(如 lib/*.js)需要重啓 DSH 進程,單純修改配置文件刷新頁面即可生效。
* 插件不保證在 DSH 未來版本 UI 結構劇烈變更時的兼容性,但內置了失效回退機制。
總結¶
DSH Loading Phrases 通過簡單的配置和自定義,將枯燥的運行狀態轉化爲動態的交互體驗。它遵循 DSH 插件化的設計理念,提供了完善的 GUI 管理面板和配置文件編輯能力。
- GitHub 倉庫:https://github.com/vincent-guo/dsh-loading-phrases
- 插件目錄:https://www.skillhub.cn/plugins/vincent-guo/dsh-loading-phrases