关于 treg.to
treg.to 是面向 Agent 的远程 MCP 服务,将外部 API 目录和团队注册的工具集中到同一入口。Agent 可搜索并按次调用工具,服务端注入凭据并转发请求。
主要功能
- 01搜索并调用 API 目录工具
- 02通过统一令牌调用工具
- 03服务端注入凭据并转发请求
- 04注册团队 API、CLI 和技能
- 05按次计费的目录调用
适用场景
- 01让 Agent 查询并使用外部 API
- 02通过团队凭据共享工具和 CLI
- 03为工作流调用网页、数据或生成服务
MCP 相关
提供远程 MCP 端点,供 MCP 客户端调用目录端点、团队工具及导入的技能;Claude.ai 连接器端点提供精选目录端点。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://treg.to/mcpclaude mcp add --transport http treg-to https://treg.to/mcp{"mcpServers":{"treg-to":{"type":"http","url":"https://treg.to/mcp"}}}在 Cursor 中打开{"servers":{"treg-to":{"type":"http","url":"https://treg.to/mcp"}}}在 VS Code 中打开{"mcpServers":{"treg-to":{"type":"http","url":"https://treg.to/mcp"}}}{"mcpServers":{"treg-to":{"serverUrl":"https://treg.to/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://treg.to/mcp需要授权工具
详细介绍
Treg(面向工具的 OpenRouter)

