treg

ทางการ

เซิร์ฟเวอร์ MCP หนึ่งตัวและคีย์หนึ่งชุดสำหรับ API แบบจ่ายต่อการเรียกใช้มากกว่า 3,700 รายการ: SEO และแบ็กลิงก์ การเพิ่มข้อมูลบุคคลและบริษัท โซเชียล โฆษณา การสแครป การสร้างภาพและวิดีโอ ใช้งานระยะไกลที่ https://treg.to/mcp/v2/ (OAuth) หรือโฮสต์เอง

GitHub
3.8k
ลองใช้ MCP นี้ผู้สนับสนุน

คุณทำอะไรได้บ้างด้วย 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 สำหรับเครื่องมือ)

treg — the tool catalog for your agent

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 และ header developer-token)
    • CLI — ไบนารีของผู้ขาย (stripe, gh, vercel, ...) รันด้วยการฉีด credential
  • 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 ตามลำดับ:

  1. ทีมของคุณลงทะเบียนเครื่องมือของตัวเองสำหรับผู้ให้บริการนั้น → เครื่องมือนั้น, คีย์นั้น;
  2. ทีมของคุณเก็บ secret สำหรับผู้ให้บริการ → ฉีดผ่านเครื่องมือเสมือน;
  3. ไม่มีทั้งสอง และ endpoint มีเส้นทางสาธารณะที่ตรวจสอบแล้ว → ไม่ต้องใช้คีย์ผู้ให้บริการ, ฟรี;
  4. มิฉะนั้น → คีย์ของ 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 — เอกสารอ้างอิง CLI treg เต็มรูปแบบ

  • /llms.txt — ไฟล์ onboarding เอเจนต์: โปรโตคอลการเรียก การค้นพบ, auth, CLI, ทักษะ การ fetch ครั้งเดียวสอนเอเจนต์ทั้ง registry

  • แดชบอร์ด ที่ treg.to — CRUD เต็มรูปแบบ, บทช่วยสอนแบบมีไกด์ (Help → Tutorial) และคำแนะนำการตั้งค่าที่คัดลอกได้สำหรับเอเจนต์ของคุณ

  • API — ทุกอย่างที่ CLI ทำคือ HTTP ธรรมดา; เอกสาร OpenAPI แบบโต้ตอบอยู่ที่ /docs endpoint proxy คือ /call/{...}; ทุก endpoint รับ header X-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_URLsqlite+aiosqlite:///./treg.dbURL ฐานข้อมูล (SQLite สำหรับ dev, Postgres ใน prod)
TREG_READ_DATABASE_URL(ว่าง)แหล่งข้อมูลอ่าน SQLite / PostgreSQL เพิ่มเติม; หากว่างจะใช้แหล่งข้อมูลหลักซ้ำ ต้องให้ผู้เรียกใช้งานเลือกใช้; คิวรีที่มีอยู่ไม่มีการเปลี่ยนแปลง ดู การตั้งค่าแหล่งข้อมูลอ่าน
TREG_SECRET_KEY(ว่าง)คีย์ Fernet สำหรับความลับที่จัดเก็บ; หากว่าง → จะสร้างคีย์ชั่วคราว (ความลับจะไม่คงอยู่หลังรีสตาร์ท)
TREG_PUBLIC_URLhttps://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_PENDINGinstagram-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_MODEfalseเมื่อเป็น 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.pyrelay() — ทั้งผลิตภัณฑ์ในฟังก์ชันเดียว: พร็อกซีสตรีมมิ่งที่ซื่อสัตย์
injectors.pyรอยต่อรูปร่างการตรวจสอบสิทธิ์: env, cli_auth, secret_file, oauth วางความลับใน header/query
oauth.pyความสดของโทเค็น (รีเฟรชแบบ single-flight) + ขั้นตอนการเชื่อมต่อ (URL ยินยอม, การแลกเปลี่ยนโค้ด)
health.pyสุขภาพของข้อมูลรับรอง: รีเฟรช oauth, ทดสอบเครื่องมือ, webhook เจ้าของสิ่งที่เสียหาย
convert.pyสร้างโครงสร้างไดเรกทอรีทักษะเป็น manifest บันเดิลที่ลงทะเบียนได้
api.pyAPI — สมองเพียงหนึ่งเดียว; CLI + ทักษะเป็นไคลเอนต์แบบบางเหนือมัน
cli.pyCLI 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)

สัญญารีเลย์ที่ซื่อสัตย์: พร็อกซีเปลี่ยนแปลง เพียง สามสิ่ง ทุกอย่างอื่นคงเดิม:

  1. header การขนส่งแบบ hop-by-hop (คำนวณใหม่ทุก hop),
  2. header การควบคุมและ edge-forwarding ของ treg เอง (x-treg-token, x-treg-org, ngrok-skip-browser-warning, x-forwarded-*, via, …) และคุกกี้เซสชันของ treg — ทั้งหมดถูกตัดออก, ไม่รั่วไหลไปยัง upstream,
  3. ข้อมูลรับรองที่ถูกฉีด

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 สื่อสาธารณะคงสิทธิ์ที่มีอยู่ ดู สัญญาหลายผู้เช่า สำหรับหมุดหลายอัน, การย้ายและการเล่นซ้ำ