前言¶
在 DSH 里做直播互动时,常见做法是聊天回复与画面展示分开:观众说话进队列,角色只负责念稿或表情,游戏画面仍是人工切键。若要把「观察—决策—执行」做成 Agent 可选工具,并把观众指令插进决策优先级,还需要单独记复盘、经验和证据,一般得自己接控制器、再挂一层经验库。
dsh-game-agent(维护者 XiaoZheBrother,社区目录分类为工作流)面向这类需求:把游戏操作封装成工具集,聊天与游戏执行分通道处理,经验和复盘落在独立 SQLite。当前为 0.1.0-alpha.4 开发预览,适配器仅支持项目使用的修改版红警 2 网页接口,不是任意原版 exe 控制器;插件以当前 DSH 进程权限运行,安装前应阅读源码与 MIT 许可证。
这是什么¶
dsh-game-agent 是 DeepSeek Harness 的游戏向插件,与同级 dsh-live-studio 组合使用。它把观察、生产、移动、进攻、占领、部署、镜头与选址等操作做成 Agent 工具;观众指令优先于自主决策,回复语音与游戏执行分开处理。决策记录、经验采用、结果证据与复盘保存在独立 SQLite 中。
- 目录页:https://www.skillhub.cn/plugins/XiaoZheBrother/dsh-game-agent
- 源码:https://github.com/XiaoZheBrother/dsh-game-agent
核心功能¶
下面按 README 已写明的能力归纳,不扩展未验收项。
工具化游戏操作¶
Agent 通过工具选择与执行驱动对局,而不是在聊天里硬编码宏命令。工具执行正确不等于策略有效;插件侧会把经验、反例与修订历史分开记录。
观众指令与自主决策¶
观众指令优先于自主决策。聊天内容只进入回复队列,与游戏执行分路处理,避免「说完话顺带乱点单位」的耦合。
经验与复盘(SQLite)¶
经验条目含来源、适用情境、采用记录、结果证据、反例和修订历史。复盘逐项校验:合格项保留,错误项可重试且有上限。数据库使用 WAL 与短事务。游戏专用经验暂由本插件管理;通用经验接口在 dsh-agent-growth 中,尚未自动迁移两者数据库。README 注明未进行真实模型对局验收。
直播布局与内置舞台¶
游戏模式已包含直播能力:同一直播间只启用游戏插件或直播插件中的一个。控制台默认 http://127.0.0.1:3098/;直播素材地址为 http://127.0.0.1:3098/?view=stream&audio=direct&layout=game。README 中的联调截图展示早期布局(左侧游戏、右侧角色与账本),Live2D 与游戏资源需自行准备,不随插件分发。
配套 dsh-live-studio 0.2.0-alpha.3 起可配置本地 model 与 cubismCore,将游戏画面嵌入内置舞台;未填写时仍走原有 jingyuUrl。模型与 Cubism Core 不随包分发。
自动续局¶
自动续局依赖支持保留速度设置的修改版游戏客户端;游戏资产必须自行提供。自主控制默认暂停,需在控制台确认资源、频道和对局状态后再开启。
依赖与版本¶
| 项 | 说明 |
|---|---|
| Node.js | >=22.19.0(package.json engines) |
| 同级插件 | dsh-live-studio ^0.2.0-alpha.3 |
| 兼容说明 | 可与直播插件 0.2.0-alpha.1 组合安装;游戏战略、经验和自动续局行为不变 |
| Python / 技能目录 | 需同版本 dsh-live-studio 的 Python 依赖;另需 Node.js 与含 scripts/ra2ctl.mts、node_modules/tsx 的游戏控制技能目录 |
| 适配器 | 包内 adapters/ra2 提供固定上游版本的补丁与构建步骤;客户端与游戏资源需另行构建并导入 |
先安装并验证对应游戏适配器,再启用本插件。
安装与启用¶
官方 README 给出的安装路径是本地开发包(npm pack 生成 tgz),不是凭仓库名拼接 dsh plugin add github:...。
- 在源码目录执行
npm pack,得到 tgz 的绝对路径。 - 先把同版本直播插件 tgz 安装到同一 DSH profile。
- 再安装游戏插件 tgz;安装不会自动启用。
PowerShell 示例(路径按你的环境替换):
$env:DSH_HOME = 'D:\my-agent-data'
dsh plugin --profile web add '<生成的 tgz 绝对路径>'
注意:开发包不得覆盖正在运行的旧任务,请先停掉旧实验启动器;填写配置后再设 enabled。目前不提供稳定版 Release。
配置要点¶
沿用直播插件的 home、persona、python、jingyuUrl、room、credential、ledger 等配置,并为游戏插件增加:
| 字段 | 含义 |
|---|---|
enabled |
默认 false |
port |
默认 3098 |
gameSkill |
含 scripts/ra2ctl.mts 与 node_modules/tsx 的技能绝对路径 |
experience |
游戏经验 SQLite 路径;沿用原文件可保留全部经历 |
channel |
游戏频道,默认 1 |
本地舞台(可选,配合 dsh-live-studio):配置 model 目录与 cubismCore SDK 文件路径后,可无需另外启动鲸语;两项未填则仍用 jingyuUrl。
典型用法流程¶
- 安装并校验
adapters/ra2对应客户端与ra2ctl技能目录。 - 在同一 profile 装好
dsh-live-studio与本插件,停掉旧启动器后写入上述配置,enabled保持false直至资源就绪。 - 打开
http://127.0.0.1:3098/控制台,确认频道与对局状态后开启自主控制。 - 推流或预览使用
http://127.0.0.1:3098/?view=stream&audio=direct&layout=game。 - 需要自动续局时,确认修改版客户端支持保留速度设置。
适用场景与注意¶
适合谁: 已在 DSH 上跑直播栈、愿意维护修改版红警 2 网页控制链路与 ra2ctl 技能目录的开发者;需要观众指令插队、可追溯复盘与经验 SQLite 的 Agent 实验。
务必注意:
- alpha 预览,尚未切换生产;默认
enabled: false。 - 插件与 DSH 同进程权限,安装前检查源码与 MIT 许可证。
- 不与直播插件同开于同一房间;游戏资产、Live2D、Cubism 均需自备。
- SkillHub 为社区目录,与 DeepSeek / 幻方无官方从属关系;生态理念是「一切皆插件」,按需自行审计后再上机。
结尾¶
dsh-game-agent 把网页红警对局收成 Agent 工具链,并把观众指令、自主操作、续局与 SQLite 复盘放在同一条工作流里,适合在 DSH 上做可重复的直播+策略实验。详情见 SkillHub 目录页 与 GitHub 仓库。