SPB Git

spb/admin-ka

Public
2.4 KB

# admin-ka — administration-ka.com

Console chat mobile-first pour piloter Claude Code sur le nœud M3U96a et gérer l'écosystème Groupe KA à distance.

text
iPhone ⇄ https://www.administration-ka.com (ngrok) ⇄ backend :3300 (M3U96a) ⇄ claude -p --output-format stream-json

# Composants

  • server/server.js — HTTP + WebSocket /ws (port 3300, loopback). Lance claude -p … --output-format stream-json --verbose --include-partial-messages dans le répertoire du projet choisi, relaie chaque événement du stream au client, persiste les transcripts (data/transcripts/*.jsonl), gère --resume <session-id> pour la continuité.
  • server/perm-mcp.js — serveur MCP stdio (--permission-prompt-tool mcp__adminka__approve) : chaque demande de permission devient une carte Autoriser / Refuser dans le chat (long-poll via /internal/perm, timeout 10 min → refus).
  • public/ — frontend une page : Markdown (marked) + code highlighté (highlight.js), blocs outils repliables, diffs colorés (Edit/Write), TodoWrite en checklist, streaming temps réel, safe-areas iPhone.
  • deploy/*.plist — services launchd io.adminka.backend + io.adminka.ngrok.

# Modes de permission

  • Sûr (défaut) : lecture libre (Read, Glob, Grep, LS, WebFetch, WebSearch, TodoWrite, NotebookRead, Task), tout le reste (Bash, Edit, Write…) demande une permission dans le chat.
  • Auto : --dangerously-skip-permissions (confirmation requise dans l'UI).

# Auth & sécurité

  • Mot de passe (scrypt) → cookie akid HttpOnly/Secure, 7 j d'inactivité / 30 j max.
  • Rate-limit login : 8 échecs / 15 min / IP. Backend lié à 127.0.0.1 (seul ngrok y accède).
  • Audit complet : data/audit.jsonl (logins, prompts, tool_use, permissions, coûts).
  • Changer le mot de passe : node server/set-password.js '<nouveau>' puis launchctl kickstart -k gui/501/io.adminka.backend.

# Exploitation (sur M3U96a)

bash
# statut
launchctl print gui/501/io.adminka.backend | head -20
curl -s http://127.0.0.1:3300/healthz

# redémarrer
launchctl kickstart -k gui/501/io.adminka.backend
launchctl kickstart -k gui/501/io.adminka.ngrok

# logs
tail -f ~/apps/admin-ka/data/backend.err.log ~/apps/admin-ka/data/ngrok.log

Clé API : lue depuis ~/.claude/.env (ANTHROPIC_API_KEY) au démarrage du backend.

Projets proposés dans le sélecteur : ~/groupe-ka/* (clones des repos spbgit), ~/apps/* (apps déployées sur ce nœud), et ~ (home).

Files · d2f510a8a7ccb60afbcf2a20e98ef68df5b51e51
Menu

Theme