
aquaman v0.15.0
🔱 Le seul proxy d'identification indépendant pour les agents IA : isolement de type « apportez votre propre coffre » et politiques de requêtes de moindre privilège. Vos clés restent là où vous les conservez déjà , jamais dans la mémoire de l'agent. Compatible avec 1Password, keychain, keepassxc et bien d'autres.
đź”± Aquaman
🔱 Le seul proxy d'identifiants indépendant pour agents IA : isolation bring-your-own-vault et politiques de requêtes à moindre privilège. Vos clés restent là où vous les conservez déjà , jamais dans la mémoire de l'agent. Compatible avec 1Password, keychain, keepassxc et bien d'autres.
Vous avez configuré Claude Code, Codex, OpenClaw, Hermes ou Docker Sandboxes, et vous voilà devant des fichiers .env avec vos précieuses clés API en clair. Vous avez lu les articles. Vous savez ce qui se passe quand un agent subit une injection de prompt. On comprend.
Aquaman règle ce problème avec trois couches de défense :
- Isolation des processus : les clés API résident dans un processus proxy séparé qui les injecte à la sortie. L'agent détient un marqueur, jamais une clé, donc même une RCE dans l'agent ne peut pas en lire une. Les agents de codage ne reçoivent que les références que vous déclarez, une commande à la fois.
- Politiques de requêtes : des règles par service contrôlent quels endpoints un agent peut appeler. Bloquez les API d'administration, empêchez les suppressions, autorisez les brouillons mais refusez les envois. Les requêtes refusées ne reçoivent jamais de vrais identifiants.
- Audit inviolable : chaque utilisation d'identifiant est journalisée avec des chaînes de hachage SHA-256. Vous pouvez prouver ce qui a été consulté et détecter toute altération après coup.
Choisissez votre parcours
Aquaman est livré sous forme de quatre paquets coordonnés, partageant un seul vault + un seul daemon. Installez uniquement ce dont vous avez besoin :
| Paquet | Ce qu'il fait | Quand l'installer |
|---|---|---|
aquaman-proxy | Cœur : vault, daemon, audit, politique, CLI. La pièce dont tout le monde a besoin. | Toujours. |
aquaman-plugin | Adaptateur OpenClaw Gateway. Lance le proxy au démarrage de la Gateway ; achemine le trafic modèle et Telegram à travers lui ; 25 services intégrés répartis sur 5 modes d'authentification. | Si vous exécutez une OpenClaw Gateway. Également disponible sur https://clawhub.ai/plugins/aquaman-plugin |
aquaman-coder | Adaptateur pour agent de codage IA. Références aquaman://service/key à portée projet, résolues à chaque appel de l'outil Bash. | Si vous utilisez Claude Code ou Codex. |
aquaman-hermes | Plugin hôte d'agent Hermes (Python, sur PyPI). Pointe Hermes vers un listener loopback opt-in protégé par jeton via ses ANTHROPIC_BASE_URL/OPENAI_BASE_URL natifs ; ajoute une commande /aquaman-status en session, un outil et une sonde de santé. L'isolation est côté proxy ; le plugin ne détient aucun identifiant. | Si vous exécutez l'hôte d'agent Hermes. pip install aquaman-hermes |
| Docker Sandboxes | Pas un paquet : un parcours séparé qui ne nécessite que aquaman-proxy. Le proxy propre à Docker injecte les secrets ; aquaman get les fournit depuis votre vault, avec la liste d'autorisation et le journal d'audit. | Si vous exécutez des agents dans Docker Sandboxes. Voir Quick Start 5. |
Une seule CLI aquaman expose les quatre : commandes de premier niveau pour le vault et l'audit, aquaman openclaw ... pour l'intégration OpenClaw, aquaman coder ... pour l'intégration agent de codage (délègue à aquaman-coder en interne) ainsi que aquaman hermes ... pour le paquet Python Hermes.
Quick Start
aquaman help, aquaman doctor sont vos amis.
1. Vault uniquement (juste le proxy + vos secrets)
npm install -g aquaman-proxy
aquaman setup # backend wizard + store keys
aquaman daemon & # start the proxy
aquaman credentials list # verify
Le proxy écoute sur ~/.aquaman/proxy.sock (UDS, chmod 0o600). Pointez n'importe quel outil vers http://aquaman.local/<service>/<path> et le proxy injecte les en-têtes d'authentification pour ce service depuis le backend de coffre-fort que vous avez choisi.
2. OpenClaw Gateway
openclaw plugins install aquaman-plugin # 1. install plugin + proxy
openclaw aquaman setup # 2. backend + keys + plugin wire-up
openclaw # 3. done - proxy starts automatically
Dépannage : openclaw aquaman doctor.
Utiliser npm directement ? npm install -g aquaman-proxy && aquaman openclaw setup fait la même chose - installe le CLI proxy, stocke vos clés, installe le plugin dans ~/.openclaw/extensions/aquaman-plugin/, et configure les identifiants (références SecretRef sur OpenClaw ≥ 2026.6.5, l'espace réservé auth-profiles.json sur les versions plus anciennes).
aquaman openclaw setup pointe models.providers.<svc>.baseUrl et channels.telegram.apiRoot vers l'écouteur loopback du proxy, car le transport de modèle d'OpenClaw et ses canaux construisent chacun leur propre client HTTP et contournent l'intercepteur fetch. Les canaux autres que Telegram n'exposent aucune substitution de point de terminaison, donc leurs jetons sont stockés et migrés mais non injectés à la sortie (voir packages/plugin/README.md). Ajoutez des canaux sous la configuration du plugin dans openclaw.json ; les canaux pris en charge incluent Slack, Discord, Telegram, MS Teams, Matrix, LINE, Twitch, Twilio, BlueBubbles, Mattermost, Nostr, Tlon, Feishu, Google Chat, ElevenLabs, xAI, Cloudflare AI Gateway, Mistral, Hugging Face, et plus encore (25 au total).
3. Agents de codage IA (Claude Code, Codex)
npm install -g aquaman-proxy aquaman-coder # 1. install daemon + adapter
aquaman setup # 2. vault wizard
aquaman daemon & # 3. start the proxy
aquaman coder project add my-app --path ~/code/my-app \
--env ANTHROPIC_API_KEY=aquaman://anthropic/api_key \
--env GITHUB_TOKEN=aquaman://github/token # 4. declare a project
aquaman coder setup claude-code # 5. wire Claude Code hooks
# (or: aquaman coder setup codex)
aquaman doctor # 6. verify - should show both vault + coder green
Voyez-le par vous-même (le déclic en 30 secondes) : redémarrez Claude Code (ou Codex), ouvrez une nouvelle session dans ~/code/my-app, et demandez à l'agent d'exécuter :
printenv | grep ANTHROPIC_API_KEY
Vous verrez ceci dans la transcription :
ANTHROPIC_API_KEY=[REDACTED:injected-value]
⏺ ANTHROPIC_API_KEY is set and available (injected via aquaman vault).