前言¶
DeepSeek Harness (DSH) 的核心設計理念是「一切皆插件」。在開發或調試過程中,長時間盯着屏幕容易產生疲勞。dsh-mini-games 作爲一個輕量級工具插件,將三個純前端小遊戲掛載在 DSH Web 界面的 details 面板(右側欄)中,不依賴後端,利用瀏覽器本地存儲記錄最高分。
是什麼¶
這是一個由 aga-j 維護的插件,用於在 DSH Web 界面的詳情面板中提供常駐的遊戲入口。它包含三個經典遊戲:猜數字、2048 和 掃雷。插件運行時完全在瀏覽器端執行,不佔用宿主邏輯資源。
核心功能¶
- 面板常駐:遊戲界面集成在 details 面板中,切換遊戲標籤時狀態保留,但切換會話時會重置。
- 懸浮開關:提供右上角懸浮按鈕(
shell.overlay插槽),用於在面板收起時重新打開。 - 數據持久化:遊戲最高分通過
localStorage存儲,鍵名前綴爲dsh-mini-games:。 - 遊戲機制:
- 2048:支持鍵盤方向鍵與屏幕觸控按鈕。
- 掃雷:支持右鍵插旗、首擊安全規則以及計時功能。
- 主題跟隨:使用 DSH 主題別名 token 配色,自動適配明暗主題。
安裝與啓用¶
通過官方插件管理命令安裝:
dsh plugin --profile web add dsh-mini-games
安裝完成後,需要重啓 dsh web 使配置生效。重啓後,在聊天區右上角會出現一個圓形的 🎮 按鈕,點擊即可打開或收起小遊戲面板。
驗證安裝是否成功:
# 1. 檢查配置樹中是否存在 mini-games 行
dsh --profile web --dump-config
# 2. 驗證瀏覽器端文件可訪問
Invoke-WebRequest http://127.0.0.1:3080/plugins/dsh-mini-games/client.js
典型用法¶
- 確保 DeepSeek Harness Web 進程已啓動且處於運行狀態。
- 點擊聊天區右上角的 🎮 按鈕。
- 如果是首次打開,面板會顯示三個遊戲選項卡(猜數字 / 2048 / 掃雷)。
- 選擇遊戲進行遊玩。切換選項卡不會中斷當前遊戲進度。
技術注意與限制¶
- 會話要求:面板必須在一個非空白的會話中才能正常打開(點擊按鈕會提示“先進入一個會話”)。
- 依賴警告:安裝過程中出現的
missing peer @deepseek-ai/*警告是正常現象。不要手動安裝@deepseek-ai/cordis,這些依賴由官方 bundle 提供。 - 面板寬度:面板的顯示寬度由
ui-layout組件控制,範圍通常在 300px 至 520px 之間。過窄會導致面板自動關閉。 - 技術實現細節:
- 爲了避免與默認的 DetailsPanel 衝突,details 插槽註冊使用了
-100的優先級進行影子化處理。 exports字段必須顯式導出./package.json,否則激活掃描會報錯。- 遊戲狀態在會話切換時會重置,但標籤頁切換期間會保留。
- 爲了避免與默認的 DetailsPanel 衝突,details 插槽註冊使用了
結語¶
dsh-mini-games 是一個符合 DSH 生態規範的輕量級插件,適合需要在開發間隙放鬆或測試界面交互的開發者。所有邏輯均爲前端實現,源碼透明。