nyroway/nyro
요약
Nyro는 다양한 AI 모델 제공업체와 코딩 도구 사이에서 프로토콜을 실시간으로 변환해주는 로컬 AI 게이트웨이입니다. 사용자는 코드 변경 없이 Claude Code, Codex CLI 등 기존 도구의 엔드포인트를 로컬로 지정하는 것만으로 원하는 백엔드 모델을 자유롭게 전환하며 사용할 수 있습니다.
핵심 포인트
- 코드 수정 없이 다양한 AI 모델 제공업체(OpenAI, Anthropic, Gemini 등)와 클라이언트 간의 프로토콜 변환 지원
- 데스크톱 앱 및 독립형 서버 바이너리 형태로 제공되어 로컬 환경에서 보안 유지 및 셀프 호스팅 가능
- 가중치 기반 부하 분산 및 상태 인지 페일오버를 지원하는 멀티 타겟 라우팅 기능 제공
- 도구 호출(Tool calls) 및 스트리밍(SSE)의 프로토콜 간 정규화 및 패스스루 지원
어떤 제공업체의 어떤 모델이든 당신의 AI 코딩 도구에서 실행하세요.
하나의 게이트웨이. 모든 프로토콜. 코드 변경 없음.
Nyro는 당신의 AI 도구와 모델 제공업체(model providers) 사이에 위치하는 로컬 AI 게이트웨이(local AI gateway)입니다. Nyro는 프로토콜 형식을 실시간으로 변환합니다. 따라서 Claude Code, Codex CLI, Gemini CLI, OpenCode, 그리고 OpenAI / Anthropic / Gemini SDK를 사용하는 모든 클라이언트는 단 한 줄의 코드도 변경하지 않고도 당신이 선택한 어떤 백엔드 모델로든 라우팅할 수 있습니다.
클라이언트를 http://localhost:19530으로 지정하세요.
나머지는 Nyro가 처리합니다.
Claude Code · Codex CLI · Gemini CLI · OpenCode
OpenAI SDK · Anthropic SDK · Gemini SDK
모든 HTTP API 클라이언트
...
Nyro는 데스크톱 앱 (macOS / Windows / Linux) 및 헤드리스(headless) 및 셀프 호스팅(self-hosted) 배포를 위한 독립형 서버 바이너리(standalone server binary) 형태로 제공됩니다.
어떤 도구와도 어떤 모델을 사용하세요. Claude Code는 Anthropic 프로토콜을 기대합니다. Codex CLI는 OpenAI Responses API를 사용합니다. Gemini CLI는 Gemini 프로토콜을 사용합니다. Nyro는 이 세 가지 사이를 변환하므로, 하나의 모델이 당신의 모든 도구에 동시에 서비스를 제공할 수 있습니다.
도구를 건드리지 않고 제공업체를 전환하세요. Nyro의 UI에서 대상 모델이나 제공업체를 변경하세요. 당신의 도구는 재설정할 필요가 전혀 없습니다.
모든 것을 로컬에 유지하세요. API 키는 AES-256-GCM으로 저장 시 암호화됩니다. 요청은 당신의 머신에 머뭅니다. 클라우드 릴레이(cloud relay)나 공유 인프라가 없습니다.
모든 것을 위한 하나의 UI. 데스크톱 앱 또는 브라우저의 단일 인터페이스에서 제공업체, 라우트(routes), API 키, 로그 및 사용 통계를 관리하세요.
제공업체 관리 |
라우트 설정 |
API 키 관리 |
연결 — 코드 및 CLI 통합 |
인그레스(Ingress): OpenAI (Chat Completions + Responses API), Anthropic Messages, Gemini GenerateContent
이그레스(Egress): OpenAI 호환, Anthropic 또는 Gemini 업스트림(upstream)으로 라우팅
스트리밍(Streaming): 완전한 SSE 패스스루(passthrough) 및 프로토콜 간 형식 변환
추론(Reasoning): <think> 태그 파싱 및 프로토콜 경계를 넘나드는 변환
도구 호출(Tool calls): 프로토콜 간 도구 호출 및 결과 형식 정규화
라우트 유형(Route types): 타입 인지 처리(type-aware handling)를 포함한 채팅 및 임베딩(embedding) 라우트
-
virtual_model에 대한 정확한 일치 라우팅 (Exact match routing) -
가상 모델 이름 (Virtual model names)은 클라이언트 요청을 실제 백엔드 모델로부터 분리합니다.
-
전략 선택이 가능한 멀티 타겟 라우팅 (Multi-target routing): 가중치 기반 부하 분산 (weighted load balancing) 또는 우선순위 기반 페일오버 (priority-based failover)
-
상태 인지 페일오버 (Health-aware failover): 3회 연속 실패 시 해당 타겟을 비정상(unhealthy)으로 표시하며, 30초 후 자동 복구됩니다.
-
API 키 인증을 통한 라우트별 액세스 제어 (Access control)
정확한 캐시 (Exact cache): 동일한 요청에 대해 캐시된 응답을 즉시 반환합니다. 시맨틱 캐시 (Semantic cache): 임베딩 (embedding) 기반 유사도 매칭을 통해 유사한 쿼리에 대한 결과를 재사용합니다.
-
라우트별 TTL (Time-to-Live) 및 임계값 (threshold) 재정의 가능
-
캐시된 스트리밍 응답에 대한 스트림 재생 (Stream replay)
-
모델 기능 자동 감지 (도구 호출 (tool call), 추론 (reasoning), 컨텍스트 윈도우 (context window), 모달리티 (modalities), 비용 (costs))
-
ai://models.dev: 오프라인 기능 조회를 위한 내장 데이터 소스 -
동적 모델 발견을 위한 HTTP 모델 목록 엔드포인트
-
라우트 설정 UI에 표시되는 기능 태그 (Capability tags)
-
AES-256-GCM 암호화된 API 키 저장
-
독립적인 프록시 (proxy) 및 관리자 베어러 토큰 (admin bearer token) 제어
-
기본 거부(Default-deny) 라우트 권한 부여 — 키는 반드시 라우트에 명시적으로 바인딩되어야 합니다.
-
키별 할당량 (Quotas): RPM / RPD / TPM / TPD
-
제공자 (providers), 라우트, API 키에 대한 전체 CRUD 지원
-
제공자, 모델, 토큰 및 지연 시간 (latency) 상세 정보가 포함된 요청 로그
-
모델 및 제공자별 사용량 차트
-
실시간 피드백을 포함한 제공자 연결 테스트
-
설정 가져오기 / 내보내기
코드 통합 (Code Integration) — 라우트를 선택하고 다음 항목에 대해 즉시 사용 가능한 예제를 복사하세요:
| 프로토콜 (Protocol) | 언어 (Languages) |
|---|---|
| OpenAI | Python · TypeScript · cURL |
| ... |
CLI 통합 (CLI Integration) — AI 코딩 도구를 위한 원클릭 설정 동기화:
| 도구 (Tool) | 프로토콜 (Protocol) |
|---|---|
| Claude Code | Anthropic |
| ... |
Nyro는 설치된 도구를 감지하고, 선택한 라우트에 대한 올바른 설정을 생성하며, 클릭 한 번으로 이를 작성합니다. 기존 설정은 자동으로 백업됩니다.
데스크톱 앱 (Desktop App)
데스크톱 앱 (Desktop App)
| 플랫폼 | 아키텍처 |
|---|---|
| macOS | Apple Silicon (aarch64) · Intel (x64) |
| ... | |
| 서버 바이너리 (Server Binary) — 전체 모드(DB + 관리 API + 내장 WebUI) 및 독립 실행형 모드(YAML 설정만, DB 없음) |
| 플랫폼 | 아키텍처 | 접근 |
|---|---|---|
| macOS | x86_64 · aarch64 | 프록시 :19530 · WebUI http://localhost:19531 |
| ... | ||
| Homebrew (macOS / Linux) |
brew tap nyroway/nyro
brew install --cask nyro
셸 스크립트 (Shell Script)
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/nyroway/nyro/master/scripts/install/install.sh | bash
# Windows (PowerShell)
...
수동 다운로드 (Manual Download)
GitHub Releases에서 사용 중인 플랫폼의 최신 설치 파일을 다운로드하세요.
macOS: 수동 설치 후 sudo xattr -rd com.apple.quarantine /Applications/Nyro.app을 실행하거나, 이를 자동으로 처리하는 설치 스크립트를 사용하세요.
Windows: SmartScreen에서
관리 UI (management UI)를 위해 동일한 NYRO_ADMIN_TOKEN 값을 관리 API (admin API) 요청을 위한 Bearer 토큰으로 사용하세요.
Postgres 기반 배포 및 docker compose 사용에 대해서는 docker-nyro README를 참조하세요.
1. 프로바이더 (Provider) 추가
Providers → New로 이동합니다. 프로바이더의 Base URL과 API 키를 입력하세요. Nyro는 URL에서 프로토콜 (protocol)을 자동으로 감지합니다.
2. 라우트 (Route) 생성
Routes → New로 이동합니다. 가상 모델 이름 (예: gpt-4o)을 설정하고, 프로바이더와 대상 모델을 선택하세요. 필요한 경우 액세스 제어 (access control)를 활성화하세요.
3. 클라이언트를 Nyro로 지정
from openai import OpenAI
client = OpenAI(
base_url="http://127.0.0.1:19530/v1",
...
4. AI 도구 동기화 (선택 사항)
Connect로 이동하여 라우트를 선택한 다음, Claude Code, Codex, Gemini CLI 또는 OpenCode 옆의 Sync를 클릭하세요. Nyro가 올바른 설정 (config)을 자동으로 작성합니다.
Copyright 2026 The Nyro Authors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
...
전체 라이선스 (license) 텍스트는 LICENSE에서 확인하세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Claude Ecosystem의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기