README: kom igång-guide (med NTFS/btrfs-fallgrop) + slice markerad klar

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-28 14:43:19 +02:00
parent 8af5fd9972
commit 09f1168c17

View File

@@ -174,17 +174,45 @@ konfigurerade, och att en trasig hook aldrig låser en session.
---
## Kom igång (utveckling)
> **OBS NTFS-disk:** projektet ligger på en NTFS-formaterad disk
> (`/run/media/brasse/Exton-speed-game`). `pnpm` **hänger** på `ntfs3`-drivern vid den
> tunga småfils-I/O:n när den extraherar/hardlinkar i storen. Lägg därför pnpm-storen
> **och** den virtuella storen på ett Linux-filsystem (btrfs/ext4) vid installation —
> bara källkoden ligger kvar på NTFS. På en Linux-fs (t.ex. Pi5) behövs inga flaggor.
```bash
# Installera på NTFS-workstationen (store + virtual-store på btrfs):
pnpm install \
--store-dir /home/brasse/.cache/agent-helm/store \
--virtual-store-dir /home/brasse/.cache/agent-helm/vstore
# (På vanlig Linux-fs räcker: pnpm install)
# Konfig: kopiera och sätt en token
cp .env.example .env # sätt AGENT_HELM_TOKEN + VITE_AGENT_HELM_TOKEN
# Kör de tre delarna i var sin terminal:
pnpm dev:server # control-plane på :8787
pnpm dev:daemon # kör `gemini` i en pty, ansluter till servern
pnpm dev:web # Vite-dev-server — öppna länken i webbläsaren
```
Logga in i web-UI:t med samma token, välj sessionen och styr den. Sätt
`AGENT_CMD=bash` för daemonen om du vill testa pipelinen utan Gemini-auth.
## Status
🚧 **Skelett / design.** Detta repo innehåller hittills arkitektur och dataflöde. Nästa
steg: scaffolda `packages/daemon`, `packages/server`, `packages/web` och `hooks/`.
**Tunn vertikal slice klar och verifierad.** Token-auth, daemon-registrering,
session-lista, scrollback-snapshot och `input → pty → output` fungerar end-to-end
(rök-testat med server ↔ daemon ↔ klient). Alla paket typecheckar; frontenden bundlar.
### Roadmap
- [ ] Monorepo-uppsättning (workspaces) + tomma paket
- [ ] `daemon`: node-pty spawnar Gemini, strömmar pty över WS
- [ ] `server`: session-registry + WS-mux + scrollback
- [ ] `web`: xterm.js-vy + input-toolbar (fallback-navigering) + instans-lista
- [ ] `hooks`: `before-tool` long-poll + kort-vy i frontend
- [ ] ntfy-integration + Tailscale-/NPM-deploy på Pi5
- [x] Monorepo-uppsättning (pnpm workspaces) + paket
- [x] `daemon`: node-pty spawnar agenten, strömmar pty över WS (auto-reconnect)
- [x] `server`: session-registry + WS-mux + token-auth + scrollback (SerializeAddon)
- [x] `web`: xterm.js-vy + input-toolbar (fallback-navigering) + instans-lista
- [ ] `hooks`: `before-tool` long-poll kort-vy i frontend (strukturerade godkännanden)
- [ ] ntfy-push + Tailscale-/NPM-deploy på Pi5
- [ ] Docker-images → `192.168.0.19:5000`