doc: statusnotering för v2-implementationen (doc/status.md) + länk i README
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -18,10 +18,14 @@ hooks). **v2** byter fundament: en enskild Go-binär, [`helmd/`](helmd/),
|
||||
äger en tmux-session med agenten (**agy**) och exponerar REST+SSE —
|
||||
tmux-skärmen är sanningskällan i stället för agent-specifika hooks.
|
||||
|
||||
- Server: klar — se [`helmd/README.md`](helmd/README.md) (API, säkerhet, test)
|
||||
- **Status just nu: [`doc/status.md`](doc/status.md)** (vad som är klart,
|
||||
deployat, verifierat och vad som återstår)
|
||||
- Server + webbklient: klara — se [`helmd/README.md`](helmd/README.md)
|
||||
(API, säkerhet, test)
|
||||
- Plan (server → webbklient → Android): [`doc/plan.md`](doc/plan.md)
|
||||
- Release: rullande [`helmd-latest`](https://gitea.brasse-pc.eu/brasse/agent-helm/releases)
|
||||
(`helmd-linux-x64` + arm64)
|
||||
(`helmd-linux-x64` + arm64, webbklienten inbyggd); Pi5-instans på
|
||||
`http://192.168.0.19:8788` (LAN-only)
|
||||
|
||||
Allt nedanför denna linje beskriver **v1** (Node-stacken i
|
||||
`packages/`), som ligger kvar tills webbklienten är portad.
|
||||
|
||||
70
doc/status.md
Normal file
70
doc/status.md
Normal file
@@ -0,0 +1,70 @@
|
||||
# agent-helm v2 — statusnotering 2026-08-05
|
||||
|
||||
Var vi står i implementationen. Uppdatera denna fil när läget ändras.
|
||||
(Planen och besluten: [plan.md](plan.md). Full teknisk doc:
|
||||
[../helmd/README.md](../helmd/README.md).)
|
||||
|
||||
## Läge: steg 1 + 2 klara och deployade, 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](https://gitea.brasse-pc.eu/brasse/agent-helm/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` |
|
||||
| **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)
|
||||
|
||||
```bash
|
||||
# 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`.
|
||||
Reference in New Issue
Block a user