mcpField
T
treg.to

treg.to

已认证精选远程服务
treg.toAI 与智能体6.4k1 天前更新

关于 treg.to

treg.to 是面向 Agent 的远程 MCP 服务,将外部 API 目录和团队注册的工具集中到同一入口。Agent 可搜索并按次调用工具,服务端注入凭据并转发请求。

主要功能

  1. 01搜索并调用 API 目录工具
  2. 02通过统一令牌调用工具
  3. 03服务端注入凭据并转发请求
  4. 04注册团队 API、CLI 和技能
  5. 05按次计费的目录调用

适用场景

  1. 01让 Agent 查询并使用外部 API
  2. 02通过团队凭据共享工具和 CLI
  3. 03为工作流调用网页、数据或生成服务

MCP 相关

提供远程 MCP 端点,供 MCP 客户端调用目录端点、团队工具及导入的技能;Claude.ai 连接器端点提供精选目录端点。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://treg.to/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://treg.to/mcp需要授权

工具

详细介绍

Treg(面向工具的 OpenRouter)

treg — 面向 Agent 的工具目录

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"

目录中调用的服务方式——按顺序逐级检查凭据:

  1. 你的团队为该提供商注册了自己的工具 → 使用该工具及其密钥;
  2. 你的团队为该提供商存储了密钥 → 通过虚拟工具注入;
  3. 两者都没有,且该端点有经过验证的公开路由 → 无需提供商密钥,免费;
  4. 否则 → 使用 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 — 完整的 treg CLI 参考。

  • /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_URLsqlite+aiosqlite:///./treg.db数据库 URL(开发环境使用 SQLite,生产环境使用 Postgres)
TREG_READ_DATABASE_URL(空)可选的 SQLite / PostgreSQL 读取数据源;留空时复用主数据源。需要调用方主动启用;现有查询不变。参见读取数据源设置。
TREG_SECRET_KEY(空)用于静态加密机密信息的 Fernet 密钥;留空时会生成临时密钥(重启后机密信息将无法保留)
TREG_PUBLIC_URLhttps://treg.totreg 的公开基础 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_ONLYtrue默认仅显示 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_USD0每种 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_PENDINGinstagram-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_HOPS1未设置上述标头时,使用从右侧数起第这么多跳的 X-Forwarded-For 条目(即最近的代理追加的条目);客户端直接连接时设为 0。第一个条目由客户端写入,绝不可信
TREG_REQUIRED_EXTENSIONS(空)逗号分隔的策略扩展(treg.extensions 入口点),必须安装,否则启动失败。treg.to 通过这种方式运行私有滥用防护策略扩展;它只能施加限制(策略扩展)
TREG_TURNSTILE_SITE_KEY / _SECRET(空)在每个电子邮件登录表单上启用 Cloudflare Turnstile;任一项留空即为关闭。站点密钥会通过 /captcha.js 提供,密钥仅发送到 siteverify
TREG_TURNSTILE_MODEobserveobserve 会记录每次结果,不做任何更改;enforce 会拒绝向缺少或无效令牌的请求发送验证码,并且在 Cloudflare 无法响应时不提供注册额度
TREG_TURNSTILE_HOSTNAMES(空)逗号分隔的主机名;令牌必须在这些主机名上完成验证。留空时使用 TREG_PUBLIC_URL 的主机名(及其已知别名)
TREG_ADMIN_TOKEN(空)跨租户的 超级管理员 Bearer 令牌;可授权访问每个 /admin/* 端点。留空会禁用环境变量授权方式(只有 is_superadmin 用户可以访问 /admin)。请设置较长且保密的值。
TREG_EMAIL_DEV_MODEfalse设为 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.pyrelay() — 整个产品都浓缩在这一个函数中:忠实的流式代理
injectors.py认证形式的分界层:env、cli_auth、secret_file、oauth 将密钥放入标头或查询参数中
oauth.py令牌有效性(单航班刷新)+ 连接流程(授权 URL、代码交换)
health.py凭据健康状态:刷新 OAuth、探测工具、向任何发生故障的工具所有者发送 Webhook
convert.py将技能目录脚手架转换为可注册的捆绑包清单
api.pyAPI——唯一的核心;CLI 和技能都是其上的轻量客户端
cli.pytreg CLI
models.pySQLModel 表:Org、User、Membership、Invite、Secret、Tool、Bundle、PendingOAuth、CallRecord
crypto.py config.py db.py audit.pyFernet 加密 + 令牌 · 设置 · 异步数据库 · 延迟审计写入器

4 种认证形式(按绑定的 injector):env(普通字符串 / API 密钥)· secret_file(JSON 令牌文件,提取其中的字段)· oauth(JSON OAuth 令牌,如果支持刷新则自动刷新)· cli_auth(从 CLI 的密钥链中提取凭据)。

忠实中继约定:代理只会修改三类内容,其余内容均原样转发:

  1. 逐跳传输标头(逐跳重新生成);
  2. treg 自身的控制与边缘转发标头(x-treg-token、x-treg-org、ngrok-skip-browser-warning、x-forwarded-*、via 等)以及 treg 的会话 Cookie——全部剥离,绝不泄漏到上游;
  3. 注入的凭据。

**获取首个令牌的 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 保留现有权限。有关多个固定范围、迁移和重放行为,请参阅 多租户约定。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。