Stray — Outils pour agents IA, auto-hébergé | Apeiron
Une URL, un jeton : vos agents IA appellent 3 000+ outils (SEO, enrichissement, social) sans clé API. Stray déployé par Apeiron, Tunisie et France.
Parlons-en
Stray — le catalogue d'outils de vos agents IA, déployé par Apeiron
« Un agent IA sait raisonner. Mais pour travailler vraiment, il lui faut des outils : SEO, enrichissement de contacts, réseaux sociaux, scraping, publicité… et chacun demande son compte, sa clé, son abonnement. »
En bref
- Catégorie : passerelle d'outils pour agents IA — « OpenRouter, mais pour les outils plutôt que pour les modèles »
- Principe : une URL, un jeton ; l'agent appelle un catalogue de plus de 3 000 endpoints et vos propres API, sans jamais détenir de clé
- Facturation : à l'appel, dès 1 centime, sur un solde prépayé ; vos propres clés ne sont jamais facturées
- Déploiement : auto-hébergé (serveur Python, PostgreSQL), dans votre infrastructure
- Base : projet open source Stray (licence Apache 2.0 avec conditions additionnelles), déployé, intégré et personnalisé par Apeiron

Pourquoi Stray
Les outils dont un agent a besoin pour un vrai travail se trouvent derrière des abonnements que personne n'achète pour un seul usage, derrière des formulaires d'inscription, ou derrière aucune API publique. Résultat : des clés partout — dans des fichiers .env, des messages Slack, des postes de développeurs — et des agents qui bloquent à la première authentification.
Stray inverse le problème. L'agent construit la requête réelle vers l'API amont, la fait passer par le proxy, et Stray :
- retrouve l'outil et vérifie que l'appelant y a droit ;
- injecte la clé côté serveur — l'agent ne la voit jamais ;
- relaie la réponse telle quelle, sans modéliser l'API en amont ;
- facture ou journalise l'appel, exactement une fois.
Pour une équipe, cela veut dire : un seul endroit où vivent les clés, les budgets et l'historique des appels, et des agents (Claude Code, Codex, Cursor, Claude.ai) qui se branchent en une phrase.
Le catalogue : des outils regroupés par métier, avec leur prix de départ par appel. Les outils « gratuits avec votre compte » utilisent votre propre clé.
Demandez la tâche, pas l'outil
Vous n'avez pas besoin de savoir quel fournisseur vend des données de backlinks, ni d'y avoir un compte. L'agent cherche ce qu'il veut faire, lit le prix, appelle.
stray catalog search "backlinks for a domain" # chercher par la tâche
stray catalog get hunter.people.email.find # paramètres, prix, exemple de réponse
stray call hunter.people.email.find --query domain=reddit.com --query full_name="Alexis Ohanian"
stray balance # ce que l'appel a coûté
Quand plusieurs fournisseurs couvrent la même capacité, Stray les affiche côte à côte avec leurs prix : le choix vous appartient. Pour certaines capacités, des endpoints routés (stray.<capacité>) laissent Stray choisir le fournisseur — toujours en nommant celui qui a répondu et en renvoyant sa réponse brute.
Un endpoint routé : Stray choisit le meilleur fournisseur et passe au suivant si le premier échoue. Vos propres clés passent toujours en premier.
La fiche d'un outil : prix, commande à copier pour l'agent, paramètres et exemple de réponse.
Comment ça marche
Chaque appel suit le même chemin, et ce chemin est volontairement court.
Agents et équipes à gauche, fournisseurs amont à droite : au milieu, un serveur qui résout, autorise, réserve, relaie et règle.
- Résoudre l'outil — par hôte et préfixe d'URL, ou par nom.
- Autoriser — rôle du membre, plafonds journaliers, règles de refus.
- Réserver un hold — le prix maximal de l'appel est mis de côté sur le solde.
- Relayer et injecter la clé — la requête part vers le fournisseur, octet pour octet.
- Régler ou libérer — le coût réel est débité, ou le hold est rendu si l'appel échoue.
Deux règles d'architecture font la fiabilité du système : un appel ne garde aucune connexion à la base de données ouverte pendant qu'il attend le fournisseur, et le hold est réglé ou libéré exactement une fois, y compris en cas de timeout, d'annulation ou d'exception.
Un relais fidèle, pas une API de plus
Stray ne modifie que trois choses : les en-têtes de transport, ses propres en-têtes de contrôle (jeton, organisation), et la clé injectée. Tout le reste passe tel quel. C'est ce qui permet à l'outil de survivre aux changements d'API des fournisseurs : on ne modélise pas l'API, on la relaie.
Qui fournit la clé ?
C'est le cœur du modèle économique et de la gouvernance. Pour chaque appel, Stray essaie quatre échelons dans l'ordre :
Votre propre clé gagne toujours, n'est jamais facturée et n'est jamais routée ailleurs.
| Échelon | Source de la clé | Facturation |
|---|---|---|
| 1 | Un outil enregistré par votre équipe | Jamais facturé |
| 2 | Un secret stocké par votre équipe | Jamais facturé |
| 3 | Une route publique vérifiée, sans clé fournisseur | Gratuit |
| 4 | La clé de Stray | Prélevé sur le solde prépayé |
Un endpoint dont Stray n'a pas de prix publié est refusé, jamais servi gratuitement : on vous demande de connecter votre propre clé.
Une facturation qui se vérifie
L'argent est traité comme dans un système comptable : des entiers en micro-dollars, jamais de flottants, et cinq écritures seulement — grant, topup, reserve, settle, release.
Un appel réserve un hold ; une réponse 2xx facturable le règle, un échec le libère. Il n'existe aucun remboursement : une correction est un grant.
- Les réponses 4xx et 5xx ne sont pas facturées ; une réponse 200 l'est, même si le verdict est négatif.
- Les nouveaux comptes vérifiés reçoivent 1 $ de crédit offert, une fois, à la création d'une équipe éligible.
- Des recharges manuelles ou automatiques via Stripe, et un rapprochement en lecture seule pour contrôler le ledger.
- Les plafonds (par membre, par jour, par appel) protègent le budget quand un agent s'emballe.
Vos outils, vos clés — dans le même catalogue
Le catalogue couvre ce que vous n'avez pas. Pour ce que vous avez déjà, Stray héberge vos propres outils : ils sont appelables par tous les agents de l'équipe, sans que la clé quitte le serveur, et ne sont jamais facturés.
Le catalogue (clés de Stray, facturé à l'appel) et vos outils (vos clés, jamais facturés).
Trois types d'outils personnels :
- Endpoints : une URL amont et des liaisons de secrets — une clé API, un jeton OAuth, plusieurs en-têtes si nécessaire.
- CLI :
stripe,gh,vercel… exécutés avec l'identifiant injecté, en local ou sur le serveur. - Skills : une recette
SKILL.mdavec ses secrets et ses outils, enregistrée une fois pour toute l'équipe.
La commande stray upload scanne un projet (fichier .env, dossiers de skills, CLI installées) et propose ce qui peut être partagé, chiffré côté serveur. Un outil du hub permet même de publier un outil composé d'autres outils, avec son propre prix.
Connexions : ajoutez votre propre clé pour un fournisseur, et ses appels cessent d'être facturés.
Équipes, rôles et accès
Tout est cloisonné par organisation : secrets, outils, skills, soldes et journaux. Les rôles sont owner, admin, member et viewer, avec un accès outil par outil et des plafonds par membre.
La page Équipe : rôles, plafond d'appels par jour, accès aux outils, clés API et politiques.
- Agents comme identités : un agent est une identité machine avec son propre jeton, limité à des outils ou des projets précis.
- Agents épinglés : pour un client final, un agent peut être « épinglé » à un identifiant client — l'historique, les réponses archivées et les propriétés asynchrones restent cloisonnés par client.
- Refacturation : un en-tête
X-Stray-Metaet un suivi d'usage par étiquette permettent de reporter le coût par client ou par projet. - Santé des identifiants : des sondes optionnelles valident les clés, rafraîchissent les jetons OAuth et alertent le propriétaire de ce qui casse.
Branchez n'importe quel agent en une phrase
L'onboarding est pensé pour les agents eux-mêmes : on leur donne une phrase, ils lisent llms.txt, installent la CLI, ouvrent la session et enregistrent les skills.
Premiers pas : la phrase à copier dans le chat de l'agent, avec la clé API de l'équipe déjà incluse.
Le sélecteur d'agent adapte les instructions : Claude Code, Codex, Claude.ai, Cursor, Grok Bot, Hermes Agent ou un autre client.
Pour Claude Code, Stray s'installe aussi comme plugin, sans configuration :
/plugin marketplace add apeiron-tech/stray
/plugin install stray@stray
Des skills prêts à l'emploi s'appuient sur le catalogue : détection de signaux d'achat publics (lead-signals), génération de vidéos UGC (make-ugc), ou encore une mémoire pour Claude Code (jev-memory). Côté MCP, Stray expose ses outils aux clients compatibles, y compris un connecteur Claude.ai.
Cas d'usage pour les entreprises
- Prospection et enrichissement : retrouver un contact, vérifier une adresse, enrichir une entreprise à partir d'un domaine — par un agent, sans abonnement CRM supplémentaire.
- SEO et visibilité IA : positions, mots-clés, backlinks, et suivi des mentions dans les moteurs de réponse IA.
- Veille réseaux sociaux : tendances, profils, publications, pour un community manager augmenté.
- Plateforme d'agents interne : un seul jeton par agent, des budgets par équipe, un journal d'audit de chaque appel.
- Agents pour vos clients : des agents épinglés par client, avec refacturation de l'usage.
- MVP et POC d'agents : valider un cas d'usage en quelques semaines sans négocier dix contrats fournisseurs — voir notre développement de MVP et POC.
Déploiement
Stray est conçu pour être auto-hébergé : un serveur, un worker, une base de données.
Dans votre infrastructure : l'API, le worker, PostgreSQL, un store clé-valeur et un stockage objet. À droite, ce qu'Apeiron prend en charge.
- Serveur : application Python (FastAPI) avec tableau de bord, API et surface MCP ;
stray-workerpour les tâches asynchrones. - Données : PostgreSQL en production (SQLite en développement), store clé-valeur au protocole Redis, stockage objet pour l'archive des réponses.
- Secrets : chiffrés au repos avec une clé Fernet — à sauvegarder avec la base, car sans elle les secrets sont irrécupérables.
- Authentification : code par e-mail, GitHub ou Google OAuth, selon la configuration.
- Optionnel : Stripe pour les recharges, un service d'e-mail transactionnel.
L'ensemble tient dans une configuration par variables d'environnement STRAY_*, et chaque paramètre a une valeur par défaut qui fonctionne en local.
Sécurité et gouvernance
- Aucun secret dans l'agent : les identifiants restent côté serveur, chiffrés ; le jeton de l'appelant est retiré avant d'atteindre le fournisseur.
- Votre clé prime, toujours : jamais mesurée, jamais routée ni débordée vers un autre compte.
- Journal d'audit de chaque appel et de chaque exécution de CLI, avec rétention maîtrisée des preuves.
- Protection contre les requêtes vers le réseau interne (SSRF) sur le relais amont, et couches d'architecture appliquées par des tests d'import.
- Politique de sécurité documentée : modèle de menace, limites connues et procédure de signalement.
Licence et attribution
Stray est un projet open source édité par Superdesign, publié sous licence Apache 2.0 avec conditions additionnelles. L'usage est libre, y compris commercial et au sein de votre propre organisation — l'auto-hébergement de votre propre registre est encouragé. La restriction : ne pas redistribuer le code à des tiers comme service hébergé concurrent sans autorisation écrite. Apeiron apporte l'intégration, la personnalisation, le déploiement et l'accompagnement ; le code est disponible sur le dépôt apeiron-tech/stray.
Pourquoi choisir Stray avec Apeiron
- Vos clés restent chez vous : un seul coffre, un journal, des plafonds — plutôt que dix
.env. - Pas de dépendance à un fournisseur : base open source, relais fidèle, standards ouverts (CLI, MCP).
- Une équipe qui livre : Apeiron conçoit et exploite des solutions d'IA agentique, d'ERP et de logiciels sur mesure pour des clients en France et en Tunisie.
- Un seul interlocuteur : du cadrage à l'exploitation, avec un accompagnement en français, en arabe et en anglais.
Questions fréquentes
Qu'est-ce que Stray ?
Stray est une passerelle d'outils pour agents IA : « OpenRouter, mais pour les outils ». Avec une seule URL et un seul jeton, un agent appelle un catalogue d'endpoints externes (SEO, enrichissement, réseaux sociaux, publicité, scraping, médias générés) et les outils de votre équipe, sans jamais détenir de clé API.
Mes agents voient-ils mes clés API ?
Non. Stray injecte l'identifiant côté serveur au moment de l'appel et retire le jeton de l'appelant avant que la requête n'atteigne le fournisseur. Les secrets sont chiffrés au repos.
Comment Stray facture-t-il les appels ?
Les appels du catalogue qui utilisent la clé de Stray sont facturés à l'appel, dès 1 centime, sur un solde prépayé. Un appel réserve d'abord un montant maximal, puis règle le coût réel ou libère la réservation en cas d'échec. Les appels qui utilisent vos propres clés ne sont jamais facturés.
Stray est-il open source ? Puis-je l'héberger moi-même ?
Oui. Stray est publié sous licence Apache 2.0 avec des conditions additionnelles : usage libre, y compris commercial et en interne, et auto-hébergement encouragé. Seule la redistribution à des tiers comme service hébergé concurrent nécessite une autorisation écrite.
Avec quels agents fonctionne Stray ?
Avec Claude Code (plugin et skill), Codex, Cursor, Claude.ai (connecteur MCP), Grok Bot, Hermes Agent ou tout agent capable d'exécuter la CLI stray ou d'appeler une API HTTP avec un jeton. Un simple message — « set up stray » suivi de l'URL de votre instance — suffit à l'installer.
Puis-je utiliser mes propres abonnements et API avec Stray ?
Oui. Vous enregistrez vos endpoints, CLI ou skills, et vos clés restent chiffrées côté serveur. Votre clé prime toujours sur celle de Stray et ses appels ne sont jamais facturés. La commande stray upload repère ce qui est partageable dans un projet.
Comment isoler les données de plusieurs clients ?
Tout est cloisonné par organisation, avec quatre rôles et un accès outil par outil. Pour un client final, un agent peut être épinglé à un identifiant client : l'historique, les réponses archivées et les ressources asynchrones restent limités à ce client, et l'usage peut être refacturé par étiquette.
Combien coûte un déploiement de Stray ?
Le logiciel n'a pas de licence par utilisateur. Le budget dépend de l'infrastructure, du nombre d'équipes et d'agents, et de l'intégration souhaitée ; les appels facturés du catalogue dépendent de votre usage. Nous chiffrons après un atelier de cadrage.
Apeiron peut-il réaliser un POC de Stray ?
Oui. Nous proposons un POC sur un cas d'usage précis — par exemple un agent de prospection ou de veille SEO — pour mesurer le gain avant de généraliser. Voir notre développement de MVP et POC.
Voir aussi
- Cortex One — IA d'entreprise auto-hébergée
- Agence IA en Tunisie : agents, RAG et automatisation
- Développement MVP et POC
- Orchestration d'agents IA pour l'entreprise
- Nos réalisations
Donnez à vos agents les bons outils
Vous voulez des agents capables de travailler sans multiplier abonnements et clés ? Parlons de vos cas d'usage, de vos équipes et de votre infrastructure.
- Contact Apeiron : contact@apeiron-tech.com
- Parlez-nous de votre projet