Skip to main content
Glama
ForgeaX-Games

@forgeax/dsh-game

Official

@forgeax/dsh-game

npm ci DSH bundle platform

DeepSeek Harness 内での ForgeaX ゲーム開発。 これは DSH バンドルです。プロファイルにインストールすると、既に公開されている @forgeax/game MCP サーバー、同梱の ForgeaX Skills、 およびワークスペースガードを DSH セッションに配線するパッチレイヤーが 1 つ追加されます。

ゲームロジックや ForgeaX のコピーは含まれていません。pnpm が隣にインストールした @forgeax/game パッケージを解決し、その同一性を検証して接続します。

得られるもの

サーフェス

効果

ツール

mcp__forgeax__forgeax_status_lite、mcp__forgeax__forgeax_run_current_game

スキル

forgeax-game に加え、解決されたパッケージに同梱されるすべての forgeax-engine-* スキルが、起動時に ctx.skills に登録されます

ガード

target_dir が現在のセッションの cwd ではないすべての mcp__forgeax__* 呼び出しは拒否されます。比較対象となるセッション cwd を持たない呼び出し(Code Mode、ネストされたディスパッチ)は、存在チェック後に許可され、モデルには完全にはチェックされなかったことが伝えられます

forgeax-game devkit install は実行しないでください。このバンドルはスキルを直接登録します。 インストーラーも実行すると、DSH が読み取ることのない重複コピーがリポジトリに残るだけです。

Related MCP server: dsh-orchestrator

要件

  • macOS arm64、Linux x64、または Windows x64。 このバンドルは純粋な JS であり、os/cpu を宣言しません。 プラットフォームの到達範囲は @forgeax/game から継承します。@forgeax/game の @forgeax/game-runtime は、プラットフォームごとに 1 つの optionalDependencies エントリとしてネイティブバイナリを提供します。 お使いのマシンには一致するものだけがインストールされます。公開されたバリアントがないプラットフォーム (Intel Mac、ARM Linux、ARM Windows)ではインストールは正常に完了しますが、ランタイムの起動時に @forgeax/game 単体の場合とまったく同様に失敗します。

  • PATH 上の pnpm。 dsh plugin は薄い pnpm フォワーダーです。pnpm がない場合は 127 で終了します。

  • Node ≥ 22(DSH と一致)。

インストール

dsh plugin は指定された 1 つのプロファイルにインストールし、自己アクティブ化します。このパッケージが dsh.bundle を宣言しているため、依存関係として追加すると、そのプロファイルの dsh.profile.bundles レイヤースタックにも追加されます。

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

--profile は必須です。DSH には暗黙のデフォルトプロファイルがなく、レイヤースタックは プロファイルごとに存在します。ForgeaX を有効にしたいすべてのプロファイルに対してコマンドを繰り返してください。

その後、dsh を再起動してください。 バンドルレイヤーは起動時に一度だけ読み取られます。監視されるのは プロファイル自身のユーザーパッチファイルのみです。追加したばかりのバンドルは、次回起動まで無効です。

再起動後に確認します:

dsh --profile web
# then, in the session:
#   ask for the ForgeaX status — the model should call mcp__forgeax__forgeax_status_lite

設定

このバンドルが挿入する 4 つの行は、すべて名前空間化されているため、他のバンドルと衝突することはありません:

行 ID

モジュール

目的

forgeax-game.launch-spec

@forgeax/dsh-game/launch-spec

@forgeax/game を解決・検証し、forgeaxGameLaunch サービスを公開します

forgeax-game.mcp-client

@deepseek-ai/dsh-mcp-client

stdio ブリッジ、serverName: forgeax

forgeax-game.skill-source

@forgeax/dsh-game/skill-source

パッケージのスキルを登録します

forgeax-game.workspace-guard

@forgeax/dsh-game/workspace-guard

ツールポリシー: tools/pre-execute で拒否し、tools/post-execute で検証不能な呼び出しを報告します

