superdesigndev/treg — OpenRouter for agent tools. Join community here: https://discord.gg/6mQYYfFMAn
에이전트 도구를 위한 OpenRouter: Treg
Treg는 여러 공급자의 API, CLI, OAuth 연결, 에이전트 스킬을 하나의 레지스트리와 프록시로 묶습니다. 에이전트는 공급자별 계정이나 키를 직접 관리하지 않고 작업 중심으로 도구를 검색하고 호출합니다.
- 주제
AI 요약
Treg는 LLM 모델을 라우팅하는 OpenRouter와 달리, 에이전트가 사용할 외부 도구를 연결하고 중계하는 서비스입니다. 프로젝트 설명에 따르면 60개 이상 공급자의 3,000개 이상 엔드포인트를 카탈로그로 제공하며, SEO와 backlink, 소셜 데이터, 기업·인물 정보, 광고, scraping, 이미지·영상 생성 같은 기능을 호출당 과금합니다. Semrush, Moz, Crunchbase, Apollo처럼 단일 작업을 위해 월 구독하기 부담스러운 서비스나 가입·승인이 필요한 API를 에이전트가 작업 단위로 찾고 호출하도록 만드는 구상입니다.
작업 이름으로 도구 검색
CLI를 설치한 뒤 treg login으로 로그인하고 treg catalog search "backlinks for a domain"처럼 공급자 이름이 아니라 원하는 작업을 검색합니다. treg catalog get <id>에서 입력 파라미터와 가격, 응답 예시를 확인한 다음 treg call로 호출합니다. 예를 들어 treg call hunter.people.email.find --query domain=reddit.com --query full_name="Alexis Ohanian"처럼 요청합니다. treg balance는 잔액과 진행 중인 호출, 최근 지출을 보여줍니다.
여러 공급자가 같은 기능을 제공하면 검색 결과에 가격을 나란히 표시합니다. Treg가 공급자를 조용히 선택하거나 자동으로 장애 조치하지 않으므로 호출자가 선택합니다. 공개 가격이 없는 엔드포인트는 무료로 처리하지 않고 자체 키를 연결하라고 거절합니다. 잔액이 부족하면 balance_micro, estimated_cost_micro, topup_url을 담은 HTTP 402를 반환해 에이전트가 안내문을 해석하지 않고 후속 조치를 결정하게 합니다.
카탈로그 호출에는 자격 증명 선택 순서가 있습니다. 먼저 팀이 해당 공급자용 도구를 등록했는지 확인하고, 다음으로 팀이 보관한 공급자 비밀값을 가상 도구에 주입합니다. 둘 다 없고 검증된 공개 경로가 있으면 공급자 키 없이 무료로 호출합니다. 그 외에는 Treg 자체 키를 사용하고 팀의 선불 잔액에서 비용을 차감합니다. 팀이 이미 가진 키를 연결하면 Treg 키를 중복 사용하지 않으며 자체 키 호출은 잔액에서 차감하지 않습니다.
팀 도구와 스킬 공유
Treg에서 도구는 upstream base_url과 인증 바인딩을 가진 endpoint, 또는 자격 증명을 주입해 실행하는 CLI로 나뉩니다. 하나의 요청에 OAuth bearer와 developer-token처럼 여러 비밀값을 넣는 바인딩도 지원합니다. SKILL.md 레시피와 비밀값, 도구를 묶은 bundle은 팀의 공통 에이전트 기능으로 등록합니다. treg upload는 프로젝트의 .env에서 약 80개 공급자 키를 식별하고, 스킬 하위 디렉터리와 설치된 카탈로그 CLI를 찾아 등록 후보로 만듭니다. treg scan은 등록 없이 미리 확인하는 명령입니다.
등록한 키와 스킬은 서버에서 암호화해 보관합니다. treg run --server stripe -- get /v1/balance처럼 CLI를 레지스트리 서버에서 실행하면 키가 호출자에게 내려오지 않습니다. 로컬 실행은 --local이 기본이며, treg shell start를 사용하면 세션 안에서 등록된 CLI에 인증 정보를 자동으로 주입합니다. 스킬을 설치할 때도 실제 API 요청은 Treg를 거치므로 키를 스킬 파일에 넣지 않습니다. 조직마다 토큰과 비밀값, 도구, 스킬을 분리하고 owner, admin, member, viewer 역할과 멤버별 도구 접근 권한을 설정합니다.
인증 주입과 faithful relay
프록시는 upstream의 비즈니스 로직을 다시 구현하지 않고 요청을 그대로 중계합니다. 전송 홉별 헤더를 다시 만들고, Treg 제어 헤더와 세션 쿠키를 제거하며, 등록된 인증 정보만 주입합니다. X-Treg-Token은 Treg에서 호출자를 식별하지만 upstream으로 전달하지 않습니다. URL의 호스트와 가장 긴 base_url 접두사 또는 도구 이름으로 도구를 찾고, 비밀값을 복호화한 뒤 인증 바인딩을 적용해 upstream으로 스트리밍합니다.
응답 정산이나 소유권 확인이 필요한 경우에는 최대 8MiB까지 버퍼링합니다. 더 큰 응답은 잘라서 성공 처리하지 않고 HTTP 502를 반환하며 비용을 청구하지 않습니다. 자체 키와 자체 도구 응답, 본문 증명이 필요 없는 무료 다운로드는 전체 스트리밍을 유지합니다. 호출 기록은 비동기로 감사 로그에 남깁니다.
인증 방식은 일반 문자열이나 API 키를 넣는 env, JSON 토큰 파일에서 값을 꺼내는 secret_file, 갱신 가능한 토큰을 자동으로 새로 받는 oauth, CLI 키체인에서 인증 정보를 가져오는 cli_auth로 구성합니다. OAuth는 토큰 파일 업로드, refresh token 기반 자동 갱신, 브라우저 동의 후 토큰을 받는 hosted connect 흐름을 지원합니다. 선택적인 probe 설정과 주기적 health check로 자격 증명을 점검하고, 만료되거나 고장 난 도구의 소유자에게 webhook을 보냅니다.
MCP, 로컬 실행과 운영
Claude Connectors Directory용 /mcp/v2/는 엄선한 카탈로그 엔드포인트만 노출하고 읽기 호출과 쓰기 호출을 나눠 안전성 신호를 전달합니다. 기존 /mcp/는 카탈로그 엔드포인트, 팀 도구, 가져온 스킬에 계속 사용합니다. Claude 플러그인 마켓플레이스나 npx skills add superdesigndev/treg -s treg로 에이전트 스킬을 설치할 수도 있습니다. 설치한 스킬은 첫 실행 때 CLI 설치, 로그인, MCP 설치 과정을 안내합니다.
서버는 FastAPI와 데이터베이스 드라이버를 포함한 tools-registry[server] 패키지로 실행하며, 개발 환경은 SQLite, 운영 환경은 PostgreSQL을 사용하도록 설정합니다. 로컬 개발 스크립트는 포트 18790에서 hot reload, 별도 SQLite 데이터베이스, 개발용 이메일 OTP 모드로 서버를 띄웁니다. 저장 비밀값은 Fernet 키로 암호화하며, 키를 잃으면 저장한 비밀값을 복구하지 못하므로 배포 전 백업이 필요합니다. CLI와 스킬은 얇은 클라이언트이고 API가 기능의 중심이며, OpenAPI 문서도 제공합니다.
Treg CLI는 hosted 서비스 사용 중 인자나 자격 증명 없이 실행한 명령의 익명 사용량을 PostHog로 전송합니다. TREG_TELEMETRY=0 또는 DO_NOT_TRACK=1로 끌 수 있습니다. 라이선스는 Apache 2.0에 추가 조건을 둡니다. 상업적·조직 내부 사용과 자체 호스팅은 허용하지만, 서면 허가 없이 경쟁하는 hosted 또는 managed registry 서비스로 제3자에게 재배포하는 행위는 제한합니다. 로드맵에는 MCP 지원, 세분화한 권한 계층, 저장 키 관리 강화, Loopni와의 통합 가능성이 포함되어 있습니다.
원문: GitHub / 번역·요약: Trawling