fix: refine privacy routing and provider reporting
This commit is contained in:
+19
-11
@@ -99,6 +99,11 @@ Rootserver:
|
||||
- `scripts/start-javis.ps1` verifiziert das Repository, setzt nur
|
||||
Prozessvariablen, prüft Ollama auf Loopback, startet es bei Bedarf versteckt
|
||||
und wartet begrenzt. Pfade sind per Parameter oder `JAVIS_*` überschreibbar.
|
||||
- Allgemeine unpersönliche Technikfragen zu RAM/SSD, SQLite, HTTP, Git und
|
||||
ähnlichen Begriffen werden gezielter `allowed`; `never` und `ask` behalten
|
||||
Vorrang bei Secrets, interner Infrastruktur und persönlichem Kontext.
|
||||
- `/privacy` trennt Inhaltsklassifikation, tatsächlichen Provider, Unterdrückung
|
||||
durch Modus `local` und technischen Provider-Fallback.
|
||||
|
||||
## Aktuelle Architektur
|
||||
|
||||
@@ -171,12 +176,11 @@ Letzter bestätigter Projektstand:
|
||||
- uv-Lock und `uv sync --dev`: bestanden
|
||||
- Python in `.venv`: 3.12.13
|
||||
- Ruff in `.venv`: 0.16.0
|
||||
- Unit-Tests: 62 bestanden; Timeout und fehlendes Modell fallen nachweislich lokal zurück
|
||||
- Unit-Tests: 66 bestanden; neue Technikklassifikation und Privacy-Ausgabe abgedeckt
|
||||
- PowerShell-Syntax des Startskripts: erfolgreich geparst
|
||||
- Ruff Lint: bestanden
|
||||
- Ruff Formatprüfung: bestanden
|
||||
- lokaler nachrichtenfreier CLI-Smoke: bestanden; Nullkostenmodus aktiv,
|
||||
Gemini nicht konfiguriert, Schlüssel nicht vorhanden, 0 Cloudanfragen
|
||||
- lokaler CLI-Smoke ohne Secretzugriff: bestanden
|
||||
- Obsidian-Vault unverändert: 1 Markdown-, 11 Gesamtdateien, letzter
|
||||
Schreibzeitpunkt weiterhin 30.07.2026 15:42:31
|
||||
- Rootserver und Ubuntu-Laptop wurden nicht kontaktiert
|
||||
@@ -203,10 +207,14 @@ Abnahmestatus:
|
||||
- manuell durch Pascal getestet: am 30.07.2026 erfolgreich; CLI-Start, echte
|
||||
deutsche Antworten, Sitzungskontext, `/sessions`, `/exit`, Neustart,
|
||||
`/load <UUID>`, vollständiger Verlauf und Fortsetzung
|
||||
- Gemini/Datenschutz/Fallback automatisiert durch Codex getestet: ja, nur mit
|
||||
Test-Doubles und lokalem nachrichtenfreiem CLI-Smoke
|
||||
- Gemini/Datenschutz/Fallback manuell durch Pascal getestet: noch nicht
|
||||
- von Pascal für produktive Verwendung freigegeben: noch nicht ausdrücklich erklärt
|
||||
- Gemini/Datenschutz/Fallback automatisiert durch Codex getestet: ja
|
||||
- Gemini/Datenschutz/Fallback manuell durch Pascal getestet: am 30.07.2026;
|
||||
verdeckte Key-Speicherung ohne Wertausgabe, vollständiger `/status`, echter
|
||||
Gemini-Erfolg, Cloudzähler, `ask`-Ablehnung, `never`, `/provider local` und
|
||||
Startskript erfolgreich
|
||||
- für Merge freigegeben: ja, nach den dokumentierten kleinen Korrekturen
|
||||
- für produktive Nutzung freigegeben: nicht separat erklärt; keine Freigabe für
|
||||
spätere Tools, Obsidian oder autonome Aktionen
|
||||
|
||||
## Git-Stand
|
||||
|
||||
@@ -245,7 +253,7 @@ Abnahmestatus:
|
||||
- aktuell: portable Ollama-Laufzeit und `qwen3:8b` außerhalb von Git verifiziert
|
||||
- aktuell: lokaler CLI-Chat und persistente SQLite-Sitzungen vollständig abgenommen
|
||||
- aktuell: Gemini-Free-Hybridrouting, Datenschutz und Nullkostenmodus
|
||||
automatisiert vollständig geprüft; manueller Live-Test steht aus
|
||||
automatisiert und durch Pascal manuell vollständig abgenommen
|
||||
|
||||
## Offene Entscheidungen und Fehler
|
||||
|
||||
@@ -275,9 +283,9 @@ Abnahmestatus:
|
||||
|
||||
## Nächster sinnvoller Auftrag
|
||||
|
||||
Pascal führt anhand `docs/NEXT_SESSION.md` den echten Gemini-, Ask- und
|
||||
Never-Test mit ausschließlich künstlichen beziehungsweise unpersönlichen Daten
|
||||
durch. Bis zu seiner Bestätigung nicht nach `main` mergen.
|
||||
Nach dem Merge ein separates, kleines Paket für Chatkomfort und Robustheit
|
||||
planen, beispielsweise Sitzungstitel/Suche oder Streaming. Noch keine
|
||||
Obsidian-Integration, Tools, Sprache oder Serversteuerung beginnen.
|
||||
|
||||
Keinen API-Key in Chat, Git, Obsidian, Logs oder Dokumentation übernehmen.
|
||||
|
||||
|
||||
+15
-34
@@ -1,45 +1,26 @@
|
||||
# Nächste Sitzung
|
||||
|
||||
## Ziel
|
||||
## Ausgangsstand
|
||||
|
||||
Pascal nimmt den Gemini-Free-Provider und die lokalen Fallbacks manuell ab.
|
||||
Bis dahin bleibt `feat/gemini-privacy-router` ungemergt.
|
||||
Der Core-Chat und der Gemini-/Datenschutz-Meilenstein sind automatisiert durch
|
||||
Codex und am 30.07.2026 manuell durch Pascal abgenommen. Der Featurestand ist zum
|
||||
Merge freigegeben.
|
||||
|
||||
## Vorbereitung durch Pascal
|
||||
Bestätigt sind echter Gemini-Erfolg, verdeckte Key-Speicherung, Nullkostenmodus,
|
||||
bereinigter Status, Cloudzähler, `ask`- und `never`-Routing, erzwungener lokaler
|
||||
Modus sowie das Startskript.
|
||||
|
||||
1. In Google AI Studio einen neuen, nur für Javis verwendeten Gemini-Auth-Key
|
||||
erstellen.
|
||||
2. Für das zugehörige Google-Projekt kein Billing verbinden beziehungsweise den
|
||||
externen Billingstatus selbst prüfen.
|
||||
3. Den Key niemals in Chat, Codex, Git, Obsidian oder einen sichtbaren
|
||||
Kommandozeilenparameter kopieren.
|
||||
4. Im Repository ausführen:
|
||||
## Nächstes sinnvolles Paket
|
||||
|
||||
```powershell
|
||||
& 'D:\Javis-Tools\uv\uv.exe' run javis configure gemini
|
||||
& 'D:\Javis-Tools\uv\uv.exe' run javis secrets set gemini
|
||||
powershell -ExecutionPolicy Bypass -File .\scripts\start-javis.ps1
|
||||
```
|
||||
Nur ein kleines Chatkomfort-/Robustheitsthema auswählen, zum Beispiel:
|
||||
|
||||
Die erste Einrichtung verlangt zwei lokale Bestätigungen. Der zweite Befehl liest
|
||||
den Key verdeckt ein und speichert ihn im Windows Credential Manager.
|
||||
- automatische, lokal erzeugte Sitzungstitel und Sitzungssuche oder
|
||||
- Streaming lokaler und Cloudantworten mit sauberem Abbruchverhalten
|
||||
|
||||
## Manueller Test
|
||||
|
||||
1. `/status`: Key und Konfiguration `ja`, Nullkostenmodus `aktiv`.
|
||||
2. Unpersönlich: `Erkläre in zwei Sätzen, was eine SQLite-Transaktion ist.`
|
||||
3. `/privacy`: `allowed`, Provider `gemini`, kein Fallback.
|
||||
4. Ask ohne private Details: `Ich habe eine private Alltagssituation. Nenne nur
|
||||
allgemeine Möglichkeiten.` Bei der Freigabe Enter drücken; Antwort muss lokal
|
||||
über Ollama kommen.
|
||||
5. Never mit Kunstbeispiel: `Nur lokal: Der Beispiel-API-Key ist absichtlich
|
||||
erfunden.` Es darf keine Cloudfreigabe angeboten werden; Antwort bleibt lokal.
|
||||
6. `/status`: bereinigte Zähler prüfen, danach `/exit`.
|
||||
|
||||
Erst wenn Pascal diese Punkte bestätigt, darf über den Merge nach `main`
|
||||
entschieden werden. Google-Quoten sind projektabhängig und in AI Studio zu prüfen.
|
||||
Vorher wie immer Branch, Arbeitsbaum, aktuellen Handoff und Tests prüfen.
|
||||
|
||||
## Weiterhin nicht beginnen
|
||||
|
||||
Kein Obsidian-Zugriff, SSH-/Serverzugriff, Sprache, Mobile Client, Tools oder
|
||||
Living Mind. Keine echten persönlichen Daten für Cloudtests verwenden.
|
||||
Noch keine Obsidian-Integration, Tools, SSH-/Serversteuerung, Sprache, Mobile
|
||||
Client oder Living Mind. Der vorhandene Gemini-Key bleibt im Betriebssystem-
|
||||
Keyring und darf nicht erneut in Chat, Logs oder Dokumentation erscheinen.
|
||||
|
||||
+13
-8
@@ -33,8 +33,10 @@ Stand: Gemini-Free-Feature automatisiert geprüft, 30.07.2026.
|
||||
- Core-Chat automatisiert durch Codex getestet: ja
|
||||
- Core-Chat manuell durch Pascal getestet: ja, am 30.07.2026
|
||||
- Gemini/Datenschutz/Fallback automatisiert durch Codex getestet: ja
|
||||
- Gemini/Datenschutz/Fallback manuell durch Pascal getestet: noch nicht
|
||||
- von Pascal für produktive Verwendung freigegeben: noch nicht ausdrücklich erklärt
|
||||
- Gemini/Datenschutz/Fallback manuell durch Pascal getestet: ja, am 30.07.2026
|
||||
- für Merge freigegeben: ja, nach den zwei kleinen Korrekturen
|
||||
- für produktive Nutzung freigegeben: nicht separat erklärt; keine spätere Tool-,
|
||||
Obsidian- oder Autonomiefunktion
|
||||
|
||||
## Aktuelles Featurepaket
|
||||
|
||||
@@ -60,9 +62,12 @@ Stand: Gemini-Free-Feature automatisiert geprüft, 30.07.2026.
|
||||
- `javis configure gemini` mit doppelter ausdrücklicher Bestätigung
|
||||
- echter Chat auf Hybridprovider verdrahtet; Key wird verzögert geladen
|
||||
- `/provider`, `/privacy` und `/status` geben keine Inhalte oder Keywerte aus
|
||||
- allgemeine unpersönliche Technikbegriffe werden gezielter `allowed`, während
|
||||
persönliche, interne oder geheime technische Inhalte `ask`/`never` bleiben
|
||||
- `/privacy` trennt lokalen Modus von einem technischen Provider-Fallback
|
||||
- sicheres `scripts/start-javis.ps1` mit relativer Repositoryprüfung,
|
||||
Loopback-Ollama und überschreibbaren externen Pfaden
|
||||
- 62 Unit-Tests aktuell erfolgreich; PowerShell-Syntax, Lockfile, Sync,
|
||||
- 66 Unit-Tests aktuell erfolgreich; PowerShell-Syntax, Lockfile, Sync,
|
||||
Strukturprüfung, Secret-Scan, Gitignore, Ruff-Format und Lint sauber
|
||||
|
||||
## Nicht implementiert
|
||||
@@ -86,9 +91,9 @@ Living-Mind-Frontend.
|
||||
|
||||
## Bekannte Einschränkung
|
||||
|
||||
Ollama wird bewusst manuell in einem eigenen Terminal gestartet. Antworten werden
|
||||
noch nicht gestreamt; Sitzungen haben noch keine Titel, Suche oder Löschfunktion.
|
||||
Das Startskript startet Ollama bei Bedarf lokal. Antworten werden noch nicht
|
||||
gestreamt; Sitzungen haben noch keine Titel, Suche oder Löschfunktion.
|
||||
`qwen3:8b` ist nicht automatisch für die GTX 1050 des späteren Zielhosts geeignet.
|
||||
Der echte Gemini-/Fallback-Test durch Pascal und danach die Mergeentscheidung
|
||||
fehlen. Es wurde kein echter API-Key angefordert, angezeigt oder konfiguriert und
|
||||
keine Cloudanfrage ausgeführt.
|
||||
Der Gemini-Key liegt ausschließlich im Betriebssystem-Keyring; sein Wert wurde
|
||||
von Codex weder gelesen noch ausgegeben. Pascal hat den echten Cloud- und
|
||||
Fallbackablauf erfolgreich geprüft.
|
||||
|
||||
Reference in New Issue
Block a user