-
-
Notifications
You must be signed in to change notification settings - Fork 1
Plan Lokale KI
MadGapun edited this page Jun 2, 2026
·
2 revisions
Issue-Level-Detail zu Cluster F aus dem Master-Plan. Stand: 2026-06-02 (beta.90).
| Nr | Funktion | Issue | Beta | Code |
|---|---|---|---|---|
| F16 | Wiedergaenger-Erkenner: KI-freier DB-Check (Ebene 0, Firma+Titel-Domaene vs. abgelehnte Stellen) + Kontext in fit_analyse (Ebene 2) |
#671 | 86 |
services/wiedergaenger.py, tools/jobs.py
|
| F17 | Elwosa KI-freies Safety-Net: Validierungs-Retry (_pick_valid_line) + garantiertes Tageslebenszeichen (ensure_daily_lifesign) |
#669 | 88 | services/elwosa.py |
Noch offen: F15 — Elwosa Ollama-Live-Generierung + Claude-Eskalation (Ebene 1) bleibt ⬜. Die KI-freien Ebenen 0/2 (F16) und das Safety-Net (F17) sind live; die Ollama-gestuetzte Ebene 1 ist bewusst zurueckgestellt.
| Sub | Funktion | Issue | Code | Status |
|---|---|---|---|---|
| F1.1 |
LLMService-Klasse mit Routing-Tabelle |
#512 | services/llm_service.py |
✅ |
| F1.2 |
TaskKind-Enum (alle Task-Typen) |
#512 | dito | ✅ |
| F1.3 |
Backend-Enum (LOCAL / CLAUDE / MANUAL) |
#512 | dito | ✅ |
| F1.4 |
ROUTING_TABLE-Dict mit Fallback-Reihenfolge pro Task |
#512 | dito | ✅ |
| F1.5 |
select_backend() waehlt bestes verfuegbares Backend |
#512 | dito | ✅ |
| F1.6 |
TaskResult-Dataclass (backend, success, payload, fallback_message, metrics) |
#512 | dito | ✅ |
| F1.7 | Singleton-Pattern via get_llm_service()
|
#512 | dito | ✅ |
| F1.8 | Mock-Modus via PBP_LLM_MOCK=1 fuer Tests |
#512 | dito | ✅ |
| Sub | Funktion | Issue | Code | Status |
|---|---|---|---|---|
| F2.1 |
_check_ollama() HTTP-Request gegen /api/tags
|
#591 | services/llm_service.py |
✅ |
| F2.2 | Status-Caching (30s TTL) | #591 | dito | ✅ |
| F2.3 |
LLMStatus-Dataclass mit ollama_available, available_models, selected_model, user_state
|
#591 | dito | ✅ |
| F2.4 | User-State Persistierung (llm_local_state: off/paused/active) |
#591 | dito | ✅ |
| Sub | Funktion | Issue | Code | Status |
|---|---|---|---|---|
| F3.1 |
models_detail mit Name + Size + Family + Parameter-Size |
#592 | services/llm_service.py |
✅ |
| F3.2 | Auto-Select wenn nur 1 Modell installiert | #592 | dito | ✅ |
| F3.3 |
list_models() MCP-Endpoint |
#592 | dito | ✅ |
| F3.4 | UI-Modell-Picker im Settings-Tab | #592 | Frontend | ✅ |
| Sub | Funktion | Issue | Code | Status |
|---|---|---|---|---|
| F4.1 |
keep_alive=60m in jedem /api/generate-Request |
#638 | services/llm_service.py |
✅ |
| F4.2 |
warmup() Methode (Dummy-Request mit num_predict=1) |
#638 | dito | ✅ |
| F4.3 | Idempotent: warmes Modell kostet Millisekunden, kaltes max 90s | #638 | dito | ✅ |
| F4.4 | Pre-Warmup vor Bulk-Operationen (stellen_auto_aussortieren) | #638 | tools/jobs.py |
✅ |
| Sub | Funktion | Issue | Code | Status |
|---|---|---|---|---|
| F5.1 | Konzept: Ollama wird nicht mehr On-Demand geladen | #638 | — | ✅ |
| F5.2 | Auto-Klassifikation eingehender Mails (_run_auto_classify_emails) |
#638 | dashboard.py |
✅ |
| F5.3 | Auto-Klassifikation Dokumente (_run_auto_classify_documents) |
#638 | dito | ✅ |
| F5.4 | Auto-Extract Kontakte (_run_extract_contacts) |
#606 | dito | ✅ |
| F5.5 | Pattern-Analyse User-Aktivitaet (_run_analyze_user_patterns) |
#594 | dito | ✅ |
| F5.6 | Auto-Aussortieren in Hintergrund | #638 | — | ⬜ (manuell triggerbar, kein Cron) |
| F5.7 | Bei Stop: pbp_diagnose zeigt Ollama-Status als Warning, nicht silent |
#637 | — | ✅ |
| Sub | Funktion | Issue | Code | Status |
|---|---|---|---|---|
| F6.1 | Token-Klassen-Anzeige pro MCP-Tool ("XS/S/M/L/XL") | #632 |
tools/... (metadata) |
✅ |
| F6.2 | Pre-Flight-Schaetzung vor Tool-Ausfuehrung | #632 | — | ⬜ |
| F6.3 | Per-Call-Token-Tracking | #632 | — | ⬜ |
| Sub | Funktion | Issue | Code | Status |
|---|---|---|---|---|
| F7.1 | Tracking: auto-aussortiert vs. spaeter reaktiviert/beworben | #638 | database.py |
✅ |
| F7.2 |
genauigkeit_prozent-Berechnung in pbp_mcp_diagnose
|
#638 | tools/analyse.py |
✅ |
| F7.3 |
datenbasis_ausreichend-Flag (mind. N Samples noetig) |
#638 | dito | ✅ |
| F7.4 | UI-Anzeige als Ollama-Leistung-Card in Settings | #638 | Frontend | ✅ |
| Sub | Funktion | Issue | Code | Status |
|---|---|---|---|---|
| F8.1 |
get_recent_user_dismissals(limit=10) DB-Helper |
#638 | database.py |
✅ |
| F8.2 | Anreicherung des Prompts mit konkreten User-Entscheidungen | #638 | services/llm_service.py |
✅ |
| F8.3 | LLM kann eigene Anti-Muster erkennen (statt Heuristik-Raterei) | #638 | dito | ✅ |
| Sub | Funktion | Issue | Code | Tests | Status |
|---|---|---|---|---|---|
| F9.1 | Neuer TaskKind VALIDATE_JOB_QUALITY
|
#645 | services/llm_service.py |
tests/test_v17_qualitaet_pruefen_645.py |
✅ |
| F9.2 | Prompt-Builder fuer Vollstaendigkeits-Check (Aufgaben/Anforderungen/Gehalt/...) | #645 | dito | dito | ✅ |
| F9.3 | Response-Parser robust gegen Markdown-Codefence + Vor-/Nachspann | #645 | dito | dito | ✅ |
| F9.4 | Structured Output: vollstaendig + score 0-10 + vorhanden[] + fehlt[] + claude_action | #645 | dito | dito | ✅ |
| F9.5 |
claude_action-Enum: nachladen / manuell_ergaenzen / keine
|
#645 | dito | dito | ✅ |
| F9.6 | Integration in stellen_qualitaet_pruefen(mit_ollama_validierung=True)
|
#645 | tools/jobs.py |
dito | ✅ |
Hinweis: beta.73 ausgespielt, beta.72 (was bei Markus laeuft) hat es noch nicht.
| Sub | Funktion | Issue | Code | Status |
|---|---|---|---|---|
| F10.1 | UI-Button "Ollama starten" wenn nicht erreichbar | #637 | Frontend | ✅ |
| F10.2 | Backend-Endpoint /api/ollama/start (Subprozess) |
#637 | dashboard.py |
✅ |
| F10.3 | Health-Check nach Start (max 30s warten) | #637 | dito | ✅ |
| Sub | Funktion | Issue | Code | Status |
|---|---|---|---|---|
| F11.1 | Sidebar-Komponente mit Persoenlichkeit (geschlechtsfrei, britisch ironisch) | #599 | Frontend | ✅ |
| F11.2 |
elwosa.speak() Trigger-Engine |
#599 | services/elwosa.py |
✅ |
| F11.3 | Tonfall-Waechter-Validator (keine Ausrufezeichen, keine Emojis, kein "Ihre/Ihnen") | #599 | dito | ✅ |
| F11.4 | 6 MCP-Tools als Bridge fuer Claude (elwosa_lesen, _schreiben, _pause, _tonfall, _linie_vorschlagen, _status) |
#599 | tools/elwosa.py |
✅ |
| F11.5 | 5 Bridge-Prompts in prompts.py
|
#599 | prompts.py |
✅ |
| F11.6 | ~140 kuratierte Linien im Pool | #599 | services/elwosa_lines.py |
✅ |
| F11.7 | Sprach-DNA-Validator-Test (test_all_pool_lines_pass_validator) |
#599 | tests/ |
✅ |
| Sub | Funktion | Issue | Code | Status |
|---|---|---|---|---|
| F12.1 | 4 Modi: aus / sachlich / minimal / humorvoll | #612 | services/elwosa.py |
✅ |
| F12.2 |
can_post_class()-Logik (aus blockt alles, sachlich blockt idle/welt/tip/easter, minimal Hard-Cap 1/Tag) |
#612 | dito | ✅ |
| F12.3 |
SETTINGS_REFLECTION_LINES Pool fuer Tonfall-Aenderungen |
#612 | services/elwosa_lines.py |
✅ |
| F12.4 | Frontend feuert Hook auf jede Settings-Aenderung | #612 | Frontend | ✅ |
| Sub | Funktion | Issue | Code | Status |
|---|---|---|---|---|
| F13.1 | Welt-Trigger-Pools auf 4-8 Linien ausgebaut (vorher 1-3) | #614 | services/elwosa_lines.py |
✅ |
| F13.2 | Same-Day-Anti-Repeat (2 Filter-Schichten: not-7-days, dann not-today) | #614 | services/elwosa.py |
✅ |
| F13.3 | Markup-Support **bold** und `[link:pause:N |
label]` | #614 | dito |
| F13.4 | Repeat erst wenn Pool fuer den Tag durch | #614 | dito | ✅ |
| Sub | Funktion | Issue | Code | Status |
|---|---|---|---|---|
| F14.1 | Pro Page-Wechsel kontextuelles Wiki-Snippet | #594 | services/wiki_snippets.py |
✅ |
| F14.2 | Snippet-Bibliothek mit ~30 kuratierten Eintraegen | #594 | dito | ✅ |
| Sub | Funktion | Issue | Code | Status |
|---|---|---|---|---|
| F15.1 |
user_activity_events-Tabelle |
#594 | database.py |
✅ |
| F15.2 |
learning_insights-Tabelle mit LLM-Analyse-Ergebnissen |
#594 | dito | ✅ |
| F15.3 |
_run_analyze_user_patterns-Auto-Engine-Step |
#594 | dashboard.py |
✅ |
| F15.4 | AdaptiveHintBanner pro Page (UI) | #594 | Frontend | ✅ |
| F15.5 | Opt-in Telemetrie-Sharing (wochenweise) | #594 | — | ✅ |
| F15.6 | Korrektur-Loop (User korrigiert LLM-Vorschlag → wird gelernt) | #594 | dito | ✅ |
Pro Sub-Position gilt:
- Code im Repo (Pfad in Tabelle).
- Tests gruen (Test-Datei in Tabelle wo relevant).
- Wiki-Eintrag in Lokale-KI, Elwosa, Lern-System oder Stellen-Qualitaet.
🗺 Plan
- Master-Plan
- Master-Plan-Optimierung
- Plan-Datenbasis (A)
- Plan-Jobsuche (B)
- Plan-Stellen (C)
- Plan-Bewerbungen (D)
- Plan-Dokumente (E)
- Plan-Lokale-KI (F)
- Plan-Frontend (G)
- Plan-MCP-Layer (H)
- Plan-Distribution (I)
- Plan-Roadmap-v18 (J)
Einstieg
Tabs
Features
- Elwosa
- Lern-System
- Lokale KI & KI-Steuerung
- Profile-Cluster
- Suchkriterien & Gewichtungen
- Profil aus Dokumenten
- Workflows
- Jobportale
- Stellen-Qualitaet
Reference