helmd: inbäddad webbklient (vanilla SPA) + Docker-image för Pi5 (LAN-only)
- web/: token-login, sessionslista, ANSI-skärmvy (SSE+poll), promptfält, frågekort, tangentrad, delningsflik (bild/HTML-sandbox/markdown), inställningar - go:embed via webfs.go — servern förblir en enda binär, strikt CSP - browser-verifierad mot riktig agy (fråga -> kort -> svar -> kört) - Dockerfile (alpine + tmux/bash) + helmd-image.yaml -> localhost:5000/helmd - integrationstest utökat till 29 gröna Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
21
doc/plan.md
21
doc/plan.md
@@ -41,11 +41,22 @@ webb-PWA (LAN/tunnel) ─────┼──► helmd :8788 (Go, REST+SSE, tok
|
||||
(event-pushar + `POST /api/notify`, topics `agent-helm`/`claude`).
|
||||
- Isolerat integrationstest i Docker (26 tester), CI-release
|
||||
`helmd-latest` (x64 + arm64).
|
||||
2. ⬜ **Webbklient v2** (`packages/web`): porta till helmd-API:t.
|
||||
- Sessionslista, skärmvy (poll + SSE), promptfält, frågekort med
|
||||
knappar, läges-/inställningsvy.
|
||||
- Delningsflik: html/md renderas, png/jpg visas, md till html.
|
||||
- Uppdaterad look. Serveras statiskt av helmd (embed) eller nginx.
|
||||
2. ✅ **Webbklient v2** (`helmd/web/`): **ramverksfri** ES-modul-SPA,
|
||||
inbäddad i binären med `go:embed` — hela v2 är fortfarande EN fil,
|
||||
ingen Node-toolchain i CI. (Beslut: vanilla i stället för Vue-port —
|
||||
UI-ytan är liten, eslint/byggkedjan försvinner, agenter underhåller
|
||||
koden lättare.)
|
||||
- Token-login (localStorage), sessionslista med status/❓-badge,
|
||||
ANSI-färgad skärmvy (SSE + poll-fallback), promptfält,
|
||||
**frågekort med knappar**, tangent-verktygsrad (Esc/pilar/Enter/
|
||||
^C/Läge), delningsflik (bilder, sandboxad HTML-iframe, egen
|
||||
md-renderare), inställningsvy mot `PUT /api/config`.
|
||||
- Browser-verifierad mot riktig agy: prompt → godkännandefråga →
|
||||
svar via kort → kommandot kört; delningar renderade.
|
||||
- Deploy på Pi5: docker-stack `helmd` (arm64-image via
|
||||
`.gitea/workflows/helmd-image.yaml` → `localhost:5000/helmd`),
|
||||
**LAN-only — ingen NPM-vhost**; sessioner kör bash/agenter i
|
||||
containern.
|
||||
3. ⬜ **Android-klient**: nytt projekt eller Capacitor-port av PWA:n.
|
||||
- Egen SSH-tunnel (t.ex. sshj/JSch) → Pi5 → helmd; token +
|
||||
värdprofil i appen; push via ntfy-appen eller UnifiedPush.
|
||||
|
||||
Reference in New Issue
Block a user