SPB Git

spb/ka-guardian

Public
4.5 KB · 90 lines markdown
1# KA Guardian — ka2 · ka4 · ka623Les trois agents gardiens autonomes du Groupe KA. Depuis le 2026-08-23, ka2/ka4/ka64ne sont plus des bots de cartographie web : ce sont des **agents de maintenance5autonomes des connecteurs** des plateformes ·Ka, bâtis sur Claude (CLI headless).67## Aperçu des sites publics89*Captures du 2026-08-25 (mobile 390×844 · desktop 1440×900) — chaque gardien rend des comptes en direct sur son site.*1011<table>12  <tr>13    <td align="center"><img src="docs/screenshots/desktop/ka2.webp" width="300" alt="ka2.bot"><br><sub><b><a href="https://www.ka2.bot">ka2.bot</a> — gardien immobilier & local (lou-ka, immo-ka, resto-ka)</b></sub></td>14    <td align="center"><img src="docs/screenshots/desktop/ka4.webp" width="300" alt="ka4.bot"><br><sub><b><a href="https://www.ka4.bot">ka4.bot</a></b></sub></td>15    <td align="center"><img src="docs/screenshots/desktop/ka6.webp" width="300" alt="ka6.bot"><br><sub><b><a href="https://www.ka6.bot">ka6.bot</a></b></sub></td>16  </tr>17  <tr>18    <td align="center"><img src="docs/screenshots/mobile/ka2.webp" width="200" alt="ka2 mobile"><br><sub>mobile</sub></td>19    <td align="center"><img src="docs/screenshots/mobile/ka4.webp" width="200" alt="ka4 mobile"><br><sub>mobile</sub></td>20    <td align="center"><img src="docs/screenshots/mobile/ka6.webp" width="200" alt="ka6 mobile"><br><sub>mobile</sub></td>21  </tr>22</table>2324## Ce qu'ils font25261. **Détection** — toutes les 5 min, chaque agent lit la supervision centralisée27   d'api-ka (`/api/v1/monitoring/connectors`, ~2 600 connecteurs classés28   ok/degraded/broken/stale toutes les 2 h). Un connecteur `broken` ou `stale`29   de son périmètre → incident.302. **Mission** — l'agent dépêche une mission au **runner** du nœud qui héberge31   l'app : `claude -p` headless, lancé dans le repo de l'app, avec un prompt de32   mission strict (diagnostiquer, reproduire, corriger minimalement, re-tester,33   `pm2 restart` du process de sync, commit `[kaX] fix connecteur …`, jamais de push).343. **Surveillance** — après réparation déclarée, l'incident passe en `watching`35   pendant 8 h. Connecteur de retour à `ok` → résolu.364. **Rollback automatique** — si l'app tombe (healthcheck) ou si le connecteur37   est toujours cassé après la fenêtre : retour au commit d'avant mission38   (`git reset --hard`/revert) + `pm2 restart`. 3 tentatives max, puis `abandoned`39   (intervention humaine).405. **Vitrine live** — chaque site (www.ka2.bot / www.ka4.bot / www.ka6.bot) est41   une salle de contrôle : flux SSE en direct de chaque action de l'agent42   (outils, réflexions, verdicts), board d'incidents, couverture par service,43   historique des missions avec transcript et coût.4445## Répartition4647| Agent | Domaine | Services surveillés |48|---|---|---|49| ka2 | www.ka2.bot :8799 | louka, immoka, restoka |50| ka4 | www.ka4.bot :8899 | autoka, foodka, sortika |51| ka6 | www.ka6.bot :8999 | fabrika, jobka, creaka + tout nouveau service (défaut) |5253## Architecture5455- `orchestrator/` — un process FastAPI par agent (M4M36, launchd56  `com.kaX.guardian`), SQLite `data/kaX.db`, dashboard servi sur le même port,57  tunnels ngrok existants conservés.58- `runner/` — un service par nœud d'app (M3U96a/b, M4M64a/b, port 7791, launchd59  `com.ka.guardian-runner`), 1 mission à la fois par nœud, transcripts dans60  `~/ka-guardian-runner/transcripts/`. Exécute `claude -p --output-format61  stream-json` et relaie chaque événement à l'orchestrateur (`/api/ingest`).62- `topology.json` — source de vérité : agents, services (nœud/dir/pm2/port),63  IP LAN, politique (fenêtres, cooldowns, modèle).64- Auth interne : token partagé `~/.ka-guardian.env` (orchestrateurs + runners),65  header `X-KA-Token`. Clé Anthropic + clés anti-bot : `~/.claude/.env` des nœuds.66- Communication **par le LAN 192.168.2.x** (SSH/Tailscale inter-nœuds bloqué).6768## Déploiement6970```bash71deploy/deploy.sh all          # runners + orchestrateurs72deploy/deploy.sh runners      # seulement les 4 runners73deploy/deploy.sh orchestrators74```7576## Admin (token requis)7778```bash79# mission manuelle sur un connecteur80curl -X POST http://M4M36.maclustr.io:8799/api/admin/mission \81  -H "X-KA-Token: $TOKEN" -d '{"service":"louka","source":"kijiji"}'82# pause / reprise d'un agent83curl -X POST http://M4M36.maclustr.io:8799/api/admin/pause -H "X-KA-Token: $TOKEN" -d '{"paused":true}'84```8586## Historique8788Les anciens bots (cartographie du web québécois / influenceurs) sont archivés :89`~/ka-bots-backup-20260823.tar.gz` sur M4M36 (code + bases SQLite complètes).90
Files · 98a24a4dfa495f5afb66480854af522f2a93feb6
Menu

Theme