Skip to content

Datenformat

Lucas Greuloch (greluc) edited this page Sep 27, 2026 · 6 revisions

Das JSON-Datenformat

Beide Workflows erzeugen eine JSON-Datei. Diese Seite beschreibt ihren Aufbau — nützlich, wenn du die Daten weiterverarbeiten oder nachvollziehen möchtest, was exportiert (bzw. gesendet) wird.

Die JSON wird lesbar formatiert geschrieben. Zeitstempel sind in UTC. Numerische Konto-IDs (geid/accountId) sind absichtlich nicht enthalten.


Blueprints — blueprints.json (Format basetool.blueprints 1.0)

Seit Version 2.10.0 ist die Blueprint-Datei das Austauschformat des Basetools — dieselbe Form, die auch „An Basetool senden" überträgt. Sie enthält nur die Blueprints des gewählten Spielkontos, jedes Produkt einmal.

{
  "format": "basetool.blueprints",
  "formatVersion": "1.0",
  "generator": { "name": "basetool-sc-extractor", "version": "…" },
  "generatedAt": "2026-09-27T12:00:00Z",           // wann die Datei geschrieben wurde (UTC)
  "items": [
    {
      "ref": { "name": "Yubarev \"Mirage\" Pistol" }, // exakter Item-Name (inkl. Anführungszeichen)
      "acquiredAt": "2026-03-26T16:49:31.050Z",       // frühester Erhalt, den ein Log belegt (UTC)
      "provenance": { "source": "log", "observedAt": "2026-03-26T16:49:31.050Z" }
    },
    {
      "ref": { "locKey": "Nozzle_FuelGiver_Name", "name": "Tankdüse Secure" },
      "acquiredAt": "2026-03-26T16:50:31.050Z",
      "provenance": { "source": "log", "observedAt": "2026-03-26T16:50:31.050Z" }
    }
    // … ein Eintrag pro Produkt, chronologisch …
  ]
}

Felder

Feld Bedeutung
format / formatVersion Immer basetool.blueprints und 1.0.
generator Die App und ihre Version.
generatedAt Erstellzeitpunkt der Datei (UTC).
items[] Ein Eintrag pro Blueprint-Produkt, chronologisch (höchstens 2000).
ref.name Der Name, wortgetreu, wie dein Spiel ihn schreibt — samt eventueller Kürzel eines Sprachpakets.
ref.locKey Nur gesetzt, wenn dem Spiel die Übersetzung fehlte und es einen internen Schlüssel (@Item_Name_…) schrieb: der Schlüssel ohne @. name trägt dann den Namen aus den Sprachdateien deiner Installation; findet sich keiner, fehlt name.
acquiredAt Der früheste Erhalt, den ein Log belegt. Kommt ein Blueprint mehrmals vor, zählt der erste.
provenance Immer source: "log".

Was bewusst fehlt: kein Spieler-Handle, kein Spielkonto, kein Channel-Ordner (ein vollständiger Pfad kann deinen Windows-Benutzernamen enthalten) und keine Log-Dateinamen. Auch Kategorie, Build-Nummer und Notification-Index bleiben in der App — das Basetool braucht sie nicht.

Ältere Dateien. Versionen bis 2.9.1 schrieben ein anderes Format ({"schemaVersion": 1, …, "blueprints": [ … ]} mit Handle und Ordnern). Der Import unter Meine Blueprints → „JSON importieren" liest beide Formate.

In der App zeigt die Zusammenfassung zu jedem Blueprint zusätzlich eine Kategorie, heuristisch aus dem Namen abgeleitet — das Log nennt keine: MiningTool · Ammo (Magazine/Batterien) · Armor (Helm/Core/Arme/Beine/…) · Weapon (Pistol/Rifle/Shotgun/…) · Other. Sie steht nicht in der Datei.


Refinery — RefineryExtract.json (RefineryExtract)

Enthält genau einen Auftrag (das Basetool importiert einen Auftrag pro Datei). Erprobt ist der englische Spiel-Client. Läuft deine Installation laut user.cfg auf Deutsch, nennt die App dem Modell zusätzlich die deutschen Beschriftungen des Sprachpakets; Material- und Methodennamen bleiben dort englisch, deshalb steht clientLanguage immer auf "en". Mit deutschen Aufnahmen gemessen ist das noch nicht — schick uns gern eine.

