treg

officiel

Un serveur MCP et une clé pour plus de 3 700 API payantes à l’appel : SEO et backlinks, enrichissement de personnes et d’entreprises, réseaux sociaux, publicités, scraping, génération d’images et de vidéos. À distance sur https://treg.to/mcp/v2/ (OAuth) ou auto-hébergé.

Que pouvez-vous faire avec Treg MCP ?

  • Rechercher dans le catalogue d’outils — Demandez à votre assistant de trouver un outil selon ce qu’il fait, par ex. « rechercher des backlinks pour un domaine », et comparez les fournisseurs côte à côte avec les prix.
  • Appeler des outils sans clés de fournisseur — Faites appel à votre assistant pour invoquer des points de terminaison du catalogue comme treg call hunter.people.email.find afin d’enrichir des personnes ou des entreprises, facturés par appel depuis votre solde.
  • Exécuter des CLI de fournisseurs avec des identifiants injectés — Demandez à votre assistant d’exécuter des commandes comme treg run stripe -- get /v1/balance ou treg run gh -- pr list sans que vous ayez jamais à détenir la clé API.
  • Enregistrer et partager vos propres outils — Demandez à votre assistant d’analyser un projet avec treg scan, puis de téléverser ses clés .env, ses compétences et ses CLI afin que toute votre équipe puisse les utiliser.
  • Installer et exécuter des compétences de workflow — Faites appel à votre assistant pour récupérer une compétence prête à l’emploi comme lead-signals afin de trouver des acheteurs sur le marché, ou make-ugc pour produire des vidéos UGC par IA de bout en bout.
  • Gérer les équipes et les accès — Demandez à votre assistant de créer une organisation, d’inviter des coéquipiers ou de limiter l’accès d’un membre à des outils spécifiques avec des commandes comme treg org create et treg org access.

Serveur MCP hébergé

npx add-mcp 'https://treg.to/mcp/v2/'

S’installe dans Claude Code, Codex, Cursor et plus

Documentation

Treg (OpenRouter pour les outils)

treg — the tool catalog for your agent

OpenRouter, mais pour les outils d'agent au lieu des modèles. Pointez un agent vers une URL de base avec un seul jeton et il peut faire le travail : un catalogue organisé de milliers d'endpoints auprès de nombreux fournisseurs — SEO et backlinks, réseaux sociaux et tendances, enrichissement de personnes et d'entreprises, publicités, scraping, génération d'images et de vidéos — facturé par appel, à partir d'un centime, sans inscription auprès d'un fournisseur. Plus les clés, compétences et CLI de votre propre équipe, appelables par l'agent de chaque coéquipier sans que les identifiants ne quittent jamais le serveur.

Demandez la tâche, pas l'outil. Vous n'avez pas besoin de savoir quel fournisseur vend des données de backlinks, ni de détenir un compte chez lui. Recherchez ce que vous voulez faire, lisez le prix, appelez-le.

Conçu pour l'équipe Superdesign, disponible sur treg.to — n'importe qui peut l'auto-héberger.

Pourquoi ça existe

