treg
offiziellEin MCP-Server und ein Schlüssel für 3.700+ Pay-per-Call-APIs: SEO und Backlinks, Personen- und Unternehmensanreicherung, Social, Ads, Scraping, Bild- und Videogenerierung. Remote unter https://treg.to/mcp/v2/ (OAuth) oder selbst gehostet.
Was kann man mit Treg MCP machen?
- Tool-Katalog durchsuchen — Bitten Sie Ihren Assistenten, ein Tool danach zu finden, was es tut, z. B. „nach Backlinks für eine Domain suchen“, und vergleichen Sie Anbieter nebeneinander mit Preisen.
- Tools ohne Provider-Schlüssel aufrufen — Lassen Sie Ihren Assistenten Katalog-Endpunkte wie
treg call hunter.people.email.findaufrufen, um Personen oder Unternehmen anzureichern, abgerechnet pro Aufruf von Ihrem Guthaben. - Vendor-CLIs mit injizierten Anmeldedaten ausführen — Bitten Sie Ihren Assistenten, Befehle wie
treg run stripe -- get /v1/balanceodertreg run gh -- pr listauszuführen, ohne dass Sie jemals den API-Schlüssel in Händen halten. - Eigene Tools registrieren und teilen — Weisen Sie Ihren Assistenten an, ein Projekt mit
treg scanzu scannen und dann dessen.env-Schlüssel, Skills und CLIs hochzuladen, damit Ihr gesamtes Team sie nutzen kann. - Workflow-Skills installieren und ausführen — Lassen Sie Ihren Assistenten einen fertigen Skill wie
lead-signalsabrufen, um Käufer am Markt zu finden, odermake-ugc, um KI-UGC-Videos Ende-zu-Ende zu erstellen. - Teams und Zugriff verwalten — Bitten Sie Ihren Assistenten, eine Organisation zu erstellen, Teammitglieder einzuladen oder den Zugriff eines Mitglieds auf bestimmte Tools mit Befehlen wie
treg org createundtreg org accesseinzuschränken.
Gehosteter MCP-Server
npx add-mcp 'https://treg.to/mcp/v2/'Installiert in Claude Code, Codex, Cursor und mehr
Dokumentation
Treg (OpenRouter für Tools)

