docs: update chat comfort status

This commit is contained in:
2026-07-30 19:48:57 +02:00
parent 43c1f76d84
commit 328dcd9f74
4 changed files with 62 additions and 42 deletions
+8
View File
@@ -24,6 +24,10 @@ Alle wesentlichen Projektänderungen werden hier in verständlicher Form dokumen
- Strikter Nullkostenmodus, lokale Schutzlimits und inhaltsfreies Provider-Audit. - Strikter Nullkostenmodus, lokale Schutzlimits und inhaltsfreies Provider-Audit.
- Bereinigte CLI-Befehle `/provider`, `/privacy` und `/status`. - Bereinigte CLI-Befehle `/provider`, `/privacy` und `/status`.
- Sicheres PowerShell-Startskript ohne Systemänderungen. - Sicheres PowerShell-Startskript ohne Systemänderungen.
- Gemeinsames Streaming für Ollama und Gemini mit atomarer Speicherung,
Gedankenfilter, lesbarer Terminalausgabe und sicherem Strg+C-Abbruch.
- Automatische lokale Sitzungstitel, `/rename`, nummerierte `/sessions`,
`/load <NR|ID>` und begrenzte `/search`-Suche.
### Changed ### Changed
@@ -42,6 +46,8 @@ Alle wesentlichen Projektänderungen werden hier in verständlicher Form dokumen
- Allgemeine unpersönliche Technikfragen werden präziser als `allowed` - Allgemeine unpersönliche Technikfragen werden präziser als `allowed`
klassifiziert; persönliche, interne und geheime Inhalte behalten Vorrang. klassifiziert; persönliche, interne und geheime Inhalte behalten Vorrang.
- Privacy-Ausgabe unterscheidet lokalen Modus von technischem Fallback. - Privacy-Ausgabe unterscheidet lokalen Modus von technischem Fallback.
- SQLite-Sitzungen werden verlustfrei und idempotent um Titel und zuletzt
verwendeten Provider migriert.
### Security ### Security
@@ -51,5 +57,7 @@ Alle wesentlichen Projektänderungen werden hier in verständlicher Form dokumen
Nicht-Billing deaktiviert; Javis aktiviert niemals Billing. Nicht-Billing deaktiviert; Javis aktiviert niemals Billing.
- Cloudkontext wird lokal klassifiziert und minimiert; 429, Netzwerk-, Timeout-, - Cloudkontext wird lokal klassifiziert und minimiert; 429, Netzwerk-, Timeout-,
Key- und Modellfehler fallen auf Ollama zurück. Key- und Modellfehler fallen auf Ollama zurück.
- Gesundheits-, Symptom-, Verletzungs-, Medikamenten-, Diagnose-, Behandlungs-
und medizinische Notfallfragen werden vor Cloudclient-Erstellung strikt lokal behandelt.
- Gemini-/Datenschutzablauf wurde am 30.07.2026 zusätzlich von Pascal manuell - Gemini-/Datenschutzablauf wurde am 30.07.2026 zusätzlich von Pascal manuell
erfolgreich abgenommen; kein Keywert erschien in der Ausgabe. erfolgreich abgenommen; kein Keywert erschien in der Ausgabe.
+8 -11
View File
@@ -189,12 +189,15 @@ Letzter bestätigter Projektstand:
- uv-Lock und `uv sync --dev`: bestanden - uv-Lock und `uv sync --dev`: bestanden
- Python in `.venv`: 3.12.13 - Python in `.venv`: 3.12.13
- Ruff in `.venv`: 0.16.0 - Ruff in `.venv`: 0.16.0
- Unit-Tests: 91 bestanden; zusätzlich Navigation, eindeutige/mehrdeutige - Unit-Tests: 91 bestanden; Navigation, Streaming, Migration, Datenschutz,
ID-Präfixe, begrenzte Suche und SQL-Sonderzeichen abgedeckt ID-Präfixe, begrenzte Suche und SQL-Sonderzeichen abgedeckt
- PowerShell-Syntax des Startskripts: erfolgreich geparst - PowerShell-Syntax des Startskripts: erfolgreich geparst
- Ruff Lint: bestanden - Ruff Lint: bestanden
- Ruff Formatprüfung: bestanden - Ruff Formatprüfung: bestanden
- lokaler CLI-Smoke ohne Secretzugriff: bestanden - lokaler CLI-Smoke ohne Secretzugriff: bestanden
- echter Ollama-CLI-Streaming-Smoke mit Neustart/Laden: bestanden
- echter Gemini-Streaming-Smoke mit öffentlichem Inhalt: bestanden; ein Abschnitt,
20 sichtbare Zeichen, 14 Eingabe- und 4 Ausgabetoken; kein Keywert ausgegeben
- Obsidian-Vault unverändert: 1 Markdown-, 11 Gesamtdateien, letzter - Obsidian-Vault unverändert: 1 Markdown-, 11 Gesamtdateien, letzter
Schreibzeitpunkt weiterhin 30.07.2026 15:42:31 Schreibzeitpunkt weiterhin 30.07.2026 15:42:31
- Rootserver und Ubuntu-Laptop wurden nicht kontaktiert - Rootserver und Ubuntu-Laptop wurden nicht kontaktiert
@@ -237,18 +240,12 @@ Abnahmestatus:
- medizinischer Datenschutz-Fix: `9148193` - medizinischer Datenschutz-Fix: `9148193`
- Provider- und CLI-Streaming: `00a5a6c` - Provider- und CLI-Streaming: `00a5a6c`
- SQLite-Titel und Migration: `112ae6d` - SQLite-Titel und Migration: `112ae6d`
- Sitzungsnavigation: `43c1f76`
- Feature-Branch ist als `7a14fe8` zu - Feature-Branch ist als `7a14fe8` zu
`origin/feat/gemini-privacy-router` gepusht `origin/feat/gemini-privacy-router` gepusht
- konfliktfreier Merge nach `main`: `564a3fd` - konfliktfreier Merge nach `main`: `564a3fd`
- 66 Unit-Tests, Ruff und Strukturprüfung auf dem gemergten `main` bestanden - 66 Unit-Tests, Ruff und Strukturprüfung auf dem gemergten `main` bestanden
- `main` erfolgreich zu `origin/main` gepusht; Remote-Tracking ist synchron - `main` erfolgreich zu `origin/main` gepusht; Remote-Tracking ist synchron
- Python-Entwicklungsumgebung auf dem Feature-Branch: `fa90a5c`
- Laufzeit-/Modelldokumentation: `10d7cd7`
- Chatkern und CLI: `ec9b2f9`
- Unit-Tests: `b153daa`
- Feature-Dokumentation: `5d567e5`
- lokaler Merge nach `main`: `f3d6dfb`
- geprüfter und gepushter Abschlussstand vor diesem Handoff-Update: `0a550e6`
- Secret-Provider: `570e7fa` - Secret-Provider: `570e7fa`
- Datenschutz/Nullkosten: `286d96d` - Datenschutz/Nullkosten: `286d96d`
- isolierter Gemini-Provider: `f3e1183` - isolierter Gemini-Provider: `f3e1183`
@@ -266,7 +263,7 @@ Abnahmestatus:
- endgültiger Produkt-/Repositoryname bleibt offen - endgültiger Produkt-/Repositoryname bleibt offen
- Startskript startet Ollama bei Bedarf pro Prozess; kein Autostart oder Dienst - Startskript startet Ollama bei Bedarf pro Prozess; kein Autostart oder Dienst
- Antworten werden gestreamt; Sitzungen besitzen noch keine Titel oder Suche - Antworten werden gestreamt; Titel, Navigation und Suche sind implementiert
- genauer späterer Obsidian-Schreibbereich ist nicht freigegeben - genauer späterer Obsidian-Schreibbereich ist nicht freigegeben
- normaler Secret-Provider ist festgelegt: Betriebssystem-Keyring; eine - normaler Secret-Provider ist festgelegt: Betriebssystem-Keyring; eine
Klartext-XML wird nicht für API-Schlüssel verwendet Klartext-XML wird nicht für API-Schlüssel verwendet
@@ -290,8 +287,8 @@ Abnahmestatus:
## Nächster sinnvoller Auftrag ## Nächster sinnvoller Auftrag
Auf `feat/chat-comfort` als Nächstes Gesamtsicherheitsprüfungen sowie lokale Auf `feat/chat-comfort` als Nächstes Dokumentation committen, Branch pushen,
Ollama-/Neustart-Smokes und kleinen echten Gemini-Streaming-Test ausführen. nach `main` mergen, dort erneut testen und `main` pushen.
Medizinische Antwortqualität bleibt ein späteres Sicherheits-/Systemprompt-Thema. Medizinische Antwortqualität bleibt ein späteres Sicherheits-/Systemprompt-Thema.
Noch keine Obsidian-Integration oder Tools beginnen. Noch keine Obsidian-Integration oder Tools beginnen.
+12 -12
View File
@@ -2,22 +2,22 @@
## Ausgangsstand ## Ausgangsstand
Der Core-Chat und der Gemini-/Datenschutz-Meilenstein sind automatisiert durch Der Core-Chat, Gemini-/Datenschutz-Meilenstein und das Chatkomfort-Paket sind
Codex und am 30.07.2026 manuell durch Pascal abgenommen. Der Featurestand ist zum automatisiert geprüft. Pascal hat Core-Chat sowie Gemini/Datenschutz am
Merge freigegeben. 30.07.2026 manuell abgenommen.
Bestätigt sind echter Gemini-Erfolg, verdeckte Key-Speicherung, Nullkostenmodus, Chatkomfort umfasst sicheres Ollama-/Gemini-Streaming, Strg+C ohne Teilpersistenz,
bereinigter Status, Cloudzähler, `ask`- und `never`-Routing, erzwungener lokaler medizinisches `never`, automatische und manuelle Sitzungstitel, nummerierte
Modus sowie das Startskript. Listen, Laden per Nummer/ID-Präfix und begrenzte Suche in Titeln/Benutzertexten.
## Nächstes sinnvolles Paket 91 Unit-Tests, Ruff, Struktur-, Secret-, Gitignore- und Auditprüfungen sowie
echte Ollama- und Gemini-Streaming-Smokes sind erfolgreich.
Nur ein kleines Chatkomfort-/Robustheitsthema auswählen, zum Beispiel: ## Nächster sinnvoller Schritt
- automatische, lokal erzeugte Sitzungstitel und Sitzungssuche oder Zuerst nur den Git-Abschluss des Chatkomfort-Branches prüfen beziehungsweise
- Streaming lokaler und Cloudantworten mit sauberem Abbruchverhalten den finalen Stand aus `docs/CHATGPT_HANDOFF.md` übernehmen. Danach mit Pascal
ein einzelnes nächstes Paket festlegen; noch keine Folgephase automatisch beginnen.
Vorher wie immer Branch, Arbeitsbaum, aktuellen Handoff und Tests prüfen.
## Weiterhin nicht beginnen ## Weiterhin nicht beginnen
+34 -19
View File
@@ -1,6 +1,6 @@
# Projektstatus # Projektstatus
Stand: Gemini-Free-Feature automatisiert geprüft, 30.07.2026. Stand: Chatkomfort-Feature vollständig automatisiert geprüft, 30.07.2026.
## Erreicht ## Erreicht
@@ -20,10 +20,15 @@ Stand: Gemini-Free-Feature automatisiert geprüft, 30.07.2026.
- zwei echte deutsche Modellantworten erfolgreich vollständig auf der RTX 3060 erzeugt - zwei echte deutsche Modellantworten erfolgreich vollständig auf der RTX 3060 erzeugt
- kalter Test 36,19 s, warmer Kurztest 0,56 s; geladene GPU-Belegung 6.842 MiB - kalter Test 36,19 s, warmer Kurztest 0,56 s; geladene GPU-Belegung 6.842 MiB
- lokaler Ollama-Provider, zentrale Konfiguration und SQLite-Sitzungsspeicher implementiert - lokaler Ollama-Provider, zentrale Konfiguration und SQLite-Sitzungsspeicher implementiert
- CLI mit `/new`, `/sessions`, `/load`, `/clear`, `/help` und `/exit` implementiert - CLI streamt Antworten und unterstützt `/new`, nummerierte `/sessions`,
`/load <NR|ID>`, `/search`, `/rename`, `/clear`, `/help` und `/exit`
- bestehende SQLite-Datenbanken werden automatisch, transaktional und
wiederholbar um Sitzungstitel und zuletzt verwendeten Provider migriert
- lokale Titelbildung ohne Modellaufruf; offensichtliche Secrets und medizinische
Inhalte werden nicht wörtlich in automatische Titel übernommen
- echte CLI-Modellantwort sowie Laden und Fortsetzen derselben Sitzung in einem - echte CLI-Modellantwort sowie Laden und Fortsetzen derselben Sitzung in einem
neuen Prozess bestätigt neuen Prozess bestätigt
- 13 Unit-Tests, Ruff und Strukturprüfung erfolgreich - 91 Unit-Tests, Ruff, Struktur-, Gitignore-, Secret- und Auditprüfung erfolgreich
- lokaler Core-Chat am 30.07.2026 zusätzlich von Pascal manuell erfolgreich - lokaler Core-Chat am 30.07.2026 zusätzlich von Pascal manuell erfolgreich
geprüft: deutsche Antworten, Sitzungskontext, `/sessions`, `/exit`, Neustart, geprüft: deutsche Antworten, Sitzungskontext, `/sessions`, `/exit`, Neustart,
`/load <UUID>`, vollständiger Verlauf und Fortsetzung `/load <UUID>`, vollständiger Verlauf und Fortsetzung
@@ -38,6 +43,22 @@ Stand: Gemini-Free-Feature automatisiert geprüft, 30.07.2026.
- für produktive Nutzung freigegeben: nicht separat erklärt; keine spätere Tool-, - für produktive Nutzung freigegeben: nicht separat erklärt; keine spätere Tool-,
Obsidian- oder Autonomiefunktion Obsidian- oder Autonomiefunktion
## Chatkomfort-Meilenstein
- Branch `feat/chat-comfort`
- Ollama und Gemini verwenden denselben optionalen Streamingvertrag; Provider
ohne Streaming bleiben kompatibel
- keine versteckten Gedanken; Terminal-Markdown wird lesbar bereinigt
- vollständige Antwort wird genau einmal gespeichert; Strg+C und Streamfehler
hinterlassen keine unvollständige Nachricht
- medizinische Fragen werden vor jeder Cloudclient-Erstellung zwingend `never`
- Sitzungsliste zeigt Nummer, kurze ID, Titel, Datum, Nachrichtenanzahl und Provider
- Laden per letzter Listennummer oder eindeutigem ID-Präfix; Mehrdeutigkeit wird erklärt
- Suche ist auf 20 Ergebnisse begrenzt, parametrisiert und durchsucht nur Titel
sowie Benutzernachrichten
- echter Ollama-CLI-Streaming-/Neustart-Smoke und echter kleiner
Gemini-Streaming-Smoke mit öffentlichem Inhalt erfolgreich
## Gemini-/Datenschutz-Meilenstein ## Gemini-/Datenschutz-Meilenstein
- Branch `feat/gemini-privacy-router` - Branch `feat/gemini-privacy-router`
@@ -67,7 +88,7 @@ Stand: Gemini-Free-Feature automatisiert geprüft, 30.07.2026.
- `/privacy` trennt lokalen Modus von einem technischen Provider-Fallback - `/privacy` trennt lokalen Modus von einem technischen Provider-Fallback
- sicheres `scripts/start-javis.ps1` mit relativer Repositoryprüfung, - sicheres `scripts/start-javis.ps1` mit relativer Repositoryprüfung,
Loopback-Ollama und überschreibbaren externen Pfaden Loopback-Ollama und überschreibbaren externen Pfaden
- 66 Unit-Tests aktuell erfolgreich; PowerShell-Syntax, Lockfile, Sync, - 91 Unit-Tests aktuell erfolgreich; PowerShell-Syntax, Lockfile, Sync,
Strukturprüfung, Secret-Scan, Gitignore, Ruff-Format und Lint sauber Strukturprüfung, Secret-Scan, Gitignore, Ruff-Format und Lint sauber
## Nicht implementiert ## Nicht implementiert
@@ -77,24 +98,18 @@ Living-Mind-Frontend.
## Git ## Git
- aktueller Branch: `main` - aktueller Branch: `feat/chat-comfort`
- Feature-Commit: `7a14fe8` - Basis: `main` bei `77b510b`
- Merge-Commit: `564a3fd` - medizinisches Routing: `9148193`
- Tests auf dem gemergten `main`: 66 bestanden - Streaming: `00a5a6c`
- `main` erfolgreich zu `origin/main` gepusht - Titelmigration: `112ae6d`
- Grundgerüstcommit: `6d04171` - Sitzungsnavigation: `43c1f76`
- Basis des Feature-Branches: `e6eb995` - vorheriger Gemini-/Datenschutz-Merge auf `main`: `564a3fd`
- Toolchain: `fa90a5c`
- Laufzeit/Modell: `10d7cd7`
- Chatkern: `ec9b2f9`
- Tests: `b153daa`
- Dokumentation: `5d567e5`
- Merge nach `main`: `f3d6dfb`
## Bekannte Einschränkung ## Bekannte Einschränkung
Das Startskript startet Ollama bei Bedarf lokal. Antworten werden noch nicht Das Startskript startet Ollama bei Bedarf lokal. Eine Löschfunktion ist nicht
gestreamt; Sitzungen haben noch keine Titel, Suche oder Löschfunktion. Bestandteil dieses Pakets.
`qwen3:8b` ist nicht automatisch für die GTX 1050 des späteren Zielhosts geeignet. `qwen3:8b` ist nicht automatisch für die GTX 1050 des späteren Zielhosts geeignet.
Der Gemini-Key liegt ausschließlich im Betriebssystem-Keyring; sein Wert wurde Der Gemini-Key liegt ausschließlich im Betriebssystem-Keyring; sein Wert wurde
von Codex weder gelesen noch ausgegeben. Pascal hat den echten Cloud- und von Codex weder gelesen noch ausgegeben. Pascal hat den echten Cloud- und