# Javis Javis ist ein langfristiges, lokal-first ausgerichtetes Projekt für einen persönlichen, modularen KI-Assistenten. Das Ziel umfasst später Textchat, Gedächtnis, Aufgaben und Notizen, kontrollierte Werkzeuge, technische Statusabfragen, Sprache und eine beobachtende Living-Mind-Oberfläche. ## Aktueller Stand Der lokale Textchat funktioniert auf Windows mit Ollama und `qwen3:8b`. Ein optionaler Gemini-Free-Provider ist auf einem Feature-Branch vorbereitet; Datenschutzrouter, Nullkostenmodus und lokales Fallback sind automatisiert getestet, aber noch nicht von Pascal mit einem echten Key abgenommen. Noch nicht implementiert sind Obsidian-Zugriff, Serverzugriff, Sprache, Mobile Client und Living Mind. ## Einfacher Start Aus dem Repository: ```powershell powershell -ExecutionPolicy Bypass -File .\scripts\start-javis.ps1 ``` Das Skript findet die portablen Werkzeuge standardmäßig relativ zum Laufwerk des Repositories, setzt Variablen nur für seinen Prozess, prüft Ollama ausschließlich auf `127.0.0.1:11434`, startet es bei Bedarf versteckt und öffnet den Chat. Es ändert weder PATH, Registry, Autostart, Windows-Dienste noch die systemweite PowerShell-Ausführungsrichtlinie. Abweichende Pfade sind über die Skriptparameter `-UvPath`, `-OllamaPath`, `-OllamaModels`, `-DataDir`, `-UvCacheDir` und `-PythonInstallDir` oder die entsprechenden `JAVIS_*`-Umgebungsvariablen möglich. Im Chat zeigt `/help` alle Befehle. Ohne `JAVIS_DATA_DIR` nutzt Javis einen sicheren benutzerspezifischen Plattformstandard. Gemini bleibt standardmäßig aus. Die spätere lokale Einrichtung erfolgt ohne Key in der Konfigurationsdatei: ```powershell & 'D:\Javis-Tools\uv\uv.exe' run javis configure gemini & 'D:\Javis-Tools\uv\uv.exe' run javis secrets set gemini ``` Der Key wird bei der zweiten Zeile verdeckt eingegeben und im Betriebssystem-Keyring gespeichert, niemals in Git oder TOML. ## Grundregeln - Plattformunabhängiger modularer Monolith, voraussichtlich in Python. - Lokal-first; Cloudanbieter sind optionale und standardmäßig deaktivierte Adapter. - Keine Secrets im Code, in Git, in Prompts oder Logs. - Keine freie Shell für ein Sprachmodell. - Obsidian-Verknüpfungen bilden nur echte inhaltliche Beziehungen ab. Eine gehirnartige Graphansicht soll aus sinnvoller Struktur entstehen, nicht aus Dekorationslinks. - Kritische oder schreibende Aktionen benötigen klar definierte Berechtigungen und Freigaben. ## Orientierung - [Projektstatus](docs/PROJECT_STATUS.md) - [Roadmap](docs/ROADMAP.md) - [Architektur](docs/ARCHITECTURE.md) - [Lokales Modell](docs/LOCAL_MODEL.md) - [Entwicklungsumgebung](docs/DEVELOPMENT_SETUP.md) - [Sicherheit](docs/SECURITY.md) - [Nächste Sitzung](docs/NEXT_SESSION.md) - [Kompakter Handoff](docs/CHATGPT_HANDOFF.md) ## Historischer Verbindungstest Der bisherige Inhalt von `READ.ME` wird hier unverändert erhalten: > Hi. Test Commit f?r verkn?pfung