Klient-distribution: självständiga binärer + curl|sh-installer
All checks were successful
build-and-push / build (push) Successful in 26s
release-client / build-release (push) Successful in 1m3s

- daemon: byt node-pty -> @homebridge/node-pty-prebuilt-multiarch (N-API-
  prebuilds för x64+arm64, ingen kompilering); esbuild-bundle av daemonen
- .gitea/workflows/release.yaml: på tag v* bygger pkg båda arkitekturerna på
  Pi-runnern (utan QEMU — prebuilds för båda finns) och publicerar som
  Gitea-release-assets via API
- install.sh: 'curl -fsSL .../install.sh | sh' — detekterar arch, hämtar rätt
  binär från senaste releasen, lägger agent-helm i PATH, skapar config.env +
  valfri systemd-user-service (Arch/Ubuntu)
- deploy/client-build/package.json: pkg-config (assets för prebuilds)
- DEPLOY.md: klient-installationssektion

Verifierat lokalt: pkg-binär (x64, 83 MB) startar, node-pty spawnar pty,
ansluter och input/output funkar end-to-end.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-28 17:24:21 +02:00
parent c3972d76df
commit a6e304fb53
8 changed files with 1483 additions and 12 deletions

View File

@@ -136,6 +136,34 @@ Daemonen dyker upp som en session i web-UI:t. (Kräver att NPM:s Websockets är
---
## Klienten (daemon) — installera på en Linux-maskin
Klienten distribueras som **självständiga binärer** (Node + node-pty inbäddat, inga
beroenden på målet) för `linux-x64` och `linux-arm64`, byggda av
`.gitea/workflows/release.yaml` och publicerade som **Release-assets** på Gitea.
**Skapa en release** (bygger båda arkitekturerna på Pi-runnern):
```bash
git tag v0.1.0 && git push origin v0.1.0
# eller: Gitea -> Actions -> release-client -> Run workflow (ange tag)
```
**Installera på valfri Linux-maskin** (Arch, Ubuntu, …) — ett kommando:
```bash
curl -fsSL https://gitea.brasse-pc.eu/brasse/agent-helm/raw/branch/main/install.sh | sh
```
Installern detekterar arch, hämtar rätt binär från senaste releasen, lägger
`agent-helm` i `/usr/local/bin` (eller `~/.local/bin`), skapar
`~/.config/agent-helm/config.env` och en (valfri) systemd-user-service.
Sätt token + kör:
```bash
${EDITOR:-nano} ~/.config/agent-helm/config.env # AGENT_HELM_TOKEN, SERVER_URL, AGENT_CMD
systemctl --user daemon-reload && systemctl --user enable --now agent-helm
# eller direkt: set -a; . ~/.config/agent-helm/config.env; agent-helm
```
Klienten ansluter till `wss://rcai.brasse-pc.eu` och dyker upp som en session i UI:t.
## Uppdatera till senaste
1. `git push master` → runnern bygger + pushar `:latest`.

View File

@@ -0,0 +1,11 @@
{
"name": "agent-helm-client",
"version": "1.0.0",
"bin": "daemon.cjs",
"pkg": {
"assets": [
"node_modules/@homebridge/node-pty-prebuilt-multiarch/prebuilds/**/*",
"node_modules/@homebridge/node-pty-prebuilt-multiarch/lib/**/*"
]
}
}