Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8a678ae353 | |||
| 0a550e6d9f | |||
| f3d6dfb13b |
+25
-8
@@ -45,7 +45,7 @@ Rootserver:
|
||||
|
||||
## Aktueller technischer Stand
|
||||
|
||||
- Der erste lokale Textchat ist auf `feat/core-chat` implementiert und abgenommen.
|
||||
- Der erste lokale Textchat ist auf `main` implementiert, abgenommen und nach Gitea gepusht.
|
||||
- `uv run javis chat` liefert echte lokale Antworten und speichert Sitzungen in SQLite.
|
||||
- Konfigurationsbeispiel, Sicherheitsdokumente, ADRs und Strukturtest sind vorhanden.
|
||||
- Living-Mind-Verzeichnis ist ausschließlich ein inaktiver Vertrag ohne Frontend oder Fantasiedaten.
|
||||
@@ -72,7 +72,10 @@ Rootserver:
|
||||
- Ollama-Provider akzeptiert nur lokale HTTP-Loopback-Adressen
|
||||
- SQLite-Sitzungsspeicher mit atomaren Benutzer-/Assistentenpaaren
|
||||
- Laufzeitdaten außerhalb von Git über `JAVIS_DATA_DIR` oder sicheren Plattformstandard
|
||||
- lokale Modelle zuerst; keine kostenpflichtige API und kein stiller Cloud-Fallback
|
||||
- aktuell ausschließlich lokales Modell; als separates Folgepaket ist Gemini als
|
||||
bevorzugter kostenloser Provider für ausdrücklich cloudgeeignete Inhalte geplant
|
||||
- strikter Nullkostenmodus ohne Billing-Aktivierung oder kostenpflichtigen Fallback;
|
||||
lokales Modell bleibt Offline-, Datenschutz-, Ausfall- und Quota-Fallback
|
||||
- Secret-Werte außerhalb von Code, Git, Prompts und Logs
|
||||
- Modell erhält niemals Passwörter, Tokens oder private Schlüssel
|
||||
- keine freie Shell; spätere Tools benötigen feste Schemas, Allowlists, Timeouts und Freigaben
|
||||
@@ -137,7 +140,7 @@ CLI-/Persistenz-Smoke:
|
||||
|
||||
## Git-Stand
|
||||
|
||||
- aktueller Branch: `feat/core-chat`
|
||||
- aktueller Branch: `main`
|
||||
- stabiler Branch: `main`
|
||||
- Grundgerüstcommit: `6d04171`
|
||||
- letzter Commit vor der Handoff-Verdichtung: `0e82748`
|
||||
@@ -146,6 +149,9 @@ CLI-/Persistenz-Smoke:
|
||||
- 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`
|
||||
- `origin` verwendet HTTPS
|
||||
- kein Force-Push und keine umgeschriebene Historie
|
||||
|
||||
@@ -166,6 +172,8 @@ CLI-/Persistenz-Smoke:
|
||||
- Antworten werden noch nicht gestreamt; Sitzungen besitzen noch keine Titel oder Suche
|
||||
- genauer späterer Obsidian-Schreibbereich ist nicht freigegeben
|
||||
- endgültiger Secret-Provider ist offen; lokale Klartext-XML wäre nur restriktiv geschützt und Git-ignoriert zulässig
|
||||
- aktuelle kostenlose Gemini-Modelle, Modellkennungen und Kontingente müssen vor
|
||||
der Implementierung anhand offizieller Google-Dokumentation neu geprüft werden
|
||||
- Gaming-PC zeigt derzeit nur 8 statt 16 logische CPU-Prozessoren; Ursache ungeklärt
|
||||
- ASUS-Laptop ist nicht automatisch für dasselbe Modell wie die RTX 3060 geeignet
|
||||
|
||||
@@ -174,6 +182,9 @@ CLI-/Persistenz-Smoke:
|
||||
- lokale Modellqualität und Geschwindigkeit unterscheiden sich stark zwischen RTX 3060 und GTX 1050
|
||||
- ATM10 und Javis dürfen den ASUS-Laptop nicht gleichzeitig überlasten
|
||||
- Secrets können über Logs, Prompts, Screenshots oder Git abfließen
|
||||
- Cloudrouting könnte sensible Daten preisgeben; vor jedem Cloudaufruf ist deshalb
|
||||
lokal `allowed`, `ask` oder `never` zu entscheiden und Kontext zu minimieren
|
||||
- kostenlose Gemini-Kontingente und Modellnamen können sich ändern
|
||||
- Prompt Injection aus später eingelesenen Notizen oder Webseiten
|
||||
- unkontrollierter Obsidian-Schreibzugriff könnte Wissen beschädigen
|
||||
- Self-hosted LiveSync ist kein Ersatz für ein getestetes Backup
|
||||
@@ -181,10 +192,16 @@ CLI-/Persistenz-Smoke:
|
||||
|
||||
## Nächster sinnvoller Auftrag
|
||||
|
||||
Nach Merge von `feat/core-chat` den Chat gemeinsam im Alltag benutzen und zuerst
|
||||
konkrete Bedienungs- oder Stabilitätsprobleme sammeln. Mögliche kleine Folgepakete
|
||||
sind ein klarer Start-/Stoppablauf, Streaming, Sitzungstitel oder eine explizite
|
||||
lokale TOML-Konfiguration. Das spätere Laptop-Modell wird erst auf dessen Hardware
|
||||
gemessen und separat entschieden.
|
||||
Als separates nächstes Featurepaket auf neuem Branch:
|
||||
|
||||
1. offizielle aktuelle Gemini-Free-Tier-Modelle und Kontingente neu prüfen
|
||||
2. Secret-Provider ohne Schlüsselzugriff des Modells implementieren
|
||||
3. Datenschutzrouting `allowed`/`ask`/`never` vor jedem Cloudaufruf erzwingen
|
||||
4. Gemini als kostenlosen bevorzugten Provider und Ollama als lokalen
|
||||
Datenschutz-/Offline-/429-Fallback implementieren
|
||||
5. `free_only = true`, keine Billing-Aktivierung und alle geforderten Erfolgs-,
|
||||
Key-, 429-, Netzwerk-, Fallback- und Datenschutztests nachweisen
|
||||
|
||||
Keinen API-Key in Chat, Git, Obsidian, Logs oder Dokumentation übernehmen.
|
||||
|
||||
Nicht Teil dieses Meilensteins: Obsidian-Integration, Serverzugriff, Sprache, Mobile Client oder Living-Mind-Code.
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
| ADR-0004 | Tokenbewusst arbeiten, ohne Qualität oder Sicherheit zu senken | angenommen |
|
||||
| ADR-0005 | Laufenden Handoff kompakt halten und Vollstände nur zu Meilensteinen archivieren | angenommen |
|
||||
| ADR-0006 | Ollama und qwen3:8b für den ersten Windows-Chat verwenden | angenommen |
|
||||
| ADR-0007 | Gemini kostenlos bevorzugen, sensible Inhalte lokal halten und niemals Billing aktivieren | angenommen |
|
||||
|
||||
Offen bleiben insbesondere das endgültige Runtime-Secret-System, der genaue
|
||||
Obsidian-Schreibbereich, das spätere Laptop-Modell und der Produktname.
|
||||
|
||||
+13
-8
@@ -2,8 +2,8 @@
|
||||
|
||||
## Ziel
|
||||
|
||||
Nach Abschluss und Merge von `feat/core-chat`: den ersten Textchat gemeinsam
|
||||
benutzen und nur konkrete Bedienungs- oder Stabilitätsprobleme priorisieren.
|
||||
Nächstes separates Featurepaket: kostenlose Gemini-Anbindung mit strikt lokalem
|
||||
Datenschutzrouting und Ollama als Ausfall-, Quota-, Offline- und Sensitivitätsfallback.
|
||||
|
||||
## Vor Änderungen erneut prüfen
|
||||
|
||||
@@ -14,12 +14,17 @@ benutzen und nur konkrete Bedienungs- oder Stabilitätsprobleme priorisieren.
|
||||
|
||||
## Vorgeschlagener Umfang
|
||||
|
||||
- Start-/Stoppablauf von Ollama auf Alltagstauglichkeit prüfen
|
||||
- reale mehrteilige Gespräche und verständliche Fehlermeldungen beobachten
|
||||
- bei Bedarf Streaming, Sitzungstitel oder eine explizite lokale TOML-Konfiguration
|
||||
als eigenes kleines Feature planen
|
||||
- erst nach Messung auf der Zielhardware ein kleineres Laptop-Modell auswählen
|
||||
- aktuelle kostenlose Gemini-Modelle, Kennungen und Kontingente ausschließlich in
|
||||
offizieller Google-Dokumentation prüfen; Kandidaten nicht ungeprüft übernehmen
|
||||
- Providerrouter mit `free_only = true` und ohne Billing-Konfiguration entwerfen
|
||||
- lokale Datenschutzentscheidung `allowed`, `ask` oder `never` vor jedem Cloudaufruf
|
||||
- Gemini-Key nur über lokalen Secret-Provider; Wert niemals an Modell, Git,
|
||||
Obsidian, Logs, Dokumentation oder Chat geben
|
||||
- Gemini-Erfolg, fehlenden/ungültigen Key, 429, Netzwerkausfall, lokalen Fallback,
|
||||
`never`, `ask` und ausbleibende Billing-Aktivierung testen
|
||||
|
||||
## Nicht beginnen
|
||||
|
||||
Keine zweite Modelllaufzeit, kein Obsidian-Schreiben, kein SSH-/Serverzugriff, keine Sprache und kein Living-Mind-Frontend.
|
||||
Keinen echten Schlüssel anfordern oder dokumentieren, kein Billingkonto verbinden,
|
||||
keine kostenpflichtigen Fallbacks, keinen vollständigen Vault übertragen und
|
||||
weiterhin kein Obsidian-Schreiben, SSH-/Serverzugriff, Sprache oder Living Mind.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Projektstatus
|
||||
|
||||
Stand: lokaler Textchat auf `feat/core-chat`, 30.07.2026.
|
||||
Stand: lokaler Textchat auf `main`, 30.07.2026.
|
||||
|
||||
## Erreicht
|
||||
|
||||
@@ -32,16 +32,20 @@ Living-Mind-Frontend und automatische Ollama-Prozessverwaltung.
|
||||
|
||||
## Git
|
||||
|
||||
- Branch: `feat/core-chat`
|
||||
- Branch: `main`
|
||||
- Grundgerüstcommit: `6d04171`
|
||||
- Basis des Feature-Branches: `e6eb995`
|
||||
- Toolchain: `fa90a5c`
|
||||
- Laufzeit/Modell: `10d7cd7`
|
||||
- Chatkern: `ec9b2f9`
|
||||
- Tests: `b153daa`
|
||||
- Dokumentation: `5d567e5`
|
||||
- Merge nach `main`: `f3d6dfb`
|
||||
|
||||
## 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.
|
||||
`qwen3:8b` ist nicht automatisch für die GTX 1050 des späteren Zielhosts geeignet.
|
||||
Gemini ist als separates kostenloses Folgepaket mit lokalem Datenschutzrouting
|
||||
geplant, aber noch nicht implementiert oder mit einem API-Key konfiguriert.
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
# ADR-0007: Kostenlose hybride Providerstrategie
|
||||
|
||||
Status: angenommen am 30.07.2026, Implementierung ausstehend.
|
||||
|
||||
## Entscheidung
|
||||
|
||||
Javis bleibt in Logik, Gedächtnis, Berechtigungen, Audit und Kontextauswahl lokal.
|
||||
Für ausdrücklich cloudgeeignete Inhalte soll Gemini später der bevorzugte
|
||||
kostenlose Provider werden. Ollama bleibt lokaler Datenschutz-, Offline-, Ausfall-
|
||||
und Quota-Fallback. `free_only = true` verbietet Billing-Aktivierung,
|
||||
kostenpflichtige Modellwahl und kostenpflichtige Fallbacks.
|
||||
|
||||
Vor jedem Cloudaufruf entscheidet eine lokale Richtlinie:
|
||||
|
||||
- `allowed`: minimal nötiger Ausschnitt darf übertragen werden
|
||||
- `ask`: Pascal muss vorher zustimmen
|
||||
- `never`: ausschließlich lokal verarbeiten
|
||||
|
||||
Persönliche und familiäre Informationen sind mindestens `ask`. Secrets sowie
|
||||
Finanz-, Gesundheits- und besonders sensible Daten sind `never`. Der vollständige
|
||||
Obsidian-Vault darf niemals an Gemini übertragen werden.
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
Vor der Implementierung werden aktuelle kostenlose Modelle, exakte Modellnamen und
|
||||
Kontingente anhand offizieller Google-Dokumentation geprüft. Ein Gemini-Schlüssel
|
||||
wird nur über einen lokalen Secret-Provider geladen, auf die Gemini API begrenzt
|
||||
und niemals an Modellkontext, Git, Obsidian, Logs, Dokumentation oder Chat gegeben.
|
||||
Javis verbindet oder aktiviert kein Google-Billingkonto.
|
||||
|
||||
## Folgen
|
||||
|
||||
HTTP 429, Quota- und Netzwerkausfälle müssen verständlich behandelt und sicher zum
|
||||
lokalen Provider geroutet werden. Gemini ist bevorzugt, aber nie unersetzliche
|
||||
Grundlage. Die Umsetzung erfolgt als eigenes getestetes Featurepaket; der bereits
|
||||
abgenommene lokale Chat bleibt bis dahin unverändert.
|
||||
@@ -6,3 +6,4 @@
|
||||
- [ADR-0004: Tokenbewusster Arbeitsablauf](0004-token-efficient-workflow.md)
|
||||
- [ADR-0005: Kompakter Handoff](0005-compact-handoff.md)
|
||||
- [ADR-0006: Erste lokale Modelllaufzeit](0006-first-local-runtime.md)
|
||||
- [ADR-0007: Kostenlose hybride Providerstrategie](0007-free-hybrid-providers.md)
|
||||
|
||||
Reference in New Issue
Block a user