Skip to content

Daten und Modelle: Kontodateien, SQLite-Statistikdatenbank und Definitionen wichtiger Felder

Was Sie nach dieser Lektion können

  • Schnelles Auffinden der Speicherorte von Kontodaten, Statistikdatenbanken, Konfigurationsdateien und Protokollverzeichnissen
  • Verstehen der JSON-Struktur von Kontodateien und die Bedeutung der Schlüsselfelder
  • Direktes Abfragen von Proxy-Protokollen und Token-Verbrauch über SQLite
  • Wissen, welche Dateien bei Backup, Migration oder Fehlerbehebung relevant sind

Ihr aktuelles Problem

Wenn Sie müssen:

  • Konto auf einen neuen Computer migrieren: Wissen nicht, welche Dateien kopiert werden müssen
  • Kontoanomalien untersuchen: Welche Felder in der Kontodatei beurteilen den Kontostatus
  • Token-Verbrauch exportieren: Möchten direkt aus der Datenbank abfragen, kennen aber die Tabellenstruktur nicht
  • Historische Daten bereinigen: Sorgen, falsche Dateien zu löschen und Daten zu verlieren

Dieser Anhang hilft Ihnen, ein vollständiges Verständnis der Datenmodelle aufzubauen.


Datenverzeichnisstruktur

Die Kerndaten von Antigravity Tools werden standardmäßig im Verzeichnis .antigravity_tools im Benutzer-Homeverzeichnis gespeichert (Quelle: source/lbjlaq/Antigravity-Manager/src-tauri/src/modules/account.rs:16-33).

Sicherheitsgrenzen vorab klären

Dieses Verzeichnis enthält sensible Informationen wie refresh_token/access_token (Quelle: source/lbjlaq/Antigravity-Manager/src/types/account.ts:20-27). Stellen Sie vor dem Backup/Kopieren/Teilen sicher, dass Ihre Zielumgebung vertrauenswürdig ist.

Wo finde ich dieses Verzeichnis?

bash
## In das Datenverzeichnis wechseln
cd ~/.antigravity_tools

## Oder im Finder öffnen (macOS)
open ~/.antigravity_tools
powershell
## In das Datenverzeichnis wechseln
Set-Location "$env:USERPROFILE\.antigravity_tools"

## Oder im Explorer öffnen
explorer "$env:USERPROFILE\.antigravity_tools"

Verzeichnisbaum-Übersicht

~/.antigravity_tools/
├── accounts.json          # Konto-Index (Version 2.0)
├── accounts/              # Konto-Verzeichnis
│   └── <account_id>.json  # Eine Datei pro Konto
├── gui_config.json        # Anwendungskonfiguration (von GUI geschrieben)
├── token_stats.db         # Token-Statistikdatenbank (SQLite)
├── proxy_logs.db          # Proxy-Monitoring-Protokolldatenbank (SQLite)
├── logs/                  # Anwendungsprotokollverzeichnis
│   └── app.log*           # Tägliches Rollen (Dateiname ändert sich mit Datum)
├── bin/                   # Externe Tools (z.B. cloudflared)
│   └── cloudflared(.exe)
└── device_original.json   # Geräte-Fingerabdruck-Baseline (optional)

Pfadregel für Datenverzeichnis: Nimmt dirs::home_dir() und hängt .antigravity_tools an (Quelle: source/lbjlaq/Antigravity-Manager/src-tauri/src/modules/account.rs:16-33).

Backup-Empfehlung

Regelmäßiges Backup des Verzeichnisses accounts/, der Dateien accounts.json, token_stats.db und proxy_logs.db speichert alle Kerndaten.


Konto-Datenmodell

accounts.json (Konto-Index)

Die Konto-Indexdatei speichert Zusammenfassungsinformationen aller Konten und das aktuell ausgewählte Konto.

Speicherort: ~/.antigravity_tools/accounts.json

Schema (Quelle: source/lbjlaq/Antigravity-Manager/src-tauri/src/models/account.rs:76-92):

json
{
  "version": "2.0",                  // Index-Version
  "accounts": [                       // Konto-Zusammenfassungsliste
    {
      "id": "uuid-v4",              // Eindeutige Konto-ID
      "email": "[email protected]",     // Konto-E-Mail
      "name": "Display Name",        // Anzeigename (optional)
      "created_at": 1704067200,      // Erstellungszeit (Unix-Zeitstempel)
      "last_used": 1704067200       // Letzte Verwendungszeit (Unix-Zeitstempel)
    }
  ],
  "current_account_id": "uuid-v4"    // ID des aktuell ausgewählten Kontos
}

