Skip to main content
Glama
ForgeaX-Games

@forgeax/dsh-game

Official

@forgeax/dsh-game

npm ci DSH bundle platform

ForgeaX-Spieleentwicklung innerhalb von DeepSeek Harness. Dies ist ein DSH-Bundle: Die Installation in ein Profil fügt eine Patch-Ebene hinzu, die den bereits veröffentlichten @forgeax/game MCP-Server, seine gebündelten ForgeaX-Skills und eine Workspace-Schutzfunktion in Ihre DSH-Sitzung einbindet.

Es enthält keine Spiellogik und keine Kopie von ForgeaX. Es löst das @forgeax/game-Paket auf, das pnpm daneben installiert hat, überprüft dessen Identität und verbindet es.

Was Sie erhalten

Oberfläche

Effekt

Tools

mcp__forgeax__forgeax_status_lite, mcp__forgeax__forgeax_run_current_game

Skills

forgeax-game sowie jeder im aufgelösten Paket enthaltene forgeax-engine-*-Skill, der beim Start auf ctx.skills registriert wird

Schutz

Jeder mcp__forgeax__*-Aufruf, dessen target_dir nicht dem aktuellen Sitzungs-Arbeitsverzeichnis (cwd) entspricht, wird abgelehnt. Ein Aufruf ohne vergleichbares Sitzungs-cwd (Code-Modus, verschachtelte Ausführung) wird nach einer Existenzprüfung zugelassen, und dem Modell wird mitgeteilt, dass er nicht vollständig geprüft wurde

Sie führen nicht forgeax-game devkit install aus. Dieses Bundle registriert die Skills direkt; das zusätzliche Ausführen des Installers hinterlässt nur doppelte Kopien in Ihrem Repository, die DSH nie liest.

Related MCP server: dsh-orchestrator

Anforderungen

  • macOS arm64, Linux x64 oder Windows x64. Dieses Bundle ist reines JS und deklariert kein os/cpu; es erbt seine Plattformabdeckung von @forgeax/game, dessen @forgeax/game-runtime ein natives Binärpaket als einen optionalDependencies-Eintrag pro Plattform enthält. Ihre Maschine installiert nur das passende. Plattformen ohne veröffentlichte Variante (Intel-Mac, ARM-Linux, ARM-Windows) installieren sauber, schlagen jedoch beim Start der Laufzeit fehl, genau wie @forgeax/game allein.

  • pnpm im PATH. dsh plugin ist ein dünner pnpm-Weiterleiter; ohne pnpm wird mit 127 beendet.

  • Node ≥ 22, passend zu DSH.

Installation

dsh plugin installiert in ein benanntes Profil und aktiviert sich selbst: Da dieses Paket dsh.bundle deklariert, wird es beim Hinzufügen als Abhängigkeit auch zum Layer-Stack dsh.profile.bundles dieses Profils hinzugefügt.

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

--profile ist obligatorisch – DSH hat kein implizites Standardprofil, und der Layer-Stack ist pro Profil. Wiederholen Sie den Befehl für jedes Profil, das ForgeaX haben soll.

Starten Sie dann dsh neu. Bundle-Layer werden beim Start einmal gelesen; nur die eigene Benutzer-Patch-Datei des Profils wird überwacht. Ein frisch hinzugefügtes Bundle ist bis zum nächsten Start wirkungslos.

Überprüfen Sie nach dem Neustart:

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

Konfiguration

Die vier Zeilen, die dieses Bundle einfügt, alle mit Namensraum versehen, sodass sie nie mit einem anderen Bundle kollidieren können:

Zeilen-ID

Modul

Zweck

forgeax-game.launch-spec

@forgeax/dsh-game/launch-spec

Löst @forgeax/game auf und verifiziert es, veröffentlicht den Dienst forgeaxGameLaunch

forgeax-game.mcp-client

@deepseek-ai/dsh-mcp-client

stdio-Brücke, serverName: forgeax

forgeax-game.skill-source

@forgeax/dsh-game/skill-source

