DSH 茶歇间(dsh-whale-cards):DSH Web 的本地游戏馆插件

前言

做 DSH 时,常有一类等待场景:编译在跑,测试在跑,长任务还挂在会话里。此时想短暂切换一下,但不希望离开 dsh web,也不想把任务上下文切走。

dsh-whale-cards 是一个可安装到 DeepSeek Harness(DSH)Web 的本地游戏馆插件:它提供几个策展小游戏,以及一个原创鲸鱼伙伴「澜音」。等待期间可以打开一局,随时收起,之后再从同一步继续。

它面向的是 DSH / 智能体开发者的本地工作流:在宿主界面里增加一个低打扰、可恢复、可本地运行的休闲入口。它也是社区插件,不应被理解为“官方应用商店”里的官方应用。

这是什么

changer-changer/dsh-whale-cards 是一个面向 DSH Web 的本地游戏馆插件。仓库许可证为 MIT。

它提供三类本地小游戏:

  • 鲸牌茶歇
  • 港湾对决
  • 潮汐拾光

插件还提供跨游戏陪伴角色澜音,并支持断点续玩。

它的基本分工是:

  • 经典模式使用本地规则与确定性 AI,不消耗 Token。
  • Agent 模式为每局创建独立 DSH Agent Session,由澜音作出合法决策,会调用所选模型并消耗 Token。

运行要求

下面这几个环境条件需要满足:

  • DeepSeek Harness 0.1.0-rc.7 兼容版本
  • Node.js ^22.19.0>=24.0.0
  • 可用的 dsh 和 pnpm;dsh plugin 会在 profile 内调用 pnpm

另外,DSH 仍处于 developer preview。插件发布前应在目标 DSH 版本上重新构建、测试,并做真实 Web 冒烟测试。

核心能力

下面介绍这个插件明确提供的能力。

本地游戏馆

插件在 DSH Web 里提供本地游戏馆,包含:

  • 鲸牌茶歇
  • 港湾对决
  • 潮汐拾光

存档按游戏隔离,打开对应游戏即可继续之前的对局。

经典模式

经典模式使用本地规则与确定性 AI。

它的特点是:

  • 不调用模型
  • 不消耗 Token
  • 决策由本地规则与本地 AI 完成

适合只想玩牌、不想触发模型调用的场景。

Agent 模式

Agent 模式会为每局创建独立 DSH Agent Session。

在这一模式下:

  • 澜音负责作出合法决策
  • 会调用所选模型
  • 会消耗 Token
  • 玩家可以直接与澜音聊天,或触发对局内的快捷表达

Agent 只能选择本轮引擎生成的合法动作 ID。真实状态变更由本地规则引擎校验执行。

澜音陪伴

澜音是跨游戏的原创陪伴角色。

它可以:

  • 进行真实模型聊天
  • 提供 Soul 视图
  • 使用浏览器持久化长期记忆
  • 根据局势生成相关台词与表情

模型不可用时,游戏可以降级为本地台词或本地决策。

断点续玩

插件支持断点续玩。

收起游戏后,牌局会冻结并保存。刷新页面、切换 DSH 会话或稍后重新打开时,可以恢复。

非阻塞提醒

当 DSH 任务完成或需要确认时,插件只显示一次非阻塞提醒。

它不会暂停游戏,也不会抢焦点。

本地化与无附加服务

插件明确做到:

  • 无账号
  • 无广告
  • 无联网对战
  • 无遥测

模型调用是唯一外部依赖。模型不可用时,游戏可降级为本地台词或本地决策。

安装

下面给出本地仓库安装流程。

先克隆仓库,进入插件目录,安装依赖并构建:

git clone <this-repository-url>
cd <this-repository>/dsh-whale-cards
npm ci
npm run build

构建完成后,将插件安装到 DSH 的 web profile:

dsh plugin --profile web add .

安装后先检查配置,再启动 Web:

