Treg — OpenRouter для инструментов ИИ-агента
📂 Исходный код на GitHubРеестр инструментов для ИИ-агентов в духе OpenRouter: каталог API-эндпоинтов с оплатой за вызов и прокси, который внедряет учётные данные на стороне сервера.
Treg — это «OpenRouter для инструментов агента». OpenRouter даёт агенту одну точку входа к сотням языковых моделей. Treg решает ту же задачу для инструментов: агент обращается к одному базовому URL с одним токеном и получает доступ к каталогу из тысяч API-эндпоинтов разных поставщиков — SEO и обратные ссылки, соцсети и тренды, поиск рабочих email и телефонов, данные о компаниях, реклама, скрейпинг, генерация изображений и видео. Оплата — за вызов, от одного цента, без регистрации у каждого поставщика. Проект создан командой Superdesign. Публичный сервис живёт на treg.to, но каждый может развернуть собственный экземпляр.
Главный принцип: спрашивайте про задачу, а не про инструмент. Вам не нужно знать, какой вендор продаёт данные по обратным ссылкам, и заводить у него аккаунт. Вы ищете по тому, что хотите сделать, смотрите цену и вызываете.
Зачем он нужен
Инструменты, которые нужны агенту для настоящей работы, спрятаны за подписками, которые никто не купит ради одного запуска: Semrush — $139 в месяц, Moz — $99, Crunchbase — $99, Apollo — $59 за место. Часть сервисов требует обязательной регистрации, часть вообще не имеет публичного API — доступ только по приглашению или через партнёрскую программу. Treg держит эти аккаунты у себя и берёт доли цента за каждый вызов.
Два вида инструментов, один токен
- Каталог — внешние эндпоинты, которые treg обслуживает своим ключом или через проверенный публичный маршрут без ключа поставщика. Вызовы через ключ treg списываются с предоплаченного баланса команды; анонимные вызовы бесплатны. Аккаунт у поставщика не нужен. Новые подтверждённые аккаунты получают $1.00 на старт при создании команды.
- Свои инструменты — всё, что зарегистрировал коллега: платный API-аккаунт, OAuth-подключение, CLI вендора или файл
SKILL.md. Ваш ключ всегда сильнее ключа treg, и такие вызовы никогда не списываются с баланса.
Ключевое правило: прокси не создаёт собственных копий чужих API, а просто передаёт запросы поставщику без изменений. Учётные данные внедряются на стороне сервера. Поэтому изменения в API поставщика не ломают прокси, а вызывающий агент никогда не держит ключей.
Быстрый старт
# 1. install the CLI — it also points it at the registry
curl -fsSL https://treg.to/install.sh | sh
# 2. sign in (GitHub by default, --email for a one-time code, --token for agents/CI)
treg login
# 3. do something useful right away — 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
Токен передаётся в заголовке X-Treg-Token и одинаков для всех инструментов. Посмотреть, чем поделилась команда: treg tool ls. Проверить состояние учётных данных: treg health.
Установка плагином для Claude Code
/plugin marketplace add superdesigndev/treg
/plugin install treg@treg
Это ставит скилл treg и его инструменты без токена и без настройки. После установки выполните /mcp, выберите treg и войдите — инструменты появятся после входа. Для других агентов есть npx skills add superdesigndev/treg -s treg. Подробности — в документации плагина.
Treg также отдаёт инструменты по протоколу MCP: https://treg.to/mcp/, а для каталога Claude Connectors — https://treg.to/mcp/v2/. Второй вариант отдаёт только проверенные эндпоинты каталога и разделяет операции чтения и записи, чтобы Claude получал корректные сигналы безопасности. Архитектура MCP и OAuth описана отдельно.
Готовые скиллы
Вместе с treg идут готовые рецепты, которые агент выполняет от начала до конца — каждый вызов идёт через treg:
| Скилл | Что умеет агент |
|---|---|
treg |
Найти и вызвать любой инструмент каталога плюс свои |
web-access |
Читать живой веб, когда собственных веб-инструментов агента не хватает |
lead-signals |
Находить потенциальных покупателей по публичным сигналам и следить за темой или списком аккаунтов |
recruit |
Превратить вакансию с LinkedIn в короткий список кандидатов с доказательствами и проверенными контактами |
make-ugc |
Делать AI UGC-видео: хуки, ведущий, говорящие головы, субтитры |
Каталог скиллов ставится и напрямую через skills.sh: npx skills add superdesigndev/treg --skill lead-signals.
Каталог: спросить про задачу
Каталог сгруппирован по тому, что делают эндпоинты: отслеживание позиций и ключевых слов, обратные ссылки и авторитетность, видимость в AI-поиске, тренды, публикация в соцсетях, данные о людях и компаниях, реклама, измерение результатов.
treg catalog # all platforms, 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"
Как обслуживается вызов из каталога — порядок выбора источника учётных данных:
- у команды зарегистрирован свой инструмент для этого поставщика → используется он и его ключ;
- команда сохранила секрет для поставщика → он внедряется через виртуальный инструмент;
- ничего из этого, но у эндпоинта есть проверенный публичный маршрут → без ключа поставщика, бесплатно;
- иначе → ключ treg, оплата с баланса команды.
Своя учётная запись всегда перекрывает ключ treg: если подключить ключ, за который вы уже платите, такие вызовы не списывают баланс. Если у treg нет опубликованной цены для эндпоинта, вызов отклоняется — вам предложат подключить свой ключ. Когда одну задачу умеют решать несколько поставщиков, treg catalog search показывает их рядом с ценами, а выбор остаётся за вами: treg не переключает поставщиков молча.
Нехватка баланса приходит как HTTP 402 с кодом insufficient_balance и полями balance_micro, estimated_cost_micro, topup_url. Агент понимает такое без чтения текста: сумма пополнения и ссылка на оплату лежат прямо в ответе.
Каждый вызов попадает в журнал: treg calls показывает историю, а treg balance — остаток и текущие расходы.
Свои инструменты: три вида
Самый простой путь — treg scan (сначала показывает, что будет зарегистрировано, ничего не меняя) и treg upload (регистрирует, шифруя всё на сервере). Утилита treg upload сканирует файл .env, сопоставляя ключи примерно с 80 известными поставщиками, папки скиллов и установленные CLI каталога.
Эндпоинты (HTTP API)
treg secret add STRIPE_KEY --value sk_live_123
treg add stripe --base-url https://api.stripe.com --secret STRIPE_KEY
Использование — «агентный» способ: собрать настоящий upstream-запрос и заменить в нём базовый URL на адрес прокси. Treg находит инструмент по хосту, внедряет учётные данные и передаёт всё остальное дословно:
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
CLI
treg run выполняет CLI вендора с учётными данными команды, внедрёнными автоматически, — вы никогда не держите ключ и не логинитесь:
treg run stripe -- get /v1/balance
treg run gh -- pr list
По умолчанию команда выполняется на вашей машине; запуск CLI на сервере отключён глобально. Для целой сессии treg shell start открывает подоболочку, где каждый зарегистрированный CLI внедряется сам — пользуйтесь stripe, gh как обычно.
Скиллы
Скилл — это целая способность: рецепт SKILL.md, его секреты и его инструменты, зарегистрированные вместе. Так вся команда выполняет один и тот же скилл, поддерживаемый в одном месте:
treg upload skills --dir ~/.claude/skills --all # register a folder of skills
treg skill install seo-blog-writer # pulls it into ./.claude/skills/
API-вызовы установленного скилла идут через treg с вашим токеном, поэтому ключ остаётся на сервере и никогда не попадает внутрь скилла.
Команды
Всё принадлежит организации: токен — это членство пользователя в организации, и каждый секрет, инструмент и скилл привязан к активной организации. Роли: owner / admin / member / viewer. Есть приглашения по почте, переключение организаций и выдача доступа к конкретным инструментам каждому участнику. Для корпоративных команд есть SSO через WorkOS.
Как устроен внутри
Стек — Python, FastAPI, SQLModel; SQLite в разработке и Postgres в проде. Запрос к /call проходит путь: найти инструмент по хосту URL или имени → расшифровать его секреты → применить все привязки учётных данных → передать поток байтов в upstream → сохранить запись в журнал аудита.
Контракт «передачи без искажений»: прокси меняет только три вещи — hop-by-hop заголовки транспорта, свои контрольные заголовки (они зачищаются и никогда не утекают upstream) и внедрённые учётные данные. Всё остальное уходит дословно. Поэтому treg не ломается, когда поставщик меняет свой API: прокси ничего про этот API не знает.
Четыре формы авторизации: env (строка или API-ключ), secret_file (JSON-файл токена), oauth (OAuth-токен с автообновлением), cli_auth (данные из keychain CLI). Есть проверки состояния учётных данных: периодический прогон валидирует все учётные записи, обновляет OAuth и отправляет вебхук владельцу сломавшегося подключения. Секреты шифруются Fernet-ключом; потеряете ключ — потеряете все сохранённые секреты, поэтому его нужно бэкапить вместе с базой.
Лицензия и self-hosting
Лицензия — Apache 2.0 с дополнительными условиями. Используйте свободно, в том числе коммерчески и внутри своей организации; развернуть свой реестр прямо поощряется. Ограничение одно: нельзя перераспространять код третьим лицам как конкурирующий облачный сервис реестра без письменного разрешения. Для самостоятельного запуска достаточно uv sync и python -m treg — все настройки имеют рабочие значения по умолчанию. Полная справка по CLI — в USAGE.md, сообщество — в Discord.
Источник: https://github.com/superdesigndev/treg