Add SQLite web users, privileged account CLI and session editing claims

This commit is contained in:
Nico committed 2026-10-22 18:56:59 +02:00
1 parent 9fc5c1805c
commit 203e765992
18 files changed
+629 -60

No files matched your search

+15 -20
View File
@@ -6,10 +6,12 @@ Die Betriebsübersicht wird durch die bestehende Übergabe-API ausgeliefert:
.\.venv\Scripts\python.exe -m viano_bug_analysis.api serve --config config/api.local.toml
```
Anschließend `http://127.0.0.1:8080/` öffnen und mit einem freigegebenen **API-Token**
anmelden. Dies ist nicht der Gemini-Schlüssel. Der Token bleibt ausschließlich im
Arbeitsspeicher des Tabs, nicht in Cookies, Local Storage oder URLs. Für entfernte
Zugriffe HTTPS verwenden. Der Analyseworker läuft unabhängig davon wie unter
Anschließend `http://127.0.0.1:8080/` öffnen und mit **Benutzername und Passwort**
anmelden. Benutzer werden ausschließlich über privilegierte Konsolenbefehle
angelegt, geändert und gelöscht, siehe [Benutzerverwaltung](user-accounts.md).
Alle Webbenutzer haben dieselben Rechte für alle Projekte. Die unten beschriebenen
Client-/Projektberechtigungen gelten weiterhin für externe API-Integrationen.
Für entfernte Zugriffe HTTPS verwenden. Der Analyseworker läuft unabhängig davon wie unter
[Analyseworker](analysis-worker.md) beschrieben. Das Öffnen der Übersicht löst
keine Modellanfragen aus.
@@ -93,7 +95,8 @@ Fortsetzung angefordert werden; Budgets werden dabei nicht zurückgesetzt.
## Betriebssteuerung
Clients erhalten standardmäßig keine Betreiberrechte. Ein eigener Client mit
Alle angemeldeten Webbenutzer können die Betriebssteuerung verwenden. Externe
API-Clients erhalten standardmäßig keine Betreiberrechte. Ein eigener Client mit
eigenem Token und `operator = true` in der API-Konfiguration erhält Aktionen für
seine freigegebenen Projekte (Beispiel in `config/api.example.toml`). API nach einer
Rechteänderung neu starten. Der Gemini-Schlüssel ist dafür nicht geeignet.
@@ -140,24 +143,15 @@ Beobachtungen und „Test durchgeführt“ oder „Nicht durchführbar“. Die a
Bestätigung ist erforderlich. Textdaten bleiben untrusted observations, keine
auszuführenden Befehle. Diese erste Oberfläche nimmt Text, keine Dateianhänge an.
Clients brauchen `tester = true` oder Betreiberrechte und Projektzugriff, um eine
Antwort zu bestätigen. Ein reiner Uploadclient erhält diese Rechte nicht automatisch.
Beispiel eines separaten menschlichen Clients in der API-Konfiguration:
```toml
[[clients]]
id = "human-dev"
token_env = "VBA_HUMAN_TOKEN"
projects = ["viano-core"]
tester = true
```
Eigenen API-Token über diese Umgebungsvariable bereitstellen und API neu starten.
Menschliche Antworten erfordern eine angemeldete Benutzersitzung und die exklusive
Übernahme über **Bearbeiten**, siehe [Benutzeranmeldung](user-accounts.md).
Es gibt keine gesonderten Testerrollen für Webbenutzer. Menschliche Zugänge
ausschließlich mit `create_user` anlegen.
Die bestätigende Identität und Zeit stammen vom Server, nicht aus frei editierbaren
Formularfeldern. `GET /v1/test-requests` liefert ausschließlich freigegebene Projekte;
`POST /v1/test-requests/{case-key}` bestätigt die konkrete Anfrage/Revision.
Kollisionen, veraltete Anfragen und widersprüchliche Wiederholungen werden abgewiesen.
Eine identische erneute Übermittlung desselben Clients bleibt ohne doppelte Wirkung.
Eine identische erneute Übermittlung derselben Sitzung bleibt ohne doppelte Wirkung.
Eine bestätigte Antwort setzt `AWAITING_TEST_FEEDBACK` über den vorhandenen
Coordinator auf `INVESTIGATING_HYPOTHESES` zurück. Revision, Budget und ursprüngliche
@@ -185,7 +179,8 @@ LLM-Aufrufe aus.
## Datenschutz und Betrieb
`GET /v1/overview` benötigt einen Bearer-Token und liefert nur freigegebene Projekte.
`GET /v1/overview` benötigt eine Benutzersitzung oder einen Maschinen-Bearer-Token.
Webbenutzer sehen alle Projekte; Maschinenclients nur ihre freigegebenen Projekte.
Prompts, vollständige Modellantworten, lokale Pfade und Zugangsdaten werden nicht
an den Browser übergeben. Fallnamen werden als Text dargestellt. Die Seite lädt
keine externen Fonts, Chartbibliotheken oder Analysedienste; Diagramme werden lokal