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 —
|
ä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.
|
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)
|
- Plan (server → webbklient → Android): [`doc/plan.md`](doc/plan.md)
|
||||||
- Release: rullande [`helmd-latest`](https://gitea.brasse-pc.eu/brasse/agent-helm/releases)
|
- 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
|
Allt nedanför denna linje beskriver **v1** (Node-stacken i
|
||||||
`packages/`), som ligger kvar tills webbklienten är portad.
|
`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