前言¶
在 DeepSeek Harness(DSH)裏發消息後,模型進入「深度求索中」等思考階段時,界面往往只能等待進度行刷新。展開思考正文能看過程,但並不總能緩解空檔期的無聊;若再佔用官方 reasoning 插槽,還可能和「查看譯文」等擴展衝突。
dsh-think-game 是 NorthGateChat 維護的 DSH 客戶端插件:在正在運行的思考模塊行下方插入一塊無第三方運行時依賴的小遊戲面板,思考結束或回答開始時自動暫停並淡出;有進度時可「繼續上局」,鍵盤焦點與輸入框隔離。下面介紹其定位、能力與安裝用法。
這是什麼¶
dsh-think-game(思考小遊戲)歸類爲社區目錄中的「趣味換裝」類插件,開源倉庫 NorthGateChat/dsh-think-game,MIT 許可證,當前 package 版本爲 0.2.0。
插件在會話流裏緊挨 live 思考行(例如「深度求索中,用時 …」)出現輕量 arcade 面板,無需展開思考內容;思考/工作過程結束時面板凍結並淡出,收起後不在歷史消息中殘留。單文件 client.js 承載面板、DOM 適配器與七款遊戲,Host 側 index.js 爲空插件入口,不需要構建步驟、無運行時 npm 依賴。
與 DSH 0.2.2-rc.1 公共插槽 conversation.chat.reasoning.body 不同:該插槽僅在 Think 行展開時掛載,且官方說明擴展不能替換 reasoning 預覽策略;摺疊狀態下「思考模塊下方」沒有可用 additive 插槽。因此本插件採用受控 flow DOM 適配器(MutationObserver + 定時掃描),在 live 模塊 DOM 節點後插入自有面板,不修改宿主文字與展開/摺疊狀態,也不遮蔽 COT 翻譯的「查看譯文」。
核心功能¶
七款遊戲與操作¶
七款小遊戲共用一塊最大寬度約 520px、跟隨 DSH 主題 token 的面板:磚塊 Breakout、貪喫蛇 Snake、反應力 Reflex、2048、記憶翻牌 Memory、堆塔 Stack、飛行 Flappy。左下角「本輪挑戰:<遊戲> ⌄」可切「隨機」或固定某一作(跨會話偏好存 dsh-think-game:pinned);菜單內展示各遊戲歷史最佳(存 dsh-think-game:best)。默認每輪新思考會話隨機選一款(避免連續重複)。
| 遊戲 | 操作要點 | 計分 |
|---|---|---|
| 磚塊 | 鼠標或 ← → 移擋板,Space/點擊發球 |
得分、關卡、剩餘機會 |
| 貪喫蛇 | 方向鍵/WASD 或鼠標朝蛇頭轉向,Space/點擊開始 |
得分、蛇長 |
| 反應力 | 點目標格或 1–9 對應九宮格 |
命中、平均反應 ms、失誤 |
| 2048 | 方向鍵/WASD 滑動 | 得分、最大方塊 |
| 記憶翻牌 | 點擊翻牌,配齊 6 對 | 配對數、步數 |
| 堆塔 | Space/點擊落塊 |
高度 |
| 飛行 | Space/點擊上升躲柱 |
得分 |
通用控件:開始/暫停/繼續、重開。鍵盤監聽掛在面板 stage(tabIndex=0),僅遊戲區獲焦時生效,聊天輸入框打字不會被搶鍵;遊戲區失焦自動暫停。音效爲 WebAudio 合成,右上角可靜音(dsh-think-game:sound-muted)。
生命週期與「繼續上局」¶
適配器按優先級定位 live 思考模塊:running 的「深度求索中/Deep diving」行 → shimmer 過程分組頭 → running 的 Think 行。同一輪內下一步開始時面板跟隨新 live 模塊,局內狀態保留;live 模塊消失時立即暫停,並按進度處理收尾:
- 本局已有進度:收成「繼續上局 · 得分 N」小條,點「繼續」展開續玩,不影響閱讀本輪答案;條目最多保留 2 分鐘;下一輪思考開始會先結算舊條目再開新局。
- 無進度:最後一幀 ghost 在約 240ms 內上移淡出,減輕 React 替換思考行時的閃退感。
右上角 × 可選 本輪隱藏 / 30 分鐘內不顯示 / 今天不再顯示(dsh-think-game:snooze-until、snooze-day);隱藏後原處保留極簡「恢復」條。頁面刷新不恢復未完成的「繼續上局」,但最佳成績會保留;切換會話時適配器清理狀態,新會話重新開始。
視覺、性能與可訪問性¶
面板使用 DSH 的 --dsw-alias-* 與 --dsh-content-font-*,深淺色自動跟隨;prefers-reduced-motion 下關閉脈衝與淡出。僅 playing 時持續 requestAnimationFrame;輸入框聚焦、窗口失焦或頁面隱藏時暫停繪製。同一時間只允許一個面板實例(generation 令牌與 data-tg-* 標記清理舊節點)。
安裝與啓用¶
在 DSH desktop profile 下從 GitHub 安裝(倉庫發佈後):
dsh plugin --profile desktop add github:NorthGateChat/dsh-think-game
本地開發可用 link 方式:
dsh plugin --profile desktop add link:/path/to/think-game
裝完重啓 DSH。卸載:
dsh plugin --profile desktop remove dsh-think-game
卸載後同樣需重啓。插件通過 cordis.patch.yml 注入 client,依賴 @deepseek-ai/dsh-client-ui-chat 與 @deepseek-ai/dsh-client-ui-conversation 的 Web 客戶端上下文。
典型用法¶
- 安裝並重啓 DSH 後,向模型發送一條會觸發深度思考的消息。
- 出現「深度求索中」等 live 思考行時,其下方自動出現遊戲面板;邊等邊玩即可。
- 在「本輪挑戰」菜單選固定遊戲或「隨機」;需要時用暫停/重開。
- 模型開始輸出答案時面板自動暫停;若本局有進度,點「繼續上局」可在不打斷閱讀的情況下玩完;玩膩或打擾時可 × 選擇隱藏策略。
調試頁可由倉庫內 node debug/build.mjs 生成,用於脫離完整 DSH 外殼驗證 client.js;README 中含流程動圖與各遊戲單獨演示路徑。
適用場景與注意¶
適合:經常在 DSH 桌面端等待長思考、希望就地消磨空檔、又不願改動官方 reasoning 展示的用戶。
注意:
- 插件以當前 DSH 進程/客戶端權限在瀏覽器 DOM 中運行,安裝前請閱讀源碼與 MIT 許可證,確認接受 NorthGateChat 維護的版本。
- DOM 適配依賴當前 chat flow 標記(如
data-process-activity、data-shimmer、class*="running");DSH 大版本若調整標記,需插件更新findLiveModule()選擇器。 - 社區目錄 SkillHub 插件頁與 GitHub 爲獨立生態入口,與 DeepSeek / 幻方無官方從屬關係;長期不用建議在插件管理中禁用,而非僅依賴面板內隱藏。
結尾¶
dsh-think-game 把七款經典小遊戲嵌進「思考進行中」的時間片:自動出現、自動暫停、可續局、鍵鼠與 composer 隔離,並以 DOM 旁路方式避開 reasoning body 插槽限制。進一步瞭解與演示材料見 GitHub 倉庫,目錄簡介見 SkillHub。