OpenRouter,但服务对象是 Agent 工具,而不是模型。 让 Agent 连接到一个基础 URL,使用一个令牌 即可完成工作:来自众多服务商的数千个精选端点目录——SEO 和反向链接、 社交和趋势、人员与公司信息补充、广告、抓取、图像和视频生成—— 按次计费,低至一美分, 无需注册服务商账号。此外,还可使用团队自己的密钥、技能和 CLI,供每位队友的 Agent 调用,凭据始终留在服务器上。
按任务搜索,而不是按工具搜索。 你无需知道哪家供应商提供反向链接数据,也无需 在他们那里持有账号。搜索你想做的事,查看价格,然后调用。
为 Superdesign 团队打造,现已上线 treg.to——任何人都可以自行托管。
它为何存在
Agent 执行实际工作所需的工具往往需要订阅,而没人会为了单次运行购买这些订阅—— Semrush $139/mo、Moz $99/mo、Crunchbase $99/mo、Apollo $59/seat——有些被注册门槛挡住,或者根本没有 公开 API(仅限邀请、仅限合作伙伴、仅限通过应用审核)。treg 持有这些账号, 并按次收取几分之一美分的费用。
两类工具,一个令牌
- 目录——treg 可通过自己的密钥,或无需服务商密钥的已验证公开路由来提供的外部端点。 使用自有密钥的调用会从团队预充值余额中扣款;匿名调用免费。无需持有服务商账号。 新验证账号在创建符合条件的团队时,可获得一次 $1.00 的免费额度。
- 你自己的工具——队友注册的任何内容:付费 API 账号、OAuth 连接、
服务商 CLI、
SKILL.md。你自己的密钥始终优先于 treg 的密钥,且这些调用永不计量。
第二部分的术语:
- 工具 = 注册表使用组织凭据代你调用的内容。分为两类:
- 端点——上游
base_url+ 凭据绑定(每个绑定都会将一个密钥注入请求;一个请求可以携带多个凭据,例如 OAuth bearer 和developer-token标头)。 - CLI——使用注入的凭据运行的服务商二进制文件(
stripe、gh、vercel等)。
- 端点——上游
- 技能 / 捆绑包 = 配方(
SKILL.md)+ 其密钥 + 其工具,一起注册。
唯一规则:代理只转发上游请求,不对其建模,并且在服务器端注入身份验证信息 ——因此,即使上游 API 发生变化,代理也能继续工作,调用方始终无需持有密钥。
第 1 部分 · 使用注册表
访问 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 语音、公开语音发现和私有语音克隆。
语音数据通过标准输出以二进制形式输出,因此请将其重定向到文件。已发现语音的 _id 或团队语音 ID
可作为 TTS 的 reference_id;在 treg 的 Fish 账号上创建的语音是持久的团队资源:
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 的工具会拒绝未声明或重复的查询参数、不支持的值和请求体。
每次调用都会通过你的令牌识别你的身份(X-Treg-Token 标头),所有工具共用同一个令牌。
查看团队分享的内容:treg tool ls · 检查凭据状态:treg health
或将其安装为 Claude Code 插件
/plugin marketplace add superdesigndev/treg
/plugin install treg@treg
无需令牌或配置即可安装。该技能会以 treg:treg 的名称加载,并在首次运行时引导你的 Agent 完成后续步骤——安装 CLI、登录,然后运行 treg mcp install——最终同时获得命令行和 treg 的工具。其他 Agent:npx skills add superdesigndev/treg -s treg(或参阅工作流技能了解其他技能)。
参阅 docs/CLAUDE-PLUGIN.md。MiniMax Code / MiniMax Agent 用户:同一技能也可通过 MiniMax Plugin Marketplace 安装(docs/MINIMAX-PLUGIN.md)。
工作流技能
现成的配方,由你的 Agent 通过 treg 全程运行,每一步调用都经由 treg:
| 技能 | Agent 可以做什么 |
|---|---|
treg | 查找并调用目录中的任意工具,以及你自己的工具 |
web-access | 无需本地爬虫即可读取实时网页:先免费搜索和读取页面,再针对社交平台、商店、评论、地图和论文调用合适的平台任务;如果某个供应商失败,treg 会切换到下一个供应商 |
lead-signals | 根据公开信号(投诉、工作变动、招聘、融资、工具采用情况)查找有购买意向的买家,并持续监测相关主题、竞争对手或账户列表(treg.to/leads-signals) |
recruit | 将 LinkedIn 招聘帖转化为排名候选名单:根据帖子提取筛选标准、搜索人员、按理由筛选、用一句话说明每位候选人的匹配原因;在每位候选人的费用上限内,提供带引用的证据(帖子、GitHub、演讲、任职时间、工作变动),随后核验个人邮箱和电话号码,并生成记录候选人数量、证据及供应商调用轨迹的运行文件 |
make-ugc | 制作 AI UGC 视频:热门开场、主持人、口播片段、字幕(treg.to/ugc) |
jev-memory | 为 Claude Code 添加记忆:一种 Claude Code 修改模块,由 Jev 在每轮对话结束后评估每条提示词,并保留长期偏好;可直接安装,也可通过一条提示词构建(该修改模块) |
install.sh 会为你安装所有技能,但 jev-memory 除外;该技能需选择安装。若要将技能添加到现有 Agent 中
(使用 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
工作流技能运行于 treg,因此请先完成设置(使用上文的快速入门,或让你的 Agent 访问 treg.to/llms.txt)。
Claude.ai 连接器
Claude Connectors Directory 的接口地址为 https://treg.to/mcp/v2/。它仅提供精选目录端点,不支持图像、视频或音频生成,并将读取调用与写入调用分开,以便 Claude 获得准确的安全信号。现有的 /mcp/ 接口仍可用于目录端点、团队自有工具和导入的技能。有关边界和实现方式,请参阅 MCP 和 OAuth 架构;有关发布门槛,请参阅提交操作手册。
调用你没有密钥的工具
目录按端点的用途分组:关键词和排名跟踪、反向链接和权威度、AI 曝光度、趋势和发现、社交媒体发布、人员和公司信息补全、广告管理和创意、效果衡量。
treg catalog # every platform, busiest first
treg catalog search "find a work email" # by the job, not the vendor
treg catalog search --new # tools added in the last 30 days, newest first
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"
目录中调用的服务方式——按顺序逐级检查凭据:
- 你的团队为该提供商注册了自己的工具 → 使用该工具及其密钥;
- 你的团队为该提供商存储了密钥 → 通过虚拟工具注入;
- 两者都没有,且该端点有经过验证的公开路由 → 无需提供商密钥,免费;
- 否则 → 使用 treg 自己的密钥,从团队预充值余额中扣费。
匿名价格假定调用方未发送提供商凭据标头。忠实中继会保留调用方标头,因此调用方提供的提供商密钥可以使用该密钥的额度。你自己的凭据始终优先于 treg 的凭据,因此,连接你已经付费使用的密钥后,这些调用就不会占用余额,也不会重复付费。如果 treg 没有公布某个端点的价格,则会拒绝调用,而不是免费提供——系统会告知你改为连接自己的密钥。如果多个提供商都支持同一项功能,treg catalog search 会并排列出它们及其价格;由你来选择——treg 不会擅自替你选择提供商,也不会在提供商之间自动故障转移。(当 treg 的某个提供商账户额度用尽时,treg 可能会通过其自有中继账户提供相同端点的服务,并在响应中披露这一点;团队可以选择退出。)你可以选择使用例外情况:由 treg 为你选择并注明提供商的 treg.<capability> 路由端点。对于常见任务(抓取网页、网页搜索、Google 结果、查找电子邮箱),请从 treg.web.extract 或 treg.web.search 这类路由端点开始,而不要选择你记得名称的某个提供商。对于 treg.people.email.find 和 treg.people.phone.find,X-Treg-Route-Verify: true 还会在同一次调用中检查找到的地址或号码,并单独收费,同时告知检查结果。
treg balance # credit left, calls in flight, recent spend
treg topup # add funds, or set up automatic top-ups
余额不足时会返回 HTTP 402 error: insufficient_balance,其中包含 balance_micro、estimated_cost_micro 和 topup_url,因此 Agent 无需阅读文字说明也能据此采取行动。
Enrich Arena 位于 /enrich-arena,不属于控制面板。你可以对比各供应商的补全结果、成本和速度,一键投票选出最佳结果,或查看按顺序执行的瀑布流。支持异步调用且功能兼容的提供商也可以参与;Arena 会在内部处理提交和轮询。浏览无需登录;提交需要登录,收费调用会使用团队额度。请参阅 Arena 指南。
Web Arena 在 /web-arena 对比 Web Search、Web Fetch 和 Sitemap 提供商。Battle 会调用所选提供商处理相同输入;Waterfall 会按顺序尝试这些提供商。实时排行榜会汇总直接调用提供商的命中率和响应时间,以及滚动 30 天内经检查的 Web Arena 质量结果。启用该功能后即可访问相关页面。请参阅
Web 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。注册表中有三类内容——下面介绍如何分别分享和使用:
1. 端点(HTTP API)
分享——添加一个可使用已存储密钥调用的上游 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
使用——面向 Agent 的原生方式:构建发送给上游的真实请求,并在请求前添加代理前缀。treg 会根据主机解析工具、注入凭据,并忠实中继所有其他内容(上游看不到你的 X-Treg-Token,因为它会被移除):
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. 命令行工具
分享 — 自动完成:treg upload 会检测已安装的目录命令行工具(stripe、gh、vercel……)
并注册它们;仅包含操作指南的目录命令行工具技能(例如 stripe-cli)也会自动变为可运行状态。
使用 — treg run 会执行供应商的命令行工具,并注入组织的凭据,因此你无需持有密钥或登录:
treg run stripe -- get /v1/balance
treg run gh -- pr list
--local(默认)会在你的计算机上运行。全局禁用了服务端命令行工具执行(--server)。
如需在整个会话中使用,运行 treg shell start 会打开一个子 shell,所有已注册的命令行工具都会自动注入——只需像平常一样使用 stripe、gh……;运行 exit 即可恢复。treg runs 会显示审计日志。
3. 技能
分享 — 技能是一项完整的能力(SKILL.md 操作指南及其密钥和工具),
统一注册,让整个团队使用相同的技能,并集中维护:
treg upload skills --dir ~/.claude/skills --all # register a folder of skills in one pass
使用 — 将任意共享技能拉取到你的 Agent 中;它的 API 调用会通过 treg 使用你的令牌, 因此密钥会保留在服务端,不会出现在技能中:
treg skill install seo-blog-writer # writes into ./.claude/skills/ (--all for the library)
手动注册 — 当启发式方法无法识别工具时
# 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。
使用 treg.to 时,CLI 会向 PostHog 发送匿名命令使用情况(不含参数或凭据)。
设置 TREG_TELEMETRY=0 或 DO_NOT_TRACK=1 即可停用。
参见分析详情。
团队
一个账户最多可拥有 10 个团队。加入其他团队成为成员不计入此上限。
所有内容都限定在一个组织中:一个令牌对应一个 (user, org) 成员关系,每个密钥、工具
和技能都属于当前活跃组织。角色:所有者 / 管理员 / 成员 / 查看者。
treg org create "Acme" # make a team, become owner
treg org invite [email protected] # invite by email (pick role + tool access)
treg org join <code> --email [email protected] # 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+)
团队所有者可以在控制面板的 Team → SSO 选项卡中启用企业 SSO。WorkOS 会连接公司的 身份提供商;所有者可以邀请 IT 管理员完成设置。员工可以在任意登录对话框中输入工作邮箱,或使用团队的专属登录链接。treg 会保留团队角色和 API 密钥。Directory Sync 计划会移除已停用员工的团队访问权限。参见 企业 SSO 设置。
深入了解
-
反馈:
treg feedback submit friction "The pagination example is unclear."分享问题或建议时,请勿包含私人信息。参见反馈说明。 -
评价:
treg review CALL_ID useful使用受邀目录调用的结果后对其评分;选择not_sure也可以。请勿包含私人数据,并继续执行任务。 -
USAGE.md— 完整的tregCLI 参考。 -
/llms.txt:Agent 入口,采用 llms.txt 格式:介绍 treg、各类 Agent 的设置方法、搜索—读取—调用循环及相关规则,并附有指向/skill.md(其他事项的操作指南)的链接。 -
控制面板位于 treg.to — 提供完整的增删改查功能、引导式 教程(Help → Tutorial),以及可复制的 Agent 设置说明。
-
API — CLI 的所有操作都通过普通 HTTP 实现;交互式 OpenAPI 文档位于
/docs。 代理端点为/call/{...};所有端点都需要X-Treg-Token请求头。
第 2 部分 · 自托管与开发
在本地运行
一条命令(需要 tmux + uv,会自动同步虚拟环境):
scripts/dev-local.sh up # server on http://localhost:18790, dev-safe settings
该命令会在 tmux 中以热重载模式运行服务,使用独立的 sqlite 数据库(treg-dev.db),并启用电子邮件 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。要运行注册表,请安装服务器扩展包 —
pip install "tools-registry[server]"— 该扩展包会添加 FastAPI、数据库驱动程序和加密功能。单独运行pip install tools-registry只会安装用于连接现有注册表的treg命令。
官方托管服务可在 treg.to 使用。其生产拓扑和实时设置维护在私有的运维手册中。
配置
环境变量(前缀为 TREG_,从 .env 读取):
| 变量 | 默认值 | 用途 |
|---|---|---|
TREG_DATABASE_URL | sqlite+aiosqlite:///./treg.db | 数据库 URL(开发环境使用 SQLite,生产环境使用 Postgres) |
TREG_READ_DATABASE_URL | (空) | 可选的 SQLite / PostgreSQL 读取数据源;留空时复用主数据源。需要调用方主动启用;现有查询不变。参见读取数据源设置。 |
TREG_SECRET_KEY | (空) | 用于静态加密机密信息的 Fernet 密钥;留空时会生成临时密钥(重启后机密信息将无法保留) |
TREG_PUBLIC_URL | https://treg.to | treg 的公开基础 URL,用于构建 OAuth 回调 URI |
TREG_SESSION_SECRET | (空) | 用于签署仪表板会话 Cookie;未设置时回退到 TREG_SECRET_KEY。生产环境请设置实际值 |
TREG_GITHUB_CLIENT_ID / _SECRET | (空) | GitHub OAuth 登录(回调 <public_url>/auth/github/callback);留空时隐藏按钮 |
TREG_GOOGLE_CLIENT_ID / _SECRET | (空) | Google OAuth 登录(重定向到 <public_url>/auth/google/callback);留空时隐藏按钮 |
TREG_WORKOS_API_KEY / _CLIENT_ID / _WEBHOOK_SECRET | (空) | WorkOS 企业 SSO;按企业 SSO 设置中的说明配置回调和已签名的目录 Webhook |
TREG_ENTERPRISE_SSO_BUNDLE_ONLY | true | 默认仅显示 SSO + Directory Sync 套餐;设为 false 可提供两种月度套餐。 |
TREG_ENTERPRISE_SSO_BUNDLE_PRICE_ID / TREG_ENTERPRISE_SSO_ONLY_PRICE_ID | (空) | 与 TREG_STRIPE_SECRET_KEY 属于同一账户的可复用 Stripe 月度 Price ID;未设置或不可用的 Price 会隐藏对应套餐。Stripe 的 Price 会提供显示金额和 Checkout 扣款金额。 |
TREG_ENTERPRISE_SSO_BUNDLE_MIN_PRICE_USD / TREG_ENTERPRISE_SSO_ONLY_MIN_PRICE_USD | 0 | 每种 Stripe 月度 Price 可选的整美元最低价格;低于此价格的套餐会被隐藏,并在 Checkout 时拒绝。 |
TREG_INSTAGRAM_CLIENT_ID / _SECRET | (空) | 用于直接 Instagram Login 的 Instagram App ID 和密钥(重定向到 <public_url>/oauth/callback) |
TREG_META_CLIENT_ID / _SECRET | (空) | 用于 Facebook Pages、Meta Ads 以及可选 Instagram page-tools 的 Meta 应用凭据 |
TREG_OAUTH_REVIEW_PENDING | instagram-login,page-messages | 逗号分隔的注册表审核键,其功能必须保持受限;托管审核状态由内部维护。 |
TREG_RESEND_API_KEY / TREG_EMAIL_FROM | (空) | 通过 Resend 发送事务性电子邮件(OTP 验证码 + 邀请);From 必须是经 Resend 验证的发件人 |
TREG_BLOCKED_EMAIL_DOMAINS | (空) | 逗号分隔的电子邮件域名;所有注册、登录入口和团队创建均会拒绝这些域名(包含子域名,不区分大小写)。留空表示不屏蔽任何域名——代码中不附带任何列表 |
TREG_CLIENT_IP_HEADER | (空) | 仅你的边缘节点可以设置的标头,用作所有单 IP 限制的客户端地址(Cloudflare 后方使用 cf-connecting-ip) |
TREG_TRUSTED_PROXY_HOPS | 1 | 未设置上述标头时,使用从右侧数起第这么多跳的 X-Forwarded-For 条目(即最近的代理追加的条目);客户端直接连接时设为 0。第一个条目由客户端写入,绝不可信 |
TREG_REQUIRED_EXTENSIONS | (空) | 逗号分隔的策略扩展(treg.extensions 入口点),必须安装,否则启动失败。treg.to 通过这种方式运行私有滥用防护策略扩展;它只能施加限制(策略扩展) |
TREG_TURNSTILE_SITE_KEY / _SECRET | (空) | 在每个电子邮件登录表单上启用 Cloudflare Turnstile;任一项留空即为关闭。站点密钥会通过 /captcha.js 提供,密钥仅发送到 siteverify |
TREG_TURNSTILE_MODE | observe | observe 会记录每次结果,不做任何更改;enforce 会拒绝向缺少或无效令牌的请求发送验证码,并且在 Cloudflare 无法响应时不提供注册额度 |
TREG_TURNSTILE_HOSTNAMES | (空) | 逗号分隔的主机名;令牌必须在这些主机名上完成验证。留空时使用 TREG_PUBLIC_URL 的主机名(及其已知别名) |
TREG_ADMIN_TOKEN | (空) | 跨租户的 超级管理员 Bearer 令牌;可授权访问每个 /admin/* 端点。留空会禁用环境变量授权方式(只有 is_superadmin 用户可以访问 /admin)。请设置较长且保密的值。 |
TREG_EMAIL_DEV_MODE | false | 设为 true 时,/auth/email/start 会在响应中返回 OTP(无需邮件发送器)——仅限开发/本地环境,绝不可用于生产环境。 |
TREG_KV_URL | (空) | 供所有工作进程共享、必须保持一致的键值存储(Redis 协议),目前用于每个团队的审核邀请额度。留空时回退到进程内存储,仅适用于单个工作进程 |
本地开发无需 .env——每项设置都有可用的默认值(临时密钥、sqlite)。 |
⚠️ 移动或重新部署前,请先备份这些内容: Fernet 密钥(
TREG_SECRET_KEY)和 数据库(生产环境使用 Postgres;本地 sqlite 运行时使用treg.db)。如果丢失 Fernet 密钥,所有 已存储的密钥都将无法恢复。
架构
**/call 的请求流程:**解析工具(根据 URL 主机名 + 最长 base_url 前缀,或根据名称) →
解密其密钥 → 应用各绑定的注入器 → 将请求流式转发到上游 → 发出即发即弃的审计记录。基础设施中继会流式传输字节,不包含业务逻辑。调用应用会将需要结算或所有权证明的响应缓冲至 8 MiB;更大的响应会返回 502,且不收费,而不是返回被截断的成功响应。内联媒体的端点(Gemini 图像)会声明 spooled_response:系统会改为将其计量答复读入临时文件,根据报告的用量进行结算,并完整转发。无需正文证明且已获授权的免费最终下载会完整流式传输,自有密钥和自有工具的响应也一样。
模块映射(src/treg/):
| 模块 | 作用 |
|---|---|
proxy.py | relay() — 整个产品都浓缩在这一个函数中:忠实的流式代理 |
injectors.py | 认证形式的分界层:env、cli_auth、secret_file、oauth 将密钥放入标头或查询参数中 |
oauth.py | 令牌有效性(单航班刷新)+ 连接流程(授权 URL、代码交换) |
health.py | 凭据健康状态:刷新 OAuth、探测工具、向任何发生故障的工具所有者发送 Webhook |
convert.py | 将技能目录脚手架转换为可注册的捆绑包清单 |
api.py | API——唯一的核心;CLI 和技能都是其上的轻量客户端 |
cli.py | treg CLI |
models.py | SQLModel 表:Org、User、Membership、Invite、Secret、Tool、Bundle、PendingOAuth、CallRecord |
crypto.py config.py db.py audit.py | Fernet 加密 + 令牌 · 设置 · 异步数据库 · 延迟审计写入器 |
4 种认证形式(按绑定的 injector):env(普通字符串 / API 密钥)· secret_file(JSON 令牌文件,提取其中的字段)· oauth(JSON OAuth 令牌,如果支持刷新则自动刷新)· cli_auth(从 CLI 的密钥链中提取凭据)。
忠实中继约定:代理只会修改三类内容,其余内容均原样转发:
- 逐跳传输标头(逐跳重新生成);
- treg 自身的控制与边缘转发标头(
x-treg-token、x-treg-org、ngrok-skip-browser-warning、x-forwarded-*、via等)以及 treg 的会话 Cookie——全部剥离,绝不泄漏到上游; - 注入的凭据。
**获取首个令牌的 3 种 OAuth 方式:**手动上传(放入一个 token.json)· 自动刷新(如果令牌包含 refresh_token + 客户端凭据,treg 会持续刷新,无需重新上传)· 托管式连接流程(treg oauth connect → 浏览器授权 → treg 自行捕获令牌)。
**健康检查:**为工具设置可选探测({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
覆盖范围:代理骨架、所有注入器形态、按用户鉴权 + CRUD + 审计、技能组合器、
URL 直通 + 忠实转发、OAuth 刷新 + 连接流程、健康检查、treg run/shell、
上传/扫描、组织 + 邀请、仪表板 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/*
源文件。正在使用 AI Agent 开发此仓库?/tools-registry-context 技能会加载与你正在处理的内容
相对应的片段,并保持文档同步——推送前运行
/tools-registry-context sync。
路线图: 支持 MCP · 更细粒度的权限层级 · 加强静态密钥管理 · 可能与 Loopni 合并。
许可证
Apache 2.0 附加条款(LICENSE):可自由使用,包括商业用途,也可在自己的组织内部使用(鼓励自托管自己的注册表)。限制条件:未经书面许可([email protected]),不得将代码重新分发给第三方,作为有竞争关系的托管/管理式注册表服务。在自己的产品中使用托管的 treg.to API——通过 X-Treg-Meta 和 usage/by-tag 进行透传计费——无需许可;这是在调用我们的 API,而非重新分发我们的软件。
固定的客户读取范围
对于受限客户 Agent,treg org agent-new bot --pin customer=cust_A 会强制执行归属标记,并将调用/运行历史、归档结果和共享提供商的异步所有权限制在该固定范围内。外部或未标记归属的 ID 会返回 404;未固定范围的操作员仍可查看整个组织范围,并使用共享余额。BYOK 账户访问和公开媒体 URL 保留现有权限。有关多个固定范围、迁移和重放行为,请参阅
多租户约定。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。