mirror of
http://100.103.83.12:3003/fegger/pv-agent.git
synced 2026-09-17 15:46:23 +00:00
feat(agent): add test frontend and Docker stack
This commit is contained in:
+29
-5
@@ -5,10 +5,10 @@ Rollender Übergabe-Log für agent-Threads. Workflow: `.agents/SKILL.md`
|
||||
|
||||
## Current focus
|
||||
|
||||
API-first-Festigung (D19): Der eigenständige Wissensdienst erhält einen
|
||||
versionierten, authentisierbaren v1-Vertrag und eine explizite Privacy-Grenze.
|
||||
Als Nächstes folgt der dünne Odoo-Client; Lohndaten bleiben bis zum separaten
|
||||
tenant-autorisierten Datenvertrag außerhalb der Agenten-API.
|
||||
Der Docker-Compose-Stack (D21) für UI + API auf `100.103.83.12` ist lokal
|
||||
gebaut und validiert. Offen ist nur der Zielhost-Smoke-Test samt Verifikation
|
||||
des tatsächlichen Ollama-DNS-Alias im externen Netz `ollama-default`; danach
|
||||
kann der dünne Odoo-Client folgen.
|
||||
|
||||
## Completed (2026-09-14)
|
||||
|
||||
@@ -436,6 +436,27 @@ tenant-autorisierten Datenvertrag außerhalb der Agenten-API.
|
||||
ist durch `check_same_thread=False` plus `RLock` worker-thread-sicher. Neue
|
||||
Nicht-lokaler CLI-Bind ohne `PV_API_KEY` wird fail-closed abgelehnt. Neue
|
||||
API-/Concurrency-Tests erhöhen die Offline-Suite von 75 auf **82 grüne Tests**.
|
||||
- **D20 (Test-Frontend, 2026-09-16):** FastAPI liefert unter `/` ein
|
||||
dependency-freies, responsives Frontend aus `web/` aus. Es nutzt same-origin
|
||||
`/v1/ask` und `/v1/health`, zeigt Status, Quellen, Konflikte, Rückfragen,
|
||||
Suchplan und Grounding-Metadaten und hält den Verlauf nur im DOM. Ein
|
||||
optional gemerkter Service-Key liegt ausschließlich im `sessionStorage` des
|
||||
Tabs; kein Secret wird in die Assets injiziert. Modelltext wird ohne
|
||||
`innerHTML` gerendert. CSP gilt gezielt für UI/Assets, damit `/docs` nutzbar
|
||||
bleibt; globale Header setzen `nosniff`, `DENY` und `no-referrer`. Betrieb
|
||||
auf dem Tailscale-Interface: `python -m agent.cli serve --host
|
||||
100.103.83.12` mit gesetztem `PV_API_KEY`; UI auf Port 8080. Tests 82 → 84.
|
||||
- **D21 (Docker-Compose-Deployment, 2026-09-16):** `compose.yaml` baut einen
|
||||
gemeinsamen UI-/API-Container, bindet Port 8080 nur an `100.103.83.12` und
|
||||
tritt dem externen Netz `ollama-default` bei. Ollama wird nicht dupliziert;
|
||||
`OLLAMA_URL` ist konfigurierbar (Beispiel `http://ollama:11434`, Alias auf
|
||||
Zielhost noch zu verifizieren). `data/` ist schreibbar, `wissensbasis/`
|
||||
read-only; Root-FS read-only, Capabilities entfernt, no-new-privileges,
|
||||
unprivilegierter `PUID:PGID`, verpflichtender `PV_API_KEY`. `.dockerignore`
|
||||
hält `.env`, Index, Layer-1-Korpora und KB aus dem Image; Runtime-Image nutzt
|
||||
`requirements-runtime.txt`. Compose `config --quiet`, Image-Build und
|
||||
read-only Import-/Asset-Smoke-Test bestanden. Deployment: `docs/DOCKER.md`.
|
||||
Statische Deploymenttests erhöhen die Suite von 84 auf **87 Tests**.
|
||||
- **Bake-off-Protokoll** (Skill): Modellwechsel nur über dokumentierten
|
||||
Goldset-Vergleich; Kriterium: Zitier-Präzision > Verweigerungs-
|
||||
korrektheit > Latenz.
|
||||
@@ -446,7 +467,10 @@ tenant-autorisierten Datenvertrag außerhalb der Agenten-API.
|
||||
- `.agents/skills/pv-rag-agent/SKILL.md` — verbindliche Regeln.
|
||||
- `agent/README.md` — Betrieb, Konfiguration, Host-Schritte.
|
||||
- `docs/API.md` — v1-Vertrag, Authentisierung, Privacy-Grenze und Odoo-Aufruf.
|
||||
- `agent/api.py` — versionierte Service-Oberfläche und Sicherheitsgrenzen.
|
||||
- `agent/api.py` — versionierte Service-Oberfläche, UI-Auslieferung und Sicherheitsgrenzen.
|
||||
- `web/` — dependency-freies Test-Frontend.
|
||||
- `compose.yaml`, `Dockerfile`, `.env.example`, `.dockerignore` — Zielhost-Stack.
|
||||
- `docs/DOCKER.md` — Deployment, Indexaufbau und Smoke-Tests.
|
||||
- `agent/eval/goldset.yaml` — Goldset (IDs gegen kb.json verifiziert).
|
||||
- `agent/generate.py` — Grounding-Kern (Prompt, Post-Validierung).
|
||||
- `wissensbasis/README.md` — Layer-2-Schema + Rechtsprechungs-Provenance.
|
||||
|
||||
Reference in New Issue
Block a user