リゾルバー自体は 5 番目のモジュール @forgeax/dsh-game/forgeax-package にあり、フレームワークをインポートしません。 来歴ツールは、インストール済みプロファイルからこれを読み込むことができます。そこでは DSH パッケージは ピアであり、プロファイルが 2 番目のコピーをインストールすることはありません。

何かを変更するには、プロファイルのユーザーパッチファイルに同じ ID の行を追加します。 パッチは対象行の config 全体を置き換えます(ディープマージはありません)。そのため、 保持したいすべてのフィールドを再度記述する必要があります。たとえば、ツール呼び出しのタイムアウトを短縮するには:

# $DSH_HOME/profiles/web/cordis.patch.yml
- insert:
    - id: forgeax-game.mcp-client
      name: '@deepseek-ai/dsh-mcp-client'
      inject:
        - forgeaxGameLaunch
      config:
        serverName: forgeax
        transport: stdio
        command: !!js ctx.forgeaxGameLaunch.spec.command
        args: !!js ctx.forgeaxGameLaunch.spec.args
        cwd: !!js ctx.forgeaxGameLaunch.spec.cwd
        env: !!js ctx.forgeaxGameLaunch.spec.env
        failOnStartupError: true
        toolCallTimeoutMs: 120000
        reconnect:
          enabled: true

知っておくべき制限

  • ツールのみ。 DSH の MCP クライアントはツールをブリッジしますが、リソースはブリッジしません。forgeax://status は DSH セッションでは到達できません。mcp__forgeax__forgeax_status_lite が同じ状態を返します。 登録されたスキルはその旨を明記しているため、モデルはリソースを試みません。

  • 推移的なバンドルはありません。 dsh.profile.bundles に直接リストされたパッケージのみが パッチレイヤーを提供します。このバンドルに依存するバンドルは、その行を継承しません。

  • 一度きりの ForgeaX 操作は CLI 上で行います。 ゲームの作成、アクティブなゲームの切り替え、 プラグインのアップグレードは forgeax-game <init|use|doctor|devkit|upgrade> サブコマンドであり、MCP ツールではありません。

障害モード

症状

原因

dsh plugin が 127 で終了する

pnpm が PATH にない

クリーンインストール後にランタイムが起動しない

このプラットフォーム用の @forgeax/game-runtime バリアントがない(Intel Mac、ARM Linux、ARM Windows)— まだ公開されていません

pnpm が git ホストのスペックの prepare を拒否する

<profileDir>/pnpm-workspace.yaml の allowBuilds で許可リストに追加する(pnpm ≥ 10)

インストール後に ForgeaX ツールが表示されない

dsh が再起動されていない

launch-spec エラーで起動に失敗する

解決された @forgeax/game が固定バージョンと一致しない、または同梱のスキルアセットが欠落している — 回避策でパッチを当てるのではなく再インストールする

failOnStartupError は意図的に true です。MCP サーバーが起動しなかった ForgeaX セッションは 劣化ではなく破損であり、起動時のエラーは最初のツール呼び出しでの謎のエラーよりも読みやすいためです。

セキュリティ

  • 子プロセスは env: {} で起動されます。DSH は親環境をスクラブし、config.env をスクラブ後に マージします。そのため、そこにリストされたものは、ハーネスが削除したばかりのシークレットを再注入することになります。

  • ワークスペースガードは target_dir を realpath 解決後にセッション cwd と比較します。シンボリックリンクや .. が 無効化する文字列プレフィックス比較は決して行いません。

  • このバンドルは API キー、トークン、シークレット値を読み取り、保存、ログ記録しません。

変更履歴

ユーザーに表示されるすべての変更は CHANGELOG.md に記録されています。貢献するには CONTRIBUTING.md を参照してください。脆弱性を報告するには SECURITY.md を参照してください。

ライセンス

MIT

Related MCP Connectors

Related MCP Servers