Kontodatei ({account_id}.json)

Die vollständigen Daten jedes Kontos werden im JSON-Format separat im Verzeichnis accounts/ gespeichert.

Speicherort: ~/.antigravity_tools/accounts/{account_id}.json

Schema (Quelle: source/lbjlaq/Antigravity-Manager/src-tauri/src/models/account.rs:6-42; Frontend-Typ: source/lbjlaq/Antigravity-Manager/src/types/account.ts:1-55):

json
{
  "id": "uuid-v4",
  "email": "[email protected]",
  "name": "Display Name",

  "token": {                        // OAuth-Token-Daten
    "access_token": "ya29...",      // Aktuelles Access-Token
    "refresh_token": "1//...",      // Refresh-Token (am wichtigsten)
    "expires_in": 3600,            // Ablaufzeit (Sekunden)
    "expiry_timestamp": 1704070800, // Ablauf-Zeitstempel
    "token_type": "Bearer",
    "email": "[email protected]",
    "project_id": "my-gcp-project", // Optional: Google Cloud Projekt-ID
    "session_id": "..."            // Optional: Antigravity sessionId
  },

  "device_profile": {               // Geräte-Fingerabdruck (optional)
    "machine_id": "...",
    "mac_machine_id": "...",
    "dev_device_id": "...",
    "sqm_id": "..."
  },

  "device_history": [               // Historische Versionen des Geräte-Fingerabdrucks
    {
      "id": "version-id",
      "created_at": 1704067200,
      "label": "Saved from device X",
      "profile": { ... },
      "is_current": false
    }
  ],

  "quota": {                        // Quota-Daten (optional)
    "models": [
      {
        "name": "gemini-2.0-flash-exp",
        "percentage": 85,           // Verbleibende Quota-Prozent
        "reset_time": "2024-01-02T00:00:00Z"
      }
    ],
    "last_updated": 1704067200,
    "is_forbidden": false,
    "subscription_tier": "PRO"      // Abonnement-Typ: FREE/PRO/ULTRA
  },

  "disabled": false,                // Ob das Konto dauerhaft deaktiviert ist
  "disabled_reason": null,          // Deaktivierungsgrund (z.B. invalid_grant)
  "disabled_at": null,             // Deaktivierungs-Zeitstempel

  "proxy_disabled": false,         // Ob die Proxy-Funktion deaktiviert ist
  "proxy_disabled_reason": null,   // Grund für Proxy-Deaktivierung
  "proxy_disabled_at": null,       // Zeitstempel der Proxy-Deaktivierung

  "protected_models": [             // Liste der durch Quota-Schutz geschützten Modelle
    "gemini-2.5-pro-exp"
  ],

  "created_at": 1704067200,
  "last_used": 1704067200
}

Erklärung der Schlüsselfelder

FeldTypGeschäftliche BedeutungAuslösebedingung
disabledboolKonto dauerhaft deaktiviert (z.B. refresh_token ungültig)Automatisch auf true gesetzt bei invalid_grant
proxy_disabledboolNur Proxy-Funktion deaktiviert, beeinträchtigt GUI-Nutzung nichtManuelles Deaktivieren oder durch Quota-Schutz ausgelöst
protected_modelsstring[]"Eingeschränkte Modellliste" für modellbasierten Quota-SchutzWird durch Quota-Schutz-Logik aktualisiert
quota.models[].percentagenumberVerbleibende Quota-Prozent (0-100)Wird bei jeder Quota-Aktualisierung aktualisiert
token.refresh_tokenstringToken zum Abrufen von access_tokenWird bei OAuth-Autorisierung abgerufen, langfristig gültig

Wichtige Regel 1: invalid_grant löst Deaktivierung aus (Quelle: source/lbjlaq/Antigravity-Manager/src-tauri/src/proxy/token_manager.rs:869-889; Schreiben: source/lbjlaq/Antigravity-Manager/src-tauri/src/proxy/token_manager.rs:942-969):

  • Wenn die Token-Aktualisierung fehlschlägt und der Fehler invalid_grant enthält, schreibt TokenManager disabled=true / disabled_at / disabled_reason in die Kontodatei und entfernt das Konto aus dem Token-Pool.