OpenRouter, aber für Agent-Tools statt Modellen. Richte einen Agenten auf eine Basis-URL mit einem Token aus, und er kann die Arbeit erledigen: ein kuratierter Katalog mit Tausenden von Endpunkten vieler Anbieter — SEO und Backlinks, Social Media und Trends, Personen- und Firmenanreicherung, Anzeigen, Scraping, Bild- und Videogenerierung — pro Aufruf ab einem Cent bepreist, ohne Anbieter-Registrierung. Dazu die eigenen Schlüssel, Fähigkeiten und CLIs deines Teams, aufrufbar vom Agenten jedes Teammitglieds, ohne dass die Zugangsdaten jemals den Server verlassen.
Frag nach der Aufgabe, nicht nach dem Tool. Du musst nicht wissen, welcher Anbieter Backlink-Daten verkauft, oder ein Konto bei ihm haben. Suche nach dem, was du tun möchtest, lies den Preis, ruf es auf.
Gebaut für das Superdesign-Team, live unter treg.to — jeder kann es selbst hosten.
Warum es existiert
Die Tools, die ein Agent für echte Arbeit braucht, stecken hinter Abonnements, die niemand für einen einzelnen Lauf kauft — Semrush 139 $/Monat, Moz 99 $/Monat, Crunchbase 99 $/Monat, Apollo 59 $/Sitzplatz — hinter Registrierungshürden oder hinter gar keiner öffentlichen API (nur auf Einladung, nur für Partner, nur nach App-Review). Treg trägt diese Konten und berechnet Bruchteile eines Cents pro Aufruf.
Zwei Arten von Tools, ein Token
- Der Katalog — externe Endpunkte, die treg mit eigenem Schlüssel oder über eine verifizierte öffentliche Route ohne Anbieter-Schlüssel bedienen kann. Aufrufe mit eigenem Schlüssel nutzen das Prepaid-Guthaben des Teams; anonyme Aufrufe sind kostenlos. Kein Konto beim Anbieter nötig. Neue verifizierte Konten erhalten 1,00 $ kostenlos, einmalig, wenn sie ein berechtigtes Team erstellen.
- Deine eigenen Tools — alles, was ein Teammitglied registriert hat: ein kostenpflichtiges API-Konto, eine OAuth-Verbindung, ein
Anbieter-CLI, ein
SKILL.md. Dein eigener Schlüssel gewinnt immer gegen den von treg, und diese Aufrufe werden nie abgerechnet.
Das Vokabular für die zweite Hälfte:
- Tool = etwas, das die Registrierung für dich mit den Anmeldedaten der Organisation aufruft. Zwei Arten:
- Endpunkt — ein vorgelagerter
base_url+ Anmeldedaten-Bindungen (jede Bindung injiziert ein Geheimnis in die Anfrage; eine Anfrage kann mehrere tragen, z. B. einen OAuth-Bearer und einendeveloper-token-Header). - CLI — eine Anbieter-Binärdatei (
stripe,gh,vercel, ...), ausgeführt mit injizierten Anmeldedaten.
- Endpunkt — ein vorgelagerter
- Skill / Bundle = ein Rezept (
SKILL.md) + seine Geheimnisse + sein(e) Tool(s), zusammen registriert.
Die eine Regel: Der Proxy leitet weiter, modelliert nie den vorgelagerten Dienst und injiziert Authentifizierung serverseitig — so übersteht er API-Änderungen des Anbieters und Aufrufer halten nie Schlüssel.
Teil 1 · Die Registrierung nutzen
Besuche treg.to (gehostet auf Render) — das Dashboard, die Anmeldung und jede URL unten befinden sich dort.
Schnellstart
Gleicher Ablauf wie im Erste-Schritte-Leitfaden des Dashboards:
# 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 bietet S2.1 Pro-Sprache, öffentliche Stimmen-Entdeckung und privates Stimmen-Cloning.
Sprache ist binäres stdout, also leite es in eine Datei um. Die _id einer entdeckten Stimme oder eine Team-Stimmen-ID ist
die TTS-reference_id; Stimmen, die auf tregs Fish-Konto erstellt wurden, sind dauerhafte Team-Ressourcen:
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
Mit deinem eigenen Fish-Schlüssel bleiben Anfragen ein uneingeschränktes, nicht abgerechnetes Weiterleitungs-Relay, und Fish besitzt die Kontogrenze.
Katalog-Tool-Eingaben werden durch treg catalog get <id> beschrieben. Tools, die als strict_query markiert sind, lehnen nicht deklarierte oder wiederholte Abfrageparameter, nicht unterstützte Werte und Anforderungstexte ab.
Dein Token identifiziert dich bei jedem Aufruf (X-Treg-Token-Header) und ist für alle Tools gleich.
Entdecke, was dein Team geteilt hat: treg tool ls · Prüfe die Gesundheit der Anmeldedaten: treg health.
Oder installiere es als Claude-Code-Plugin
/plugin marketplace add superdesigndev/treg
/plugin install treg@treg
Installiert ohne Token und ohne Konfiguration. Der Skill lädt als treg:treg und führt deinen Agenten
beim ersten Lauf durch den Rest — das CLI, die Anmeldung, dann treg mcp install — sodass du am Ende
die Befehlszeile und tregs Tools hast. Andere Agenten: npx skills add superdesigndev/treg -s treg
(oder siehe Workflow-Skills für den Rest).
Siehe docs/CLAUDE-PLUGIN.md. MiniMax-Code-/MiniMax-Agent-Benutzer: Der gleiche
Skill ist über den MiniMax-Plugin-Marketplace verfügbar (docs/MINIMAX-PLUGIN.md).
Workflow-Skills
Fertige Rezepte, die dein Agent Ende-zu-Ende ausführt, jeder Aufruf über treg:
| Skill | Was dein Agent tun kann |
|---|---|
treg | Jedes Tool im Katalog finden und aufrufen, plus deine eigenen Tools |
lead-signals | Kaufinteressenten aus öffentlichen Signalen finden (Beschwerden, Jobwechsel, Einstellungen, Finanzierung, Tool-Adoption) und ein Thema, einen Wettbewerber oder eine Kontenliste dafür überwachen (treg.to/leads-signals) |
make-ugc | KI-UGC-Videos erstellen: Trend-Hooks, ein Moderator, Talking-Head-Clips, Untertitel (treg.to/ugc) |
install.sh installiert alle für dich. Um sie stattdessen zu einem bestehenden Agenten hinzuzufügen
(skills.sh-CLI):
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
Die Workflow-Skills laufen auf treg, also richte es zuerst ein (der Schnellstart oben oder richte deinen Agenten auf treg.to/llms.txt).
Claude.ai-Konnektor
Die Oberfläche des Claude-Connectors-Verzeichnisses ist https://treg.to/mcp/v2/. Sie legt nur kuratierte
Katalog-Endpunkte offen und trennt Lese- von Schreibaufrufen, sodass Claude genaue Sicherheitssignale erhält.
Die bestehende /mcp/-Oberfläche bleibt für Katalog-Endpunkte, team eigene Tools
und importierte Skills verfügbar. Siehe die MCP- und OAuth-Architektur
für die Grenze und Implementierung sowie das
Einreichungs-Runbook für Release-Gates.
Ein Tool aufrufen, für das du keinen Schlüssel hast
Der Katalog ist danach gruppiert, was Endpunkte tun: Keyword- und Ranking-Tracking, Backlinks und Autorität, KI-Sichtbarkeit, Trends und Entdeckung, Veröffentlichung in sozialen Netzwerken, Personen- und Firmenanreicherung, Anzeigen- Verwaltung und Kreativität, Messung.
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"
Wie ein katalogisierter Aufruf bedient wird — die Anmeldedaten-Leiter, in Reihenfolge:
- dein Team hat ein eigenes Tool für diesen Anbieter registriert → dieses Tool, dieser Schlüssel;
- dein Team hat ein Geheimnis für den Anbieter gespeichert → durch ein virtuelles Tool injiziert;
- keines von beiden, und der Endpunkt hat eine verifizierte öffentliche Route → kein Anbieter-Schlüssel, kostenlos;
- andernfalls → tregs eigener Schlüssel, dem Prepaid-Guthaben des Teams belastet.
Der anonyme Preis geht davon aus, dass der Aufrufer keinen Anbieter-Anmeldedaten-Header sendet. Das getreue
Relay bewahrt Aufrufer-Header, sodass ein vom Aufrufer bereitgestellter Anbieter-Schlüssel dessen Guthaben nutzen kann.
Deine eigene Anmeldedaten schlagen immer die von treg. Wenn du also einen Schlüssel verbindest, den du bereits bezahlst, werden diese Aufrufe
frei vom Guthaben, statt sie zu duplizieren. Ein Endpunkt, für den treg keinen veröffentlichten Preis hat, wird
abgelehnt, nicht kostenlos bedient — du wirst aufgefordert, stattdessen deinen eigenen Schlüssel zu verbinden. Wo mehrere Anbieter
eine Fähigkeit bedienen, zeigt treg catalog search sie nebeneinander mit Preisen; die Wahl liegt bei
dir — treg wählt nicht stillschweigend für dich aus oder wechselt zwischen Anbietern. (Wenn tregs eigenes
Konto für einen Anbieter erschöpft ist, kann es den gleichen Endpunkt über ein treg-eigenes Relay-Konto bedienen,
was in der Antwort offengelegt wird; ein Team kann sich abmelden.) Die Ausnahme, der du zustimmst: treg.<capability>-geroutete Endpunkte, bei denen treg den Anbieter für dich auswählt und benennt.
treg balance # credit left, calls in flight, recent spend
treg topup # add funds, or set up automatic top-ups
Kein Guthaben ist ein HTTP-402 mit balance_micro, estimated_cost_micro und einem topup_url,
damit ein Agent darauf reagieren kann, ohne Prosa zu lesen.
Enrich Arena befindet sich unter /enrich-arena, außerhalb des Dashboards. Vergleiche Anreicherungsantworten mit den Kosten und der Geschwindigkeit jedes Anbieters,
stimme mit einem Klick für die beste Antwort ab oder beobachte einen sequenziellen Wasserfall. Fähigkeitskompatible
asynchrone Anbieter nehmen ebenfalls teil; Arena übernimmt Einreichung und Abfragen intern. Das Stöbern ist
öffentlich; das Einreichen erfordert eine Anmeldung, und abrechenbare Versuche nutzen die Credits deines Teams. Siehe den
Arena-Leitfaden.
Eigene Tools teilen und nutzen
Der gedankenlose Weg — richte treg auf ein Projekt und es findet heraus, was teilbar ist:
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 scannt die .env (gleicht Schlüssel gegen ~80 bekannte Anbieter ab), jedes Skill-
Unterverzeichnis und installierte Katalog-CLIs. Drei Arten von Dingen kommen in die Registrierung — hier ist, wie
man jede teilt und nutzt:
1. Endpunkte (HTTP-APIs)
Teilen — eine vorgelagerte URL, die mit einem gespeicherten Schlüssel aufrufbar ist, oder in großen Mengen aus einer .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
Nutzen — der agenten-native Weg: Baue die echte vorgelagerte Anfrage und stelle ihr den Proxy voran.
treg löst das Tool nach Host auf, injiziert die Anmeldedaten und leitet alles andere getreu weiter
(dein X-Treg-Token wird entfernt, bevor der vorgelagerte Dienst es sieht):
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>
Oder die CLI-Kurzform — und treg calls für das Audit-Protokoll:
treg call intercom conversations --query per_page=5
treg call stripe v1/balance
2. CLIs
Teilen — automatisch: treg upload erkennt installierte Katalog-CLIs (stripe, gh, vercel, …)
und registriert sie; ein rezept nur Katalog-CLI-Skill (z. B. stripe-cli) wird ebenfalls automatisch ausführbar.
Nutzen — treg run führt das Anbieter-CLI mit injizierten Anmeldedaten der Organisation aus, sodass du nie
den Schlüssel hältst oder dich anmeldest:
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 (Standard) läuft auf deinem Rechner; --server läuft auf der Registrierung und streamt die Ausgabe zurück.
Für eine ganze Sitzung öffnet treg shell start eine Subshell, in der jedes registrierte CLI automatisch
injiziert — benutze einfach stripe, gh, … normal; exit macht es rückgängig. treg runs ist das Audit-Protokoll.
3. Skills
Teilen — ein Skill ist eine ganze Fähigkeit (SKILL.md-Rezept + seine Geheimnisse + sein(e) Tool(s)),
zusammen registriert, sodass das ganze Team denselben Skill ausführt, an einem Ort gepflegt:
treg upload skills --dir ~/.claude/skills --all # register a folder of skills in one pass
Nutzen — ziehe jeden geteilten Skill in deinen Agenten; seine API-Aufrufe laufen über treg mit deinem Token, sodass der Schlüssel auf dem Server bleibt, nie im Skill:
treg skill install seo-blog-writer # writes into ./.claude/skills/ (--all for the library)
Manuelle Registrierung — wenn die Heuristiken ein Tool nicht erkennen
# 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
Vollständige Optionen für jeden Befehl: USAGE.md.
Das CLI sendet anonyme Befehlsnutzung an PostHog, wenn treg.to verwendet wird (keine Argumente oder Anmeldedaten).
Deaktivieren mit TREG_TELEMETRY=0 oder DO_NOT_TRACK=1.
Siehe Analytics-Details.
Teams
Ein Konto kann bis zu 10 Teams besitzen. Der Beitritt zu anderen Teams als Mitglied zählt nicht zu diesem Limit.
Alles ist auf eine Organisation ausgerichtet: ein Token = eine (user, org)-Mitgliedschaft, und jedes Geheimnis, Tool
und jeder Skill gehört der aktiven Organisation. Rollen: Eigentümer / Administrator / Mitglied / Betrachter.
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+)
Tiefer eintauchen
-
Feedback:
treg feedback submit friction "The pagination example is unclear."Teile Probleme oder Vorschläge ohne private Informationen. Siehe Feedback-Anweisungen. -
Bewertung:
treg review CALL_ID usefulBewerte einen eingeladenen Katalogaufruf nach der Nutzung seines Ergebnisses;not_sureist in Ordnung. Lasse private Daten weg und setze die Aufgabe fort. -
USAGE.md— die vollständigetreg-CLI-Referenz. -
/llms.txt— die Agenten-Onboarding-Datei: Aufruf- protokoll, Entdeckung, Authentifizierung, CLI, Skills. Ein Abruf lehrt einem Agenten die gesamte Registrierung. -
Das Dashboard unter treg.to — vollständiges CRUD, ein geführtes Tutorial (Hilfe → Tutorial) und kopierbare Einrichtungsanweisungen für deine Agenten.
-
Die API — alles, was das CLI tut, ist einfaches HTTP; interaktive OpenAPI-Dokumente befinden sich unter
/docs. Der Proxy-Endpunkt ist/call/{...}; alle Endpunkte akzeptieren denX-Treg-Token-Header.
Teil 2 · Selbsthosting & Entwicklung
Lokal ausführen
Ein Befehl (benötigt tmux + uv; es synchronisiert die venv selbst):
scripts/dev-local.sh up # server on http://localhost:18790, dev-safe settings
Das startet den Server in tmux mit Hot-Reload, einer eigenen sqlite-DB (treg-dev.db) und E-Mail-OTP-Entwicklungs-
modus (Anmeldecodes werden auf der Seite angezeigt — kein Mail-Sender nötig). Täglicher Gebrauch:
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
Oder starte den Server direkt, ohne 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 zum Ausführen eines Servers (nicht aus dem Quellcode): Das Basispaket ist nur die CLI. Um eine Registry auszuführen, installieren Sie das Server-Extra —
pip install "tools-registry[server]"—, das FastAPI, die Datenbanktreiber und Verschlüsselung hinzufügt.pip install tools-registryallein bietet nur dentreg-Befehl zum Kommunizieren mit einer bestehenden Registry.
Der offizielle gehostete Dienst ist unter treg.to verfügbar. Seine Produktionstopologie und Live-Einstellungen werden
im privaten Operator-Runbook gepflegt.
Konfiguration
Umgebungsvariablen (Präfix TREG_, gelesen aus .env):
| Var | Standard | Zweck |
|---|---|---|
TREG_DATABASE_URL | sqlite+aiosqlite:///./treg.db | DB-URL (SQLite für Entwicklung, Postgres in Produktion) |
TREG_READ_DATABASE_URL | (leer) | Optionale SQLite-/PostgreSQL-Lese-Datenquelle; leer verwendet die primäre. Erfordert Opt-in der Aufrufer; bestehende Abfragen bleiben unverändert. Siehe Einrichtung der Lese-Datenquelle. |
TREG_SECRET_KEY | (leer) | Fernet-Schlüssel für ruhende Geheimnisse; leer → ein ephemerer Schlüssel wird erzeugt (Geheimnisse überleben keinen Neustart) |
TREG_PUBLIC_URL | https://treg.to | Öffentliche Basis von treg, verwendet zum Erstellen der OAuth-Callback-URI |
TREG_SESSION_SECRET | (leer) | signiert das Dashboard-Sitzungscookie; fällt auf TREG_SECRET_KEY zurück. Setzen Sie in Produktion einen echten Wert |
TREG_GITHUB_CLIENT_ID / _SECRET | (leer) | GitHub-OAuth-Anmeldung (Callback <public_url>/auth/github/callback); leer blendet den Button aus |
TREG_GOOGLE_CLIENT_ID / _SECRET | (leer) | Google-OAuth-Anmeldung (Weiterleitung <public_url>/auth/google/callback); leer blendet den Button aus |
TREG_INSTAGRAM_CLIENT_ID / _SECRET | (leer) | Instagram-App-ID und -Geheimnis für direkte Instagram-Anmeldung (Weiterleitung <public_url>/oauth/callback) |
TREG_META_CLIENT_ID / _SECRET | (leer) | Meta-App-Anmeldedaten für Facebook-Seiten, Meta Ads und optionales Instagram page-tools |
TREG_OAUTH_REVIEW_PENDING | instagram-login,page-messages | Kommagetrennte Registry-Review-Schlüssel, deren Fähigkeiten eingeschränkt bleiben müssen; der gehostete Review-Zustand wird privat gepflegt. |
TREG_RESEND_API_KEY / TREG_EMAIL_FROM | (leer) | Transaktions-E-Mails über Resend (OTP-Codes + Einladungen); Absender muss ein von Resend verifizierter Absender sein |
TREG_BLOCKED_EMAIL_DOMAINS | (leer) | Kommagetrennte E-Mail-Domains, die bei jeder Anmeldung/Anmeldung und bei Team-Erstellung abgelehnt werden (Subdomains eingeschlossen, Groß-/Kleinschreibung egal). Leer blockiert nichts — keine Liste ist im Code enthalten |
TREG_ADMIN_TOKEN | (leer) | Cross-Tenant-Super-Admin-Bearer; autorisiert jeden /admin/*-Endpunkt. Leer deaktiviert den Env-Pfad (nur is_superadmin-Benutzer erreichen /admin). Halten Sie ihn lang + geheim. |
TREG_EMAIL_DEV_MODE | false | wenn true, gibt /auth/email/start das OTP in seiner Antwort zurück (kein Mail-Sender nötig) — nur Entwicklung/lokal, niemals in Produktion. |
TREG_KV_URL | (leer) | Gemeinsamer Schlüssel-Wert-Speicher (Redis-Protokoll) für Zähler, auf die sich jeder Worker einigen muss, heute das Review-Einladungsbudget pro Team. Leer = In-Process-Fallback, für einen Worker ausreichend |
Kein .env ist für lokale Entwicklung nötig — jede Einstellung hat einen funktionierenden Standard (ephemerer Schlüssel, sqlite).
⚠️ Sichern Sie diese, bevor Sie verschieben oder neu bereitstellen: den Fernet-Schlüssel (
TREG_SECRET_KEY) und die Datenbank (Postgres in Produktion;treg.dbfür einen lokalen sqlite-Lauf). Verlieren Sie den Fernet-Schlüssel und jedes gespeicherte Geheimnis wird unwiederbringlich.
Architektur
Anfragefluss für /call: Tool auflösen (nach URL-Host + längstem base_url-Präfix oder nach Name) →
sein(e) Geheimnis(se) entschlüsseln → Injektor jeder Bindung anwenden → zum Upstream streamen → Fire-and-Forget-
Audit-Datensatz. Das Infra-Relay streamt Bytes ohne Geschäftslogik. Die Call-Anwendung puffert
Antworten, die Abrechnungs- oder Eigentumsnachweise benötigen, bis zu 8 MiB; größere Antworten geben eine 502
ohne Belastung zurück, statt eines abgeschnittenen Erfolgs. Autorisierte kostenlose End-Downloads, die keinen Body-Nachweis benötigen,
streamen vollständig, ebenso wie Antworten mit eigenem Schlüssel und eigenem Tool.
Modulübersicht (src/treg/):
| Modul | Rolle |
|---|---|
proxy.py | relay() — das gesamte Produkt in einer Funktion: ein getreuer Streaming-Proxy |
injectors.py | die Auth-Form-Naht: env, cli_auth, secret_file, oauth platzieren ein Geheimnis in einen Header/Query |
oauth.py | Token-Frische (Single-Flight-Refresh) + der Connect-Flow (Zustimmungs-URL, Code-Austausch) |
health.py | Anmeldedaten-Gesundheit: OAuth aktualisieren, Tools prüfen, Webhook an den Eigentümer von allem Defekten |
convert.py | Skill-Verzeichnis zu einem registrierbaren Bundle-Manifest ausbauen |
api.py | die API — das einzige Gehirn; CLI + Skill sind dünne Clients darüber |
cli.py | die treg-CLI |
models.py | SQLModel-Tabellen: Org, User, Membership, Invite, Secret, Tool, Bundle, PendingOAuth, CallRecord |
crypto.py config.py db.py audit.py | Fernet-Verschlüsselung + Tokens · Einstellungen · asynchrone DB · verzögerter Audit-Schreiber |
Die 4 Auth-Formen (pro Bindung injector): env (einfacher String / API-Schlüssel) · secret_file (eine
JSON-Token-Datei, ein Feld ziehen) · oauth (ein JSON-OAuth-Token, automatisch aktualisiert, wenn aktualisierbar) ·
cli_auth (Material aus dem Schlüsselbund einer CLI gehoben).
Getreuer-Relay-Vertrag: Der Proxy ändert nur drei Dinge, alles andere ist wörtlich:
- Hop-by-Hop-Transport-Header (pro Hop neu abgeleitet),
- tregs eigene Steuer- + Edge-Forwarding-Header (
x-treg-token,x-treg-org,ngrok-skip-browser-warning,x-forwarded-*,via, …) und tregs Sitzungscookie — alle entfernt, leaken nie upstream, - die injizierten Anmeldedaten.
OAuth, drei Wege zum ersten Token: manueller Upload (eine token.json einfügen) ·
Auto-Refresh (wenn das Token refresh_token + Client-Anmeldedaten trägt, hält treg es frisch, Sie
laden nie erneut hoch) · gehosteter Connect-Flow (treg oauth connect → Browser-Zustimmung → treg erfasst das
Token selbst).
Gesundheitschecks: Geben Sie einem Tool einen optionalen Probe ({method, path, expect_status}); ein periodischer Lauf
(auf Abruf oder per Cron) validiert jede Anmeldedaten, aktualisiert OAuth und webhookt den Eigentümer von allem,
das bricht.
Tiefes Design lebt in docs/context/ (Fragmente pro Subsystem).
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
Abdeckung: Proxy-Walking-Skeleton, alle Injektor-Formen, Benutzer-Auth + CRUD + Audit, Skill-Composer,
URL-Passthrough + getreues Relay, OAuth-Refresh + Connect-Flow, Gesundheitschecks, treg run/Shell,
Upload/Scan, Organisationen + Einladungen, die Dashboard-API, CLI.
Beiträge & Dokumentation
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
Design-Dokumente pro Subsystem sind Fragmente in docs/context/, jedes zitiert seine src/treg/*-
Quellen. Arbeiten Sie in diesem Repo mit einem KI-Agenten? Die /tools-registry-context-Skill lädt das
richtige Fragment für das, was Sie berühren, und hält die Dokumentation synchron — führen Sie
/tools-registry-context sync vor dem Pushen aus.
Roadmap: MCP-Unterstützung · feinere Berechtigungsstufen · Härtung der Schlüsselverwaltung für ruhende Daten · mögliche Loopni-Zusammenführung.
Lizenz
Apache 2.0 mit zusätzlichen Bedingungen (LICENSE): Nutzen Sie es frei — auch kommerziell,
innerhalb Ihrer eigenen Organisation (Selbsthosting Ihrer eigenen Registry wird ermutigt). Die Einschränkung: Verteilen Sie
den Code nicht an Dritte als konkurrierenden gehosteten/verwalteten Registry-Dienst ohne schriftliche
Genehmigung (jason@superdesign.dev). Die Nutzung der gehosteten treg.to-API in Ihrem eigenen Produkt —
mit Durchleitungs-Abrechnung über X-Treg-Meta und usage/by-tag — ist ohne Genehmigung erlaubt;
das ist das Aufrufen unserer API, nicht das Weiterverteilen unserer Software.
Festgepinnte Kunden-Lese-Bereiche
Für einen eingeschränkten Kunden-Agenten erzwingt treg org agent-new bot --pin customer=cust_A Attribution
und begrenzt Aufruf-/Ausführungsverlauf, archivierte Ergebnisse und asynchrones Eigentum des Shared-Providers auf diesen Pin.
Fremde oder nicht attribuierte IDs geben 404 zurück; ein nicht gepinnter Operator behält die organisationsweite Ansicht und das gemeinsame
Guthaben. BYOK-Kontozugriff und öffentliche Medien-URLs behalten ihre bestehenden Berechtigungen. Siehe den
Multi-Tenancy-Vertrag
für mehrere Pins, Migration und Wiedergabeverhalten.