treg

offiziell

Ein 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.find aufrufen, 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/balance oder treg run gh -- pr list auszufü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 scan zu 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-signals abrufen, um Käufer am Markt zu finden, oder make-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 create und treg org access einzuschrä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)

treg — the tool catalog for your agent

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 einen developer-token-Header).
    • CLI — eine Anbieter-Binärdatei (stripe, gh, vercel, ...), ausgeführt mit injizierten Anmeldedaten.
  • 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:

SkillWas dein Agent tun kann
tregJedes Tool im Katalog finden und aufrufen, plus deine eigenen Tools
lead-signalsKaufinteressenten 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-ugcKI-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:

  1. dein Team hat ein eigenes Tool für diesen Anbieter registriert → dieses Tool, dieser Schlüssel;
  2. dein Team hat ein Geheimnis für den Anbieter gespeichert → durch ein virtuelles Tool injiziert;
  3. keines von beiden, und der Endpunkt hat eine verifizierte öffentliche Route → kein Anbieter-Schlüssel, kostenlos;
  4. 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 useful Bewerte einen eingeladenen Katalogaufruf nach der Nutzung seines Ergebnisses; not_sure ist in Ordnung. Lasse private Daten weg und setze die Aufgabe fort.

  • USAGE.md — die vollständige treg-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 den X-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-registry allein bietet nur den treg-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):

VarStandardZweck
TREG_DATABASE_URLsqlite+aiosqlite:///./treg.dbDB-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_URLhttps://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_PENDINGinstagram-login,page-messagesKommagetrennte 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_MODEfalsewenn 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.db fü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/):

ModulRolle
proxy.pyrelay() — das gesamte Produkt in einer Funktion: ein getreuer Streaming-Proxy
injectors.pydie Auth-Form-Naht: env, cli_auth, secret_file, oauth platzieren ein Geheimnis in einen Header/Query
oauth.pyToken-Frische (Single-Flight-Refresh) + der Connect-Flow (Zustimmungs-URL, Code-Austausch)
health.pyAnmeldedaten-Gesundheit: OAuth aktualisieren, Tools prüfen, Webhook an den Eigentümer von allem Defekten
convert.pySkill-Verzeichnis zu einem registrierbaren Bundle-Manifest ausbauen
api.pydie API — das einzige Gehirn; CLI + Skill sind dünne Clients darüber
cli.pydie treg-CLI
models.pySQLModel-Tabellen: Org, User, Membership, Invite, Secret, Tool, Bundle, PendingOAuth, CallRecord
crypto.py config.py db.py audit.pyFernet-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:

  1. Hop-by-Hop-Transport-Header (pro Hop neu abgeleitet),
  2. 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,
  3. 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.