Wichtige Regel 2: Semantik von protected_models (Quelle: source/lbjlaq/Antigravity-Manager/src-tauri/src/proxy/token_manager.rs:227-250; Quota-Schutz schreiben: source/lbjlaq/Antigravity-Manager/src-tauri/src/modules/account.rs:607-666):

  • protected_models speichert die "normalisierten Modell-IDs", die für modellbasierten Quota-Schutz und zum Überspringen bei der Planung verwendet werden.

Token-Statistikdatenbank

Die Token-Statistikdatenbank zeichnet den Token-Verbrauch bei jeder Proxy-Anforderung auf und dient der Kostenüberwachung und Trendanalyse.

Speicherort: ~/.antigravity_tools/token_stats.db

Datenbank-Engine: SQLite + WAL-Modus (Quelle: source/lbjlaq/Antigravity-Manager/src-tauri/src/modules/token_stats.rs:63-76)

Tabellenstruktur

token_usage (ursprüngliche Nutzungsaufzeichnungen)

FeldTypBeschreibung
idINTEGER PRIMARY KEY AUTOINCREMENTAuto-Inkrement-Primärschlüssel
timestampINTEGERAnforderungszeitstempel
account_emailTEXTKonto-E-Mail
modelTEXTModellname
input_tokensINTEGEREingabe-Token-Zahl
output_tokensINTEGERAusgabe-Token-Zahl
total_tokensINTEGERGesamt-Token-Zahl

Tabellenerstellung (Quelle: source/lbjlaq/Antigravity-Manager/src-tauri/src/modules/token_stats.rs:83-94):

sql
CREATE TABLE IF NOT EXISTS token_usage (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    timestamp INTEGER NOT NULL,
    account_email TEXT NOT NULL,
    model TEXT NOT NULL,
    input_tokens INTEGER NOT NULL DEFAULT 0,
    output_tokens INTEGER NOT NULL DEFAULT 0,
    total_tokens INTEGER NOT NULL DEFAULT 0
);

token_stats_hourly (stündliche Aggregationstabelle)

Aggregiert einmal pro Stunde die Token-Nutzung für schnelle Abfragen von Trenddaten.

Tabellenerstellung (Quelle: source/lbjlaq/Antigravity-Manager/src-tauri/src/modules/token_stats.rs:111-123):

sql
CREATE TABLE IF NOT EXISTS token_stats_hourly (
    hour_bucket TEXT NOT NULL,           -- Zeit-Bucket (Format: YYYY-MM-DD HH:00)
    account_email TEXT NOT NULL,
    total_input_tokens INTEGER NOT NULL DEFAULT 0,
    total_output_tokens INTEGER NOT NULL DEFAULT 0,
    total_tokens INTEGER NOT NULL DEFAULT 0,
    request_count INTEGER NOT NULL DEFAULT 0,
    PRIMARY KEY (hour_bucket, account_email)
);

Indizes

Um die Abfrageleistung zu verbessern, wurden folgende Indizes erstellt (Quelle: source/lbjlaq/Antigravity-Manager/src-tauri/src/modules/token_stats.rs:97-108):

sql
-- Index nach Zeit absteigend
CREATE INDEX IF NOT EXISTS idx_token_timestamp
ON token_usage (timestamp DESC);

-- Index nach Konto
CREATE INDEX IF NOT EXISTS idx_token_account
ON token_usage (account_email);

Häufige Abfragebeispiele

Token-Verbrauch der letzten 24 Stunden abfragen

bash
sqlite3 ~/.antigravity_tools/token_stats.db \
  "SELECT account_email, SUM(total_tokens) as tokens
   FROM token_stats_hourly
   WHERE hour_bucket >= strftime('%Y-%m-%d %H:00', 'now', '-24 hours')
   GROUP BY account_email
   ORDER BY tokens DESC;"

Verbrauch nach Modell statistisch erfassen

bash
sqlite3 ~/.antigravity_tools/token_stats.db \
  "SELECT model,
          SUM(input_tokens) as input_tokens,
          SUM(output_tokens) as output_tokens,
          SUM(total_tokens) as total_tokens,
          COUNT(*) as request_count
   FROM token_usage
   WHERE timestamp >= strftime('%s', 'now', '-7 days')
   GROUP BY model
   ORDER BY total_tokens DESC;"

Zeitfeld-Bereich

