treg
resmiSatu server MCP dan satu kunci untuk 3.700+ API bayar-per-panggilan: SEO dan backlink, pengayaan orang dan perusahaan, sosial, iklan, scraping, pembuatan gambar dan video. Jarak jauh di https://treg.to/mcp/v2/ (OAuth) atau dihosting sendiri.
Apa yang bisa Anda lakukan dengan Treg MCP?
- Cari katalog alat — Minta asisten Anda untuk menemukan alat berdasarkan fungsinya, misalnya, "cari backlink untuk sebuah domain," dan bandingkan penyedia secara berdampingan beserta harganya.
- Panggil alat tanpa kunci penyedia — Minta asisten Anda untuk memanggil endpoint katalog seperti
treg call hunter.people.email.finduntuk memperkaya data orang atau perusahaan, ditagih per panggilan dari saldo Anda. - Jalankan CLI vendor dengan kredensial yang disuntikkan — Minta asisten Anda untuk mengeksekusi perintah seperti
treg run stripe -- get /v1/balanceatautreg run gh -- pr listtanpa Anda perlu memegang kunci API. - Daftarkan dan bagikan alat Anda sendiri — Instruksikan asisten Anda untuk memindai proyek dengan
treg scan, lalu unggah kunci.env, skill, dan CLI-nya agar seluruh tim Anda dapat menggunakannya. - Pasang dan jalankan skill alur kerja — Minta asisten Anda untuk menarik skill siap pakai seperti
lead-signalsuntuk menemukan pembeli yang sedang aktif, ataumake-ugcuntuk membuat video UGC AI dari awal hingga akhir. - Kelola tim dan akses — Minta asisten Anda untuk membuat organisasi, mengundang rekan tim, atau membatasi akses anggota ke alat tertentu dengan perintah seperti
treg org createdantreg org access.
Server MCP Terhosting
npx add-mcp 'https://treg.to/mcp/v2/'Terpasang ke Claude Code, Codex, Cursor, dan lainnya
Dokumentasi
Treg (OpenRouter untuk Tools)

