@forgeax/dsh-game:把 ForgeaX 游戏工具接入 DSH profile

前言

DeepSeek Harness(DSH)按 profile 管理插件层。若想在 DSH 会话中使用 ForgeaX 游戏工具,需要把已发布的 @forgeax/game MCP server、包内携带的 ForgeaX Skills,以及 workspace guard 同时挂到同一个 profile。手动拼配置容易漏掉工具名、服务名或技能注册。

@forgeax/dsh-game 是面向这个场景的 DSH bundle:安装到命名 profile 后,它把 @forgeax/game MCP server、其 bundled ForgeaX Skills 和 workspace guard 接入 DSH 会话。

这是什么

  • 包名:@forgeax/dsh-game
  • GitHub 仓库路径:https://github.com/ForgeaX-Games/forgeax-dsh-game-plugin
  • 许可证:MIT
  • 定位:DSH bundle,用于把 @forgeax/game MCP server、其 bundled ForgeaX Skills 和 workspace guard 接入 DSH profile。

它本身是纯 JS bundle,不含游戏逻辑,也不包含 ForgeaX 副本。它解析并验证已发布的 @forgeax/game,发布 forgeaxGameLaunch 服务,再由 DSH 会话使用。

核心功能

下面介绍它提供的主要能力:

1、将已发布的 @forgeax/game MCP server 接入 DSH 会话。

2、注册 forgeax-game 以及已解析包内携带的 forgeax-engine-* Skills。

3、暴露两个工具:

mcp__forgeax__forgeax_status_lite
mcp__forgeax__forgeax_run_current_game

4、提供 workspace guard:拒绝 mcp__forgeax__* 调用中 target_dir 不等于当前会话 cwd 的调用。

5、解析并验证 @forgeax/game,发布 forgeaxGameLaunch 服务。

安装前检查

先确认环境满足条件:

1、平台为 macOS arm64、Linux x64 或 Windows x64。Intel Mac、ARM Linux、ARM Windows 可安装,但 runtime 启动时会失败。

2、pnpmPATH 中。若缺少 pnpmdsh plugin 会退出码 127

3、Node 版本 ≥ 22

4、准备一个命名 profile。--profile 是必填项,DSH 没有隐式默认 profile。

同时检查信任边界:该 bundle 会解析并验证 @forgeax/game,并在 DSH 会话中接入相关子进程。请把它当作以当前 dsh 进程权限运行的本地组件,在安装前检查源码与许可证。

按已核实资料,该 bundle 不读取、存储或记录 API key、token 或 secret 值;子进程以 env: {} 启动,DSH 清除父环境后再合并 config.env

安装与启用

安装到命名 profile:

dsh plugin --profile web add @forgeax/dsh-game

如果多个 profile 都要使用,需要对每个 profile 重复执行一次。

安装完成后重启 dsh

dsh --profile web

bundle layers 只在启动时读取一次;新加的 bundle 在下次启动前不生效。

典型用法

查询 ForgeaX 状态

启动 dsh --profile web 后,在会话中请求 ForgeaX 状态。模型应调用:

mcp__forgeax__forgeax_status_lite

注意 DSH MCP 只桥接 tools,不桥接 resources;forgeax://status 在 DSH 会话中不可达。

运行当前游戏

该 bundle 暴露的工具中包含:

mcp__forgeax__forgeax_run_current_game

可在 DSH 会话中作为 ForgeaX 游戏运行入口调用。

一次性操作仍走 CLI

一次性 ForgeaX 操作仍使用 CLI:

forgeax-game <init|use|doctor|devkit|upgrade>

配置修改

如果要修改 bundle 插入的某一行,需要在 profile 的 user patch file 中插入相同 id 的行。例如修改:

id: forgeax-game.mcp-client
field: toolCallTimeoutMs

具体 patch 写法以 DSH profile patch 规则为准;修改后需要重启 dsh 才会生效。

适用场景与注意

适合这些场景:

  • 需要在 DSH 会话中调用 ForgeaX 游戏工具。
  • 希望把 @forgeax/game MCP server、ForgeaX Skills、workspace guard 收敛到同一个 profile。
  • 希望避免在 DSH 里手工维护重复 Skills 安装。

使用注意:

1、不支持 transitive bundles。只有直接列在 dsh.profile.bundles 的包贡献 patch layer;依赖该 bundle 的其他包不会自动继承它的行。

2、不要运行 forgeax-game devkit install。该 bundle 直接注册 Skills;同时运行安装器只会留下 DSH 不读取的重复副本。

3、workspace guard 对无法取得 session cwd 的 mcp__forgeax__* 调用(例如 Code Mode、nested dispatch)会在存在性检查后允许,并告知模型未被完全检查。

4、DSH 会话只暴露 tools;不要依赖 forgeax://status 这类 resource。

5、环境传递以 DSH 子进程配置为准:子进程以 env: {} 启动,之后合并 config.env

结尾

@forgeax/dsh-game 的价值在于把 @forgeax/game 的 MCP server、ForgeaX Skills 和 workspace guard 接入 DSH profile,使 DSH 会话可以调用 mcp__forgeax__forgeax_status_litemcp__forgeax__forgeax_run_current_game

GitHub 仓库:https://github.com/ForgeaX-Games/forgeax-dsh-game-plugin

目录页:已核实资料中没有目录页 URL;如需从 DSH 社区目录安装,请按包名 @forgeax/dsh-game 查找。

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

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

小夜