token_usage.timestamp ist ein Unix-Zeitstempel (Sekunden), geschrieben mit chrono::Utc::now().timestamp(). token_stats_hourly.hour_bucket ist auch ein String, basierend auf UTC generiert (Quelle: source/lbjlaq/Antigravity-Manager/src-tauri/src/modules/token_stats.rs:136-156).


Proxy-Monitoring-Protokolldatenbank

Die Proxy-Protokolldatenbank zeichnet detaillierte Informationen zu jeder Proxy-Anforderung auf und dient der Fehlerbehebung und Anforderungsüberwachung.

Speicherort: ~/.antigravity_tools/proxy_logs.db

Datenbank-Engine: SQLite + WAL-Modus (Quelle: source/lbjlaq/Antigravity-Manager/src-tauri/src/modules/proxy_db.rs:10-24)

Tabellenstruktur: request_logs

FeldTypBeschreibung
idTEXT PRIMARY KEYEindeutige Anforderungs-ID (UUID)
timestampINTEGERAnforderungszeitstempel
methodTEXTHTTP-Methode (GET/POST)
urlTEXTAnforderungs-URL
statusINTEGERHTTP-Statuscode
durationINTEGERAnforderungsdauer (Millisekunden)
modelTEXTVom Client angeforderter Modellname
mapped_modelTEXTTatsächlich nach Routing verwendeter Modellname
account_emailTEXTVerwendete Konto-E-Mail
errorTEXTFehlermeldung (falls vorhanden)
request_bodyTEXTAnforderungstext (optional, großer Speicherbedarf)
response_bodyTEXTAntworttext (optional, großer Speicherbedarf)
input_tokensINTEGEREingabe-Token-Zahl
output_tokensINTEGERAusgabe-Token-Zahl
protocolTEXTProtokolltyp (openai/anthropic/gemini)

Tabellenerstellung (Quelle: source/lbjlaq/Antigravity-Manager/src-tauri/src/modules/proxy_db.rs:30-51):

sql
CREATE TABLE IF NOT EXISTS request_logs (
    id TEXT PRIMARY KEY,
    timestamp INTEGER,
    method TEXT,
    url TEXT,
    status INTEGER,
    duration INTEGER,
    model TEXT,
    error TEXT
);

-- Kompatibilität: Neue Felder werden schrittweise durch ALTER TABLE hinzugefügt
ALTER TABLE request_logs ADD COLUMN request_body TEXT;
ALTER TABLE request_logs ADD COLUMN response_body TEXT;
ALTER TABLE request_logs ADD COLUMN input_tokens INTEGER;
ALTER TABLE request_logs ADD COLUMN output_tokens INTEGER;
ALTER TABLE request_logs ADD COLUMN account_email TEXT;
ALTER TABLE request_logs ADD COLUMN mapped_model TEXT;
ALTER TABLE request_logs ADD COLUMN protocol TEXT;

Indizes

sql
-- Index nach Zeit absteigend
CREATE INDEX IF NOT EXISTS idx_timestamp
ON request_logs (timestamp DESC);

-- Index nach Statuscode
CREATE INDEX IF NOT EXISTS idx_status
ON request_logs (status);

Automatische Bereinigung

Beim Start von ProxyMonitor werden automatisch Protokolle, die älter als 30 Tage sind, bereinigt und ein VACUUM der Datenbank durchgeführt (Quelle: source/lbjlaq/Antigravity-Manager/src-tauri/src/proxy/monitor.rs:41-60; Implementierung: source/lbjlaq/Antigravity-Manager/src-tauri/src/modules/proxy_db.rs:194-209).

Häufige Abfragebeispiele

Letzte fehlgeschlagene Anforderungen abfragen

bash
sqlite3 ~/.antigravity_tools/proxy_logs.db \
  "SELECT timestamp, method, url, status, error
   FROM request_logs
   WHERE status >= 400 OR status < 200
   ORDER BY timestamp DESC
   LIMIT 10;"

Erfolgsrate der Anforderungen jedes Kontos statistisch erfassen

bash
sqlite3 ~/.antigravity_tools/proxy_logs.db \
  "SELECT account_email,
          COUNT(*) as total,
          SUM(CASE WHEN status >= 200 AND status < 400 THEN 1 ELSE 0 END) as success,
          ROUND(100.0 * SUM(CASE WHEN status >= 200 AND status < 400 THEN 1 ELSE 0 END) / COUNT(*), 2) as success_rate
   FROM request_logs
   WHERE timestamp >= strftime('%s', 'now', '-7 days')
   GROUP BY account_email
   ORDER BY total DESC;"