{
  "schemaVersion": 1,
  "tool": "basetool-sc-extractor",
  "toolVersion": "2.9.1",
  "model": "qwen3-vl:8b-instruct",          // welches KI-Modell die Werte gelesen hat
  "generatedAt": "2026-06-06T18:12:00Z",    // UTC
  "clientLanguage": "en",
  "orders": [
    {
      "panelType": "SETUP",                 // ausgelesen wird die SETUP-Ansicht
      "quoted": true,                       // false = vor „GET QUOTE" aufgenommen
      "layoutConfidence": 0.95,             // Gesamt-Konfidenz (0..1)
      "rawLocationName": "ARC-L1 …",        // Stations-/Outpost-Name (null bei vorgecroppt)
      "rawMethodName": "FERRON EXCHANGE",   // Raffinations-Methode
      "rawInManifestTotal": 12345,          // „IN MANIFEST"-Gesamtwert (Prüfsumme)
      "rawToRefineTotal": 11890,            // „TO REFINE"-Gesamtwert (zentraler Anker)
      "expenses": 5421.0,                   // Gesamtkosten in aUEC (null ohne Quote)
      "durationMinutes": 1258,              // Dauer in Minuten (aus z. B. „20H 58M")
      "totalYieldScu": null,                // nur in der PROCESSING-Ansicht relevant
      "sourceImages": [
        {
          "name": "Screenshot 2026-06-06 181200.png",
          "width": 3840, "height": 2160,
          "cropMode": "vlm",                // "vlm" | "precropped" | "manual"
          "capturedAt": "2026-06-06T18:12:00Z" // Aufnahmezeit (null, wenn unbekannt)
        }
      ],
      "goods": [
        {
          "rowIndex": 0,                    // Reihenfolge auf dem Bildschirm (oben = 0)
          "rawMaterialName": "QUANTANIUM (ORE)",
          "quality": 820,                   // 0..1000 (null möglich)
          "inputQuantity": 185,             // Eingesetzte Menge (null möglich)
          "outputQuantity": 142,            // Ausbeute (null ohne Quote / bei OFF)
          "refine": true,                   // true = ON, false = OFF/inert
          "confidence": 0.95,               // Konfidenz dieser Zeile (0..1)
          "sourceImage": "Screenshot 2026-06-06 181200.png"
        }
        // … weitere Materialzeilen …
      ]
    }
  ]
}

Felder (Auftrag)

Feld Bedeutung
panelType Immer SETUP (die geplante Auftrags-Ansicht).
quoted false, wenn vor GET QUOTE aufgenommen (dann fehlen Ausbeute/Kosten/Dauer).
layoutConfidence Gesamt-Konfidenz (Mittel der Zeilen), 0..1 — entspricht „Layout … %".
rawLocationName Stations-/Outpost-Name; null bei vorgeschnittenen Panel-Bildern.
rawMethodName Raffinations-Methode (z. B. FERRON EXCHANGE).
rawInManifestTotal / rawToRefineTotal Gesamtwerte aus der Kopfzeile (Prüfsummen).
expenses Gesamtkosten in aUEC; null ohne Quote.
durationMinutes Bearbeitungsdauer in Minuten.
sourceImages[] Die verwendeten Screenshots inkl. Aufnahmezeit.
goods[] Die Materialzeilen in Bildschirm-Reihenfolge.

Felder (Materialzeile)

Feld Bedeutung
rawMaterialName Materialname wortgetreu (evtl. mit (ORE)/(RAW); auch eine vom Spiel abgeschnittene Schreibweise bleibt erhalten).
quality Qualität 0..1000 (null möglich; 0 ist gültig).
inputQuantity Eingesetzte Menge.
outputQuantity Ausbeute; null ohne Quote oder bei OFF-Zeilen.
refine true = ON, false = OFF.
confidence Konfidenz dieser Zeile (0..1) — steuert die Markierung im Review.

Mehr zur Bedeutung dieser Werte und der Konfidenz: Review & Auffälligkeiten verstehen.

Beim Senden überträgt die App denselben Auftrag, lässt aber die Felder weg, die sie nicht ablesen konnte (statt sie als null zu schicken). Die gespeicherte Datei enthält weiterhin jedes Feld.


Siehe auch: Workflow: Blueprints · Workflow: Refinery · Datenschutz

Clone this wiki locally