dsh-blackjack:DeepSeek Harness 的事件溯源 21 点插件

前言

对于使用 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-startblackjack/hitblackjack/standblackjack/dealer-hitblackjack/settleblackjack/banterblackjack/emotionblackjack/persona 等回合事件可重放。
  • 确定性牌局:标准 52 张牌,seed 存于 game-start 事件;Aces 为 11/1,face cards 为 10;dealer draws to ≥17;Busts lose immediately;equal totals push。
  • 浏览器 UI:侧边栏底部入口,在右侧详情列打开 21 点桌面;包含桌牌、发牌员心情徽章、生涯记录、闲聊流和表情快捷栏。
  • UI 不保留游戏状态:浏览器侧通过自挂载 blackjack Remote 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.yamlallowBuilds 中,然后重新执行 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.yamlallowBuilds 中允许一次 self-contained prepare build。
  • 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

羽毛球分组比赛记分
小程序二维码

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

小夜