Konfigurationsdateien

gui_config.json

Speichert Konfigurationsinformationen der Anwendung, einschließlich Proxy-Einstellungen, Modellzuordnungen, Authentifizierungsmodus usw.

Speicherort: ~/.antigravity_tools/gui_config.json (Quelle: source/lbjlaq/Antigravity-Manager/src-tauri/src/modules/config.rs:7-13)

Die Struktur dieser Datei folgt AppConfig (Quelle: source/lbjlaq/Antigravity-Manager/src/types/config.ts:76-95).

Wenn Sie "nur für Backup/Migration" benötigen

Der stressfreiste Ansatz ist: Schließen Sie die Anwendung und packen Sie das gesamte Verzeichnis ~/.antigravity_tools/. Konfigurations-Hot-Updates/Neustart-Semantik gehört zum "Laufzeitverhalten". Informationen dazu finden Sie im Fortgeschrittenenkurs Konfiguration vollständig erklärt.


Protokolldateien

Anwendungsprotokolle

Speicherort: ~/.antigravity_tools/logs/ (Quelle: source/lbjlaq/Antigravity-Manager/src-tauri/src/modules/logger.rs:17-25)

Protokolle verwenden tägliche Rollen-Dateien, der Basisdateiname ist app.log (Quelle: source/lbjlaq/Antigravity-Manager/src-tauri/src/modules/logger.rs:41-45).

Protokollebene: INFO/WARN/ERROR

Zweck: Zeichnet kritische Ereignisse, Fehlerinformationen und Debugging-Informationen während der Anwendungsausführung auf, dient der Fehlerbehebung.


Datenmigration und Backup

Kerndaten sichern

bash
## Gesamtes Datenverzeichnis sichern (am stabilsten)
tar -czf antigravity-backup-$(date +%Y%m%d).tar.gz ~/.antigravity_tools
powershell
## Gesamtes Datenverzeichnis sichern (am stabilsten)
$backupDate = Get-Date -Format "yyyyMMdd"
$dataDir = "$env:USERPROFILE\.antigravity_tools"
Compress-Archive -Path $dataDir -DestinationPath "antigravity-backup-$backupDate.zip"

Auf einen neuen Computer migrieren

  1. Antigravity Tools schließen (um Schreibvorgänge während des Kopierens zu vermeiden)
  2. Kopieren Sie .antigravity_tools des Quellcomputers in das Homeverzeichnis des Zielcomputers
  3. Starten Sie Antigravity Tools

plattformübergreifende Migration

Wenn Sie von Windows nach macOS/Linux migrieren (oder umgekehrt), müssen Sie nur das gesamte Verzeichnis .antigravity_tools kopieren. Das Datenformat ist plattformübergreifend kompatibel.

Historische Daten bereinigen

Fazit vorab

  • proxy_logs.db: Automatische Bereinigung nach 30 Tagen (Quelle: source/lbjlaq/Antigravity-Manager/src-tauri/src/proxy/monitor.rs:41-60).
  • token_stats.db: Beim Start wird die Tabellenstruktur initialisiert (Quelle: source/lbjlaq/Antigravity-Manager/src-tauri/src/lib.rs:53-56), aber im Quellcode wurde keine Logik für "automatische Bereinigung historischer Aufzeichnungen nach Tagen" gefunden.

Nur tun, wenn Sie sicher sind, dass Sie historische Daten nicht mehr benötigen

Das Leeren von Statistiken/Protokollen führt zum Verlust von historischen Daten zur Fehlerbehebung und Kostenanalyse. Sichern Sie vor dem Handeln das gesamte Verzeichnis .antigravity_tools.

Wenn Sie einfach "historische Daten leeren und neu starten" möchten, ist der stabilste Ansatz, die Anwendung zu schließen und die DB-Dateien direkt zu löschen (beim nächsten Start wird die Tabellenstruktur neu erstellt).

bash
## Token-Statistik leeren (historische Daten gehen verloren)
rm -f ~/.antigravity_tools/token_stats.db

## Proxy-Monitoring-Protokolle leeren (historische Daten gehen verloren)
rm -f ~/.antigravity_tools/proxy_logs.db
powershell
## Token-Statistik leeren (historische Daten gehen verloren)
Remove-Item -Force "$env:USERPROFILE\.antigravity_tools\token_stats.db" -ErrorAction SilentlyContinue