OpenRouter, tetapi untuk tools agen, bukan model. Arahkan agen ke satu base URL dengan satu token dan ia bisa melakukan pekerjaannya: katalog kurasi ribuan endpoint dari banyak penyedia — SEO dan backlink, sosial dan tren, enrichment orang dan perusahaan, iklan, scraping, generasi gambar dan video — dihargai per panggilan, mulai dari satu sen, tanpa pendaftaran penyedia. Plus kunci, skill, dan CLI tim Anda sendiri, yang dapat dipanggil oleh agen setiap rekan kerja tanpa kredensial pernah meninggalkan server.
Minta tugasnya, bukan tool-nya. Anda tidak perlu tahu vendor mana yang menjual data backlink, atau memiliki akun dengan mereka. Cari apa yang ingin Anda lakukan, baca harganya, panggil.
Dibangun untuk tim Superdesign, tersedia di treg.to — siapa pun dapat self-host.
Mengapa ini ada
Tools yang dibutuhkan agen untuk pekerjaan nyata berada di balik langganan yang tidak dibeli orang untuk satu kali penggunaan — Semrush $139/bln, Moz $99/bln, Crunchbase $99/bln, Apollo $59/kursi — di balik tembok pendaftaran, atau di balik tidak ada API publik sama sekali (khusus undangan, khusus mitra, khusus review aplikasi). treg membawa akun-akun tersebut dan menagih pecahan sen per panggilan.
Dua jenis tool, satu token
- Katalog — endpoint eksternal yang dapat dilayani treg dengan kuncinya sendiri atau melalui rute publik terverifikasi yang tidak memerlukan kunci penyedia. Panggilan dengan kunci sendiri menggunakan saldo prabayar tim; panggilan anonim gratis. Tidak perlu akun dengan penyedia. Akun terverifikasi baru menerima $1.00 gratis sekali, saat mereka membuat tim yang memenuhi syarat.
- Tool Anda sendiri — apa pun yang didaftarkan rekan kerja: akun API berbayar, koneksi OAuth, CLI vendor,
sebuah
SKILL.md. Kunci Anda sendiri selalu menang atas kunci treg, dan panggilan tersebut tidak pernah dihitung.
Kosakata untuk bagian kedua:
- tool = sesuatu yang dipanggil registry untuk Anda dengan kredensial org. Dua jenis:
- endpoint — sebuah
base_urlupstream + binding kredensial (setiap binding menyuntikkan satu rahasia ke dalam permintaan; sebuah permintaan dapat membawa beberapa, misalnya OAuth bearer dan headerdeveloper-token). - CLI — biner vendor (
stripe,gh,vercel, ...) dijalankan dengan kredensial disuntikkan.
- endpoint — sebuah
- skill / bundle = resep (
SKILL.md) + rahasianya + tool-nya, didaftarkan bersama.
Satu aturan: proxy meneruskan, tidak pernah memodelkan upstream, dan menyuntikkan auth di sisi server — sehingga ia bertahan dari perubahan API upstream dan pemanggil tidak pernah memegang kunci.
Bagian 1 · Menggunakan registry
Kunjungi treg.to (dihosting di Render) — dasbor, masuk, dan setiap URL di bawah ada di sana.
Memulai cepat
Alur yang sama dengan panduan Memulai di dasbor:
# 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 menyediakan ucapan S2.1 Pro, penemuan suara publik, dan kloning suara pribadi.
Ucapan adalah stdout biner, jadi arahkan ke file. _id dari suara yang ditemukan atau id suara tim adalah
reference_id TTS; suara yang dibuat di akun Fish treg adalah sumber daya tim yang tahan lama:
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
Dengan kunci Fish Anda sendiri, permintaan tetap menjadi relay upstream tanpa batasan dan tanpa pengukuran, dan Fish memiliki batas akun.
Input tool katalog dijelaskan oleh treg catalog get <id>. Tool yang ditandai strict_query menolak parameter kueri yang tidak dideklarasikan atau berulang, nilai yang tidak didukung, dan badan permintaan.
Token Anda mengidentifikasi Anda pada setiap panggilan (header X-Treg-Token) dan sama untuk semua tool.
Temukan apa yang telah dibagikan tim Anda: treg tool ls · periksa kesehatan kredensial: treg health.
Atau instal sebagai plugin Claude Code
/plugin marketplace add superdesigndev/treg
/plugin install treg@treg
Terinstal tanpa token dan tanpa konfigurasi. Skill dimuat sebagai treg:treg dan, pada
penggunaan pertamanya, memandu agen Anda melalui sisanya — CLI, masuk, lalu treg mcp install — sehingga Anda berakhir dengan
baris perintah dan tools treg. Agen lain: npx skills add superdesigndev/treg -s treg
(atau lihat Workflow skills untuk sisanya).
Lihat docs/CLAUDE-PLUGIN.md. Pengguna MiniMax Code / MiniMax Agent: skill yang sama
dikirim melalui MiniMax Plugin Marketplace (docs/MINIMAX-PLUGIN.md).
Workflow skills
Resep siap pakai yang dijalankan agen Anda dari awal hingga akhir, setiap panggilan melalui treg:
| Skill | Apa yang bisa dilakukan agen Anda |
|---|---|
treg | Temukan dan panggil tool apa pun di katalog, plus tool Anda sendiri |
lead-signals | Temukan pembeli di pasar dari sinyal publik (keluhan, perubahan pekerjaan, perekrutan, pendanaan, adopsi tool) dan pantau topik, pesaing, atau daftar akun untuk mereka (treg.to/leads-signals) |
make-ugc | Buat video UGC AI: hook tren, presenter, klip talking-head, teks (treg.to/ugc) |
install.sh menginstal semuanya untuk Anda. Untuk menambahkannya ke agen yang ada sebagai gantinya
(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
Workflow skills berjalan di treg, jadi siapkan dulu (Memulai cepat di atas, atau arahkan agen Anda ke treg.to/llms.txt).
Konektor Claude.ai
Permukaan Direktori Konektor Claude adalah https://treg.to/mcp/v2/. Ia hanya mengekspos endpoint katalog
kurasi dan memisahkan panggilan baca dari panggilan tulis sehingga Claude menerima sinyal keamanan
yang akurat. Permukaan /mcp/ yang ada tetap tersedia untuk endpoint katalog, tool milik tim,
dan skill yang diimpor. Lihat arsitektur MCP dan OAuth
untuk batas dan implementasinya, dan
runbook pengiriman untuk gerbang rilis.
Panggil tool yang tidak Anda miliki kuncinya
Katalog dikelompokkan berdasarkan apa yang dilakukan endpoint: pelacakan kata kunci dan peringkat, backlink dan otoritas, visibilitas AI, tren dan penemuan, publikasi ke sosial, enrichment orang dan perusahaan, manajemen iklan dan kreatif, pengukuran.
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"
Bagaimana panggilan katalog dilayani — tangga kredensial, secara berurutan:
- tim Anda mendaftarkan tool sendiri untuk penyedia itu → tool itu, kunci itu;
- tim Anda menyimpan rahasia untuk penyedia itu → disuntikkan melalui tool virtual;
- tidak keduanya, dan endpoint memiliki rute publik terverifikasi → tanpa kunci penyedia, gratis;
- jika tidak → kunci treg sendiri, ditagih ke saldo prabayar tim.
Harga anonim mengasumsikan pemanggil tidak mengirim header kredensial penyedia. Relay yang
setia mempertahankan header pemanggil, sehingga kunci penyedia yang disuplai pemanggil dapat menggunakan kredit kunci itu.
Kredensial Anda sendiri selalu mengalahkan treg, jadi menghubungkan kunci yang sudah Anda bayar membuat panggilan tersebut
bebas dari saldo daripada menggandakannya. Endpoint yang tidak memiliki harga publik dari treg
ditolak, tidak dilayani gratis — Anda diberi tahu untuk menghubungkan kunci Anda sendiri sebagai gantinya. Jika beberapa penyedia
melayani satu kemampuan, treg catalog search menunjukkannya berdampingan dengan harga; memilih adalah
keputusan Anda — treg tidak diam-diam memilih atau gagal beralih antar penyedia untuk Anda. (Saat akun treg
sendiri untuk penyedia habis, ia dapat melayani endpoint yang sama melalui akun relay milik treg,
diungkapkan pada respons; tim dapat memilih keluar.) Pengecualian yang Anda pilih: endpoint yang dirutekan treg.<capability>, di mana treg memilih penyedia untuk Anda dan menyebutkannya.
treg balance # credit left, calls in flight, recent spend
treg topup # add funds, or set up automatic top-ups
Kehabisan saldo adalah HTTP 402 yang membawa balance_micro, estimated_cost_micro, dan topup_url,
sehingga agen dapat bertindak tanpa membaca prosa.
Enrich Arena berada di /enrich-arena, di luar dasbor. Bandingkan jawaban enrichment dengan biaya dan kecepatan setiap vendor,
pilih jawaban terbaik dalam satu klik, atau tonton waterfall berurutan. Penyedia async yang kompatibel
dengan kemampuan juga berpartisipasi; Arena menangani submit dan polling secara internal. Penjelajahan
publik; submit memerlukan login, dan upaya yang dapat ditagih menggunakan kredit tim Anda. Lihat
Panduan Arena.
Bagikan & gunakan tool Anda sendiri
Jalur tanpa berpikir — arahkan treg ke proyek dan ia mencari tahu apa yang dapat dibagikan:
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 memindai .env (mencocokkan kunci terhadap ~80 penyedia yang dikenal), setiap subdirektori
skill, dan CLI katalog yang terinstal. Tiga jenis hal masuk ke registry — berikut cara
berbagi dan menggunakan masing-masing:
1. Endpoint (API HTTP)
Bagikan — satu URL upstream yang dapat dipanggil dengan kunci tersimpan, atau massal dari .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
Gunakan — cara native agen: bangun permintaan upstream asli dan awali dengan proxy.
treg menyelesaikan tool berdasarkan host, menyuntikkan kredensial, dan meneruskan sisanya dengan setia
(X-Treg-Token Anda dihapus sebelum upstream melihatnya):
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>
Atau singkatan CLI — dan treg calls untuk log audit:
treg call intercom conversations --query per_page=5
treg call stripe v1/balance
2. CLI
Bagikan — otomatis: treg upload mendeteksi CLI katalog yang terinstal (stripe, gh, vercel, …)
dan mendaftarkannya; skill CLI katalog khusus resep (mis. stripe-cli) otomatis menjadi dapat dijalankan juga.
Gunakan — treg run mengeksekusi CLI vendor dengan kredensial org disuntikkan, sehingga Anda tidak pernah
memegang kunci atau masuk:
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 (default) berjalan di mesin Anda; --server berjalan di registry dan mengalirkan output kembali.
Untuk seluruh sesi, treg shell start membuka subshell di mana setiap CLI terdaftar menyuntikkan
secara otomatis — cukup gunakan stripe, gh, … secara normal; exit mengembalikan. treg runs adalah log audit.
3. Skill
Bagikan — skill adalah kemampuan lengkap (resep SKILL.md + rahasianya + tool-nya),
didaftarkan bersama sehingga seluruh tim menjalankan skill yang sama, dipelihara di satu tempat:
treg upload skills --dir ~/.claude/skills --all # register a folder of skills in one pass
Gunakan — tarik skill bersama apa pun ke agen Anda; panggilan API-nya melalui treg dengan token Anda, sehingga kunci tetap di server, tidak pernah di skill:
treg skill install seo-blog-writer # writes into ./.claude/skills/ (--all for the library)
Registrasi manual — saat heuristik tidak dapat menemukan tool
# 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
Opsi lengkap untuk setiap perintah: USAGE.md.
CLI mengirim penggunaan perintah anonim ke PostHog saat menggunakan treg.to (tanpa argumen atau kredensial).
Nonaktifkan dengan TREG_TELEMETRY=0 atau DO_NOT_TRACK=1.
Lihat detail analitik.
Tim
Sebuah akun dapat memiliki hingga 10 tim. Bergabung dengan tim lain sebagai anggota tidak dihitung terhadap batas ini.
Semuanya dicakup ke org: token = keanggotaan (user, org), dan setiap rahasia, tool,
dan skill milik org aktif. Peran: owner / admin / member / viewer.
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+)
Mendalami lebih jauh
-
Umpan balik:
treg feedback submit friction "The pagination example is unclear."Bagikan masalah atau saran tanpa informasi pribadi. Lihat instruksi umpan balik. -
Tinjauan:
treg review CALL_ID usefulNilai panggilan katalog yang diundang setelah menggunakan hasilnya;not_suretidak masalah. Hapus data pribadi dan lanjutkan tugas. -
USAGE.md— referensi CLItreglengkap. -
/llms.txt— file orientasi agen: protokol panggilan, penemuan, auth, CLI, skill. Satu pengambilan mengajarkan agen seluruh registry. -
Dasbor di treg.to — CRUD lengkap, tutorial terpandu (Bantuan → Tutorial), dan instruksi pengaturan yang dapat disalin untuk agen Anda.
-
API — semua yang dilakukan CLI adalah HTTP biasa; dokumen OpenAPI interaktif berada di
/docs. Endpoint proxy adalah/call/{...}; semua endpoint menerima headerX-Treg-Token.
Bagian 2 · Self-hosting & pengembangan
Jalankan secara lokal
Satu perintah (membutuhkan tmux + uv; ia menyinkronkan venv sendiri):
scripts/dev-local.sh up # server on http://localhost:18790, dev-safe settings
Itu menjalankan server di tmux dengan hot-reload, DB sqlite sendiri (treg-dev.db), dan mode dev email OTP
(kode masuk ditampilkan di halaman — tidak perlu pengirim email). Sehari-hari:
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
Atau jalankan server langsung, tanpa 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
Memasang untuk menjalankan server (bukan dari sumber): paket dasar hanyalah CLI saja. Untuk menjalankan registry, pasang ekstra server —
pip install "tools-registry[server]"— yang menambahkan FastAPI, driver database, dan enkripsi.pip install tools-registrysaja hanya memberikan perintahtreguntuk berkomunikasi dengan registry yang sudah ada.
Layanan hosted resmi tersedia di treg.to. Topologi produksi dan pengaturan langsungnya
dipelihara di runbook operator privat.
Konfigurasi
Variabel lingkungan (prefix TREG_, dibaca dari .env):
| Var | Default | Tujuan |
|---|---|---|
TREG_DATABASE_URL | sqlite+aiosqlite:///./treg.db | URL DB (SQLite untuk dev, Postgres di prod) |
TREG_READ_DATABASE_URL | (kosong) | Sumber data baca SQLite / PostgreSQL opsional; kosong memakai ulang yang utama. Mengharuskan pemanggil untuk memilih; kueri yang ada tidak berubah. Lihat pengaturan sumber data baca. |
TREG_SECRET_KEY | (kosong) | Kunci Fernet untuk rahasia saat diam; kosong → kunci sementara dibuat (rahasia tidak akan bertahan setelah restart) |
TREG_PUBLIC_URL | https://treg.to | Basis publik treg, dipakai untuk membangun URI callback OAuth |
TREG_SESSION_SECRET | (kosong) | menandatangani cookie sesi dasbor; jatuh kembali ke TREG_SECRET_KEY. Tetapkan nilai nyata di prod |
TREG_GITHUB_CLIENT_ID / _SECRET | (kosong) | Masuk OAuth GitHub (callback <public_url>/auth/github/callback); kosong menyembunyikan tombol |
TREG_GOOGLE_CLIENT_ID / _SECRET | (kosong) | Masuk OAuth Google (redirect <public_url>/auth/google/callback); kosong menyembunyikan tombol |
TREG_INSTAGRAM_CLIENT_ID / _SECRET | (kosong) | ID Aplikasi Instagram dan rahasia untuk Masuk Instagram langsung (redirect <public_url>/oauth/callback) |
TREG_META_CLIENT_ID / _SECRET | (kosong) | Kredensial aplikasi Meta untuk Halaman Facebook, Meta Ads, dan Instagram opsional page-tools |
TREG_OAUTH_REVIEW_PENDING | instagram-login,page-messages | Kunci tinjauan registry yang dipisahkan koma yang kemampuannya harus tetap digerbang; status tinjauan hosted dipelihara secara privat. |
TREG_RESEND_API_KEY / TREG_EMAIL_FROM | (kosong) | email transaksional via Resend (kode OTP + undangan); Dari harus pengirim terverifikasi Resend |
TREG_BLOCKED_EMAIL_DOMAINS | (kosong) | domain email yang dipisahkan koma ditolak di setiap pintu masuk/daftar dan saat pembuatan tim (subdomain termasuk, tidak peka huruf besar/kecil). Kosong tidak memblokir apa pun — tidak ada daftar yang dikirim dalam kode |
TREG_ADMIN_TOKEN | (kosong) | bearer super-admin lintas-tenant; mengotorisasi setiap endpoint /admin/*. Kosong menonaktifkan jalur env (hanya pengguna is_superadmin yang mencapai /admin). Jaga tetap panjang + rahasia. |
TREG_EMAIL_DEV_MODE | false | saat true, /auth/email/start mengembalikan OTP dalam responsnya (tidak perlu pengirim email) — khusus dev/lokal, jangan pernah di prod. |
TREG_KV_URL | (kosong) | penyimpanan key-value bersama (protokol Redis) untuk penghitung yang harus disepakati setiap pekerja, hari ini anggaran undangan tinjauan per tim. Kosong = fallback dalam proses, baik untuk satu pekerja |
Tidak ada .env yang diperlukan untuk dev lokal — setiap pengaturan memiliki default yang berfungsi (kunci sementara, sqlite).
⚠️ Cadangkan ini sebelum memindahkan atau men-deploy ulang: kunci Fernet (
TREG_SECRET_KEY) dan database (Postgres di prod;treg.dbuntuk menjalankan sqlite lokal). Kehilangan kunci Fernet dan setiap rahasia yang tersimpan menjadi tidak dapat dipulihkan.
Arsitektur
Alur permintaan untuk /call: selesaikan tool (berdasarkan host URL + prefix base_url terpanjang, atau berdasarkan nama) →
dekripsi rahasianya → terapkan injektor setiap binding → alirkan ke upstream → catatan audit fire-and-forget.
Relay infrastruktur mengalirkan byte tanpa logika bisnis. Aplikasi panggilan mem-buffer
respons yang memerlukan penyelesaian atau bukti kepemilikan hingga 8 MiB; respons yang lebih besar mengembalikan 502
tanpa membebankan biaya alih-alih sukses terpotong. Unduhan akhir gratis yang diotorisasi yang tidak memerlukan
bukti badan dialirkan sepenuhnya, begitu juga respons kunci sendiri dan tool sendiri.
Peta modul (src/treg/):
| Modul | Peran |
|---|---|
proxy.py | relay() — seluruh produk dalam satu fungsi: proxy streaming yang setia |
injectors.py | jahitan bentuk auth: env, cli_auth, secret_file, oauth menempatkan rahasia ke header/kueri |
oauth.py | kesegaran token (refresh single-flight) + alur koneksi (URL persetujuan, pertukaran kode) |
health.py | kesehatan kredensial: refresh oauth, probe tool, webhook pemilik apa pun yang rusak |
convert.py | membuat kerangka direktori skill menjadi manifest bundel yang dapat didaftarkan |
api.py | API — satu-satunya otak; CLI + skill adalah klien tipis di atasnya |
cli.py | CLI treg |
models.py | Tabel SQLModel: Org, User, Membership, Invite, Secret, Tool, Bundle, PendingOAuth, CallRecord |
crypto.py config.py db.py audit.py | Enkripsi Fernet + token · pengaturan · DB asinkron · penulis audit tertunda |
4 bentuk auth (per binding injector): env (string polos / kunci API) · secret_file (file
token JSON, ambil bidang) · oauth (token OAuth JSON, disegarkan otomatis jika dapat disegarkan) ·
cli_auth (material diangkat dari keychain CLI).
Kontrak relay setia: proxy mengubah hanya tiga hal, yang lainnya verbatim:
- header transport hop-by-hop (diturunkan ulang per hop),
- header kontrol + penerusan tepi milik treg sendiri (
x-treg-token,x-treg-org,ngrok-skip-browser-warning,x-forwarded-*,via, …) dan cookie sesi treg — semuanya dihapus, tidak pernah bocor ke upstream, - kredensial yang diinjeksikan.
OAuth, tiga cara mendapatkan token pertama: unggah manual (letakkan token.json) ·
auto-refresh (jika token membawa refresh_token + kredensial klien, treg menjaganya tetap segar, Anda tidak perlu
mengunggah ulang) · alur koneksi hosted (treg oauth connect → persetujuan browser → treg menangkap
token itu sendiri).
Pemeriksaan kesehatan: beri tool probe opsional ({method, path, expect_status}); proses berkala
(berdasarkan permintaan atau via cron) memvalidasi setiap kredensial, menyegarkan OAuth, dan webhook pemilik apa pun yang
rusak.
Desain mendalam ada di docs/context/ (fragmen per-subsistem).
Tes
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
Cakupan: proxy walking-skeleton, semua bentuk injektor, auth per-pengguna + CRUD + audit, komposer skill,
URL-passthrough + relay setia, refresh OAuth + alur koneksi, pemeriksaan kesehatan, treg run/shell,
unggah/pindai, org + undangan, API dasbor, CLI.
Kontribusi & dokumentasi
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
Dokumen desain per-subsistem adalah fragmen di docs/context/, masing-masing mengutip sumber src/treg/*
-nya. Bekerja di repo ini dengan agen AI? Skill /tools-registry-context memuat
fragmen yang tepat untuk apa yang Anda sentuh dan menjaga dokumentasi tetap sinkron — jalankan
/tools-registry-context sync sebelum push.
Peta jalan: dukungan MCP · tingkat izin yang lebih halus · penguatan manajemen kunci saat diam · kemungkinan penggabungan Loopni.
Lisensi
Apache 2.0 dengan ketentuan tambahan (LICENSE): gunakan dengan bebas — termasuk komersial,
di dalam organisasi Anda sendiri (self-hosting registry Anda sendiri didorong). Pembatasannya: jangan
mendistribusikan ulang kode ke pihak ketiga sebagai layanan registry hosted/terkelola yang bersaing tanpa izin
tertulis (jason@superdesign.dev). Menggunakan API treg.to hosted di dalam produk Anda sendiri —
dengan penagihan pass-through via X-Treg-Meta dan usage/by-tag — diizinkan tanpa izin;
itu memanggil API kami, bukan mendistribusikan ulang perangkat lunak kami.
Cakupan baca pelanggan yang disematkan
Untuk agen pelanggan yang dibatasi, treg org agent-new bot --pin customer=cust_A menegakkan atribusi
dan membatasi riwayat panggilan/jalankan, hasil yang diarsipkan, dan kepemilikan asinkron penyedia bersama ke pin tersebut.
Id asing atau tanpa atribusi mengembalikan 404; operator tanpa pin menjaga tampilan seluruh org dan
saldo bersama. Akses akun BYOK dan URL media publik mempertahankan izin yang ada. Lihat
kontrak multi-tenancy
untuk beberapa pin, migrasi, dan perilaku pemutaran ulang.