Registriert die Skills des Pakets

forgeax-game.workspace-guard

@forgeax/dsh-game/workspace-guard

Tool-Richtlinie: lehnt bei tools/pre-execute ab, meldet einen nicht verifizierbaren Aufruf bei tools/post-execute

Der Resolver selbst befindet sich in einem fünften Modul, @forgeax/dsh-game/forgeax-package, das kein Framework importiert. Herkunfts-Tools können es aus einem installierten Profil laden, wo die DSH-Pakete Peers sind, von denen das Profil nie eine zweite Kopie installiert.

Um etwas zu ändern, fügen Sie eine Zeile mit der gleichen ID zu Ihrer Benutzer-Patch-Datei des Profils hinzu. Ein Patch ersetzt die gesamte config der betroffenen Zeile – es gibt keinen Deep Merge –, daher müssen Sie jedes Feld, das Sie behalten möchten, erneut angeben. Um beispielsweise das Timeout für Tool-Aufrufe zu verkürzen:

# $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

Wissenswerte Einschränkungen

  • Nur Tools. Der MCP-Client von DSH überbrückt Tools, nicht Ressourcen. forgeax://status ist in einer DSH-Sitzung nicht erreichbar; mcp__forgeax__forgeax_status_lite liefert denselben Zustand. Der registrierte Skill weist darauf hin, sodass das Modell die Ressource nicht versucht.

  • Keine transitiven Bundles. Nur Pakete, die direkt in dsh.profile.bundles aufgeführt sind, tragen eine Patch-Ebene bei. Ein Bundle, das von diesem abhängt, erbt dessen Zeilen nicht.

  • Einmalige ForgeaX-Operationen bleiben in der CLI. Das Erstellen eines Spiels, das Wechseln des aktiven Spiels und das Aktualisieren des Plugins sind Unterbefehle von forgeax-game <init|use|doctor|devkit|upgrade>, keine MCP-Tools.

Fehlerfälle

Symptom

Ursache

dsh plugin beendet mit 127

pnpm nicht im PATH

Laufzeit startet nach sauberer Installation nicht

keine @forgeax/game-runtime-Variante für diese Plattform (Intel-Mac, ARM-Linux, ARM-Windows) – noch keine veröffentlicht

pnpm verweigert das prepare einer git-gehosteten Spezifikation

Erlauben Sie es unter allowBuilds in <profileDir>/pnpm-workspace.yaml (pnpm ≥ 10)

ForgeaX-Tools fehlen nach der Installation

dsh nicht neu gestartet

Start schlägt mit einem Launch-Spec-Fehler fehl

das aufgelöste @forgeax/game entspricht nicht der festgelegten Version oder es fehlen gebündelte Skill-Assets – neu installieren statt herumzupatchen

failOnStartupError ist absichtlich true: Eine ForgeaX-Sitzung, deren MCP-Server nie gestartet wurde, ist defekt, nicht beeinträchtigt, und ein Fehler beim Start ist leichter zu lesen als ein Rätsel beim ersten Tool-Aufruf.

Sicherheit

  • Der Kindprozess wird mit env: {} gestartet. DSH bereinigt die übergeordnete Umgebung und führt config.env nach der Bereinigung zusammen, sodass alles, was dort aufgeführt ist, ein Geheimnis wieder einfügen würde, das die Umgebung gerade entfernt hat.

  • Der Workspace-Schutz vergleicht target_dir mit dem Sitzungs-cwd nach realpath-Auflösung – niemals per String-Präfix, das durch Symlinks und .. umgangen werden kann.

  • Kein API-Schlüssel, Token oder geheimer Wert wird von diesem Bundle gelesen, gespeichert oder protokolliert.

Änderungsprotokoll

Jede für Benutzer sichtbare Änderung ist in CHANGELOG.md festgehalten. Zum Mitwirken siehe CONTRIBUTING.md; um eine Sicherheitslücke zu melden, siehe SECURITY.md.

Lizenz

MIT

Related MCP Connectors

Related MCP Servers