Vorschau · Entwicklungsstand 1.6.1
Jobs und Konfigurationen als JSON
Entwickler- und Agenten-Doku
Die App speichert Jobs, Makros und Automationen als getrennte UTF-8-JSON-Dateien. Diese Anleitung beschreibt den aktuellen Entwicklungsstand, nicht ein beliebiges älteres Release.
Ablage und sicherer Bearbeitungsablauf
- 1Schritt 1→
Erstelle eine Kopie beziehungsweise verwende ein eigenes Testprofil. Bearbeite keine Datei gleichzeitig im geöffneten Editor und extern.
- 2Schritt 2→
Erhalte vorhandene Objekt-, Step-, Antwort- und Variablen-IDs beim Ändern. Vergib bei neuen Objekten eindeutige IDs und aktualisiere zugehörige Referenzen.
- 3Schritt 3→
Speichere gültiges UTF-8-JSON: keine Kommentare, keine nachgestellten Kommas. Windows-Pfade benötigen doppelte Backslashes im JSON oder müssen vom Serializer geschrieben werden.
- 4Schritt 4→
Lade die Datei über den vorgesehenen App-Konfigurationsweg, öffne sie im Editor und behebe die Validierungsfehler. Ein erfolgreicher JSON-Parser prüft noch keine Job-/Triggerregeln.
- 5Schritt 5Abschluss
Teste den Ablauf manuell mit angepassten Testpfaden. Aktiviere zugehörige Automationen erst danach.
Leserichtung: von oben nach unten. Die Zahlen zeigen die Reihenfolge.
Die Job-Hülle
- 1formatVersion4 für aktuelle Jobs. Keine Versionsnummer erhöhen, um alte Dateien scheinbar zu migrieren.
- 2id / nameEindeutige Job-GUID und Anzeigename. Automations-Ziele und Start-Job-Steps referenzieren die ID.
- 3repeatingBoolean: Wiederholung der Hauptphase.
- 4variables / localValuesTypisierte wiederverwendbare Variablen und direkte Step-Werte. IDs, Besitzer und Referenzen konsistent halten.
- 5startSteps / steps / endStepsGeordnete Step-Listen je Phase; jeder Step besitzt type und eine eindeutige string-ID.
- 6endPhaseTimeoutSecondsGanzzahl 1–3600; Standard 10. Zeitlimit der Endphase.
Schematische Übersicht: Beschriftungen und Werte aus der Referenz, keine nachgezeichnete Bedienoberfläche.
Die leere Hülle illustriert die Struktur; sie ist kein nützlicher ausführbarer Ablauf. Das Wertebeispiel in der Anleitung „Werte verbinden“ zeigt eine vollständige inputs/localValues-Datei.
JSON-Strukturbeispiel – bei Ausschnitten fehlt die vollständige Dateihülle.
{
"formatVersion": 4,
"id": "de2ef407-cc66-24bc-cdcd-9d258b46cc59",
"name": "Mein Job",
"repeating": false,
"variables": [],
"localValues": [],
"startSteps": [],
"steps": [],
"endSteps": [],
"endPhaseTimeoutSeconds": 10
}Step-Dateien: settings und inputs
- 1Zusammenhang 1
type ist die stabile Step-ID wie timeout, user_choice oder file_system_operation. id ist die Identität dieser Instanz; is_enabled steuert normale Aktionen. Struktur-Steps können zusätzliche abgeleitete Mitglieder wie CanBeDisabled serialisieren; sie sind keine frei nutzbaren Funktionsschalter.
- 2Zusammenhang 2
Bei aktuellen Steps mit nicht leerem inputs wird settings vom kanonischen Job-Serializer nicht zusätzlich geschrieben. Aktive Einstellungen stammen aus den Bindings und deren Quellen. Alte beziehungsweise strukturelle Defaultvorlagen mit leerem inputs besitzen weiterhin settings. Mische diese Wege nicht als zwei konkurrierende aktive Konfigurationen.
- 3Zusammenhang 3
Jede Step-Seite enthält eine vom Serializer erzeugte strukturelle Defaultvorlage und erklärt auch die verschachtelten settings-Felder. Defaultvorlagen können leere Pflichtwerte enthalten. Für einen vollständigen gültigen Job speichere einen im Editor angelegten Job.
Schematische Übersicht: Beschriftungen und Werte aus der Referenz, keine nachgezeichnete Bedienoberfläche.
Schreibweisen, Typen und Einheiten
- 1DiscriminatorJobs/Makrobefehle: type. Automations-Trigger: $type. Groß-/Kleinschreibung und stabile IDs übernehmen.
- 2EnumsViele Fachwerte sind Namen wie Copy oder Ignore. MacroRecordingMode und Hotkey-Modifier sind dagegen Zahlen. Eine globale Umwandlung aller Enums in Strings ist falsch. Die JSON-Vorlage zeigt die tatsächliche Schreibweise.
- 3TimeSpanZeichenfolge wie 00:00:01; wird zum Beispiel für Cooldown, Debounce und Verzögerungen verwendet.
- 4Zeitpunkte / UhrzeitDateTimeOffset mit Offset, z. B. 2030-01-01T08:00:00+00:00; TimeOnly z. B. 08:30:00. Zeitpunkt und tägliche Uhrzeit nicht verwechseln.
- 5ZeitenStep-Felder meist ausdrücklich *_ms / *_seconds; Makro duration ist Millisekunden, durationUs und delayBeforeUs sind Mikrosekunden.
- 6Zahlen / Booleans / nullJSON-Zahlen mit Punkt, true/false ohne Anführungszeichen. null, leere Zeichenfolge und 0 haben unterschiedliche Bedeutungen.
- 7Konfidenz / DeckkraftAnteil 0–1 im gespeicherten Zahlenwert; die UI kann Prozent anzeigen.
- 8KoordinatenPixel gemäß jeweiligem Bildschirm-/Koordinatenmodus. Der virtuelle Desktop kann negative Koordinaten haben.
Schematische Übersicht: Beschriftungen und Werte aus der Referenz, keine nachgezeichnete Bedienoberfläche.
Vollständige Dateien und Referenz herunterladen
- 1Zusammenhang 1
Die Vertragsdaten bündeln App-Version, formatVersions, Descriptoren, Eingabeverträge, Ergebnis- und Windows-Kataloge, bindingSchemas, Feld-Schemazuordnungen, Erklärungen und tatsächliche Serializer-Vorlagen. Sie sind ein Referenzdatensatz, kein JSON-Schema und kein Ersatz für die App-Validatoren.
- 2Zusammenhang 2
Die vollständige Textreferenz enthält dieselben Erklärungen wie die Website. Für einen Agenten sind stabile IDs und Ergebnisverträge maßgeblich, nicht übersetzte Anzeigenamen.
Schematische Übersicht: Beschriftungen und Werte aus der Referenz, keine nachgezeichnete Bedienoberfläche.