77 lines
3.3 KiB
Markdown
77 lines
3.3 KiB
Markdown
# ProjectCapture Blockbench MCP
|
|
|
|
Diese Werkzeugkette erzeugt aus dem exakt gepinnten Blockbench-MCP-Upstream
|
|
einen gehärteten, reproduzierbaren Entwicklungs-Build. Sie installiert nichts
|
|
automatisch in Blockbench oder Codex und speichert keine Geheimnisse im
|
|
Repository.
|
|
|
|
## Sicherheitsprofil
|
|
|
|
- Serverbindung ausschließlich an `127.0.0.1`.
|
|
- Jede HTTP-, Health- und MCP-Anfrage benötigt einen Bearer-Token aus
|
|
`PROJECTCAPTURE_BLOCKBENCH_TOKEN` (mindestens 32 Zeichen).
|
|
- Alle Dateiimporte und -exporte liegen unter dem absoluten Verzeichnis aus
|
|
`PROJECTCAPTURE_ASSET_ROOT`; absolute Pfade, `..`, falsche Dateiendungen,
|
|
Symlink-Eltern und Symlink-Ziele werden abgewiesen.
|
|
- Die Werkzeugregistrierung ist fail-closed. `risky_eval`, frei wählbare
|
|
Blockbench-Actions, Klicksimulation, URL-Importe, beliebige Exporte und
|
|
App-Screenshots werden nicht über MCP registriert.
|
|
- Netzwerkgeladene MCP-Prompts sind im gehärteten Build entfernt.
|
|
- Codex erhält zusätzlich eine explizite Werkzeug-Allowlist aus
|
|
`examples/codex-config.toml`.
|
|
|
|
## Reproduzierbarer Ablauf
|
|
|
|
Voraussetzungen sind `git`, `pnpm` und ein POSIX-Shell-Umfeld. Bun wird über
|
|
`pnpm dlx bun@1.3.14` exakt gepinnt und nur im Paketmanager-Cache verwendet.
|
|
|
|
```sh
|
|
./scripts/test.sh
|
|
./scripts/build.sh
|
|
./scripts/stage-hytale-plugin.sh
|
|
```
|
|
|
|
`test.sh` klont Commit `6b069e3…` in ein temporäres Verzeichnis, prüft den
|
|
Patch-Hash, wendet den Patch an und führt die automatisierten Tests aus.
|
|
`build.sh` wiederholt diese Prüfung, baut anschließend das Plugin und legt nur
|
|
reviewbare Artefakte plus SHA-256-Datei in `dist/` ab.
|
|
`stage-hytale-plugin.sh` holt ausschließlich den gepinnten offiziellen
|
|
Hytale-Plugin-Commit und prüft dessen bereits veröffentlichtes Distributionsfile
|
|
gegen den Lock-Hash.
|
|
|
|
## Lokale Laufzeitwerte
|
|
|
|
Der gehärtete Build startet absichtlich nicht, solange beide Variablen fehlen:
|
|
|
|
```sh
|
|
export PROJECTCAPTURE_BLOCKBENCH_TOKEN='<zufälliger Token, nicht committen>'
|
|
export PROJECTCAPTURE_ASSET_ROOT='/absoluter/Pfad/zu/ProjectCapture/devtools/blockbench-assets'
|
|
```
|
|
|
|
Mit `scripts/create-local-env.sh AUSGABEDATEI ASSET_ROOT` kann außerhalb des
|
|
Repositories eine Datei mit Modus `0600` erzeugt werden. Das Skript verweigert
|
|
Ausgaben innerhalb dieses Git-Arbeitsbaums. Die Datei wird nicht automatisch
|
|
geladen und nicht in Codex eingetragen.
|
|
|
|
## Review und Installation
|
|
|
|
Nach erfolgreichem Review kopiert
|
|
`scripts/install-reviewed.sh --i-reviewed-gpl ZIELVERZEICHNIS` die beiden
|
|
geprüften JavaScript-Dateien in ein ausdrücklich angegebenes Verzeichnis. Das
|
|
Skript verändert keine Codex-Konfiguration. Die Vorlage
|
|
`examples/codex-config.toml` muss separat und mit
|
|
`bearer_token_env_var` übernommen werden; ein Tokenwert gehört nie in TOML.
|
|
|
|
## Hytale-Werkzeuge
|
|
|
|
Der Patch ergänzt sichere Werkzeuge für Capability-Probe, Hytale-Projekterzeugung,
|
|
Validierung, PNG-Import/-Export, `.bbmodel`, `.blockymodel`, `.blockyanim` und
|
|
Attachments. Gruppen-Defaults, Texturflags, Datenpunkte von Keyframes,
|
|
asynchrones Codec-Kompilieren sowie Quad-Normalen/-Flächen und Flat-Shading sind
|
|
korrigiert.
|
|
|
|
Der statische Build und die automatisierten Tests ersetzen nicht das Live-Gate:
|
|
Nach Installation müssen Blockbench 5.0.7 und Hytale Models 0.9.1 gemeinsam ein
|
|
neutrales Testwesen öffnen, speichern, neu laden und in alle drei Formate
|
|
exportieren. Erst danach gilt das Asset-Gate als bestanden.
|