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-jsonComposants
server/server.js— HTTP + WebSocket/ws(port 3300, loopback). Lanceclaude -p … --output-format stream-json --verbose --include-partial-messagesdans 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 launchdio.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
akidHttpOnly/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>'puislaunchctl 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.logClé 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).