treg
ทางการเซิร์ฟเวอร์ MCP หนึ่งตัวและคีย์หนึ่งชุดสำหรับ API แบบจ่ายต่อการเรียกใช้มากกว่า 3,700 รายการ: SEO และแบ็กลิงก์ การเพิ่มข้อมูลบุคคลและบริษัท โซเชียล โฆษณา การสแครป การสร้างภาพและวิดีโอ ใช้งานระยะไกลที่ https://treg.to/mcp/v2/ (OAuth) หรือโฮสต์เอง
คุณทำอะไรได้บ้างด้วย Treg MCP?
- ค้นหาเครื่องมือในแคตตาล็อก — ให้ผู้ช่วยของคุณค้นหาเครื่องมือตามสิ่งที่มันทำ เช่น "ค้นหา backlinks สำหรับโดเมน" และเปรียบเทียบผู้ให้บริการแบบเคียงข้างกันพร้อมราคา
- เรียกใช้เครื่องมือโดยไม่ต้องใช้คีย์ผู้ให้บริการ — ให้ผู้ช่วยของคุณเรียกใช้ endpoint ในแคตตาล็อก เช่น
treg call hunter.people.email.findเพื่อเพิ่มข้อมูลบุคคลหรือบริษัท โดยคิดค่าบริการต่อการเรียกจากยอดเงินคงเหลือของคุณ - รัน CLI ของผู้ให้บริการด้วยข้อมูลรับรองที่ฉีดเข้าไป — ให้ผู้ช่วยของคุณรันคำสั่ง เช่น
treg run stripe -- get /v1/balanceหรือtreg run gh -- pr listโดยที่คุณไม่ต้องถือคีย์ API ด้วยตัวเอง - ลงทะเบียนและแชร์เครื่องมือของคุณเอง — สั่งให้ผู้ช่วยของคุณสแกนโปรเจกต์ด้วย
treg scanจากนั้นอัปโหลดคีย์.envสกิล และ CLI ของมัน เพื่อให้ทั้งทีมของคุณนำไปใช้ได้ - ติดตั้งและรันสกิลเวิร์กโฟลว์ — ให้ผู้ช่วยของคุณดึงสกิลสำเร็จรูป เช่น
lead-signalsเพื่อค้นหาผู้ซื้อที่อยู่ในตลาด หรือmake-ugcเพื่อสร้างวิดีโอ UGC ด้วย AI ตั้งแต่ต้นจนจบ - จัดการทีมและการเข้าถึง — สั่งให้ผู้ช่วยของคุณสร้างองค์กร เชิญเพื่อนร่วมทีม หรือจำกัดการเข้าถึงเครื่องมือเฉพาะของสมาชิกด้วยคำสั่ง เช่น
treg org createและtreg org access
เซิร์ฟเวอร์ MCP แบบโฮสต์
npx add-mcp 'https://treg.to/mcp/v2/'ติดตั้งลง Claude Code, Codex, Cursor และอื่นๆ
เอกสาร
Treg (OpenRouter สำหรับเครื่องมือ)