## Proxy-Monitoring-Protokolle leeren (historische Daten gehen verloren)
Remove-Item -Force "$env:USERPROFILE\.antigravity_tools\proxy_logs.db" -ErrorAction SilentlyContinue

Erklärung häufiger Feldbereiche

Unix-Zeitstempel

Alle zeitbezogenen Felder (wie created_at, last_used, timestamp) verwenden Unix-Zeitstempel (Sekundärgenauigkeit).

Konvertierung in lesbares Format:

bash
## macOS/Linux
date -r 1704067200
date -d @1704067200  # GNU date

## SQLite-Abfrage (Beispiel: request_logs.timestamp in lesbare Zeit umwandeln)
sqlite3 ~/.antigravity_tools/proxy_logs.db \
  "SELECT datetime(timestamp, 'unixepoch', 'localtime') FROM request_logs LIMIT 1;"

Quota-Prozent

quota.models[].percentage gibt den verbleibenden Quota-Prozent (0-100) an (Quelle: source/lbjlaq/Antigravity-Manager/src/types/account.ts:36-40; Backend-Modell: source/lbjlaq/Antigravity-Manager/src-tauri/src/models/quota.rs:3-9).

Ob der "Quota-Schutz" ausgelöst wird, wird durch quota_protection.enabled/threshold_percentage/monitored_models bestimmt (Quelle: source/lbjlaq/Antigravity-Manager/src/types/config.ts:59-63; Schreiben in protected_models: source/lbjlaq/Antigravity-Manager/src-tauri/src/modules/account.rs:607-666).


Lektionszusammenfassung

  • Das Datenverzeichnis von Antigravity Tools befindet sich in .antigravity_tools im Homeverzeichnis des Benutzers
  • Kontodaten: accounts.json (Index) + accounts/<account_id>.json (vollständige Daten eines einzelnen Kontos)
  • Statistikdaten: token_stats.db (Token-Statistik) + proxy_logs.db (Proxy-Monitoring-Protokolle)
  • Konfiguration und Wartung: gui_config.json, logs/, bin/cloudflared*, device_original.json
  • Der stabilste Ansatz für Backup/Migration ist "gesamtes Verzeichnis .antigravity_tools nach dem Schließen der Anwendung packen"

Vorschau auf die nächste Lektion

In der nächsten Lektion lernen wir z.ai Integrationsfähigkeitsgrenzen.

Sie werden lernen:

  • Liste der implementierten Funktionen der z.ai-Integration
  • Klare nicht implementierte Funktionen und Nutzungseinschränkungen
  • Experimentelle Implementierung von Vision MCP

Anhang: Quellcode-Referenz

Klicken zum Erweitern, um Quellcode-Positionen anzuzeigen

Aktualisiert am: 2026-01-23

FunktionDateipfadZeilennummer
Datenverzeichnis (.antigravity_tools)src-tauri/src/modules/account.rs16-33
---------
accounts.json Struktursrc-tauri/src/models/account.rs76-92
---------
---------
TokenData/QuotaData Struktursrc-tauri/src/models/token.rs3-16
TokenData/QuotaData Struktursrc-tauri/src/models/quota.rs3-21
---------
---------
---------
---------
gui_config.json Lese/Schreibzugriffsrc-tauri/src/modules/config.rs7-88
logs/ Verzeichnis und app.logsrc-tauri/src/modules/logger.rs17-45
bin/cloudflared Pfadsrc-tauri/src/modules/cloudflared.rs92-101
device_original.jsonsrc-tauri/src/modules/device.rs11-13
---------

Wichtige Konstanten:

  • DATA_DIR = ".antigravity_tools": Name des Datenverzeichnisses (src-tauri/src/modules/account.rs:16-18)
  • ACCOUNTS_INDEX = "accounts.json": Name der Konto-Indexdatei (src-tauri/src/modules/account.rs:16-18)
  • CONFIG_FILE = "gui_config.json": Name der Konfigurationsdatei (src-tauri/src/modules/config.rs:7)

Wichtige Funktionen:

  • get_data_dir(): Pfad des Datenverzeichnisses abrufen (src-tauri/src/modules/account.rs)
  • record_usage(): Schreiben in token_usage/token_stats_hourly (src-tauri/src/modules/token_stats.rs)
  • save_log(): Schreiben in request_logs (src-tauri/src/modules/proxy_db.rs)
  • cleanup_old_logs(days): Alte request_logs löschen und VACUUM (src-tauri/src/modules/proxy_db.rs)