From 09f1168c172de8539257afae6e44015e1d6b310b Mon Sep 17 00:00:00 2001 From: Bjorn Blomberg Date: Sun, 28 Jun 2026 14:43:19 +0200 Subject: [PATCH] =?UTF-8?q?README:=20kom=20ig=C3=A5ng-guide=20(med=20NTFS/?= =?UTF-8?q?btrfs-fallgrop)=20+=20slice=20markerad=20klar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- README.md | 44 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 36 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 097835d..36cc1b6 100644 --- a/README.md +++ b/README.md @@ -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`