Les outils dont un agent a besoin pour un vrai travail sont derrière des abonnements que personne n'achète pour une seule exécution — Semrush 139 $/mois, Moz 99 $/mois, Crunchbase 99 $/mois, Apollo 59 $/siège — derrière des murs d'inscription, ou derrière aucune API publique du tout (sur invitation uniquement, partenaire uniquement, avis d'application uniquement). treg porte ces comptes et facture des fractions de centime par appel.

Deux types d'outils, un seul jeton

  • Le catalogue — des endpoints externes que treg peut servir avec sa propre clé ou via une route publique vérifiée qui ne nécessite pas de clé fournisseur. Les appels avec votre propre clé utilisent le solde prépayé de l'équipe ; les appels anonymes sont gratuits. Aucun compte auprès du fournisseur n'est nécessaire. Les nouveaux comptes vérifiés reçoivent 1,00 $ gratuit une fois, lorsqu'ils créent une équipe éligible.
  • Vos propres outils — tout ce qu'un coéquipier a enregistré : un compte API payant, une connexion OAuth, une CLI de fournisseur, un SKILL.md. Votre propre clé l'emporte toujours sur celle de treg, et ces appels ne sont jamais comptabilisés.

Le vocabulaire pour la seconde moitié :

  • outil = quelque chose que le registre appelle pour vous avec l'identifiant de l'organisation. Deux types :
    • endpoint — un base_url en amont + des liaisons d'identifiants (chaque liaison injecte un secret dans la requête ; une requête peut en porter plusieurs, par exemple un porteur OAuth et un en-tête developer-token).
    • CLI — un binaire de fournisseur (stripe, gh, vercel, ...) exécuté avec l'identifiant injecté.
  • compétence / bundle = une recette (SKILL.md) + ses secrets + son ou ses outils, enregistrés ensemble.

La règle unique : le proxy relaie, jamais ne modélise l'amont, et injecte l'authentification côté serveur — il survit donc aux changements d'API en amont et les appelants ne détiennent jamais les clés.


Partie 1 · Utilisation du registre

Visitez treg.to (hébergé sur Render) — le tableau de bord, la connexion et chaque URL ci-dessous y vivent.

Démarrage rapide

Même flux que le guide Pour commencer du tableau de bord :

# 1. install the CLI — also points it at the registry
curl -fsSL https://treg.to/install.sh | sh

# 2. sign in (GitHub default · --email for a one-time code · --token for agents/CI)
treg login

# 3. do something useful immediately — no key, nothing registered
treg catalog search "backlinks for a domain"     # find a tool by what it DOES
treg call tikhub.tiktok.user.profile --query uniqueId=tiktok
treg balance                                     # exactly what that cost

# (or `treg onboard` for the guided walkthrough)

Fish Audio fournit la parole S2.1 Pro, la découverte de voix publiques et le clonage de voix privées. La parole est une sortie binaire sur stdout, redirigez-la donc vers un fichier. Le _id d'une voix découverte ou un identifiant de voix d'équipe est le reference_id TTS ; les voix créées sur le compte Fish de treg sont des ressources d'équipe durables :

treg call fishaudio.tts.s2-1-pro --method POST --header model=s2.1-pro \
  --data '{"text":"Hello from treg","format":"mp3"}' > speech.mp3
treg call fishaudio.voices.discover --query self=false --query licensed=false --query language=en
treg resources list --provider fishaudio --kind voice

Avec votre propre clé Fish, les requêtes restent un relais amont illimité et non comptabilisé, et Fish possède la frontière du compte.

Les entrées des outils du catalogue sont décrites par treg catalog get <id>. Les outils marqués strict_query rejettent les paramètres de requête non déclarés ou répétés, les valeurs non prises en charge et les corps de requête.

Votre jeton vous identifie à chaque appel (en-tête X-Treg-Token) et est le même pour tous les outils. Découvrez ce que votre équipe a partagé : treg tool ls · vérifiez la santé des identifiants : treg health.

Ou installez-le comme plugin Claude Code

/plugin marketplace add superdesigndev/treg
/plugin install treg@treg

S'installe sans jeton et sans configuration. La compétence se charge comme treg:treg et, à sa première exécution, guide votre agent à travers le reste — la CLI, la connexion, puis treg mcp install — pour que vous finissiez avec la ligne de commande et les outils de treg. Autres agents : npx skills add superdesigndev/treg -s treg (ou voir Compétences de workflow pour le reste). Voir docs/CLAUDE-PLUGIN.md. Utilisateurs de MiniMax Code / MiniMax Agent : la même compétence est disponible via le Marketplace de plugins MiniMax (docs/MINIMAX-PLUGIN.md).

Compétences de workflow

Des recettes prêtes à l'emploi que votre agent exécute de bout en bout, chaque appel via treg :

CompétenceCe que votre agent peut faire
tregTrouver et appeler n'importe quel outil du catalogue, plus vos propres outils
lead-signalsTrouver des acheteurs sur le marché à partir de signaux publics (plaintes, changements d'emploi, embauches, financement, adoption d'outils) et surveiller un sujet, un concurrent ou une liste de comptes pour eux (treg.to/leads-signals)
make-ugcCréer des vidéos UGC par IA : accroches tendance, un présentateur, clips de tête parlante, sous-titres (treg.to/ugc)

install.sh les installe toutes pour vous. Pour les ajouter à un agent existant à la place (CLI skills.sh) :

npx skills add superdesigndev/treg                        # every public skill
npx skills add superdesigndev/treg --skill lead-signals   # just one
treg skill bootstrap                                      # same set, with the treg CLI you already have

Les compétences de workflow s'exécutent sur treg, configurez-le donc d'abord (le Démarrage rapide ci-dessus, ou pointez votre agent vers treg.to/llms.txt).

Connecteur Claude.ai

La surface du répertoire des connecteurs Claude est https://treg.to/mcp/v2/. Elle n'expose que des endpoints de catalogue organisés et sépare les appels de lecture des appels d'écriture afin que Claude reçoive des signaux de sécurité précis. La surface /mcp/ existante reste disponible pour les endpoints du catalogue, les outils appartenant à l'équipe et les compétences importées. Voir l'architecture MCP et OAuth pour la frontière et l'implémentation, et le runbook de soumission pour les portes de publication.

Appeler un outil pour lequel vous n'avez pas de clé

Le catalogue est regroupé par ce que les endpoints font : suivi de mots-clés et de classement, backlinks et autorité, visibilité IA, tendances et découverte, publication sur les réseaux sociaux, enrichissement de personnes et d'entreprises, gestion et création publicitaires, mesure.

treg catalog                                    # every platform, busiest first
treg catalog search "find a work email"         # by the job, not the vendor
treg catalog get hunter.people.email.find       # params, PRICE, example response
treg call hunter.people.email.find --query domain=reddit.com --query full_name="Alexis Ohanian"

Comment un appel catalogué est servi — l'échelle d'identifiants, dans l'ordre :

  1. votre équipe a enregistré son propre outil pour ce fournisseur → cet outil, cette clé ;
  2. votre équipe a stocké un secret pour le fournisseur → injecté via un outil virtuel ;
  3. ni l'un ni l'autre, et l'endpoint a une route publique vérifiée → aucune clé fournisseur, gratuit ;
  4. sinon → la propre clé de treg, facturée au solde prépayé de l'équipe.

Le prix anonyme suppose que l'appelant n'envoie pas d'en-tête d'identifiant fournisseur. Le relais fidèle préserve les en-têtes de l'appelant, donc une clé fournisseur fournie par l'appelant peut utiliser les crédits de cette clé. Votre propre identifiant bat toujours celui de treg, donc connecter une clé que vous payez déjà rend ces appels gratuits du solde plutôt que de les dupliquer. Un endpoint pour lequel treg n'a pas de prix publié est refusé, pas servi gratuitement — on vous dit de connecter votre propre clé à la place. Lorsque plusieurs fournisseurs servent une même capacité, treg catalog search les montre côte à côte avec les prix ; le choix vous appartient — treg ne choisit pas silencieusement ni ne bascule entre les fournisseurs pour vous. (Lorsque le propre compte de treg pour un fournisseur est épuisé, il peut servir le même endpoint via un compte relais appartenant à treg, divulgué sur la réponse ; une équipe peut se désinscrire.) L'exception à laquelle vous adhérez : les endpoints routés treg.<capability>, où treg choisit le fournisseur pour vous et le nomme.

treg balance          # credit left, calls in flight, recent spend
treg topup            # add funds, or set up automatic top-ups

Solde insuffisant est un HTTP 402 portant balance_micro, estimated_cost_micro et un topup_url, pour qu'un agent puisse agir sans lire de la prose.

Enrich Arena vit à /enrich-arena, en dehors du tableau de bord. Comparez les réponses d'enrichissement avec le coût et la vitesse de chaque fournisseur, votez pour la meilleure réponse en un clic, ou regardez une cascade séquentielle. Les fournisseurs asynchrones compatibles en capacité participent aussi ; Arena gère la soumission et le sondage en interne. La navigation est publique ; la soumission nécessite une connexion, et les tentatives facturables utilisent les crédits de votre équipe. Voir le guide Arena.

Partager et utiliser vos propres outils

Le chemin sans réflexion — pointez treg vers un projet et il détermine ce qui est partageable :

treg scan     # read-only preview: the keys, skills & CLIs upload would register
treg upload   # register them (encrypted server-side); idempotent, --replace to update

treg upload analyse le .env (en faisant correspondre les clés à environ 80 fournisseurs connus), chaque sous-répertoire de compétence et les CLI de catalogue installées. Trois types de choses entrent dans le registre — voici comment partager et utiliser chacun :

1. Endpoints (API HTTP)

Partager — une URL amont appelable avec une clé stockée, ou en masse depuis un .env :

treg secret add STRIPE_KEY --value sk_live_123
treg add stripe --base-url https://api.stripe.com --secret STRIPE_KEY

treg upload env --select openai,stripe,resend     # or straight from the .env

Utiliser — la manière native pour les agents : construisez la vraie requête amont et préfixez-la avec le proxy. treg résout l'outil par hôte, injecte l'identifiant et relaie tout le reste fidèlement (votre X-Treg-Token est retiré avant que l'amont ne le voie) :

Real request:   GET https://api.intercom.io/conversations?per_page=5
Through treg:   GET https://treg.to/call/https://api.intercom.io/conversations?per_page=5
                    header:  X-Treg-Token: <your token>

Ou le raccourci CLI — et treg calls pour le journal d'audit :

treg call intercom conversations --query per_page=5
treg call stripe v1/balance

2. CLI

Partager — automatique : treg upload détecte les CLI de catalogue installées (stripe, gh, vercel, …) et les enregistre ; une compétence CLI de catalogue avec recette uniquement (par ex. stripe-cli) devient automatiquement exécutable aussi.

Utiliser — treg run exécute la CLI du fournisseur avec l'identifiant de l'organisation injecté, donc vous ne détenez jamais la clé ni ne vous connectez :

treg run stripe -- get /v1/balance
treg run gh -- pr list
treg run --server agentmail-cli inboxes list   # runs on the registry server: the key never reaches you

--local (par défaut) s'exécute sur votre machine ; --server s'exécute sur le registre et diffuse la sortie en retour. Pour une session entière, treg shell start ouvre un sous-shell où chaque CLI enregistrée injecte automatiquement — utilisez simplement stripe, gh, … normalement ; exit revient en arrière. treg runs est le journal d'audit.

3. Compétences

Partager — une compétence est une capacité entière (recette SKILL.md + ses secrets + son ou ses outils), enregistrée ensemble pour que toute l'équipe exécute la même compétence, maintenue à un seul endroit :

treg upload skills --dir ~/.claude/skills --all   # register a folder of skills in one pass

Utiliser — tirez n'importe quelle compétence partagée dans votre agent ; ses appels API passent par treg avec votre jeton, donc la clé reste sur le serveur, jamais dans la compétence :

treg skill install seo-blog-writer      # writes into ./.claude/skills/  (--all for the library)

Enregistrement manuel — quand les heuristiques ne peuvent pas déterminer un outil

# multi-credential tool (e.g. google-ads: OAuth bearer + a developer-token header)
treg tool add google-ads --base-url https://googleads.googleapis.com \
  --bind "secret=<oauth-id>,injector=oauth" \
  --bind "secret=<dev-id>,name=developer-token,format={secret}"

# one skill, step by step
treg skill init --dir ./my-skill          # drafts treg.json (guesses base_url, finds secrets)
treg skill add  --dir ./my-skill          # registers recipe + secrets + tool, atomically

# OAuth via the browser (mints the first token, treg holds it and auto-refreshes)
treg oauth connect gsc --client-secret client_secret.json \
  --scopes https://www.googleapis.com/auth/webmasters.readonly

Options complètes pour chaque commande : USAGE.md.

La CLI envoie une utilisation de commande anonyme à PostHog lors de l'utilisation de treg.to (aucun argument ni identifiant). Désactivez avec TREG_TELEMETRY=0 ou DO_NOT_TRACK=1. Voir détails d'analyse.

Équipes

Un compte peut posséder jusqu'à 10 équipes. Rejoindre d'autres équipes en tant que membre ne compte pas dans cette limite.

Tout est limité à une org : un jeton = une adhésion (user, org), et chaque secret, outil et compétence appartient à l'org active. Rôles : propriétaire / administrateur / membre / observateur.

treg org create "Acme"                        # make a team, become owner
treg org invite teammate@acme.com             # invite by email (pick role + tool access)
treg org join <code> --email you@acme.com     # accept an invite (creates you if new)
treg org ls | use <slug> | members            # switch orgs, see the roster
treg org access <member> --tools a,b          # per-member tool access (admin+)

Aller plus loin

  • Retour : treg feedback submit friction "The pagination example is unclear." Partagez des problèmes ou suggestions sans informations privées. Voir instructions de retour.

  • Évaluation : treg review CALL_ID useful Évaluez un appel de catalogue invité après avoir utilisé son résultat ; not_sure convient. Omettez les données privées et continuez la tâche.

  • USAGE.md — la référence complète de la CLI treg.

  • /llms.txt — le fichier d'intégration des agents : protocole d'appel, découverte, authentification, CLI, compétences. Une seule récupération apprend à un agent tout le registre.

  • Le tableau de bord sur treg.to — CRUD complet, un tutoriel guidé (Aide → Tutoriel) et des instructions de configuration copiables pour vos agents.

  • L'API — tout ce que fait la CLI est du HTTP simple ; la documentation OpenAPI interactive vit à /docs. L'endpoint proxy est /call/{...} ; tous les endpoints prennent l'en-tête X-Treg-Token.


Partie 2 · Auto-hébergement et développement

L'exécuter localement

Une commande (nécessite tmux + uv ; il synchronise le venv lui-même) :

scripts/dev-local.sh up        # server on http://localhost:18790, dev-safe settings

Cela exécute le serveur dans tmux avec rechargement à chaud, sa propre base de données sqlite (treg-dev.db) et le mode dev OTP par e-mail (les codes de connexion sont affichés sur la page — aucun envoi de courrier nécessaire). Au quotidien :

scripts/dev-local.sh cli login   # sandboxed CLI: never touches your real ~/.treg/config.json
scripts/dev-local.sh logs        # server output          · status / restart / down
scripts/dev-local.sh reset       # wipe the dev DB + CLI sandbox for a fresh start

Ou exécutez le serveur directement, sans tmux :

bash scripts/build-dashboard.sh # Node 22.12+ and npm; build the Dashboard
uv sync                        # create the venv from uv.lock (pulls the server deps for dev)
uv run python -m treg upgrade  # prepare schema + run idempotent release tasks without serving
uv run python -m treg          # serve on 0.0.0.0:18790 (add --reload for dev)
uv run python -m treg keygen   # print a fresh Fernet key for TREG_SECRET_KEY

Installation pour exécuter un serveur (pas depuis les sources) : le paquet de base est uniquement le CLI. Pour exécuter un registre, installez l'extra serveur — pip install "tools-registry[server]" — qui ajoute FastAPI, les pilotes de base de données et le chiffrement. pip install tools-registry seul fournit uniquement la commande treg pour communiquer avec un registre existant.

Le service hébergé officiel est disponible à treg.to. Sa topologie de production et ses paramètres en direct sont maintenus dans le runbook opérateur privé.

Configuration

Variables d'environnement (préfixe TREG_, lues depuis .env) :

VarDéfautObjectif
TREG_DATABASE_URLsqlite+aiosqlite:///./treg.dbURL de la base de données (SQLite pour le dev, Postgres en prod)
TREG_READ_DATABASE_URL(vide)Source de données en lecture SQLite / PostgreSQL optionnelle ; vide réutilise la source primaire. Nécessite que les appelants optent ; les requêtes existantes sont inchangées. Voir configuration de la source de lecture.
TREG_SECRET_KEY(vide)Clé Fernet pour les secrets au repos ; vide → une clé éphémère est générée (les secrets ne survivront pas à un redémarrage)
TREG_PUBLIC_URLhttps://treg.toBase publique de treg, utilisée pour construire l'URI de rappel OAuth
TREG_SESSION_SECRET(vide)signe le cookie de session du tableau de bord ; retombe sur TREG_SECRET_KEY. Définissez une valeur réelle en prod
TREG_GITHUB_CLIENT_ID / _SECRET(vide)Connexion OAuth GitHub (rappel <public_url>/auth/github/callback) ; vide masque le bouton
TREG_GOOGLE_CLIENT_ID / _SECRET(vide)Connexion OAuth Google (redirection <public_url>/auth/google/callback) ; vide masque le bouton
TREG_INSTAGRAM_CLIENT_ID / _SECRET(vide)ID d'application Instagram et secret pour la connexion Instagram directe (redirection <public_url>/oauth/callback)
TREG_META_CLIENT_ID / _SECRET(vide)Identifiants d'application Meta pour les Pages Facebook, Meta Ads et Instagram optionnel page-tools
TREG_OAUTH_REVIEW_PENDINGinstagram-login,page-messagesClés de revue de registre séparées par des virgules dont les capacités doivent rester restreintes ; l'état de revue hébergé est maintenu en privé.
TREG_RESEND_API_KEY / TREG_EMAIL_FROM(vide)e-mail transactionnel via Resend (codes OTP + invitations) ; l'expéditeur doit être vérifié par Resend
TREG_BLOCKED_EMAIL_DOMAINS(vide)domaines e-mail séparés par des virgules refusés à chaque porte d'inscription/connexion et à la création d'équipe (sous-domaines inclus, insensible à la casse). Vide ne bloque rien — aucune liste n'est fournie dans le code
TREG_ADMIN_TOKEN(vide)porteur super-admin inter-tenant ; autorise chaque point de terminaison /admin/*. Vide désactive le chemin d'environnement (seuls les utilisateurs is_superadmin atteignent /admin). Gardez-le long et secret.
TREG_EMAIL_DEV_MODEfalsequand vrai, /auth/email/start renvoie l'OTP dans sa réponse (aucun expéditeur de courrier nécessaire) — dev/local uniquement, jamais en prod.
TREG_KV_URL(vide)magasin clé-valeur partagé (protocole Redis) pour les compteurs sur lesquels chaque worker doit s'accorder, aujourd'hui le budget d'invitation de revue par équipe. Vide = repli en processus, suffisant pour un worker

Aucun .env n'est nécessaire pour le dev local — chaque paramètre a une valeur par défaut fonctionnelle (clé éphémère, sqlite).

⚠️ Sauvegardez-les avant de déplacer ou redéployer : la clé Fernet (TREG_SECRET_KEY) et la base de données (Postgres en prod ; treg.db pour une exécution sqlite locale). Perdez la clé Fernet et chaque secret stocké devient irrécupérable.

Architecture

Flux de requêtes pour /call : résoudre l'outil (par hôte d'URL + préfixe base_url le plus long, ou par nom) → déchiffrer son/ses secret(s) → appliquer l'injecteur de chaque liaison → diffuser vers l'amont → enregistrement d'audit fire-and-forget. Le relais d'infrastructure diffuse les octets sans logique métier. L'application d'appel met en mémoire tampon les réponses nécessitant un règlement ou une preuve de propriété jusqu'à 8 MiB ; les réponses plus volumineuses renvoient un 502 sans facturation au lieu d'un succès tronqué. Les téléchargements finaux gratuits autorisés ne nécessitant aucune preuve de corps sont diffusés en intégralité, tout comme les réponses à clé propre et à outil propre.

Carte des modules (src/treg/) :

ModuleRôle
proxy.pyrelay() — tout le produit en une fonction : un proxy de diffusion fidèle
injectors.pyla couture de forme d'authentification : env, cli_auth, secret_file, oauth placent un secret dans un en-tête/requête
oauth.pyfraîcheur des jetons (rafraîchissement single-flight) + le flux de connexion (URL de consentement, échange de code)
health.pysanté des identifiants : rafraîchir oauth, sonder les outils, webhook au propriétaire de tout ce qui est cassé
convert.pyéchafauder un répertoire de compétences dans un manifeste de bundle enregistrable
api.pyl'API — le seul cerveau ; CLI + compétence sont des clients légers par-dessus
cli.pyle CLI treg
models.pytables SQLModel : Org, User, Membership, Invite, Secret, Tool, Bundle, PendingOAuth, CallRecord
crypto.py config.py db.py audit.pychiffrement Fernet + jetons · paramètres · DB asynchrone · écrivain d'audit différé

Les 4 formes d'authentification (par liaison injector) : env (chaîne simple / clé API) · secret_file (un fichier de jeton JSON, extraire un champ) · oauth (un jeton OAuth JSON, auto-rafraîchi si rafraîchissable) · cli_auth (matériel extrait du trousseau d'un CLI).

Contrat de relais fidèle : le proxy modifie uniquement trois choses, tout le reste est verbatim :

  1. les en-têtes de transport hop-by-hop (re-dérivés à chaque saut),
  2. les propres en-têtes de contrôle et de transfert de treg (x-treg-token, x-treg-org, ngrok-skip-browser-warning, x-forwarded-*, via, …) et le cookie de session de treg — tous supprimés, ne fuient jamais en amont,
  3. le(s) identifiant(s) injecté(s).

OAuth, trois façons d'obtenir le premier jeton : téléversement manuel (déposer un token.json) · auto-rafraîchissement (si le jeton porte refresh_token + identifiants client, treg le garde frais, vous ne re-téléversez jamais) · flux de connexion hébergé (treg oauth connect → consentement du navigateur → treg capture le jeton lui-même).

Contrôles de santé : donnez à un outil une sonde optionnelle ({method, path, expect_status}) ; une exécution périodique (à la demande ou via cron) valide chaque identifiant, rafraîchit OAuth et webhook le propriétaire de tout ce qui casse.

La conception approfondie vit dans docs/context/ (fragments par sous-système).

Tests

uv run --with pytest-xdist pytest -n auto -q   # daily local default (same shape as CI)
uv run --frozen python -m pytest -q            # serial: debugging one test, or order

Couverture : squelette de marche du proxy, toutes les formes d'injecteur, auth par utilisateur + CRUD + audit, compositeur de compétences, pass-through d'URL + relais fidèle, rafraîchissement OAuth + flux de connexion, contrôles de santé, treg run/shell, téléversement/analyse, organisations + invitations, l'API du tableau de bord, CLI.

Contribution et documentation

treg/
├── src/treg/            # the package (api, cli, proxy, injectors, oauth, health, convert, models, …)
│   └── web/             # dashboard, landing, tutorial, llms.txt, skill.md, install.sh
├── tests/               # pytest suite (CI + local default: pytest-xdist -n auto)
├── docs/
│   ├── context/         # design fragments (codemap system) + generated index
│   └── ONBOARDING.md    # first-time bootstrap
├── USAGE.md             # full treg CLI reference
└── pyproject.toml

Les documents de conception par sous-système sont des fragments dans docs/context/, chacun citant ses sources src/treg/*. Vous travaillez dans ce dépôt avec un agent IA ? La compétence /tools-registry-context charge le fragment approprié pour ce que vous touchez et maintient les documents synchronisés — exécutez /tools-registry-context sync avant de pousser.

Feuille de route : support MCP · niveaux de permission plus fins · durcissement de la gestion des clés au repos · possible fusion Loopni.

Licence

Apache 2.0 avec conditions supplémentaires (LICENSE) : utilisez-la librement — y compris commercialement, au sein de votre propre organisation (l'auto-hébergement de votre propre registre est encouragé). La restriction : ne redistribuez pas le code à des tiers comme service de registre hébergé/géré concurrent sans autorisation écrite (jason@superdesign.dev). Utiliser l'API hébergée treg.to dans votre propre produit — avec facturation pass-through via X-Treg-Meta et usage/by-tag — est autorisé sans permission ; c'est appeler notre API, pas redistribuer notre logiciel.

Portées de lecture client épinglées

Pour un agent client restreint, treg org agent-new bot --pin customer=cust_A applique l'attribution et limite l'historique des appels/exécutions, les résultats archivés et la propriété asynchrone du fournisseur partagé à cette épingle. Les identifiants étrangers ou non attribués renvoient 404 ; un opérateur non épinglé conserve la vue à l'échelle de l'organisation et le solde partagé. L'accès au compte BYOK et les URL de médias publics conservent leurs permissions existantes. Voir le contrat de multi-tenant pour plusieurs épingles, la migration et le comportement de relecture.