前言¶
對於使用 DeepSeek Harness 做插件擴展的開發者,一個插件包往往要同時承擔宿主側服務、瀏覽器側 UI 和會話事件記錄。dsh-blackjack 面向這個場景:它把 21 點桌面的規則、發牌員決策、閒聊輸出和瀏覽器 UI 放進同一個 DSH bundle。
這個插件裏,模型擔任發牌員,通過輔助 LLM 調用逐步決定 hit / stand;回合事件會寫入會話日誌,可以按事件重放;如果 LLM 路由缺失或失敗,則會退化爲按人格預設的臺詞。
這是什麼¶
dsh-blackjack 是 DeepSeek Harness 的 21 點插件。已覈實資料中的版本爲 0.1.0,許可證爲 MIT。倉庫線索頁面如下:
- 目錄頁:
https://www.skillhub.cn/plugins/WhiseNT/dsh-blackjack - GitHub:
https://github.com/WhiseNT/dsh-blackjack
它的核心定位是一個雙面對 DSH bundle:一個包同時包含宿主遊戲服務和瀏覽器側邊欄 UI。
主要能力包括:
- 模型擔任發牌員:通過輔助 LLM 調用逐步決定
hit/stand。 - 可選擇兩個人格:大肥魚 / Big Fat Fish,以及雌小鬼 / Brat。人格選擇通過
blackjack/persona事件持久化。 - 跨回合記憶:發牌員提示詞攜帶累計分數和共享閒聊歷史。
- 事件溯源:
blackjack/game-start、blackjack/hit、blackjack/stand、blackjack/dealer-hit、blackjack/settle、blackjack/banter、blackjack/emotion、blackjack/persona等回合事件可重放。 - 確定性牌局:標準 52 張牌,
seed存於game-start事件;Aces 爲 11/1,face cards 爲 10;dealer draws to ≥17;Busts lose immediately;equal totals push。 - 瀏覽器 UI:側邊欄底部入口,在右側詳情列打開 21 點桌面;包含桌牌、發牌員心情徽章、生涯記錄、閒聊流和表情快捷欄。
- UI 不保留遊戲狀態:瀏覽器側通過自掛載
blackjackRemote namespace 與宿主通信。 - 使用已發佈依賴:使用已發佈的
@deepseek-ai/*npm 包0.1.0-rc.6,無需同級 monorepo 或未發佈內部包。
安裝與啓用¶
插件以當前 dsh 進程權限運行。安裝前應先檢查源碼、許可證和依賴範圍。
先執行安裝:
dsh plugin --profile <name> add github:<owner>/dsh-blackjack
命令中的 <name> 是 DSH profile 佔位符,<owner> 是倉庫 owner 佔位符,需要替換爲你確認後的倉庫 owner。
由於 Git 安裝會獲取源碼,首次 add 需要允許一次 self-contained prepare build。做法是把對應的 pnpm key 複製到該 profile 的 pnpm-workspace.yaml 的 allowBuilds 中,然後重新執行 add。只允許信任的源碼。
驗證配置層:
dsh --profile <name> --dump-config
這條命令用於確認 dsh-blackjack 的配置是否進入當前 profile。
啓動 web 界面:
dsh --profile <name>
或者:
dsh web
dsh --profile <name> web
啓動後,瀏覽器側邊欄底部會出現牌桌入口;打開後在右側詳情列顯示 21 點桌面。
配置¶
在 profile 的 cordis.patch.yml 中覆蓋 blackjack 配置。示例如下:
- id: blackjack
config:
dealerPersona: 雌小鬼
randomBanterChance: 0.3
其中 dealerPersona 是初始人格;按會話的持久化選擇仍通過 blackjack/persona 事件記錄。randomBanterChance 表示 hit 之後觸發非請求閒聊或吐槽的概率。
本地開發¶
如果直接維護源碼,可以使用倉庫內的 pnpm 流程:
pnpm install
pnpm run build
pnpm test
測試覆蓋 136 個用例,其中 92 個 host 測試,44 個 UI 測試。
適用場景與注意¶
適合用於以下場景:
- 給 DSH web 增加一個包含瀏覽器側欄 UI 和宿主服務的雙面對 bundle。
- 驗證插件如何把回合事件寫成可重放的會話事件。
- 觀察 LLM 路由缺失或失敗時的降級路徑。
- 作爲包含宿主服務、Remote namespace、React UI 和測試的插件結構參考。
注意事項:
- 插件以當前
dsh進程權限運行,安裝前應檢查源碼、許可證和依賴。 - 許可證爲
MIT,版本爲0.1.0。 - Git 安裝會獲取源碼,首次
add需要在pnpm-workspace.yaml的allowBuilds中允許一次 self-containedpreparebuild。 - LLM 路由缺失或失敗時,發牌員會使用按人格預設的臺詞。
- 已覈實資料中的
package.json存在截斷,peerDependencies完整範圍無法完全確認;安裝前應查看完整依賴列表。
結尾¶
dsh-blackjack 把 21 點規則、模型發牌員、人格輸出和瀏覽器 UI 放進一個 DSH bundle,並提供事件溯源和降級路徑。它適合用來觀察 DSH 插件的宿主側與瀏覽器側協同方式。
目錄頁:https://www.skillhub.cn/plugins/WhiseNT/dsh-blackjack
GitHub:https://github.com/WhiseNT/dsh-blackjack