# Déploiement Antigravity CLI, Clé SSH NAS, Connecteur Baserow et Context-Mode (ticket infra-2026-09-049) ## Contexte Déploiement et sécurisation de l'assistant-codeur **Antigravity CLI** (`agy`) sur le VPS (compte `gemini-ops`, interface web `ttyd` accessible via `https://gemini.yesminedor.tn`). Le conteneur `agy-web` s'exécute sur le réseau Docker `mcp-vps` avec accès aux services locaux et au NAS via Tailscale. ## Interventions et validations réalisées (13/09/2026) ### 1. Autorisation de la clé SSH sur le NAS - **Problème initial** : Rejet `Permission denied (publickey)` lors des tentatives de connexion SSH vers le NAS (`100.86.197.88:22222`) depuis `agy-web` et `opencode`. - **Action** : Ajout de la clé publique `ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPgJ/JBrGu8SoFAW9qijSEaxoEnWKL9az0szUUSEJU8M opencode-ops@vps-nas` dans `~/.ssh/authorized_keys` sur le compte `gemini-ops` du NAS. - **Validation** : Test SSH exécuté avec succès depuis `agy-web` et `opencode` sans invite de mot de passe (`hostname` renvoie `Ahmed_-_Yesmine`). ### 2. Connecteur MCP Baserow Nyora - **Action** : Ajout du connecteur MCP `baserow-nyora` via `agy mcp add -H "Authorization: Token " baserow-nyora https://baserow.bolbol.tn/mcp/SJAxACfPslSR11n8j2BIhX9csKSFaZ9F/sse`. - **Piège résolu** : Réponse `401 Endpoint not found` sur le endpoint SSE. L'endpoint n'était pas présent en base. Insertion dans la table `core_mcpendpoint` de `Baserow-DB` pour le workspace Nyora (ID 186) avec la clé `SJAxACfPslSR11n8j2BIhX9csKSFaZ9F`. - **Validation** : Flux SSE 200 OK et exécution d'une session de test réelle `agy` ayant listé avec succès les 2 bases de données et 10 tables du workspace Nyora (notamment `CONCEPT` / table 1100 `tickets`). ### 3. Intégration pérenne de context-mode sur agy-web - **Piège prérequis** : Le package `context-mode` requiert Node.js `>= 22.5.0`. Debian 12 Bookworm ne fournit que Node.js 18. - **Action Dockerfile** : Bascule de l'image de base vers `node:22-slim` (Debian 12 Bookworm + Node.js 22.23.2) et ajout de la directive `RUN npm install -g context-mode` pour rendre l'installation pérenne aux rebuilds. - **Installation du plugin** : `agy plugin install /usr/local/lib/node_modules/context-mode/configs/antigravity-cli` déployant les skills, hooks et mcpServers dans `/workspace/.gemini/config/plugins/context-mode/`. - **Validation** : Diagnostic `context-mode doctor` validé avec `Plugin enabled: PASS` et `npm (MCP): PASS`. Test interactif de session `agy` validé avec succès.