OpenRouter แต่สำหรับเครื่องมือของเอเจนต์แทนที่จะเป็นโมเดล ชี้เอเจนต์ไปที่ base URL เดียวด้วย token เดียว แล้วมันก็ทำงานได้: แคตตาล็อกคัดสรรของ endpoint หลายพันรายการจากผู้ให้บริการมากมาย — SEO และ backlinks, โซเชียลและเทรนด์, การเสริมข้อมูลบุคคลและบริษัท, โฆษณา, การ scraping, การสร้างภาพและวิดีโอ — คิดราคาต่อการเรียก เริ่มต้นแค่เศษสตางค์ โดยไม่ต้องสมัครผู้ให้บริการ พร้อมกับคีย์ ทักษะ และ CLI ของทีมคุณเอง ที่เอเจนต์ของเพื่อนร่วมทีมทุกคน เรียกใช้ได้โดยที่ credential ไม่เคยออกจากเซิร์ฟเวอร์
ขอตามงาน ไม่ใช่ตามเครื่องมือ คุณไม่จำเป็นต้องรู้ว่าผู้ขายรายไหนขายข้อมูล backlink หรือต้องมี บัญชีกับพวกเขา ค้นหาสิ่งที่คุณต้องการทำ อ่านราคา แล้วเรียกใช้
สร้างขึ้นเพื่อทีม Superdesign ใช้งานจริงที่ treg.to — ทุกคนสามารถ self-host ได้
ทำไมถึงมีสิ่งนี้
เครื่องมือที่เอเจนต์ต้องการสำหรับงานจริงอยู่เบื้องหลังการสมัครสมาชิกที่ไม่มีใครซื้อเพื่อรันครั้งเดียว — Semrush $139/เดือน, Moz $99/เดือน, Crunchbase $99/เดือน, Apollo $59/ที่นั่ง — อยู่หลังกำแพงการสมัคร หรืออยู่หลัง API สาธารณะที่ไม่มีเลย (เฉพาะคำเชิญ, เฉพาะพาร์ทเนอร์, เฉพาะการรีวิวแอป) treg ถือบัญชีเหล่านั้นและ คิดเงินเพียงเศษสตางค์ต่อการเรียก
เครื่องมือสองประเภท หนึ่ง token
- แคตตาล็อก — endpoint ภายนอกที่ treg ให้บริการด้วยคีย์ของตัวเองหรือผ่านเส้นทางสาธารณะที่ตรวจสอบแล้ว ซึ่งไม่ต้องใช้คีย์ผู้ให้บริการ การเรียกด้วยคีย์ของตัวเองใช้ยอดเงิน预付ของทีม; การเรียกแบบไม่ระบุตัวตน ฟรี ไม่ต้องมีบัญชีกับผู้ให้บริการ บัญชีที่ตรวจสอบใหม่ได้รับ $1.00 ฟรี ครั้งเดียว เมื่อพวกเขาสร้างทีมที่มีสิทธิ์
- เครื่องมือของคุณเอง — อะไรก็ตามที่เพื่อนร่วมทีมลงทะเบียน: บัญชี API แบบเสียเงิน, การเชื่อมต่อ OAuth,
CLI ของผู้ขาย,
SKILL.mdคีย์ของคุณเองชนะคีย์ของ treg เสมอ และการเรียกเหล่านั้นไม่ถูกคิดมิเตอร์
คำศัพท์สำหรับครึ่งหลัง:
- tool = สิ่งที่ registry เรียกให้คุณด้วย credential ขององค์กร สองประเภท:
- endpoint —
base_urlต้นทาง + bindings ของ credential (แต่ละ binding ฉีด secret หนึ่งอันเข้าไปในคำขอ; คำขอหนึ่งสามารถมีหลายอันได้ เช่น OAuth bearer และ headerdeveloper-token) - CLI — ไบนารีของผู้ขาย (
stripe,gh,vercel, ...) รันด้วยการฉีด credential
- endpoint —
- skill / bundle = สูตร (
SKILL.md) + secrets + tool(s) ของมัน ลงทะเบียนร่วมกัน
กฎข้อเดียว: proxy ส่งต่อ ไม่สร้างแบบจำลอง ต้นทาง และ ฉีด auth ฝั่งเซิร์ฟเวอร์ — ดังนั้นมันจึงทนต่อการเปลี่ยนแปลง API ต้นทาง และผู้เรียกไม่เคยถือคีย์
ส่วนที่ 1 · การใช้ registry
เยี่ยมชม treg.to (โฮสต์บน Render) — แดชบอร์ด การเข้าสู่ระบบ และทุก URL ด้านล่างอยู่ที่นั่น
เริ่มต้นอย่างรวดเร็ว
ขั้นตอนเดียวกันกับคู่มือ Getting started ของแดชบอร์ด:
# 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 ให้บริการเสียงพูด S2.1 Pro, การค้นพบเสียงสาธารณะ และการโคลนเสียงส่วนตัว
เสียงพูดเป็น stdout แบบไบนารี ดังนั้นให้เปลี่ยนเส้นทางไปยังไฟล์ _id ของเสียงที่ค้นพบหรือ team voice id คือ
reference_id ของ TTS; เสียงที่สร้างบนบัญชี Fish ของ treg เป็นทรัพยากรทีมที่คงทน:
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
ด้วยคีย์ Fish ของคุณเอง คำขอยังคงเป็นการส่งต่อต้นทางแบบไม่จำกัดและไม่คิดมิเตอร์ และ Fish เป็นเจ้าของ ขอบเขตบัญชี
อินพุตของเครื่องมือในแคตตาล็อกอธิบายโดย treg catalog get <id> เครื่องมือที่ทำเครื่องหมาย strict_query ปฏิเสธ
พารามิเตอร์ query ที่ไม่ได้ประกาศหรือซ้ำ ค่าที่ไม่รองรับ และ request body
Token ของคุณระบุตัวคุณในการเรียกทุกครั้ง (header X-Treg-Token) และเหมือนกันสำหรับทุกเครื่องมือ
ค้นพบสิ่งที่ทีมของคุณแชร์: treg tool ls · ตรวจสอบสุขภาพ credential: treg health
หรือติดตั้งเป็นปลั๊กอิน Claude Code
/plugin marketplace add superdesigndev/treg
/plugin install treg@treg
ติดตั้งโดยไม่มี token และไม่มีการกำหนดค่า ทักษะโหลดเป็น treg:treg และในการรันครั้งแรก
จะพาเอเจนต์ของคุณผ่านส่วนที่เหลือ — CLI, การเข้าสู่ระบบ จากนั้น treg mcp install — ดังนั้นคุณจะได้
command line และ เครื่องมือของ treg เอเจนต์อื่น: npx skills add superdesigndev/treg -s treg
(หรือดู Workflow skills สำหรับส่วนที่เหลือ)
ดู docs/CLAUDE-PLUGIN.md ผู้ใช้ MiniMax Code / MiniMax Agent: ทักษะเดียวกัน
มาพร้อมผ่าน MiniMax Plugin Marketplace (docs/MINIMAX-PLUGIN.md)
Workflow skills
สูตรสำเร็จรูปที่เอเจนต์ของคุณรันจบกระบวนการ ทุกการเรียกผ่าน treg:
| ทักษะ | สิ่งที่เอเจนต์ของคุณทำได้ |
|---|---|
treg | ค้นหาและเรียกเครื่องมือใดก็ได้ในแคตตาล็อก รวมถึงเครื่องมือของคุณเอง |
lead-signals | ค้นหาผู้ซื้อในตลาดจากสัญญาณสาธารณะ (ข้อร้องเรียน, การเปลี่ยนงาน, การจ้างงาน, การระดมทุน, การนำเครื่องมือไปใช้) และติดตามหัวข้อ คู่แข่ง หรือรายการบัญชีสำหรับพวกเขา (treg.to/leads-signals) |
make-ugc | สร้างวิดีโอ AI UGC: ฮุคที่กำลังมาแรง, ผู้บรรยาย, คลิปพูดหน้าจอ, คำบรรยาย (treg.to/ugc) |
install.sh ติดตั้งทั้งหมดให้คุณ หากต้องการเพิ่มลงในเอเจนต์ที่มีอยู่แทน
(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 รันบน treg ดังนั้นตั้งค่ามันก่อน (Quickstart ด้านบน หรือชี้เอเจนต์ของคุณไปที่ treg.to/llms.txt)
ตัวเชื่อมต่อ Claude.ai
พื้นผิว Claude Connectors Directory คือ https://treg.to/mcp/v2/ มันเปิดเผยเฉพาะ
endpoint แคตตาล็อกที่คัดสรร และแยกการเรียกอ่านจากการเรียกเขียน เพื่อให้ Claude ได้รับสัญญาณ
ความปลอดภัยที่แม่นยำ พื้นผิว /mcp/ ที่มีอยู่ยังคงพร้อมใช้งานสำหรับ endpoint แคตตาล็อก, เครื่องมือที่ทีมเป็นเจ้าของ
และทักษะที่นำเข้า ดู สถาปัตยกรรม MCP และ OAuth
สำหรับขอบเขตและการนำไปใช้ และ
runbook การส่ง สำหรับเกณฑ์การเผยแพร่
เรียกเครื่องมือที่คุณไม่มีคีย์
แคตตาล็อกจัดกลุ่มตามสิ่งที่ endpoint ทำ: การติดตามคีย์เวิร์ดและอันดับ, backlinks และอำนาจ, การมองเห็น AI, เทรนด์และการค้นพบ, การเผยแพร่สู่โซเชียล, การเสริมข้อมูลบุคคลและบริษัท, การจัดการโฆษณา และครีเอทีฟ, การวัดผล
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"
วิธีการให้บริการการเรียกในแคตตาล็อก — บันได credential ตามลำดับ:
- ทีมของคุณลงทะเบียนเครื่องมือของตัวเองสำหรับผู้ให้บริการนั้น → เครื่องมือนั้น, คีย์นั้น;
- ทีมของคุณเก็บ secret สำหรับผู้ให้บริการ → ฉีดผ่านเครื่องมือเสมือน;
- ไม่มีทั้งสอง และ endpoint มีเส้นทางสาธารณะที่ตรวจสอบแล้ว → ไม่ต้องใช้คีย์ผู้ให้บริการ, ฟรี;
- มิฉะนั้น → คีย์ของ treg เอง, คิดเงินจากยอดเงิน预付ของทีม
ราคาแบบไม่ระบุตัวตนสมมติว่าผู้เรียกไม่ส่ง header credential ผู้ให้บริการ การส่งต่อที่ซื่อสัตย์
รักษา header ของผู้เรียก ดังนั้นคีย์ผู้ให้บริการที่ผู้เรียกส่งมาสามารถใช้เครดิตของคีย์นั้นได้
credential ของคุณเองชนะคีย์ของ treg เสมอ ดังนั้นการเชื่อมต่อคีย์ที่คุณจ่ายอยู่แล้วทำให้การเรียกเหล่านั้น
ฟรีจากยอดเงินแทนที่จะซ้ำซ้อน endpoint ที่ treg ไม่มีราคาที่เผยแพร่จะถูก
ปฏิเสธ ไม่ใช่ให้บริการฟรี — คุณจะได้รับแจ้งให้เชื่อมต่อคีย์ของคุณเองแทน เมื่อผู้ให้บริการหลายราย
ให้บริการความสามารถหนึ่ง treg catalog search แสดงพวกเขาด้วยราคาเคียงข้างกัน; การเลือกเป็น
ของคุณ — treg ไม่เลือกหรือ fail over ระหว่างผู้ให้บริการให้คุณอย่างเงียบ ๆ (เมื่อบัญชีของ treg เอง
สำหรับผู้ให้บริการหมด อาจให้บริการ endpoint เดียวกัน ผ่านบัญชี relay ที่ treg เป็นเจ้าของ
เปิดเผยในการตอบสนอง; ทีมสามารถเลือกไม่ใช้ได้) ข้อยกเว้นที่คุณเลือกเข้า: treg.<capability> เส้นทางที่กำหนดเส้นทาง
ที่ treg เลือกผู้ให้บริการให้คุณและระบุชื่อ
treg balance # credit left, calls in flight, recent spend
treg topup # add funds, or set up automatic top-ups
ยอดเงินหมดคือ HTTP 402 ที่มี balance_micro, estimated_cost_micro และ topup_url
เพื่อให้เอเจนต์สามารถดำเนินการได้โดยไม่ต้องอ่านข้อความ
Enrich Arena อยู่ที่ /enrich-arena นอกแดชบอร์ด เปรียบเทียบคำตอบการเสริมข้อมูลกับต้นทุนและความเร็วของผู้ขายแต่ละราย
โหวตคำตอบที่ดีที่สุดในคลิกเดียว หรือดู waterfall แบบลำดับ ผู้ให้บริการ async ที่เข้ากันได้กับความสามารถ
เข้าร่วมด้วย; Arena จัดการ submit และ polling ภายใน การเรียกดูเป็น
สาธารณะ; การส่งต้องเข้าสู่ระบบ และความพยายามที่เรียกเก็บเงินใช้เครดิตทีมของคุณ ดู
คู่มือ Arena
แชร์และใช้เครื่องมือของคุณเอง
เส้นทางที่ไม่ต้องคิด — ชี้ treg ไปที่โปรเจกต์แล้วมันหาว่าอะไรแชร์ได้:
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 สแกน .env (จับคู่คีย์กับผู้ให้บริการที่รู้จัก ~80 ราย), ทุกไดเรกทอรีย่อยของทักษะ
และ CLI แคตตาล็อกที่ติดตั้ง สามประเภทของสิ่งที่เข้าไปใน registry — นี่คือวิธี
แชร์และใช้แต่ละอย่าง:
1. Endpoints (HTTP APIs)
แชร์ — หนึ่ง upstream URL ที่เรียกได้ด้วยคีย์ที่เก็บไว้ หรือเป็นกลุ่มจาก .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
ใช้ — วิธีที่เอเจนต์เป็นหลัก: สร้างคำขอ upstream จริง และเติม proxy ข้างหน้า
treg แก้ไขเครื่องมือตามโฮสต์ ฉีด credential และส่งต่อทุกอย่างอื่นอย่างซื่อสัตย์
(X-Treg-Token ของคุณถูกดึงออกก่อนที่ upstream จะเห็น):
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>
หรือชวเลข CLI — และ treg calls สำหรับบันทึกการตรวจสอบ:
treg call intercom conversations --query per_page=5
treg call stripe v1/balance
2. CLIs
แชร์ — อัตโนมัติ: treg upload ตรวจจับ CLI แคตตาล็อกที่ติดตั้ง (stripe, gh, vercel, …)
และลงทะเบียนพวกมัน; ทักษะ CLI แคตตาล็อกเฉพาะสูตร (เช่น stripe-cli) กลายเป็นรันได้อัตโนมัติเช่นกัน
ใช้ — treg run รัน CLI ของผู้ขาย ด้วยการฉีด credential ขององค์กร ดังนั้นคุณไม่เคย
ถือคีย์หรือเข้าสู่ระบบ:
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 (ค่าเริ่มต้น) รันบนเครื่องของคุณ; --server รันบน registry และสตรีมเอาต์พุตกลับ
สำหรับทั้งเซสชัน treg shell start เปิด subshell ที่ CLI ที่ลงทะเบียนทุกตัวฉีด
อัตโนมัติ — แค่ใช้ stripe, gh, … ตามปกติ; exit ย้อนกลับ treg runs คือบันทึกการตรวจสอบ
3. ทักษะ
แชร์ — ทักษะคือความสามารถทั้งหมด (สูตร SKILL.md + secrets + tool(s) ของมัน)
ลงทะเบียนร่วมกันเพื่อให้ทั้งทีมรันทักษะเดียวกัน ดูแลในที่เดียว:
treg upload skills --dir ~/.claude/skills --all # register a folder of skills in one pass
ใช้ — ดึงทักษะที่แชร์ใด ๆ เข้าสู่เอเจนต์ของคุณ; การเรียก API ของมันผ่าน treg ด้วย token ของคุณ ดังนั้นคีย์อยู่บนเซิร์ฟเวอร์ ไม่เคยอยู่ในทักษะ:
treg skill install seo-blog-writer # writes into ./.claude/skills/ (--all for the library)
การลงทะเบียนด้วยตนเอง — เมื่อ heuristics หาเครื่องมือไม่เจอ
# 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
ตัวเลือกเต็มสำหรับทุกคำสั่ง: USAGE.md
CLI ส่งการใช้งานคำสั่งแบบไม่ระบุชื่อไปยัง PostHog เมื่อใช้ treg.to (ไม่มีอาร์กิวเมนต์หรือ credentials)
ปิดใช้งานด้วย TREG_TELEMETRY=0 หรือ DO_NOT_TRACK=1
ดู รายละเอียด analytics
ทีม
บัญชีหนึ่งสามารถเป็นเจ้าของได้สูงสุด 10 ทีม การเข้าร่วมทีมอื่นในฐานะสมาชิกไม่นับรวมในขีดจำกัดนี้
ทุกอย่างถูกจำกัดขอบเขตที่ org: token = การเป็นสมาชิก (user, org) และทุก secret, tool
และทักษะเป็นของ org ที่ใช้งานอยู่ บทบาท: 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+)
เจาะลึกยิ่งขึ้น
-
ข้อเสนอแนะ:
treg feedback submit friction "The pagination example is unclear."แบ่งปันปัญหาหรือข้อเสนอแนะโดยไม่มีข้อมูลส่วนตัว ดู คำแนะนำข้อเสนอแนะ -
รีวิว:
treg review CALL_ID usefulให้คะแนนการเรียกแคตตาล็อกที่ได้รับเชิญหลังจากใช้ผลลัพธ์;not_sureก็ได้ ละเว้นข้อมูลส่วนตัวและทำงานต่อ -
USAGE.md— เอกสารอ้างอิง CLItregเต็มรูปแบบ -
/llms.txt— ไฟล์ onboarding เอเจนต์: โปรโตคอลการเรียก การค้นพบ, auth, CLI, ทักษะ การ fetch ครั้งเดียวสอนเอเจนต์ทั้ง registry -
แดชบอร์ด ที่ treg.to — CRUD เต็มรูปแบบ, บทช่วยสอนแบบมีไกด์ (Help → Tutorial) และคำแนะนำการตั้งค่าที่คัดลอกได้สำหรับเอเจนต์ของคุณ
-
API — ทุกอย่างที่ CLI ทำคือ HTTP ธรรมดา; เอกสาร OpenAPI แบบโต้ตอบอยู่ที่
/docsendpoint proxy คือ/call/{...}; ทุก endpoint รับ headerX-Treg-Token
ส่วนที่ 2 · การ self-host และการพัฒนา
รันในเครื่อง
หนึ่งคำสั่ง (ต้องมี tmux + uv; มันซิงค์ venv เอง):
scripts/dev-local.sh up # server on http://localhost:18790, dev-safe settings
นั่นรันเซิร์ฟเวอร์ใน tmux พร้อม hot-reload, sqlite DB ของตัวเอง (treg-dev.db) และโหมด dev email OTP
(รหัสเข้าสู่ระบบแสดงบนหน้า — ไม่ต้องมีตัวส่งเมล) การใช้งานรายวัน:
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
หรือรันเซิร์ฟเวอร์โดยตรง โดยไม่ใช้ 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
การติดตั้งเพื่อรันเซิร์ฟเวอร์ (ไม่ใช่จากซอร์สโค้ด): แพ็กเกจพื้นฐานเป็น CLI เท่านั้น หากต้องการรัน registry ให้ติดตั้งส่วนเสริมเซิร์ฟเวอร์ —
pip install "tools-registry[server]"— ซึ่งเพิ่ม FastAPI, ไดรเวอร์ฐานข้อมูล และการเข้ารหัสpip install tools-registryเพียงอย่างเดียวให้แค่คำสั่งtregสำหรับ การเชื่อมต่อกับ registry ที่มีอยู่
บริการโฮสต์อย่างเป็นทางการมีให้ใช้งานที่ treg.to. โครงสร้างการใช้งานจริงและการตั้งค่าสด
ได้รับการดูแลใน operator runbook ส่วนตัว
การกำหนดค่า
ตัวแปรสภาพแวดล้อม (คำนำหน้า TREG_, อ่านจาก .env):
| ตัวแปร | ค่าเริ่มต้น | วัตถุประสงค์ |
|---|---|---|
TREG_DATABASE_URL | sqlite+aiosqlite:///./treg.db | URL ฐานข้อมูล (SQLite สำหรับ dev, Postgres ใน prod) |
TREG_READ_DATABASE_URL | (ว่าง) | แหล่งข้อมูลอ่าน SQLite / PostgreSQL เพิ่มเติม; หากว่างจะใช้แหล่งข้อมูลหลักซ้ำ ต้องให้ผู้เรียกใช้งานเลือกใช้; คิวรีที่มีอยู่ไม่มีการเปลี่ยนแปลง ดู การตั้งค่าแหล่งข้อมูลอ่าน |
TREG_SECRET_KEY | (ว่าง) | คีย์ Fernet สำหรับความลับที่จัดเก็บ; หากว่าง → จะสร้างคีย์ชั่วคราว (ความลับจะไม่คงอยู่หลังรีสตาร์ท) |
TREG_PUBLIC_URL | https://treg.to | พื้นฐานสาธารณะของ treg ใช้สร้าง URI callback ของ OAuth |
TREG_SESSION_SECRET | (ว่าง) | เซ็นคุกกี้เซสชันแดชบอร์ด; จะใช้ TREG_SECRET_KEY เป็นค่า fallback ตั้งค่าจริงใน prod |
TREG_GITHUB_CLIENT_ID / _SECRET | (ว่าง) | การเข้าสู่ระบบ GitHub OAuth (callback <public_url>/auth/github/callback); หากว่างจะซ่อนปุ่ม |
TREG_GOOGLE_CLIENT_ID / _SECRET | (ว่าง) | การเข้าสู่ระบบ Google OAuth (redirect <public_url>/auth/google/callback); หากว่างจะซ่อนปุ่ม |
TREG_INSTAGRAM_CLIENT_ID / _SECRET | (ว่าง) | Instagram App ID และ secret สำหรับการเข้าสู่ระบบ Instagram โดยตรง (redirect <public_url>/oauth/callback) |
TREG_META_CLIENT_ID / _SECRET | (ว่าง) | ข้อมูลรับรองแอป Meta สำหรับ Facebook Pages, Meta Ads และ Instagram page-tools เพิ่มเติม |
TREG_OAUTH_REVIEW_PENDING | instagram-login,page-messages | คีย์รีวิว registry ที่คั่นด้วยเครื่องหมายจุลภาคซึ่งความสามารถต้องคงถูกจำกัด; สถานะรีวิวที่โฮสต์ได้รับการดูแลเป็นการส่วนตัว |
TREG_RESEND_API_KEY / TREG_EMAIL_FROM | (ว่าง) | อีเมลธุรกรรมผ่าน Resend (รหัส OTP + คำเชิญ); จากต้องเป็นผู้ส่งที่ Resend ยืนยันแล้ว |
TREG_BLOCKED_EMAIL_DOMAINS | (ว่าง) | โดเมนอีเมลที่คั่นด้วยเครื่องหมายจุลภาคซึ่งถูกปฏิเสธที่ทุกจุดลงทะเบียน/เข้าสู่ระบบและที่การสร้างทีม (รวมถึงซับโดเมน, ไม่คำนึงถึงตัวพิมพ์ใหญ่เล็ก) หากว่างจะไม่บล็อกอะไร — ไม่มีรายการใดมาพร้อมโค้ด |
TREG_ADMIN_TOKEN | (ว่าง) | bearer super-admin ข้ามผู้เช่า; อนุญาตทุก endpoint /admin/* หากว่างจะปิดเส้นทาง env (เฉพาะผู้ใช้ is_superadmin เท่านั้นที่เข้าถึง /admin) เก็บให้ยาวและเป็นความลับ |
TREG_EMAIL_DEV_MODE | false | เมื่อเป็น true, /auth/email/start จะส่งคืน OTP ในการตอบสนอง (ไม่ต้องมีผู้ส่งเมล) — เฉพาะ dev/local เท่านั้น, ห้ามใน prod |
TREG_KV_URL | (ว่าง) | ที่เก็บคีย์-ค่าแบบใช้ร่วมกัน (โปรโตคอล Redis) สำหรับตัวนับที่ทุก worker ต้องเห็นตรงกัน วันนี้ใช้สำหรับงบประมาณคำเชิญรีวิวต่อทีม หากว่าง = fallback ในกระบวนการ, ใช้ได้กับ worker เดียว |
ไม่จำเป็นต้องใช้ .env สำหรับการพัฒนาในเครื่อง — ทุกการตั้งค่ามีค่าเริ่มต้นที่ใช้งานได้ (คีย์ชั่วคราว, sqlite)
⚠️ สำรองข้อมูลเหล่านี้ก่อนย้ายหรือปรับใช้ใหม่: คีย์ Fernet (
TREG_SECRET_KEY) และ ฐานข้อมูล (Postgres ใน prod;treg.dbสำหรับการรัน sqlite ในเครื่อง) หากสูญเสียคีย์ Fernet ความลับที่จัดเก็บทั้งหมดจะไม่สามารถกู้คืนได้
สถาปัตยกรรม
ขั้นตอนคำขอสำหรับ /call: แก้ไขเครื่องมือ (โดย URL host + คำนำหน้า base_url ที่ยาวที่สุด, หรือโดยชื่อ) →
ถอดรหัสความลับ → ใช้ injector ของแต่ละ binding → สตรีมไปยัง upstream → บันทึก audit แบบ fire-and-forget
รีเลย์โครงสร้างพื้นฐานสตรีมไบต์โดยไม่มีตรรกะทางธุรกิจ แอปพลิเคชันการเรียกจะบัฟเฟอร์การตอบสนองที่ต้องมีการชำระเงินหรือหลักฐานความเป็นเจ้าของสูงสุด 8 MiB; การตอบสนองที่ใหญ่กว่าจะส่งคืน 502 โดยไม่คิดค่าใช้จ่ายแทนที่จะเป็นความสำเร็จที่ถูกตัดทอน การดาวน์โหลดฟรีขั้นสุดท้ายที่ได้รับอนุญาตซึ่งไม่ต้องการหลักฐานเนื้อหาจะสตรีมเต็มรูปแบบ เช่นเดียวกับการตอบสนองของคีย์ของตนเองและเครื่องมือของตนเอง
แผนผังโมดูล (src/treg/):
| โมดูล | บทบาท |
|---|---|
proxy.py | relay() — ทั้งผลิตภัณฑ์ในฟังก์ชันเดียว: พร็อกซีสตรีมมิ่งที่ซื่อสัตย์ |
injectors.py | รอยต่อรูปร่างการตรวจสอบสิทธิ์: env, cli_auth, secret_file, oauth วางความลับใน header/query |
oauth.py | ความสดของโทเค็น (รีเฟรชแบบ single-flight) + ขั้นตอนการเชื่อมต่อ (URL ยินยอม, การแลกเปลี่ยนโค้ด) |
health.py | สุขภาพของข้อมูลรับรอง: รีเฟรช oauth, ทดสอบเครื่องมือ, webhook เจ้าของสิ่งที่เสียหาย |
convert.py | สร้างโครงสร้างไดเรกทอรีทักษะเป็น manifest บันเดิลที่ลงทะเบียนได้ |
api.py | API — สมองเพียงหนึ่งเดียว; CLI + ทักษะเป็นไคลเอนต์แบบบางเหนือมัน |
cli.py | CLI treg |
models.py | ตาราง SQLModel: Org, User, Membership, Invite, Secret, Tool, Bundle, PendingOAuth, CallRecord |
crypto.py config.py db.py audit.py | การเข้ารหัส Fernet + โทเค็น · การตั้งค่า · async DB · นักเขียน audit แบบเลื่อนเวลา |
รูปร่างการตรวจสอบสิทธิ์ 4 แบบ (ต่อ binding injector): env (สตริงธรรมดา / คีย์ API) · secret_file (ไฟล์โทเค็น JSON, ดึงฟิลด์) · oauth (โทเค็น OAuth JSON, รีเฟรชอัตโนมัติหากรีเฟรชได้) ·
cli_auth (วัสดุที่ดึงจาก keychain ของ CLI)
สัญญารีเลย์ที่ซื่อสัตย์: พร็อกซีเปลี่ยนแปลง เพียง สามสิ่ง ทุกอย่างอื่นคงเดิม:
- header การขนส่งแบบ hop-by-hop (คำนวณใหม่ทุก hop),
- header การควบคุมและ edge-forwarding ของ treg เอง (
x-treg-token,x-treg-org,ngrok-skip-browser-warning,x-forwarded-*,via, …) และคุกกี้เซสชันของ treg — ทั้งหมดถูกตัดออก, ไม่รั่วไหลไปยัง upstream, - ข้อมูลรับรองที่ถูกฉีด
OAuth, สามวิธีในการรับโทเค็นแรก: อัปโหลดด้วยตนเอง (วาง token.json) ·
รีเฟรชอัตโนมัติ (หากโทเค็นมี refresh_token + ข้อมูลรับรองไคลเอนต์, treg จะรักษาความสดให้, คุณไม่ต้อง
อัปโหลดซ้ำ) · ขั้นตอนการเชื่อมต่อที่โฮสต์ (treg oauth connect → ความยินยอมของเบราว์เซอร์ → treg จับ
โทเค็นเอง)
การตรวจสอบสุขภาพ: ให้เครื่องมือมี probe เพิ่มเติม ({method, path, expect_status}); การรันเป็นระยะ
(ตามคำขอหรือผ่าน cron) ตรวจสอบทุกข้อมูลรับรอง, รีเฟรช OAuth, และ webhook เจ้าของสิ่งที่เสียหาย
การออกแบบเชิงลึกอยู่ใน docs/context/ (ส่วนย่อยต่อระบบย่อย)
การทดสอบ
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
ความครอบคลุม: พร็อกซี walking-skeleton, ทุกรูปร่าง injector, การตรวจสอบสิทธิ์ต่อผู้ใช้ + CRUD + audit, skill composer,
URL-passthrough + รีเลย์ที่ซื่อสัตย์, OAuth รีเฟรช + ขั้นตอนการเชื่อมต่อ, การตรวจสอบสุขภาพ, treg run/shell,
อัปโหลด/สแกน, orgs + คำเชิญ, API แดชบอร์ด, CLI
การมีส่วนร่วมและเอกสาร
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
เอกสารการออกแบบต่อระบบย่อยเป็น ส่วนย่อย ใน docs/context/, แต่ละส่วนอ้างอิงแหล่ง src/treg/*
ทำงานใน repo นี้กับเอเจนต์ AI? ทักษะ /tools-registry-context โหลด
ส่วนย่อยที่ถูกต้องสำหรับสิ่งที่คุณกำลังทำและทำให้เอกสารซิงค์ — รัน
/tools-registry-context sync ก่อน push
โรดแมป: การสนับสนุน MCP · ระดับสิทธิ์ที่ละเอียดขึ้น · การเสริมความแข็งแกร่งการจัดการคีย์ที่จัดเก็บ · อาจมีการรวม Loopni
ลิขสิทธิ์
Apache 2.0 พร้อมข้อกำหนดเพิ่มเติม (LICENSE): ใช้ได้อย่างอิสระ — รวมถึงเชิงพาณิชย์,
ภายในองค์กรของคุณเอง (การโฮสต์ registry ของตัวเองได้รับการสนับสนุน) ข้อจำกัด: ห้าม
แจกจ่ายโค้ดให้บุคคลที่สามเป็นบริการ registry ที่แข่งขันแบบโฮสต์/จัดการโดยไม่ได้รับอนุญาตเป็นลายลักษณ์อักษร
(jason@superdesign.dev) การใช้ treg.to API ที่โฮสต์ ภายในผลิตภัณฑ์ของคุณเอง —
ด้วยการเรียกเก็บเงินแบบ pass-through ผ่าน X-Treg-Meta และ usage/by-tag — อนุญาตโดยไม่ต้องขออนุญาต;
นั่นคือการเรียก API ของเรา ไม่ใช่การแจกจ่ายซอฟต์แวร์ของเรา
ขอบเขตการอ่านลูกค้าที่ปักหมุด
สำหรับเอเจนต์ลูกค้าที่ถูกจำกัด, treg org agent-new bot --pin customer=cust_A บังคับใช้การระบุแหล่งที่มา
และจำกัดประวัติการเรียก/รัน, ผลลัพธ์ที่เก็บถาวร และความเป็นเจ้าของ async ของผู้ให้บริการที่ใช้ร่วมกันให้กับหมุดนั้น
id ต่างประเทศหรือไม่ระบุแหล่งที่มาจะส่งคืน 404; ผู้ปฏิบัติงานที่ไม่ได้ปักหมุดจะคงมุมมองระดับ org และ
ยอดคงเหลือที่ใช้ร่วมกัน การเข้าถึงบัญชี BYOK และ URL สื่อสาธารณะคงสิทธิ์ที่มีอยู่ ดู
สัญญาหลายผู้เช่า
สำหรับหมุดหลายอัน, การย้ายและการเล่นซ้ำ