dsh --profile web --dump-config
dsh web

经过上面的步骤,插件进入 DSH Web 后,可以从浮动入口进入游戏馆。

典型用法

下面是可复现的使用路径。

  1. 打开 dsh web。点击浮动入口展开游戏馆;点击入口右侧「直达」,可以直接进入你设置的默认游戏。
  2. 在大厅选择游戏。没有存档时开始新对局;有未完成对局时,游戏卡会显示「有存档」,打开即可继续。
  3. 在大厅选择「经典模式」或「Agent 模式」,并设置「直达」默认打开的游戏。
  4. Agent 对局中,可以点击「教我这一步」「认真点」「放我一马」,也可以自由聊天。
  5. 记忆 tab 可查看、编辑、删除澜音记住的事项;Soul tab 可查看人格、当前牌局 Session 和上下文策略。
  6. 收起游戏后,牌局冻结并保存。刷新页面、切换 DSH 会话或稍后重新打开时,可以恢复。

成本与模型边界

这里需要区分两种模式。

经典模式

经典模式不调用模型,不消耗 Token。

它依赖本地规则与确定性 AI,适合离线、低成本的本地对局。

Agent 模式

Agent 模式会调用所选模型,并消耗 Token。

它还会使用两个只读会话工具:

  • search_sessions:最多返回 5 条
  • inspect_session:查看最近 12 条

这两个工具可能将相关会话片段发送给所选模型。使用 Agent 模式时,应按所选模型服务的隐私条款评估。

决策边界

Agent 不能绕过本地规则。

它只能选择本轮引擎生成的合法动作 ID。真实状态变更由本地规则引擎校验执行。

模型不可用时,可以降级为本地台词或本地决策。

数据与卸载

本地数据

插件的数据主要放在浏览器 localStorage

需要注意:

  • 浏览器 localStorage 存档不是机密存储
  • 可以手动 removeItem 清理
  • 卸载插件后,浏览器本地存档会保留

如果你在意本地残留,应在卸载后自行清理对应浏览器存储。

卸载

卸载命令是:

dsh plugin --profile web remove dsh-whale-cards

卸载后,浏览器本地存档仍会保留。

适用场景与注意

这个插件适合在 DSH Web 内使用、希望短休息不打断长任务的人。

适合:

  • 等待编译、测试或长任务时打开一局
  • 只使用本地规则、不想消耗 Token
  • 想测试 Agent 模式下澜音与所选模型的交互
  • 希望游戏可收起、可恢复、不抢焦点

需要注意:

  • 插件会接入 DSH 的模型配置与会话能力,安装前应检查源码与 MIT 许可证。
  • Agent 模式会调用所选模型并消耗 Token。
  • Agent 模式可能通过会话工具读取相关会话片段,并将其发送给所选模型。
  • 浏览器 localStorage 存档不是机密存储,卸载后仍会保留。
  • DSH 仍处于 developer preview,发布前应在目标 DSH 版本重新构建、测试和真实 Web 冒烟测试。
  • 如果从 Git commit 安装,可能触发 pnpm 10+ 阻止 prepare 构建脚本;需要按错误信息将确切包键加入 Web profile 的 pnpm-workspace.yaml allowBuilds
  • README 不假定该包已发布到 npm registry。
  • 项目没有复制或打包 Small-tailqwq/dsh-deep-whale 的代码、美术、角色设计、台词或音频。

结尾

dsh-whale-cards 的价值比较具体:在 DSH Web 里提供一个本地游戏馆,支持断点续玩,支持经典本地模式和 Agent 模式,并且尽量不打断任务、不抢焦点。

当前已核实资料提供了仓库地址,但未提供可确认的目录页 URL,因此这里只给出仓库链接。

  • GitHub: https://github.com/changer-changer/dsh-whale-cards
  • 许可证: MIT
羽毛球分组比赛记分
小程序二维码

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

Xiaoye