dsh-sudoku-waiting:在 DSH 等待回合裏內聯可續玩小遊戲

前言

在 DeepSeek Harness(DSH)裏跑 Agent,常見有一段空檔:模型正在思考,或在執行工具,界面只能盯着日誌滾動。切到別的窗口容易打斷上下文;留在當前頁又幾乎沒有可做的事。社區插件 dsh-sudoku-waiting(維護者 zergcq-cell,npm 包名 dsh-sudoku-waiting)的思路是:在這段等待時間裏,把一局可繼續的小遊戲直接嵌進當前回合的對話流,而不是蓋一層浮窗。它歸類在 SkillHub 目錄的「趣味換裝」,當前 GitHub 星標爲 0;README 也說明這是社區插件,不是 DSH 官方捆綁包。

這是什麼

dsh-sudoku-waiting 是一個面向 Web 客戶端的 DSH 客戶端插件(package.json 中 dsh.client.platform 爲 web)。在 DeepSeek 開始思考或運行工具時,它會在對話流最新位置渲染一張寬度上限 336px 的內聯卡片,提供數獨、2048、掃雷、關燈四款遊戲;每款遊戲各自存檔,離開再回來進度仍在。回合結束卡片自動消失;若會話處於等你審批或回答的狀態,也會暫時隱藏。關卡生成與判題在瀏覽器本地完成,不聯網。

許可證爲 MIT,當前 npm 版本爲 1.1.1(以 package.json 爲準)。環境要求:engines.dsh 爲 ^0.2.2-rc.1,需帶 Web 客戶端與 Plugin Manager 的 DSH;文案內置中英文,跟隨宿主語言。

核心能力

展示方式

  • 遊戲卡片固定在對話流最新位置,與思考日誌一起滾動,不是全屏或懸浮層。
  • 四款遊戲共用同一卡片外殼;點標題可切換,當前項帶勾選標記。
  • 棋盤區高度一致,避免日誌上下跳動;右上角「收起」後變爲一行「繼續遊戲」,儘量不擋會話內容。
  • 樣式只使用宿主主題變量(--dsw-alias-*),淺色/深色自動適配,並尊重 prefers-reduced-motion。

四款遊戲與操作

遊戲 操作 進度顯示
數獨 左鍵填入,右鍵排除(再按右鍵取消) 已填 / 剩餘
2048 棋盤上滑動,或聚焦棋盤後用方向鍵 / WASD 分數 / 最大方塊
掃雷 左鍵翻開,右鍵或長按插旗;首點必安全 已翻開 / 旗子
關燈 點擊翻轉自身及上下左右共五格 步數

「新開一局」在有進度時會二次確認;已結束或已完成的局面可直接重開。

何時出現與消失

  • 出現:DeepSeek 開始思考或運行工具時。
  • 消失:回合結束時自動移除。
  • 暫時隱藏:等待你處理審批或提問時。

插件不讀取會話正文,僅根據當前會話的 running 狀態以及審批/提問狀態決定是否顯示(見 README「隱私」一節)。

隱私與存檔

  • 不發起網絡請求,無遙測或遠程配置。
  • 存檔寫在瀏覽器 localStorage:dsh-games:<id>-v1(sudoku / 2048 / mines / lights),最後玩的遊戲鍵爲 dsh-games:last;舊版數獨鍵會在首次讀取時遷移到新鍵。損壞的存檔會被丟棄並新開一局。

安裝與啓用

推薦從 npm 安裝,裝後默認啓用,無需額外配置;沒有 HMR 的環境可能需要重啓一次 DSH。

在 DSH 的 Plugins / 插件 頁面輸入包名:

dsh-sudoku-waiting

或用 CLI 安裝到指定 profile(把 web 換成你實際使用的 profile 名):

dsh plugin --profile web add dsh-sudoku-waiting

其他安裝方式(README 原文):

  • 跟進 main 或無法使用 npm 時:
dsh plugin --profile web add github:zergcq-cell/dsh-sudoku-waiting
  • 從 Releases 下載 dsh-sudoku-waiting-<version>.tgz,在 Plugins 頁選擇該文件,或:
dsh plugin --profile web add /絕對路徑/dsh-sudoku-waiting-<version>.tgz

兼容性說明:按 DSH 0.2.2-rc.1 的 Client API 編寫;README 記載已在 macOS 的 DSH 0.2.2-rc.1 上安裝運行,其他平臺/版本未逐一實測。DSH 大版本 Client API 變更時,維護者計劃在倉庫發佈新版本。

典型用法

安裝並啓用後,無需配置文件或環境變量。當你在 DSH 裏發起一輪需要模型思考或工具執行的對話時,等待期間對話流末尾會出現遊戲卡片。你可以:

  1. 點標題在數獨、2048、掃雷、關燈之間切換(進度分別保存)。
  2. 玩一半收起卡片,繼續看日誌;需要時點「繼續遊戲」展開。
  3. 回合結束或你去回答審批/提問時,卡片按設計隱藏或消失;下次進入等待態會再次出現,未結束的對局從 localStorage 恢復。

這是一套「被動觸發」的交互:沒有單獨的 CLI 子命令或配置項去「手動打開遊戲」,顯示邏輯與 DSH 會話的運行狀態綁定。

適用場景與注意

適合誰:經常在 DSH Web 端等 Agent 跑完一步、又希望留在同一會話上下文裏的開發者;想給等待時段加一點可續玩、純本地邏輯的用戶。

需要注意:

  • 插件隨當前 DSH 進程與 Web 客戶端加載;安裝前建議瀏覽 GitHub 倉庫 源碼與 MIT 許可證,確認符合你的安全策略。
  • DSH 生態理念是「一切皆插件」;SkillHub 目錄頁 是社區站點,與 DeepSeek / 幻方無官方從屬關係,本文介紹的是第三方插件行爲,以倉庫 README 與 package.json 爲準。
  • 清除瀏覽器站點數據會刪掉本地存檔;換瀏覽器或隱私模式不會共享進度。

結語

dsh-sudoku-waiting 把可續玩的等待小遊戲嵌進 DSH 對話流:四款經典玩法、本地判題與存檔、隨思考/工具執行出現、回合結束收起,並用宿主主題適配界面。若你要在 Agent 運行空檔裏少切窗口、多留一會話內,可以從 npm 包名 dsh-sudoku-waiting 裝起,並記住 DSH ^0.2.2-rc.1 這一引擎約束。

  • 目錄頁:https://www.skillhub.cn/plugins/zergcq-cell/dsh-sudoku-waiting
  • 源碼與說明:https://github.com/zergcq-cell/dsh-sudoku-waiting
羽毛球分组比赛记分
小程序二维码

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

小夜