Files
agent-helm/doc/status.md
Bjorn Blomberg 77682e91b5
All checks were successful
helmd-image / build (push) Successful in 3m22s
helmd-release / build-release (push) Successful in 4m28s
helmd hub: central server på Pi5 + agent-uplink + helmd ctl + web-login
Hub-läge i samma binär (doc/hub-plan.md): agenter ansluter utåt med
delad agent-nyckel (hub-sektion i config.json), web-/CLI-klienter
loggar in (lokala konton, pbkdf2; Authenticator-interface för LDAP
senare) och styr alla agenters sessioner via proxy + merged SSE.
Webbklienten autodetekterar hub/local via /api/mode. Nya kommandon:
helmd hub [setpass|users|agentkey], helmd ctl (login/agents/sessions/
prompt/screen/answer/events …). Enhetstester + scripts/run-hub-smoke.sh
(15-stegs e2e: hub + agent + ctl).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011KikHkfCiC3yELbsMN8fT9
2026-08-06 23:19:18 +02:00

3.7 KiB

agent-helm v2 — statusnotering 2026-08-06

Var vi står i implementationen. Uppdatera denna fil när läget ändras. (Planen och besluten: plan.md + hub-plan.md. Full teknisk doc: ../helmd/README.md.)

Läge: steg 1 + 2 klara och deployade; steg 4 (hub) pågår; steg 3 (Android) kvar

Del Status Var
helmd-servern (Go, REST+SSE, tmux-ägare) klar, testad helmd/
Webbklienten (ramverksfri SPA, go:embed) klar, browser-testad mot riktig agy helmd/web/
Release-binärer (x64 + arm64, webbklient inbyggd) rullande helmd-latest releases
Docker-image (arm64, alpine + tmux/bash) byggs i CI localhost:5000/helmd:latest
Pi5-deploy (LAN-only, ingen NPM-vhost) kör stack /srv/dockge-staks/helmd/, http://192.168.0.19:8788
Hub (helmd hub: agent-uplink + login + web + helmd ctl) kod klar, testad lokalt (enhetstester + 15-stegs smoke); Pi5-deploy återstår hub-plan.md, helmd/README.md
Android-klient (egen SSH-tunnel) ej påbörjad steg 3 i plan.md
v1 (Node: daemon/server/web + rcai.brasse-pc.eu) 🟡 kvar orörd tills v2 helt ersatt packages/

Så kör man det (snabbref)

# Arbetsstationen (styr riktiga agy):
curl -fsSL -o ~/.local/bin/helmd https://gitea.brasse-pc.eu/brasse/agent-helm/releases/download/helmd-latest/helmd-linux-x64
chmod +x ~/.local/bin/helmd
helmd serve            # UI + API på http://127.0.0.1:8788
helmd token            # token till login

# Pi5-instansen (sessioner kör i containern):
#   UI:    http://192.168.0.19:8788  (endast LAN)
#   token: sudo docker exec helmd helmd token
# Utifrån: ssh -L 8788:192.168.0.19:8788 <pi5> och surfa till localhost:8788

# Dela en fil från agenten till klienterna:
helmd share --note "rapport" fil.html

Vad som är verifierat

  • 29/29 integrationstester i isolerad Docker-container (helmd/scripts/run-integration.sh) — hela API-ytan inkl. auth, frågesvar (siffer- och pilnavigering), delningar, notify-regler, SSE.
  • Enhetstester för frågedetektorn mot riktiga agy 1.1.9-dumpar (godkännande, trust, inramad picker, markdown-falsklarm).
  • End-to-end i browser mot riktig agy: prompt → godkännandefråga → frågekort → svar → kommandot kört; markdown/bild-delningar renderade.
  • Pi5-deployen från LAN: UI 200, API 401 utan token, bash-session i containern svarar.

Kända begränsningar / öppna punkter

  1. mode cycle (Shift+Tab) är overifierad mot agy — tangenten skickas korrekt (BTab), men att agy faktiskt byter läge är inte bekräftat. Testa; annars finns POST /keys som fallback.
  2. Ingen agent i Pi5-containern ännu — sessioner där kör bash. Kandidater: claude-code (arm64) eller agy om Google släpper arm64.
  3. PWA-manifest finns men ingen service worker — "installera som app" funkar, offline-cache saknas (planerad ihop med Android-steget).
  4. ntfy-notiser vid ny fråga är PÅ för Pi5-instansen (topic agent-helm) — kan bli spammigt med många sessioner; stängs av i Inställningar-fliken i så fall.
  5. v1-stacken (agent-helm på :8787 / rcai.brasse-pc.eu) kör kvar men är död funktionellt (Gemini-OAuth) — riv när v2 känns komplett, inkl. NPM-vhosten rcai.

Nästa steg (steg 3)

Android-klient som sätter upp sin egen SSH-tunnel till Pi5 och pratar med helmd genom den. Lutning: Capacitor-wrap av webbklienten + SSH-bibliotek (alternativt native Kotlin om tunnelkontrollen kräver det). Push utifrån: ntfy-appen prenumererar redan på agent-helm.