Go to file
Lars 62aa24a4bc
All checks were successful
Deploy mindnet to llm-node / deploy (push) Successful in 3s
Merge pull request 'WP07' (#7) from WP07 into main
Reviewed-on: #7
# Feature: Interview Assistent & Draft Editor (WP-07 + WP-10a)

**PR Typ:** Feature
**Version:** v2.4.0
**Status:**  Tested & Documented

## 📝 Zusammenfassung
Dieser Merge transformiert Mindnet von einem reinen RAG-System (Lesen) in ein **Co-Creation-System (Schreiben)**.
Implementiert wurden der **One-Shot Interview Modus**, der auf Basis von User-Prompts strukturierte Markdown-Entwürfe generiert, sowie ein **Frontend-Editor**, um diese Entwürfe zu finalisieren und herunterzuladen.

## 🛠 Technische Änderungen

### Backend (WP-07)
* **`app/routers/chat.py`**:
    * Neue Logikweiche für Intent `INTERVIEW` (kein RAG-Retrieval).
    * Implementierung von `_detect_target_type` (Keyword-Matching für Schemas).
    * Dynamische Injektion von Pflichtfeldern in den Prompt.
* **`config/decision_engine.yaml`**:
    * Neuer Intent `INTERVIEW` definiert.
    * **Late Binding Schemas:** Definition der Pflichtfelder für `project`, `decision`, `goal`, etc.
* **`config/prompts.yaml`**:
    * Neues `interview_template` mit "One-Shot Extraction" Logik und striktem Markdown-Output-Format.

### Frontend (WP-10a)
* **`app/frontend/ui.py`**:
    * Neues Widget `render_draft_editor`: Erkennt Drafts und rendert `st.text_area`.
    * **Sanitizer:** `normalize_meta_and_body` repariert halluzinierte YAML-Header des LLMs.
    * Export-Funktion (Download als `.md`).

### Dokumentation (WP-14)
* Update auf **v2.4.0** für alle Core-Docs (`Overview`, `Tech Arch`, `User Guide`, `Admin Guide`).
* Aktualisierung `Programmplan_V2.2.md` (WP-07/10a auf Grün).

##  Test-Coverage
* [x] Intent `INTERVIEW` wird via Keywords ("neues projekt") erkannt.
* [x] One-Shot Extractor liefert validen Markdown-Codeblock.
* [x] UI rendert Editor statt Chat-Blase.
* [x] Sanitizer fängt falsche YAML-Keys (z.B. 'situation') ab und schiebt sie in den Body.
2025-12-10 18:57:14 +01:00
.gitea/workflows .gitea/workflows/deploy.yml aktualisiert 2025-11-07 09:37:02 +01:00
.vscode Neue Dokumentationsdateien 2025-12-07 15:49:44 +01:00
app ui und prompt 2025-12-10 18:13:35 +01:00
config ui und prompt 2025-12-10 18:13:35 +01:00
docker docker/embeddings.Dockerfile aktualisiert 2025-09-04 08:00:52 +02:00
docs dokumentation 2025-12-10 18:55:38 +01:00
Programmmanagement dokumentation 2025-12-10 18:55:38 +01:00
schemas schemas/note.schema.json aktualisiert 2025-09-09 19:43:12 +02:00
scripts scripts/health_check_mindnet.py aktualisiert 2025-12-05 12:12:30 +01:00
tests testscript 2025-12-10 14:03:07 +01:00
vault vault/leitbild/templates/obsidian_review_daily.md hinzugefügt 2025-11-01 15:08:47 +01:00
README.md test 2025-12-07 12:43:20 +01:00
requirements.txt Erste Version Wp10 2025-12-09 18:44:26 +01:00

mindnet API (bundle)

This bundle provides a minimal FastAPI app for embeddings and Qdrant upserts/queries plus a Markdown importer.

Quick start

python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt

# Environment (adjust as needed)
export QDRANT_URL=http://127.0.0.1:6333
export MINDNET_PREFIX=mindnet
export MINDNET_MODEL=sentence-transformers/all-MiniLM-L6-v2

# Run API
uvicorn app.main:app --host 0.0.0.0 --port 8001 --workers 1

# (optional) Ensure collections exist (or use setup_mindnet_collections.py you already have)
# python3 scripts/setup_mindnet_collections.py --qdrant-url $QDRANT_URL --prefix $MINDNET_PREFIX --dim 384 --distance Cosine

# Import some notes
python3 scripts/import_markdown.py --vault /path/to/Obsidian

Endpoints

  • POST /embed{ "texts": [...] } → 384-d vectors
  • POST /qdrant/upsert_note
  • POST /qdrant/upsert_chunk
  • POST /qdrant/upsert_edge
  • POST /qdrant/query → semantic search over chunks with optional filters

See scripts/quick_test.sh for a runnable example.

Anmerkung: Diese Datei ist veraltet