# README (한국어) 🌐 **Languages:** 🇺🇸 [English](../../../README.md) · 🇪🇹 [am](../am/README.md) · 🇸🇦 [ar](../ar/README.md) · 🇦🇿 [az](../az/README.md) · 🇧🇬 [bg](../bg/README.md) · 🇧🇩 [bn](../bn/README.md) · 🇧🇦 [bs](../bs/README.md) · 🇨🇿 [cs](../cs/README.md) · 🇩🇰 [da](../da/README.md) · 🇩🇪 [de](../de/README.md) · 🇬🇷 [el](../el/README.md) · 🇪🇸 [es](../es/README.md) · 🇪🇪 [et](../et/README.md) · 🇮🇷 [fa](../fa/README.md) · 🇫🇮 [fi](../fi/README.md) · 🇫🇷 [fr](../fr/README.md) · 🇮🇪 [ga](../ga/README.md) · 🇮🇳 [gu](../gu/README.md) · 🇳🇬 [ha](../ha/README.md) · 🇮🇱 [he](../he/README.md) · 🇮🇳 [hi](../hi/README.md) · 🇭🇷 [hr](../hr/README.md) · 🇭🇺 [hu](../hu/README.md) · 🇦🇲 [hy](../hy/README.md) · 🇮🇩 [id](../id/README.md) · 🇳🇬 [ig](../ig/README.md) · 🇮🇹 [it](../it/README.md) · 🇯🇵 [ja](../ja/README.md) · 🇬🇪 [ka](../ka/README.md) · 🇰🇭 [km](../km/README.md) · 🇮🇳 [kn](../kn/README.md) · 🇱🇹 [lt](../lt/README.md) · 🇱🇻 [lv](../lv/README.md) · 🇮🇳 [ml](../ml/README.md) · 🇮🇳 [mr](../mr/README.md) · 🇲🇾 [ms](../ms/README.md) · 🇲🇹 [mt](../mt/README.md) · 🇲🇲 [my](../my/README.md) · 🇳🇵 [ne](../ne/README.md) · 🇳🇱 [nl](../nl/README.md) · 🇳🇴 [no](../no/README.md) · 🇮🇳 [or](../or/README.md) · 🇮🇳 [pa](../pa/README.md) · 🇵🇭 [phi](../phi/README.md) · 🇵🇱 [pl](../pl/README.md) · 🇵🇹 [pt](../pt/README.md) · 🇧🇷 [pt-BR](../pt-BR/README.md) · 🇷🇴 [ro](../ro/README.md) · 🇷🇺 [ru](../ru/README.md) · 🇱🇰 [si](../si/README.md) · 🇸🇰 [sk](../sk/README.md) · 🇸🇮 [sl](../sl/README.md) · 🇷🇸 [sr](../sr/README.md) · 🇸🇪 [sv](../sv/README.md) · 🇰🇪 [sw](../sw/README.md) · 🇮🇳 [ta](../ta/README.md) · 🇮🇳 [te](../te/README.md) · 🇹🇭 [th](../th/README.md) · 🇹🇷 [tr](../tr/README.md) · 🇺🇦 [uk-UA](../uk-UA/README.md) · 🇵🇰 [ur](../ur/README.md) · 🇺🇿 [uz](../uz/README.md) · 🇻🇳 [vi](../vi/README.md) · 🇳🇬 [yo](../yo/README.md) · 🇨🇳 [zh-CN](../zh-CN/README.md) · 🇹🇼 [zh-TW](../zh-TW/README.md) ---
OmniRoute 대시보드

# 🚀 OmniRoute — 무료 AI 게이트웨이 OmniRoute — 코딩을 멈추지 마세요. 모든 AI 도구 → 375개 제공업체 — 150개 이상 무료 — 하나의 엔드포인트로 연결합니다. Claude Code, Codex, Cursor, Cline, Copilot 및 Antigravity를 자동 폴백 기능과 함께 무료 Claude / GPT / Gemini로 연결합니다. RTK + Caveman 스택형 압축으로 토큰을 15~95%(평균 약 89%) 절약하여 한도에 도달하지 않습니다. 375개 AI 제공업체 · 150개 이상 무료 티어 · 월 약 16억 2천만 개 무료 토큰 · 20가지 라우팅 전략 · $0로 시작.
## 💰 서드파티 무료 티어 전체에서 월 ~1.62B 토큰
> **프로바이더 계정을 직접 가져오세요.** 이는 별도로 자격이 되는 서드파티 무료 티어 전반에 걸친 추정 합계이며, OmniRoute가 부여하는 토큰이 아닙니다. 가입하고, 필요한 경우 자격 증명을 발급받고, 사용할 수 있는 프로바이더를 연결하세요. 각 프로바이더는 자체 한도, 가용성, 약관을 통제합니다. > > 무료 티어를 손으로 쌓는 것은 고통스럽습니다 — 수십 개의 SDK, 수십 개의 속도 제한, 그리고 실제로 얼마나 있는지 알 수 없습니다. OmniRoute는 **34개의 반복 풀 키에 걸친 467개의 무료 티어 항목**을 카탈로그화하고, **공개된 양의 월간 예산이 있는 17개 풀과 모델별 Groq 캡 5개**를 기준으로 토큰 헤드라인을 계산하며, 공유 풀 기준으로 중복 제거합니다. 지역 신원 확인 후에만 열리는 할당량(현재: ModelScope)은 별도로 표시되며, 지역 신원 확인 뒤의 +~6M이며, 헤드라인 합계에는 절대 포함되지 않습니다. 결과는 대시보드(`/dashboard/free-tiers`)에 계속 표시됩니다. OmniRoute 무료 티어 예산 카드: 하나의 엔드포인트 뒤에 467개의 카탈로그화된 무료 티어 항목을 포괄하는 34개의 문서화된 반복 풀 키 기준, 매월 꾸준히 ~1.62B 무료 토큰, 가입 크레딧 포함 첫 달에는 최대 ~2.22B. 정직한 풀 중복 제거 계산 — 각 공유 풀은 한 번만 계산하며, 공개된 양의 월간 토큰 예산이 있는 17개 반복 풀과 모델별 Groq 캡 5개 포함; 약관 위험 카탈로그에서 12개 프로바이더가 회피 대상으로 표시되므로 사용자가 결정. 예산 막대에는 Mistral 1B, Nara 210M, LLM7 150M, xKiro 150M, Groq 30M(모델별 캡 5개) 및 더 작은 풀과 첫 달 가입 크레딧, 영구 무료 무토큰캡 프로바이더가 별도로 표시되어 헤드라인을 부풀리지 않음. 실시간 사용/잔여는 /dashboard/free-tiers에서 확인. > 라이브 `/dashboard/free-tiers` 페이지의 애니메이션 요약. 전체 방법론(풀 중복 제거, 크레딧 티어, 프로바이더 약관): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**. > > 이 수치는 2주마다 라이브 카탈로그를 기준으로 재감사되며 **양방향으로 움직입니다** — 프로바이더가 무료 티어를 종료하면 수치가 떨어지고, 새 프로바이더가 들어오면 상승합니다. 우리는 카탈로그가 실제로 계산하는 값을 게시하며, 절대 반올림한 최선의 경우를 게시하지 않습니다.

⭐ OMNIROUTE가 비용을 절약하고 작업을 더 쉽게 하는 데 도움이 되었다면 저장소에 스타를 눌러주세요.

[![스타](https://img.shields.io/github/stars/diegosouzapw/OmniRoute?style=social)](https://github.com/diegosouzapw/OmniRoute) diegosouzapw%2FOmniRoute | Trendshift [![스타 기록 순위](https://api.star-history.com/badge?repo=diegosouzapw/OmniRoute&theme=dark)](https://www.star-history.com/diegosouzapw/omniroute) [![olud.ai](https://olud.ai/badge.php?tool=diegosouzapw-omniroute)](https://olud.ai/project/diegosouzapw-omniroute.html) ### 💬 커뮤니티에 참여하세요 **👋 메인테이너를 팔로우하세요 — 새로운 프로바이더, 릴리스 및 팁을 가장 먼저 받아보세요:** [![LinkedIn에서 Diego 팔로우](https://img.shields.io/badge/Follow_Diego_on-LinkedIn-0A66C2?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/diegosouzapw/) [![GitHub에서 @diegosouzapw 팔로우](https://img.shields.io/github/followers/diegosouzapw?style=for-the-badge&logo=github&logoColor=white&label=Follow%20on%20GitHub&color=181717)](https://github.com/diegosouzapw) [![Discord](https://img.shields.io/badge/Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/U47eFqAXCn) [![Telegram](https://img.shields.io/badge/Telegram-26A5E4?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/omnirouteOficial) [![WhatsApp 글로벌](https://img.shields.io/badge/WhatsApp_Global-25D366?style=for-the-badge&logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) [![WhatsApp 브라질](https://img.shields.io/badge/WhatsApp_Brasil-25D366?style=for-the-badge&logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) [![웹사이트](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online) **질문, 프로바이더 팁, 로드맵 및 지원 → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 글로벌](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 브라질](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) / [포털](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK)**
## 📈 게이트웨이는 계속 성장합니다
| | v3.8.50 | **v3.8.51** | `v3.8.53+` | | ---------------------- | :-----------------------: | :---------: | :-------------------: | | 🌐 공급자 | 352 | **358** | 375 | | 🧠 고유 채팅 모델 ID | 1320 | **1374** | 1475 | | 🖼️ 모달리티 브리지 | 🆕 비전 + 오디오 + 비디오 | ✓ | ✓ | | 📡 Radar 무료 카탈로그 | 🆕 옵트인 | ✓ | ✓ | | ⚖️ 쿼터 인식 스케줄링 | 🆕 Quota-Share | ✓ | ✓ | | 📊 쿼터 텔레메트리 | 🆕 실시간 | ✓ | ✓ | | 🧰 헤드리스 모드 | — | — | 🆕 `serve --headless` | | 🛤️ LTS 레일 인프라 | — | — | 🆕 릴리스 채널 | | 🔎 모델 검색 API | — | — | 🆕 `/v1/models/query` | **→ [로드맵](ROADMAP.md) — `v3.9.0 LTS`를 향해 레일을 달리다**

## 🧩 이용 가능 [![npm 버전](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) ![NPM 월간 다운로드](https://img.shields.io/npm/dm/omniroute?label=npm/month&color=cb3837&logo=npm) [![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute) [![라이선스: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](LICENSE) ![Docker 다운로드](https://img.shields.io/docker/pulls/diegosouzapw/omniroute?label=docker%20pulls&logo=docker&color=2496ED) ![Electron 다운로드](https://img.shields.io/github/downloads/diegosouzapw/omniroute/total?style=flat&label=electron%20downloads&logo=electron&color=47848F)
🚀 시작 🚀 빠른 시작 📦 설치 🆓 제공업체 연결
💡 알아보기 💥 약속 🤔 OmniRoute를 선택하는 이유 🏆 차별점
⚙️ 기능 🎯 콤보 🌐 제공업체 🔌 CLI 및 MCP
🗜️ 압축 🖥️ 실행 환경 🔒 개인정보 보호
👀 살펴보기 🎬 실제 작동 모습 ✨ 새로운 기능 🤖 호환 CLI
💚 후원 💚 후원 / 기부 💬 커뮤니티 💖 후원자
📦 프로젝트 🛠️ 기술 스택 📖 문서 👥 기여자
🌐 67개 언어로 제공

English (en) Português — Brasil (pt-BR) Português (pt) Español (es) Français (fr) Italiano (it) Deutsch (de) Nederlands (nl) Русский (ru) Українська (uk-UA) Polski (pl) Čeština (cs) Slovenčina (sk) Română (ro) Magyar (hu) Български (bg) Dansk (da) Suomi (fi) Norsk (no) Svenska (sv) 中文 — 简体 (zh-CN) 中文 — 繁體 (zh-TW) 日本語 (ja) 한국어 (ko) ไทย (th) Tiếng Việt (vi) Bahasa Indonesia (id) Bahasa Melayu (ms) Filipino (phi) हिन्दी (hi) ગુજરાતી (gu) मराठी (mr) தமிழ் (ta) తెలుగు (te) বাংলা (bn) اردو (ur) فارسی (fa) العربية (ar) עברית (he) Türkçe (tr) Azərbaycan (az) Kiswahili (sw) Ελληνικά (el) Hrvatski (hr) Српски (sr) Lietuvių (lt) Eesti (et) Latviešu (lv) Slovenščina (sl) Malti (mt) Gaeilge (ga) ಕನ್ನಡ (kn) മലയാളം (ml) ଓଡ଼ିଆ (or) ਪੰਜਾਬੀ (pa) नेपाली (ne) සිංහල (si) မြန်မာ (my) ខ្មែរ (km) Hausa (ha) Yorùbá (yo) Igbo (ig) አማርኛ (am) Oʻzbekcha (uz) ქართული (ka) Հայերեն (hy) Bosanski (bs)


## 🆓 설치하고, 프로바이더를 연결한 뒤, 하나의 엔드포인트로 라우팅하세요
세 단계: OmniRoute를 설치하고 시작한 뒤, 자체 계정이나 API 키로 자격을 갖춘 프로바이더를 연결하고, OmniRoute API 키와 모델 auto를 사용해 도구를 localhost:20128/v1로 지정합니다. 라우팅은 사용 가능한 자격 있는 연결과 프로바이더 제한에 따라 달라집니다. ```bash # 프로바이더를 연결한 후 Dashboard → Endpoints에서 OmniRoute 키를 복사하세요: curl http://localhost:20128/v1/chat/completions \ -H "Authorization: Bearer YOUR_OMNIROUTE_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}' ``` `auto`에는 자격을 갖춘 경로가 필요합니다. 새로 설치한 경우 자격을 갖춘 키리스 대상이 하나도 없을 수 있으며, 키리스 프로바이더는 서드파티 클라이언트를 거부할 수 있습니다. Kiro를 포함해 `tos: avoid`로 표시된 프로바이더는 기본적으로 자동 라우팅에서 제외되며, 계정을 연결해도 이 설정은 무시되지 않습니다. 프로바이더를 선택하기 전에 [무료 티어 가이드](docs/getting-started/FREE-TIERS-GUIDE.md)를 확인하세요. 📦 **Python, Node.js, PHP, cURL**용 복사-붙여넣기 퀵스타트 스크립트 → [`examples/quickstart/`](examples/quickstart/)
# 💥 약속
약속 — 하나의 엔드포인트와 375개 프로바이더. 다른 정상 대상이 남아 있는 동안 자동 폴백이 라우팅을 유지합니다. 여섯 가지 기둥: 375개 프로바이더에 걸친 복원력 있는 폴백 · 자격을 갖춘 워크로드에서 최대 95% 토큰 절감 · 150개 이상의 무료 티어와 51개 상시/키리스 평생 무료 프로바이더로 $0에 시작 · 하나의 설정으로 37개 CLI/에이전트 통합 · /v1에서 OpenAI, Claude, Gemini 및 Responses API 호환 · 서킷 브레이커, TLS 스텔스, MCP 110개 도구, A2A, 메모리, 가드레일, 평가, 7,800개 이상의 추적 테스트 파일에 걸친 56,000개 이상의 정적 테스트 선언을 포함한 프로덕션 제어 기능.

# 🤔 왜 OmniRoute인가요?
왜 OmniRoute인가 — 10개의 대시보드, 죽은 API 키, 예상치 못한 청구서를 저글링하는 일을 그만두세요. 열 가지 일상적 고통과 해결책: 할당량이 쓰이지 못하고 만료됨 → 구독 최대 활용; 코딩 도중 발생하는 속도 제한 → 4단계 자동 폴백(구독 → API → 저가 → 무료); 토큰을 태우는 도구 출력 → RTK + Caveman 압축(15–95%); 비싼 API → 비용 최적화 라우팅; 도구마다 따로 필요한 설정 → 하나의 엔드포인트, 하나의 대시보드; AI 차단 → 3단계 프록시 + TLS 스텔스; 죽은 키 → 3중 복원력(서킷 브레이커, 키 쿨다운, 모델 잠금); 팀이 하나의 구독 공유 → 공정 분배 할당량이 적용된 키 풀; 남의 클라우드를 거치는 프롬프트 → AES-256-GCM 암호화 키가 적용된 로컬 우선; 지출 가시성 부재 → 실시간 분석(사용량, 할당량, 절감액, p95 지연 시간).
OmniRoute 요청 흐름: IDE 또는 CLI(Claude Code, Cursor, Cline…)가 하나의 로컬 엔드포인트(http://localhost:20128/v1)를 호출합니다. OmniRoute 스마트 라우터(RTK + Caveman 압축, 20가지 라우팅 전략, 서킷 브레이커, TLS 스텔스, MCP, A2A, 가드레일)는 자격을 갖춘 정상 대상이 남아 있는 동안 4개 프로바이더 티어에 걸쳐 폴백할 수 있습니다 — 티어 1 구독, 티어 2 API 키, 티어 3 저가, 티어 4 무료.

## 🤝 오픈 소스 친구들의 지원

Kimi K3 — Open Frontier Intelligence · 2.8T parameters · 1M-token context

> **오픈 소스 친구로 참여하고 싶으신가요?** 이들은 오픈 소스를 지지하고 OmniRoute가 계속 움직일 수 있도록 돕는 회사들입니다. 저희는 그들이 제공하는 모든 토큰이 어디에 사용되는지 공개적으로 밝힙니다. 연락처: [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi (Moonshot AI)
Kimi
Moonshot AI

Founding Open Source Friend
이 프로젝트를 지원해 주신 창립 오픈 소스 친구인 Kimi (Moonshot AI)에게 감사드립니다! Kimi는 오픈 가중치 K2 및 K3 모델 제품군을 개발한 AI 연구소입니다. Kimi K3는 1M 토큰 컨텍스트 창, 네이티브 비전, 최첨단 코딩 기능을 폐쇄형 모델 가격의 일부로 제공하며, Claude Code, Codex 및 OmniRoute가 제공하는 모든 코딩 도구와 즉시 작동합니다.

Kimi의 지원이 제공하는 것: Kimi의 API 크레딧은 OmniRoute의 AI 검증 릴리스 파이프라인(모든 풀 리퀘스트가 배포되기 전에 검토하는 Kimi K3 기반 병합 검증 단계)과 일상적인 기능 개발을 지원합니다. 최고 수준의 Kimi 지원은 두 가지 방식으로 제공됩니다: 직접적인 Kimi API (kimi-k3)와 Kimi Code 코딩 플랜 (OAuth 및 API 키). OmniRoute는 또한 Kimi의 지원 프로그램에 참여하는 최초의 브라질 오픈 소스 프로젝트입니다. 15% 추가 크레딧이 포함된 Kimi API 키 받기 →
Cheaper Inference
Cheaper Inference
cheaperinference.com

Open Source Friend
이 프로젝트를 지원해 주신 OmniRoute 오픈 소스 친구인 Cheaper Inference에게 감사드립니다! Cheaper Inference는 비용 순위가 매겨진 게이트웨이로, Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok 및 MiniMax 등 42개의 최첨단 모델을 하나의 OpenAI 호환 엔드포인트 뒤에서 재판매하며, 모델 제작사의 정가 이상으로 청구하지 않고 각 요청을 가장 저렴한 적격 공급자에게 라우팅합니다.

OmniRoute의 최고 수준 지원: Chat Completions, 네이티브 /v1/responses 엔드포인트, 비전, 도구 호출 및 3개의 이미지 모델 (grok-imagine, nano-banana-pro, nano-banana-2, cheaperinference/<model>로 접근 가능). API 키 받기 →
aff=omniroute 태그가 붙은 링크는 파트너 링크입니다. 이 링크들은 사용자에게 추가 비용 없이 프로젝트에 자금을 지원합니다.
🎟️ 제휴 프로모션 — 저희가 후원하지 않는 공급업체의 무료 가입 쿠폰 (클릭하여 확장) 이 섹션은 추천/쿠폰 코드 전용입니다. 후원 파트너십은 위에 있는 🤝 오픈 소스 친구들의 지원 섹션에 있습니다. OmniRoute는 여기에 나열된 공급업체와 후원 또는 파트너십 관계가 없으며, 이들은 누구나 사용할 수 있는 공개 쿠폰입니다.
AgentRouter
AgentRouter
agentrouter.org
AgentRouter — 제휴 가입 · 가입 시 $100 무료 크레딧 (무료 서버, 더 높은 지연 시간 예상 — 테스트용으로 최적, 프로덕션용 아님). v3.8.50부터 OmniRoute에서 최고 수준 지원: Chat Completions, Anthropic 호환 와이어 형식 및 OpenAI 호환 경로. 사용 가능한 모델에는 claude-opus-4-8, claude-opus-5, gpt-5.6-sol 등이 포함됩니다. $100 받기 →

⚠️ 제휴 링크 — OmniRoute는 이 공급업체와 후원 또는 파트너십 관계가 없습니다.
OmniRoute 사용자에게 도움이 되는 관대한 무료 가입 쿠폰을 제공하는 다른 공급업체를 알고 계신가요? 이슈를 열어주시면 여기에 추가하겠습니다.

## 🎯 콤보 — 핵심 기능
20가지 콤보 라우팅 전략 중 18가지의 애니메이션 예시 — 전략별 타일: priority, fill-first, weighted, round-robin, p2c, least-used, random, strict-random, cost-optimized, headroom, reset-window, reset-aware, context-relay, context-optimized, lkgp, auto, fusion, pipeline. cache-optimized와 quota-weighted는 애니메이션으로 제공되지 않으며, 아래 표에서 20가지 전략을 모두 설명합니다. > **콤보**는 OmniRoute가 **자동으로** 라우팅하는 모델 체인입니다. 할당량이 소진되거나, 공급자에 장애가 발생하거나, 비용이 급증하면 콤보는 조건을 충족하는 다음 정상 모델로 전환할 수 있습니다. 🛡️ ### ⚡ 설정 불필요 — `auto`만 사용하세요 콤보를 생성할 필요가 없습니다. 모델을 `auto`(또는 변형 모델)로 설정하면 OmniRoute가 연결된 공급자를 바탕으로 가상 콤보를 구성하고 실시간으로 점수를 산정합니다.
모델 ID최적화 대상
auto🎯 균형 잡힌 기본값(LKGP — 마지막으로 정상 작동한 공급자를 계속 사용)
auto/coding🧑💻 코드 생성 품질을 우선하는 가중치
auto/fast⚡ 지연 시간이 가장 짧은 대상을 우선
auto/cheap💰 토큰당 비용이 가장 저렴한 대상을 우선
auto/subscription🎟️ 이미 비용을 지불 중인 구독 할당량만 사용 — 사용 불가 시 즉시 실패하며, 유료 대체 경로는 사용하지 않음(가이드)
auto/thrifty🪜 요금제 할당량을 먼저 사용한 다음, 가장 저렴한 유료 옵션으로 한 단계씩 이동 — 요금제 할당량이 초기화되면 다시 사용(가이드)
auto/offline🔋 할당량/요청 한도 여유가 가장 큰 대상을 우선
auto/smart🔭 품질 우선 + 더 나은 모델을 찾기 위한 10% 탐색
auto/lkgp📌 마지막으로 정상 작동한 공급자를 명시적으로 고정
auto/chaos🧪 모델 패널로 병렬 분산(공급자당 하나, 기본값 5개)하여 하나의 답변을 반환합니다. 패널 모델마다 업스트림 호출이 한 번씩 발생하며, 장애 주입 기능은 아닙니다.
## ### 🔀 또는 직접 구성 — 20가지 라우팅 전략 **20가지** 전략 모두 콤보 단계별로 자유롭게 조합할 수 있습니다.
# 전략 기능
1 priority 첫 번째 대상을 우선하는 순서 지정 목록 — 각 대상을 소진한 후 다음 대상으로 이동 🥇
2 fill-first 각 대상의 할당량을 완전히 소진한 후 다음 대상으로 이동
3 weighted 대상별 가중치에 따른 가중 무작위 선택
4 round-robin 대상을 순서대로 순환
5 p2c 두 개 선택 방식의 무작위 부하 분산
6 least-used 현재 부하가 가장 낮은 대상을 선택
7 random 균등 무작위 선택(중복 제거)
8 strict-random 반복 항목을 중복 제거하지 않고 무작위 선택 🎲
9 cost-optimized 실시간 카탈로그 가격을 기준으로 요청당 비용을 최소화 💸
10 headroom 남은 할당량이 가장 많은 대상을 선택
11 quota-weighted 할당량이 소진된 계정은 건너뛴 후, 남은 할당량 ÷ 처리 중인 부하에 비례하여 선택 — 기존 대화는 고정 상태 유지 ⚖️
12 reset-window 할당량 기간이 가장 빨리 초기화되는 대상을 우선
13 reset-aware 할당량 초기화 시간을 기준으로 순위 지정 — 짧은 기간 우선 📊
14 context-relay 긴 대화를 위해 대상 간에 컨텍스트를 전달 🧠
15 context-optimized 현재 컨텍스트 크기에 가장 적합한 대상을 선택
16 cache-optimized 재사용 가능한 각 프롬프트 접두사를 동일한 계정에 고정 — 프롬프트 캐시 적중률 극대화 🎯
17 lkgp 마지막 정상 경로(Last-Known-Good Path) — 마지막으로 성공한 공급자에 고정한 후 규칙에 따라 대체 경로 사용
18 auto 모든 연결을 대상으로 16가지 요소를 실시간으로 평가 🤖
19 fusion 모델 패널로 분산 호출하고 판정 모델이 하나의 답변으로 종합 🧬
20 pipeline 단계를 연결 — 각 대상의 출력이 다음 대상의 입력으로 전달됨 🔗
Auto-Combo 엔진은 모든 후보를 **16가지 요소**(상태, 할당량, 비용, 지연 시간, 작업 적합성, 품질, 세션 가용성 등)로 평가합니다 — [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md)를 참조하세요. ## ### 🧱 복원력이 기본으로 내장되어 있습니다(독립적인 3개 계층) OmniRoute 복원력 — 각 장애에 적합한 독립적인 3개의 자가 복구 계층. 계층 1 제공자 회로 차단기(전체 제공자): 408/5xx에서만 작동하며, 임계값은 OAuth 8회/API 키 12회/로컬 2회이고, 60초/30초/15초 후 HALF-OPEN 탐색 상태로 재설정되며 지연 복구를 사용합니다. OPEN 상태에서는 콤보가 다음 제공자로 경로를 변경합니다. 계층 2 연결 쿨다운(키/계정 하나): 기본값은 OAuth 5초/API 키 3초이며, 동시 재시도 폭주 방지 기능을 갖춘 지수형 ×2 백오프를 사용하고, 429에서는 Retry-After를 준수하며, 성공하면 모든 오류 상태를 초기화합니다. 쿨다운 중인 키 하나는 건너뛰지만 다른 키들은 계속 요청을 처리합니다. 계층 3 모델 잠금(모델 하나): 모델별 429, 로컬 404 또는 모드 거부는 해당 모델만 잠급니다 — 전체 연결은 절대 잠그지 않습니다. 최종 상태(차단됨, 만료됨, 크레딧 소진)는 쿨다운 대상이 아니라 운영자가 처리해야 합니다. 📖 [Auto-Combo 엔진](docs/routing/AUTO-COMBO.md) · [복원력 가이드](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 OmniRoute만의 차별점
OmniRoute의 차별점 — 13개 기능을 기준으로 9router, OpenRouter, CLIProxyAPI 및 LiteLLM과 비교한 특정 시점의 기능 스냅샷입니다. OmniRoute: 375개 제공업체, 150개 이상의 내장 무료 티어, 20가지 라우팅 전략, 12개 엔진 기반 토큰 압축, 110개 도구를 갖춘 내장 MCP 서버, A2A 에이전트 프로토콜, 영구 메모리, 가드레일, 클라우드 에이전트, TLS 지문 은닉, Desktop/Termux/PWA 및 67개 다국어 UI 로케일을 제공합니다. OmniRoute는 MIT 라이선스로 제공되며 자체 호스팅할 수 있습니다. 경쟁 제품의 기능과 수치는 변경될 수 있습니다. 링크된 방법론을 참조하세요. 📊 전체 방법론 및 9router, OpenRouter, CLIProxyAPI, LiteLLM과의 기능별 상세 비교 → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 OmniRoute 후원하기 OmniRoute는 MIT 라이선스로 공개적으로 유지·관리됩니다. 시간이나 비용을 절약하는 데 도움이 되었다면, 독립성을 유지할 수 있도록 자신에게 맞는 방법으로 후원해 주세요. 후원은 라우팅 우선순위에 절대 영향을 주지 않습니다. 후원으로 얻는 것은 노출이지 순위가 아닙니다.
⭐ 저장소에 별표 표시무료 — 인지도를 높이는 데 실질적으로 도움이 됩니다OmniRoute에 별표 표시
🐙 GitHub Sponsors일회성 또는 월간 후원 · 플랫폼 수수료 없음github.com/sponsors/diegosouzapw
☕ Ko-fi빠른 일회성 후원, 후원자는 가입 불필요ko-fi.com/diegosouzapw
🧋 Buy Me a Coffee소소하고 편안한 방식의 후원buymeacoffee.com/diegosouzapw
🖐 Liberapay정기 후원 · 비영리 · 오픈 소스liberapay.com/diegosouzapw
🇧🇷 PIX (브라질)즉시 송금, 수수료 없음키 및 QR은 아래 참조
₿ 암호화폐BTC · ETH · USDT-TRC20 · USDC-Solana주소는 아래 참조
**🇧🇷 PIX** — 즉시 송금, 수수료 없음 (브라질) OmniRoute PIX QR 코드 키 (무작위): `5d865059-bc44-483a-962d-43ceb80126eb` Pix 복사 및 붙여넣기: ``` 00020101021126580014br.gov.bcb.pix01365d865059-bc44-483a-962d-43ceb80126eb5204000053039865802BR5922OMNIROUTE CONTRIBUICAO6006BRASIL62070503***630475DD ```
₿ 암호화폐 — BTC · ETH · USDT-TRC20 · USDC-Solana (클릭하여 펼치기)
₿ BTCBitcoin (SegWit)bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd
Ξ ETHEthereum (ERC20)0x64Cf6B68A6Ff34288e89172950a2d00102337a84
₮ USDTTron (TRC20)TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2
$ USDCSolana2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu
⚠️ 각 코인은 표시된 네트워크에서만 전송하세요. 잘못된 네트워크로 전송하면 자금을 잃을 수 있습니다.
🐛 버그를 발견했거나 의견이 있으신가요? [토론](https://github.com/diegosouzapw/OmniRoute/discussions)을 시작해 주세요.

개발자 참고 사항: 이 프로젝트는 개발 편의를 위해 npm 설치 또는 설치 후 과정에서 로컬 .env 파일을 생성할 수 있습니다. 이 파일은 의도적으로 .gitignore를 통해 무시되며(.gitignore 참조), 절대로 커밋해서는 안 됩니다. 실수로 커밋한 경우 노출된 모든 비밀 정보를 교체하고 기록에서 해당 파일을 제거하세요. 로컬 환경 파일 및 비밀 정보 관리 지침은 docs/DEVELOPER-ENVIRONMENT.md를 참조하세요.

## 📡 OmniRoute Radar 문서에 명시된 위의 풀 중복 제거 카탈로그를 기준으로, 무료 티어의 주요 수치는 여전히 **월 ~1.62B 토큰**입니다. 임시 제공업체 가입 크레딧을 활용하면 첫 달에는 별도로 **~2.22B**까지 늘어날 수 있습니다. Radar는 OmniRoute 릴리스 사이에도 최신 무료 모델 가용성 정보를 원하는 사용자를 위한 선택적 서명 카탈로그 오버레이입니다. 커뮤니티 카탈로그와 기존의 모든 무료 기능은 계속 무료로 제공됩니다. 후원자는 실시간 카탈로그와 추가 제공업체 이용 기회를 받을 수 있습니다. 별도로 운영되며 변경 가능한 최대 한도는 제공업체의 가용성에 따라 **월 최대 약 3B 토큰**입니다. 이 최대 한도는 보장되지 않습니다. 제공업체는 언제든 할당량, 자격 요건, 모델 또는 지역을 변경할 수 있습니다. Radar는 선택적으로 사용할 수 있으며 GET 전용입니다. OmniRoute 클라이언트는 프롬프트, 트래픽, 제공업체 구성, 사용량 텔레메트리 또는 로컬 공지 숨김 상태를 업로드하지 않습니다. 자격 요건과 현재 카탈로그에 대한 자세한 내용은 **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**에서 확인하세요.
## ✨ 새로운 기능
> **v3.8.20 → v3.8.53**의 주요 변경 사항입니다. 전체 변경 이력은 [`CHANGELOG.md`](CHANGELOG.md)에서 확인할 수 있습니다. - **⚖️ `quota-weighted` 라우팅** — 제20번째 콤보 전략으로, 할당량을 소진한 계정은 건너뛴 후 남은 계정 중 잔여 할당량 ÷ 진행 중인 부하 비율에 따라 선택하며 기존 대화는 고정 상태로 유지합니다. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **🧰 헤드리스 모드** — `omniroute serve --headless`(또는 `OMNIROUTE_HEADLESS=1`)는 대시보드와 대시보드 전용 하위 시스템을 끄고 `/v1/*` 프록시 엔진만 실행합니다. → [헤드리스 모드](docs/guides/HEADLESS.md) - **🔎 모델 탐색** — `/v1/models`는 기능, 컨텍스트, 종류 및 텍스트를 기준으로 필터링하며, `POST /v1/models/query`는 키별로 동일한 가시성을 적용해 짧고 결정론적인 후보 목록을 반환합니다. → [API 레퍼런스](docs/reference/API_REFERENCE.md) - **🔑 키별 라우팅 제어** — `forcedModel`을 사용해 API 키를 하나의 모델 또는 콤보에 고정하고, 키의 모델과 콤보를 원자적으로 추가하거나 제거할 수 있습니다(`/api/keys/{id}/access`). → [API 레퍼런스](docs/reference/API_REFERENCE.md) · [OpenAPI](docs/openapi.yaml) - **🛡️ 더 세밀한 PII 제어** — 유형별 선택, 검증된 사용자 지정 마스킹 패턴 최대 20개, 유형별 탐지 카운터를 지원하며, 마스킹 자체는 계속 명시적으로 활성화해야 합니다. → [가드레일](docs/security/GUARDRAILS.md) - **🌍 67개 언어** — 대시보드, 문서 미러 및 CLI를 지원하며, `npm run i18n:add-locale` 명령 하나로 모든 위치에 언어를 추가할 수 있습니다. → [i18n 가이드](docs/guides/I18N.md) - **🎛️ OmniConductor** — 에이전트 플릿으로 들어오는 A2A 위임, Agent Card의 Conductor 스킬, Faro 푸시투토크 음성 채팅이 포함된 대시보드 패널을 제공합니다. → [A2A 서버](docs/frameworks/A2A-SERVER.md) - **🛂 적응형 수락 제어 및 과부하 보호** — 부하가 큰 채팅 요청은 503을 반환하는 대신 대기열에 들어가며, 연결별 원자적 RPM 롤링 리스를 사용합니다. → [복원력 가이드](docs/architecture/RESILIENCE_GUIDE.md) - **🗂️ 표준 `/v1/models` 정렬** — 각 공급자마다 연속된 하나의 공급자별 그룹 블록을 구성하며(콤보 우선 고정), 모든 카탈로그 소스에서 안정적인 순서를 유지합니다. → [API 레퍼런스](docs/reference/API_REFERENCE.md) - **🗜️ 압축 강화** — 기본적으로 활성화되는 인플레이션 가드, DE / FR / JA + 중국어(문언문)용 Caveman 팩, Gradle 및 .NET용 RTK 필터를 제공합니다. → [압축](docs/compression/COMPRESSION_ENGINES.md) - **💸 정확한 정액제 비용** — 구독 / 코딩 요금제 공급자의 비용 분석에는 **$0**으로 표시되며, 예산, 할당량 및 라우팅에서는 계속 추정값을 사용합니다. → [API 레퍼런스](docs/reference/API_REFERENCE.md) - **⚖️ Quota-Share 라우팅** — 공유 계정의 할당량을 풀링된 키 전체에 공정하게 분배하며, 유휴 몫을 빌려줄 수 있도록 작업 보존 방식으로 동작합니다. → [복원력 가이드](docs/architecture/RESILIENCE_GUIDE.md) - **🤖 단일 명령 CLI/에이전트 설정** — 등록된 `setup-*` 명령 15개를 제공합니다. `omniroute run`은 7개 CLI(Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI)를 실행하며, `omniroute configure`는 대화형 공급자+모델 선택기와 컨텍스트별 즐겨찾기를 통해 11개 대상을 지원합니다. → [CLI 통합](docs/guides/CLI-INTEGRATIONS.md) - **🛰️ 원격 모드** — 범위가 지정된 토큰(`connect` / `contexts` / `tokens`)과 VPS 설치용 `antigravity` OAuth 도우미를 사용해 원격 OmniRoute를 제어합니다. → [원격 모드](docs/guides/REMOTE-MODE.md) - **🧭 더 스마트한 자동 라우팅** — `auto/:` 콤보, **Fusion**(모델 패널 + 판정 모델), 작업 인식 라우팅, 요청별 모델 / 모드 / USD 예산 재정의를 제공합니다. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **🗜️ 플러그형 압축** — 조합 가능한 엔진 12개와 Compression Studios를 제공합니다. LLMLingua-2, 2단계 Ultra, omniglyph, 단계별 충실도 게이트, GCF v3.2, 드래그 방식 순서 변경 편집기가 포함됩니다. → [압축](docs/compression/COMPRESSION_ENGINES.md) - **🕵️ 투명한 MITM 복호화(TPROXY)** — 프록시 환경 변수를 무시하는 CLI를 캡처하며, SNI별 CA와 신뢰 저장소 설치 프로그램을 제공합니다. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md) - **💸 모든 곳에서 제공되는 비용 텔레메트리** — 모든 엔드포인트에 `X-OmniRoute-*` 비용/사용량 헤더, 캐시 HIT 절감액 헤더, 키별 USD 지출 할당량을 제공합니다. → [API 레퍼런스](docs/reference/API_REFERENCE.md) - **🧠 직접 제어하는 메모리** — 기본적으로 비활성화되며, 명시적으로 활성화할 수 있는 int8 벡터 양자화 + 유형별 감쇠와 요청별 `x-omniroute-no-memory`를 제공합니다. → [메모리](docs/frameworks/MEMORY.md) - **🛡️ 보안** — 모든 LLM 경로의 프롬프트 인젝션 가드(레드팀 테스트 모음), 명시적으로 활성화하는 자격 증명 마스킹 가드레일(양방향으로 유출된 API 키/비밀 정보를 삭제), 무료 DuckDuckGo 최후 수단 웹 검색, 선택적 대시보드 OIDC 로그인 게이트를 제공합니다(비밀번호 로그인은 항상 사용할 수 있습니다). → [가드레일](docs/security/GUARDRAILS.md) - **🖼️ 새로운 엔드포인트** — `/v1/ocr`(Mistral OCR)과 `/v1/audio/translations`(Whisper 방식)가 미디어 기능을 완성합니다. → [API 레퍼런스](docs/reference/API_REFERENCE.md) - **🎨 이미지 / 동영상 / 오디오 생성** — 미디어를 위한 단일 API에서 xAI Grok Imagine 및 Novita AI 동영상, ComfyUI, Magnific, Adobe Firefly, Segmind와 ElevenLabs 같은 음성 공급자를 지원합니다. → [API 레퍼런스](docs/reference/API_REFERENCE.md) - **🌍 배포 및 운영** — 리버스 프록시 `basePath`, 브라우저 언어 자동 감지, 키별 기기 추적, 루트 권한 없는 MITM 신뢰 설정, zh-TW 현지화를 제공합니다. → [환경](docs/reference/ENVIRONMENT.md) - **🤝 더 많은 공급자 및 에이전트** — 클라우드 에이전트(Codex Cloud, Cursor, Devin, Jules), 브라우저 + OAuth 로그인을 지원하는 Grok Build(xAI), 일급 Ollama 카드, Claude Opus 5 및 Sonnet 5, Kimi 공식 파트너십(Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI 등을 지원하며, **375개 공급자 카탈로그**를 새롭게 개편했습니다. → [공급자](docs/reference/PROVIDER_REFERENCE.md) - **📡 라우팅 투명성** — 모든 응답에 요청을 처리한 전략/공급자/지연 시간을 나타내는 `X-OmniRoute-Decision` 헤더가 포함됩니다. 새로운 `cache-optimized` 콤보 전략과 Auto-Combo `cacheAffinity` 요소는 반복 요청을 캐시된 접두사를 보유한 연결로 다시 라우팅하며, 읽기 전용 `/v1/auto-combo/{channel}/candidates` 엔드포인트는 `auto/*` 채널의 실시간 후보 풀을 노출합니다. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **⚡ 로컬 성능 & 인프라** — 원클릭 로컬 Redis, Cloudflare Workers / Deno Deploy 릴레이 배포 도구, 감독형 임베디드 서비스로서의 Bifrost & Mux. → [Embedded Services](docs/frameworks/EMBEDDED-SERVICES.md) - **🧩 기본 제공되는 것들** — 플러그인 프레임워크 + 마켓플레이스, Omni/Agent/GitHub 스킬 프레임워크, Obsidian vault 통합(22개 MCP 도구), OpenAI 호환 Batch & Files API, 시맨틱 응답 캐시, 리더보드가 포함된 게이미피케이션, ACP 에이전트 검색(15개 내장 에이전트), BigQuery로의 예약 로그 내보내기, `auto/chaos` 병렬 멀티 모델 팬아웃, Telegram 봇 브리지, 인앱 버전 관리자 및 LMArena-ELO 무료 제공자 순위. → [Docs](docs/README.md)
## 🤖 호환되는 CLI 및 코딩 에이전트 > 하나의 설정 — `http://localhost:20128/v1` — 만으로 **모든** AI IDE 또는 CLI를 무료 및 저비용 모델에서 실행할 수 있습니다.
Claude Code
Claude Code
                           
Codex CLI
Codex CLI
                           
Cline
Cline
                           
Kilo Code
Kilo Code
Zoo Code
Zoo Code
Continue
Continue
                           
Aider
Aider
                           
ForgeCode
ForgeCode
                           
jcode
jcode
                           
DeepSeek TUI
DeepSeek TUI
                           
CodeWhale
CodeWhale
                           
OpenCode
OpenCode
                           
Factory Droid
Factory Droid
                           
GitHub Copilot CLI
Copilot CLI
                           
Cursor CLI
Cursor CLI
                           
Smelt
Smelt
                           
Pi (pi-coding-agent)
Pi
                           
Grok Build (xAI)
Grok Build
                           
Hermes Agent (Nous Research)
Hermes Agent
                           
OpenClaw
OpenClaw
                           
Goose
Goose
                           
Open Interpreter
Open Interpreter
                           
Warp AI
Warp AI
                           
deyin.ai
deyin.ai
                           
+ 다음 도구와도 호환됩니다 · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · 모든 OpenAI 호환 도구
📖 전체 37개 도구(27개 CLI Code + 10개 CLI Agent)의 도구별 설정 → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 OpenCode 플러그인 → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)

**단 하나의 명령으로 OmniRoute를 통해 지원되는 모든 CLI를 실행하세요** — 구성 파일을 작성하지 않고, 프로세스별로 자격 증명을 주입하며, Qwen/Gemini에는 일회성 격리 홈을 제공합니다. ```bash omniroute run claude --model openai/gpt-5.4 # Claude Code omniroute run codex --model glm/glm-5.2 # OpenAI Codex CLI omniroute run aider --model glm/glm-5.2 -- --message "reply OK" omniroute run goose --model glm/glm-5.2 omniroute run opencode --model glm/glm-5.2 -- run "reply OK" omniroute run qwen --model glm/glm-5.2 -- -p "reply OK" omniroute run gemini --model glm/glm-5.2 -- --skip-trust -p "reply OK" # 또는 provider+model을 대화형으로 선택하고 도구 자체의 구성을 작성하세요. omniroute configure codex # 다음 도구도 지원: claude opencode qwen aider goose gemini cline continue kilo 5dive ``` 모든 명령은 활성 원격 컨텍스트(`omniroute connect `)를 따르며, `--dry-run`은 실행하지 않고 정확한 환경 변수와 인수를 미리 보여줍니다. 또한 `--api-key-env NAME`을 사용하면 셸 기록에 비밀 정보가 남지 않습니다. → [CLI 통합](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 375개 AI 프로바이더 — 153개 카탈로그 무료 표시
> 정식 채팅, 미디어, 검색, 로컬, 클라우드 에이전트 및 시스템 컬렉션 전반에 걸쳐 **375개의 등록된 프로바이더**가 있으며, 그중 **153개가 `hasFree: true` 검색 메타데이터를 보유**하고 있습니다. 채팅 모델 레지스트리는 **239개 프로바이더 / 3,059개의 서로 다른 프로바이더-모델 쌍 / 1,475개의 원시 모델 ID**를 포함합니다. 별도의 무료 예산 카탈로그에는 **467개의 모델별 행**, **34개의 반복 풀**, **51개의 반복/키 없는 영구 무료 프로바이더**가 있습니다. 이들은 설계상 서로 다른 분모이며, 정의와 풀 중복 제거 계산은 [Provider Reference](docs/reference/PROVIDER_REFERENCE.md) 및 [Free Tiers](docs/reference/FREE_TIERS.md)에 있습니다.
### 🏢 모든 주요 연구소 — 단일 엔드포인트를 통해
OpenAI
OpenAI
                           
Anthropic
Anthropic
                           
Gemini
Gemini
                           
xAI Grok
xAI Grok
                           
DeepSeek
DeepSeek
                           
Mistral
Mistral
                           
Qwen
Qwen
                           
Meta Llama
Meta Llama
                           
Groq
Groq
                           
NVIDIA
NVIDIA
                           
MiniMax
MiniMax
                           
Cohere
Cohere
                           
Perplexity
Perplexity
                           
Hugging Face
HuggingFace
                           
Together
Together
                           
Fireworks
Fireworks
                           
Cloudflare
Cloudflare
                           
Baidu
Baidu
                           
…그리고 350개 이상 — 모든 아이콘은 대시보드의 프로바이더 카탈로그에서 실시간으로 확인됩니다. 📖 [Provider Reference](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 영구 무료 — $0, 카드 불필요
OpenCode Zen
OpenCode Zen
DeepSeek V4, Nemotron 3
토큰 제한 없음
Kilo Code
Kilo Code
자동 라우터, Tencent Hy3
영구 무료
Requesty
Requesty
GPT-OSS 120B, Nemotron
영구 무료
SiliconFlow
SiliconFlow
DeepSeek V3.2 / R1
무료 티어
Z.AI GLM
Z.AI GLM
GLM-4.7 / 4.5-Flash
영구 무료
Baidu ERNIE
Baidu ERNIE
ERNIE 4.0
영구 무료
Qoder AI
Qoder AI
Qwen3-Max, Kimi-K2
무제한 무료
Pollinations
Pollinations
GPT, Llama, Claude
키 불필요
Cloudflare AI
Cloudflare AI
50개 이상 모델
10K 뉴런/일
NVIDIA NIM
NVIDIA NIM
GLM, MiniMax
무료 ~40 RPM
Cerebras
Cerebras
GLM 4.7, GPT-OSS
1회 $5 크레딧, 카드 필요
OpenRouter
OpenRouter
:free 모델
+$10 → RPM 상향
📖 전체 기계 판독 가능 카탈로그 → [`docs/reference/PROVIDER_REFERENCE.md`](docs/reference/PROVIDER_REFERENCE.md)
## 🖥️ OmniRoute 실행 환경 — 어디서나
> 같은 앱, 내 컴퓨터, 내 규칙. 전역 npm 설치부터 Termux를 통한 **휴대폰** 실행까지.
플랫폼설치주요 특징
📦 npm (전역)npm install -g omniroute명령어 하나로 모든 OS에서 실행
🐳 Dockerdocker run … diegosouzapw/omniroute멀티 아키텍처 AMD64 + ARM64
🖥️ 데스크톱 (Electron)npm run electron:build네이티브 창 + 시스템 트레이 — Windows / macOS / Linux
🎩 메뉴 막대 (OmniRouteTray)brew install --cask zoispag/tap/omniroute-tray서버 감독 및 자동 업데이트 — macOS
💪 ARM네이티브 arm64Raspberry Pi, ARM 서버, Apple Silicon
📱 Android (Termux)pkg install nodejs && npx -y omniroute휴대폰에서 루트 권한 없이 24시간 연중무휴 실행
📲 PWA"홈 화면에 추가"전체 화면, 오프라인, 브라우저에서 설치 가능
🧩 OpenCode 플러그인@omniroute/opencode-provider네이티브 OpenCode 통합
🤖 VS Code Copilot ChatOmniCopilot 확장 프로그램 설치네이티브 Copilot Chat 선택기에 모든 OmniRoute 모델 표시 — stable 및 Insiders
🛠️ 소스에서 설치npm install && npm run dev직접 수정하고 기여 가능
📖 [Docker 가이드](docs/guides/DOCKER_GUIDE.md) · [데스크톱](electron/README.md) · [메뉴 막대 트레이](https://github.com/zoispag/omniroute-tray) · [Termux](docs/guides/TERMUX_GUIDE.md) · [PWA](docs/guides/PWA_GUIDE.md) · [OpenCode](docs/frameworks/OPENCODE.md)
### 🧩 신규: VS Code 네이티브 Copilot Chat에서 OmniRoute 사용
> 새로운 사이드바도, 새로운 채팅 UI도 필요 없습니다. OmniRoute가 제공하는 모든 모델이 > **이미 사용 중인 Copilot Chat 모델 선택기**에 바로 표시됩니다. VS Code 1.122부터는 GitHub 로그인이나 > Copilot 구독 없이도 공급자 모델을 사용할 수 있으며, 에이전트 모드, 도구 호출, 비전을 모두 > 무료로 이용할 수 있습니다. **[OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)** 확장 프로그램을 설치하고 OmniRoute 서버를 가리키도록 설정한 다음(기본값: `localhost:20128`), Copilot Chat → 모델 선택기 → **모델 관리…** → **OmniRoute**를 차례로 여세요.
스토어링크호환 대상
🧩 VS Code Marketplace설치 →VS Code — stable 및 Insiders
🔓 Open VSX Registry설치 →Cursor, Windsurf, VSCodium, Theia, code-server, Gitpod, Antigravity, Kiro…
편집기 내에서 **확장 프로그램** 보기를 열고 **"OmniRoute"**를 검색한 다음 **설치**를 클릭하세요. 두 스토어 모두 동일한 방식으로 작동합니다. 소스, 이슈 및 게시 실행 지침서는 [diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)에서 확인할 수 있습니다. 📖 [VS Code Copilot Chat 가이드](docs/guides/VSCODE-COPILOT.md) — 설정, 선택기에 표시되는 항목, 탭 내 대시보드, 문제 해결
### 🎩 신규: OmniRouteTray — 메뉴 막대에 상주하는 게이트웨이
> `omniroute serve`는 항상 실행 중일 때 가장 잘 작동합니다. **[OmniRouteTray](https://github.com/zoispag/omniroute-tray)**는 > 이를 한 번 설정하면 신경 쓸 필요 없는 macOS용 메뉴 막대 앱으로 바꿔 줍니다. 서버를 시작하고, 재부팅 후에도 > 계속 실행되도록 유지하며, 제자리에서 업데이트하고, 한 번의 클릭으로 실시간 토큰 예산을 확인할 수 있게 해 줍니다. > **터미널 창을 계속 열어 둘 필요도, `npm install -g omniroute` 설치를 일일이 관리할 필요도 없습니다.** [Tauri v2](https://v2.tauri.app/)로 제작되었으며(반올림 오차만큼 작은 Rust 코어), 자체적으로 서명된 Node 24 런타임을 포함하고 앱 전용 OmniRoute 설치를 관리하므로 전역 `node`/`bun`과 충돌하지 않습니다. **기존 `~/.omniroute/` 설정과 데이터베이스를 공유**하므로 이미 사용 중인 동일한 OmniRoute에 모자만 씌운 셈입니다. 🎩
기능작동 방식
🟢 서버 감독omniroute serve를 실행하고, 이미 실행 중인 인스턴스가 있으면 중복 실행하지 않고 해당 인스턴스를 사용합니다
📊 실시간 사용량을 한눈에 확인공급자 할당량 막대, 초기화 카운트다운이 포함된 Claude 세션/주간 한도, 30일 비용 내역
🔄 제자리에서 자동 업데이트단계적 설치, 원자적 교체, 실패 시 롤백 — 항상 최신 릴리스 유지
🚀 로그인 시 시작선택적으로 로그인 시 실행 가능하며, 트레이에만 표시되고 Dock 아이콘은 없습니다
🩺 진단 및 로그한 번의 클릭으로 진단 실행 및 서버 로그 확인
```sh brew install --cask zoispag/tap/omniroute-tray ``` 다운로드를 선호하시나요? 릴리스에서 최신 .dmg를 받으세요. 소스, 이슈 및 빌드 문서는 zoispag/omniroute-tray에서 확인할 수 있습니다.
💛 @zoispag의 커뮤니티 프로젝트이며, 공식 OmniRoute 릴리스가 아닙니다.

## 🔒 비공개 및 로컬 우선
비공개 및 로컬 우선 — OmniRoute의 게이트웨이와 컨트롤 플레인은 사용자의 컴퓨터에서 실행됩니다. 프롬프트는 각 요청에 대해 선택된 업스트림 제공업체로 전송되며, OmniRoute는 호스팅된 프롬프트 처리 단계를 추가하지 않고 텔레메트리는 기본적으로 비활성화되어 있습니다. 자격 증명은 AES-256-GCM으로 저장 시 암호화되며, 보안 제어에는 API 키 범위 지정, IP 필터링, 요청 속도 제한, 프롬프트 인젝션 방어, 업스트림 헤더 제거, 선택적 PII 수정, 정제된 오류 및 로컬 SQLite 감사 추적이 포함됩니다. OmniRoute는 MIT 라이선스로 제공되며 자체 호스팅할 수 있습니다. 📖 [권한 부여](docs/architecture/AUTHZ_GUIDE.md) · [가드레일](docs/security/GUARDRAILS.md) · [컴플라이언스](docs/security/COMPLIANCE.md)
## 🔌 완전한 CLI + A2A 및 MCP
> 서버를 넘어, OmniRoute는 **80개 이상의 명령어**를 갖춘 **완전한 명령줄 조종석**이며, AI 에이전트가 **스스로** 조작할 수 있도록 개방형 에이전트 프로토콜도 제공합니다. ### ⌨️ 진정한 CLI (`start`만 있는 것이 아닙니다) ```bash omniroute # 게이트웨이 + 대시보드 실행(포트 20128) omniroute chat # 대화형 TUI 채팅 클라이언트(슬래시 명령어: /model /combo /skill /memory) omniroute setup # 안내형 최초 실행 마법사 omniroute doctor # 제공자, 포트, 네이티브 종속성 진단 ``` ### 🛰️ 원격 모드 — CLI는 여기서, OmniRoute는 VPS에서 실행 서버에서 OmniRoute를 실행하시나요? 노트북에서 **동일한 CLI**로 제어하세요. 범위가 지정된 액세스 토큰으로 한 번 로그인하면 이후 모든 명령이 원격 서버를 대상으로 실행됩니다. ```bash omniroute connect 192.168.0.15 # 비밀번호 → 범위 지정 토큰, 컨텍스트로 저장 omniroute models # ← 원격 서버를 대상으로 실행 omniroute configure codex # ← 원격 모델을 선택하고 로컬 Codex 프로필 작성 omniroute tokens create --name ci --scope read # 다른 머신용으로 범위가 더 제한된 토큰 발급 omniroute contexts use default # ← 로컬 서버로 다시 전환 ``` 토큰 범위는 `read` / `write` / `admin`이며, 프로세스를 생성하는 경로는 루프백 전용으로 유지됩니다. 📖 [원격 모드](docs/guides/REMOTE-MODE.md)
OmniRoute CLI를 시연하는 애니메이션 터미널 — omniroute providers list, omniroute combo list 및 omniroute health — 89개 명령어로 구성된 최상위 인터페이스를 순환 표시: providers · oauth · keys · combo · nodes · models · cache · compression · cost · usage · quota · health · resilience · telemetry · logs · audit · mcp · a2a · cloud · memory · skills · eval · tunnel · backup · sync · webhooks · policy · pricing · translator · simulate …
### 🤝 에이전트를 연결하면 OmniRoute 자체를 제어합니다 OmniRoute를 **MCP**, **A2A**, **REST API**, **웹훅** 또는 **원격 CLI**를 통해 노출하세요. 기능을 갖춘 모든 에이전트(또는 자체 코드)가 라우팅, 제공자, 조합, 캐시, 압축, 메모리를 포함한 전체 게이트웨이를 자율적으로 제어할 수 있습니다. 아래 HTTP 엔드포인트는 `http://localhost:20128`에서 제공됩니다.
인터페이스엔드포인트 / 명령어용도
🧰 MCP (stdio)omniroute --mcpClaude Desktop, Cursor 또는 모든 MCP 클라이언트에 연결
🌊 MCP (HTTP)/api/mcp/stream원격 MCP — 110개 도구, 33개 범위(선택적 적용), 완전한 감사 추적
📡 MCP (SSE)/api/mcp/sse스트리밍 MCP 전송
🤝 A2A/.well-known/agent.json에이전트 간 통신, JSON-RPC 2.0 + SSE, 6개 스킬
🌐 REST API/v1/*OpenAI 호환 — 채팅, 임베딩, 이미지, 오디오, OCR
🔔 웹훅/api/webhooks요청 / 할당량 이벤트를 Slack, Discord, Telegram 또는 모든 URL로 푸시
🛰️ 원격 CLIomniroute connect 범위가 지정된 액세스 토큰으로 원격 인스턴스 제어
```bash # MCP를 통해 Claude Code에 전체 OmniRoute 도구 세트 제공: claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream ``` 📖 [MCP 서버](docs/frameworks/MCP-SERVER.md) · [A2A 서버](docs/frameworks/A2A-SERVER.md) · [에이전트 프로토콜](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ 토큰 15–95% 절약 — 자동으로
### 📖 작동 방식 — 파이프라인, 아키텍처 및 절감 계산 OmniRoute 압축 파이프라인: 예시로 든 10,000 토큰 규모의 클라이언트 요청이 12개의 조합 가능한 엔진 — Session-Dedup, CCR, Lite, RTK, Responses Tool Output, Headroom, Relevance, Caveman, Aggressive, LLMLingua-2, Ultra, OmniGlyph — 을 차례로 통과하며, 문서에 나온 중첩 예시에서는 약 1,080 토큰으로 프로바이더에 도달할 수 있습니다. 구조화된 콘텐츠는 보존 가드와 단계별 충실도 게이트로 보호되며, 명시적인 손실성 또는 실험적 모드는 대상 콘텐츠를 변형할 수 있습니다. 기본 중첩 콤보는 `RTK → Caveman`을 실행합니다. 둘 다 같은 도구/컨텍스트 페이로드에 작용하면 절감 효과가 누적됩니다: ```txt combined = 1 − (1 − RTK) × (1 − Caveman_input) average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2% range = 78.4 – 94.6% ``` 코드 블록, URL, JSON 및 구조화된 데이터는 **항상 보존 엔진**에 의해 보호됩니다. > **적은 토큰으로 충분한데 왜 많은 토큰을 써야 할까요?** 모든 요청은 클라이언트 변경 없이 OmniRoute의 압축 파이프라인을 **투명하게** 통과합니다. 이제 이 파이프라인은 순서대로 실행되고 라우팅 콤보별로 조합·선택되는 **12개의 조합 가능한 엔진 스택**이며, [RTK](https://github.com/rtk-ai/rtk), [Caveman](https://github.com/JuliusBrussee/caveman) (⭐ 90K+), [LLMLingua-2](https://github.com/microsoft/LLMLingua), [Troglodita](https://github.com/leninejunior/troglodita) (PT-BR)의 아이디어를 기반으로 합니다. ### 🧱 12개 엔진 스택 엔진은 파이프라인 순서대로 실행되며, 각 엔진은 독립적으로 켜고 끌 수 있고 콤보별로 구성할 수 있습니다:
#엔진하는 일
1Session-Dedup턴 간에 반복되는 콘텐츠를 제거합니다 (콘텐츠 주소 기반, 턴 교차)
2CCR큰 블록을 검색 마커 뒤에 보관하고, 필요할 때 가져옵니다
3Lite공백 + 이미지 URL 정리 (지연이 적은 기본선)
4RTK스마트 도구 결과 필터링, 중복 제거 및 잘라내기 (명령 인식)
5Responses Tool Output셸/패치/검색/빌드 출력에 대한 무손실 우선 JSON + 범위 제한 진단 압축 (Responses API)
6Headroom벤더링된 GCF 코덱을 통한 JSON 배열의 무손실 표 형식 압축 (~30%)
7Relevance마지막 사용자 쿼리에 대비한 추출형 문장 점수화
8Caveman규칙 기반 산문 압축 (출력에서 ~65–75%)
9Aggressive요약 + 오래된 턴의 점진적 에이징
10LLMLingua-2MobileBERT ONNX를 통한 ML 의미론적 가지치기 — 코드 안전, 비동기
11Ultra선택적 소형 모델(SLM) 계층을 갖춘 휴리스틱 토큰 가지치기
12OmniGlyph직접 Anthropic 와이어에서 측정된 Claude Fable 5를 위한 실험적 컨텍스트-이미지 인코딩; GPT 5.6 트랜스포머는 프로바이더 영수증이 나올 때까지 fail-closed 상태로 유지됩니다. 네 가지 압축 프로필 (aggressive 기본, balanced, coding-safe, passthrough) (가장 공격적, 옵트인)
코드 블록, URL 및 구조화된 데이터는 **항상 바이트 단위로 완벽하게 보존**됩니다. **원클릭 프리셋**은 엔진을 조합합니다:
모드절감률적합한 용도
🪶 Lite~15%상시 켜두는 안전한 기본값
🪨 Standard (Caveman)~30%일상적인 코딩
⚡ Aggressive~50%도구 사용이 많은 긴 세션
🔥 Ultra~75%최대 절감
🧰 RTK60–90%셸/테스트/빌드/git 출력
🔗 Stacked (RTK → Caveman)78–95%혼합 프롬프트 + 도구 로그
**실제 예시 — 표준 모드:** > **변경 전 (69 토큰):** _"React 컴포넌트가 다시 렌더링되는 이유는 아마도 렌더 사이클마다 새 객체 참조를 만들고 있기 때문일 것입니다. 인라인 객체를 prop으로 전달하면 React의 얕은 비교가 매번 이를 다른 객체로 보기 때문에 재렌더가 트리거됩니다. useMemo를 사용해 객체를 메모이제이션하는 것을 권장합니다."_ > > **변경 후 (19 토큰):** _"렌더마다 새 객체 참조. 인라인 객체 prop = 새 참조 = 재렌더. useMemo로 감싸세요."_ > > **동일한 답변. 토큰 72% 감소. 정확도 손실 제로.** ✅ **PT-BR 예시 — [Troglodita](https://github.com/leninejunior/troglodita) 모드:** > **이전 (42 tokens):** _"O problema é que o componente está re-renderizando porque uma nova referência de objeto está sendo criada em cada ciclo de renderização. Eu recomendaria usar useMemo."_ > > **이후 (12 tokens):** _"Re-render: ref nova cada ciclo (objeto inline recriado). Usar `useMemo`."_ > > **같은 답변. 약 70% 토큰 절감. 기술적 정확성 그대로.** ✅
### 🎚️ 엔진 너머 — 출력 스타일, 적응형 다이얼 & 요청별 제어 위의 12개 엔진은 **들어가는** 것을 줄입니다. 세 가지 레이어가 더 **어떻게**, **언제**, 그리고 무엇이 **나오는지**를 결정합니다: - **🪄 출력 스타일** _(출력 축 조정)_ — 결정적이고 캐시에 안전한 응답 형태 지정 지침을 주입합니다. 조합할 수 있으며, 각각 `lite` / `full` / `ultra` 강도로 설정됩니다. 스타일 추가는 레지스트리 한 줄이면 됩니다: - **간결한 문장** — 군더더기 / 관사 / 완곡 표현을 제거하고, 기술적 실질은 정확히 유지합니다. - **코드 최소화** — "게으른 시니어 개발자" YAGNI: 동작하는 최소 변경, 요청하지 않은 스캐폴딩 없음. - **포니테일 (게으른 시니어 개발자)** — YAGNI 사다리를 오르고, 근본 원인을 고치고, 동작하는 최소 diff. - **ADHD 있음 (행동 우선)** — 다음 행동이 앞에 오고, 단계는 번호로 매기고, 구체적인 다음 단계 하나, 서두 없음. - **간결한 CJK (文言)** — 한문체 초간결 스타일 (`zh` 로케일로 제한). - **🎯 적응형 컨텍스트 예산** _(다이얼)_ — 하나의 on/off 토큰 임계값 대신, **모델의 컨텍스트 윈도우에 맞출** 만큼만 가장 저렴하고 손실이 가장 적은 엔진을 단계적으로 적용합니다. 정책: `reserve-output` (기본값, 모델 인식) · `percentage` · `absolute`. 모드: `floor` (수용 보장) · `replace-autotrigger` (명시적 선택이 우선) · `off` (레거시 임계값). - **🎛️ 압축이 결정되는 위치** _(우선순위, 높음 → 낮음)_ — 요청별 `x-omniroute-compression` 헤더 › 라우팅 콤보 재정의 › 활성 명명 프로필 › 적응형 / 자동 트리거 › 패널 기본값 › 끔. 적용된 계획은 `X-OmniRoute-Compression: ; source=` 응답 헤더로 되돌아옵니다. 토큰 임계값으로 자동 트리거하거나, 적응형 다이얼을 켜거나, 명명 프로필을 고정하거나, 요청 단위로 일회성 설정을 하거나, 라우팅 콤보별로 파이프라인을 지정하세요 — 워크로드에 맞는 방식을 택하면 됩니다. 옵트인 오프라인 **eval 하네스**(`npm run eval:compression`)가 변경을 승격하기 전에 고정된 코퍼스에서 충실도 대 절감량을 점수화합니다. 📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ 빠른 시작
**1) 설치 및 실행** ```bash npm install -g omniroute omniroute ``` > 💡 `npm warn ERESOLVE` 또는 peer-dep 경고가 보이나요? [무해합니다](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated). > **npm 11 이상을 사용 중인가요?** npm은 허용되지 않는 한 패키지 라이프사이클 스크립트를 차단할 수 있습니다. OmniRoute의 `postinstall`(`node scripts/build/postinstall.mjs`)은 네이티브 런타임 파일을 준비하는 데 필요합니다. 전역 설치 시 npm 경고에 명시된 패키지를 허용하세요. OmniRoute 3.8.53에서 보고된 패키지 집합은 다음과 같습니다: > > ```bash > npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute > ``` > > 이 허용 목록을 향후 전역 설치에도 재사용하려면 한 번만 설정한 뒤 평소처럼 설치하세요: > > ```bash > npm config set allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild --location=user > npm install -g omniroute > ``` > > 의존성 목록은 릴리스마다 바뀔 수 있습니다. npm이 다른 목록을 보고하면 해당 경고에 나온 패키지 이름을 사용하세요. 패키지를 허용하면 그 패키지의 설치 스크립트 실행이 허용됩니다. > **Gemini Web 또는 다른 웹 쿠키 기반 프로바이더를 사용 중인가요?** npm 패키지에는 Playwright가 포함되어 있지만 Chromium 바이너리는 포함되어 있지 않습니다. 첫 웹 프로바이더 요청을 보내기 전에 [Playwright Chromium 설정](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium) 안내를 확인하세요. 대시보드: `http://localhost:20128` · API: `http://localhost:20128/v1`. **2) 본인 계정으로 적격 프로바이더 연결** 대시보드 → **Providers** → 현재 약관과 할당량이 사용 사례에 맞는 프로바이더를 선택 → API 키를 추가하거나 계정 연동 절차를 완료하세요. 무료 티어는 가입, 승인 또는 결제 수단을 요구할 수 있습니다. [Free Tiers Guide](docs/getting-started/FREE-TIERS-GUIDE.md)를 확인하세요. 키 없이 사용 가능한지는 보장되지 않으며, `tos: avoid`로 표시된 프로바이더는 기본적으로 `auto`에서 제외됩니다. **3) 코딩 도구 연결** ```txt Base URL: http://localhost:20128/v1 API Key: [copy from Dashboard → Endpoints] Model: auto (routes among eligible connections — or choose provider/model) ``` **4) 동작 확인** ```bash curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY" ``` 연결된 모델이 목록에 표시되어야 합니다. 🎉 이제 끝입니다 — 코딩을 시작하면 OmniRoute가 자동 라우팅과 폴백을 처리합니다. 클라이언트가 커스텀 헤더를 보낼 수 없다면, OmniRoute는 토큰화된 호환성 별칭도 제공합니다: ```txt OpenAI catalog: http://localhost:20128/vscode/YOUR_KEY/ OpenAI models: http://localhost:20128/vscode/YOUR_KEY/models OpenAI chat: http://localhost:20128/vscode/YOUR_KEY/chat/completions OpenAI responses: http://localhost:20128/vscode/YOUR_KEY/responses Ollama chat: http://localhost:20128/vscode/YOUR_KEY/api/chat Ollama tags: http://localhost:20128/vscode/YOUR_KEY/api/tags ``` 이 별칭은 `Authorization: Bearer ...`를 붙일 수 없는 클라이언트에만 사용하세요. 헤더 인증이 여전히 권장 방식입니다.
## 📦 더 많은 설치 방법 — Docker, 소스, pnpm, Arch **🐳 Docker** ```bash docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \ -p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest ``` `:latest`는 **게시된** 안정 SemVer 중 가장 높은 버전을 따릅니다. git `main`을 추적하지 않습니다. GitOps에서는 `:X.Y.Z`로 버전을 고정하세요. [Docker 릴리스 채널](docs/guides/DOCKER_GUIDE.md#release-channels)을 참조하세요. 이미지에는 **`OMNIROUTE_MEMORY_MB=1024`**가 고정 설정되어 있습니다. 대시보드와 가벼운 채팅에는 충분합니다. **코딩 에이전트**(Claude Code, Codex, Grok 등에서 보내는 `POST /v1/responses`)에는 훨씬 더 큰 V8 힙이 필요하며, 긴 컨텍스트 두 개가 겹치면 약 12 GiB에서 프로세스에 `FATAL ERROR`가 발생합니다. 네이티브 버퍼는 V8 외부에 있으므로 컨테이너 크기를 힙보다 크게 설정하세요. | 워크로드 | 힙 (`-e OMNIROUTE_MEMORY_MB`) | 컨테이너 (`--memory`) | | -------------------------------------- | ----------------------------- | --------------------- | | 대시보드 / 가벼운 채팅 | `1024` (이미지 기본값) | ≥2 g | | 코딩 에이전트 하나 | `8192` | ≥10 g | | 동시 실행되는 긴 `/v1/responses` 두 개 | `10240`–`12288` | ≥12–16 g | ```bash docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \ -e OMNIROUTE_MEMORY_MB=8192 --memory=10g \ -p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest ``` 전체 표: [Docker 가이드 — 런타임 RAM](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents). > **사전 릴리스 Docker 채널:** `diegosouzapw/omniroute:next` 및 > `diegosouzapw/omniroute:next-web`은 현재 기본 `release/v*` > 브랜치를 따릅니다. 이러한 가변 태그는 릴리스되지 않은 수정 사항을 테스트하는 용도로만 제공되며 > **프로덕션 환경에서는 지원되지 않습니다**. 자세한 내용은 > [Docker 릴리스 채널](docs/guides/DOCKER_GUIDE.md#release-channels)을 참조하세요. **🥟 Bun** Bun 런타임 감지를 통해 표준 `bun install` 및 전역 설치(`bun install -g omniroute`)를 지원합니다. - **내장 `bun:sqlite`**: OmniRoute는 Bun에서 실행될 때 Bun의 내장 `bun:sqlite` 드라이버를 사용하며, Node.js에서는 `better-sqlite3` 또는 `sql.js`로 대체됩니다. - **개발 환경에서 자동 Webpack 번들러 선택**: 개발(`bun run dev`) 시 Bun을 자동으로 감지하고 네이티브 V8 바인딩 비호환성을 방지하기 위해 Turbopack을 비활성화하고 Webpack을 사용합니다. 프로덕션 빌드(`bun run build`)는 Node와 마찬가지로 `OMNIROUTE_USE_TURBOPACK`을 정확히 따릅니다. 기본값은 Turbopack이며, Webpack으로 빌드하려면 `OMNIROUTE_USE_TURBOPACK=0`을 사용합니다(`Dockerfile.bun`에서는 이를 `--build-arg`로 노출합니다). - **전용 Bun Dockerfile**: 네이티브 Bun 프로덕션 배포를 위한 다단계 `Dockerfile.bun`입니다(`docker build -f Dockerfile.bun -t omniroute:bun .`). ```bash # Bun으로 설치 및 실행 bun install bun run dev ``` **🛠️ 소스에서 설치** ```bash cp .env.example .env && npm install PORT=20128 npm run dev ``` **📦 pnpm** ```bash pnpm add -g omniroute@latest --allow-build=better-sqlite3 --allow-build=@swc/core && omniroute ``` **🐧 Arch Linux (AUR)** ```bash yay -S omniroute-bin && systemctl --user enable --now omniroute.service ``` **🔧 Nix (Flake)** ```bash # Nix flakes 사용 nix develop npm run dev # 또는 devbox 사용 devbox run npm run dev ``` 📖 [Docker 가이드](docs/guides/DOCKER_GUIDE.md) — Compose 프로필, Caddy HTTPS, Cloudflare 터널. **🦭 Podman** ```bash # 1. 바인드 마운트할 데이터 디렉터리 준비 mkdir -p data # 2. Linux + 로컬 루트리스 Podman에서만 실행(원격 Podman Machine 클라이언트에서는 절대 실행하지 마세요): podman unshare chown 1000:1000 ./data # 3. 런타임 힌트를 설정하고 로컬 Compose 이미지를 빌드한 후 시작 echo "CONTAINER_HOST=podman" >> .env podman compose --profile base up -d --build ``` macOS 또는 Windows에서 Podman은 원격 Podman Machine을 사용합니다. `podman unshare`를 건너뛰고 [토폴로지별 데이터 디렉터리 지침](contrib/podman/README.md#data-directory-permissions-by-topology)을 따르세요. 📖 [Podman 가이드](contrib/podman/README.md) — Compose 빌드, Podman Machine 및 Linux/systemd Quadlet 설정. **⚡ 더 빠르고 가벼운 설치(네이티브 빌드 건너뛰기)** 네이티브 SQLite 엔진(`better-sqlite3`)은 **선택적** 의존성이므로 전역 설치가 소스 컴파일로 인해 중단되는 일은 없습니다. 플랫폼/Node에 맞는 사전 빌드 바이너리가 있으면 이를 사용하고, 그렇지 않으면 순수 JS 엔진(Node 22 이상에서는 `node:sqlite`, 그 외에는 번들된 `sql.js` WASM)으로 투명하게 대체되므로 빌드 도구가 필요하지 않습니다. 설치 후 네이티브 워밍업을 완전히 건너뛰려면(CI, 헤드리스 또는 느린 머신): ```bash OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1도 이를 건너뜁니다 ``` 가장 빠른 설치를 위해서는 **pnpm**을 권장합니다(콘텐츠 주소 지정 저장소 + 하드 링크 — 위 내용 참조). 대시보드가 없는 헤드리스 런타임에는 위의 Docker `base` 프로필이나 [Termux 가이드](docs/guides/TERMUX_GUIDE.md)를 사용하세요. CLI와 웹 대시보드는 동일한 프로세스가 하나의 포트에서 제공하므로 현재 별도의 CLI 전용 패키지는 없습니다.
# 🎬 OmniRoute 실행 모습
## 📹 동영상 가이드
2026-10-18 기준 대시보드 스냅샷 · 원시 카탈로그: YT 1.352 | TT 334 | IG 290 · 최신성(일): YT 5 | TT 48 | IG 49
Instagram 릴스 — nick_saraev
🎬 #1 — Instagram
nick_saraev — 조회수 3,042,474회
Instagram 릴스 — nnapier7
🎬 #2 — Instagram
nnapier7 — 조회수 1,454,535회
YouTube — Amidia AI & Tech
🎬 #3 — YouTube
Amidia AI & Tech — 조회수 794,974회
Instagram 릴스 — theopenstack
🎬 #4 — Instagram
theopenstack — 조회수 692,419회
TikTok — migue.baena
🎬 #5 — TikTok
migue.baena — 조회수 685,788회
**전체 순위(중복 제거된 정규 URL, `v > 0`, 도달 범위순):** | #1 | #2 | #3 | #4 | #5 | | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | | [nick_saraev — Instagram](https://www.instagram.com/reel/Da8ZthUPK98/) — **3,042,474** | [nnapier7 — Instagram](https://www.instagram.com/reel/Dbp7wv_CIO0/) — **1,454,535** | [Amidia AI & Tech — YouTube](https://www.youtube.com/watch?v=NJ0TQ-pyMDY) — **794,974** | [theopenstack — Instagram](https://www.instagram.com/reel/DaSs65mMrHk/) — **692,419** | [migue.baena — TikTok](https://www.tiktok.com/@migue.baena/video/7670919268216622358) — **685,788** | | #6 | #7 | #8 | #9 | #10 | | ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | | [milesreevesai — TikTok](https://www.tiktok.com/@milesreevesai/video/7667980059189366019) — **620,400** | [nikothetech — TikTok](https://www.tiktok.com/@nikothetech/video/7671890769665477918) — **610,803** | [Vaibhav Sisinty — YouTube](https://www.youtube.com/watch?v=QucgvbO5gsM) — **509,281** | [buildwithai.club — Instagram](https://www.instagram.com/reel/DbIt9AjK7-U/) — **347,652** | [nivedan.ai — Instagram](https://www.instagram.com/reel/DbIrCksJiqq/) — **331,973** | 2026-10-18 기준 정규 지표: **고유 동영상 1.976개** · **확인된 조회수 20.220.289회** (`v > 0`) · **네트워크별 채널/프로필 1.210개**. 원시 대시보드에는 1.976개 행(YouTube 1.352개 = 긴 형식 740개 + Shorts 612개 · TikTok 334개 · Instagram 290개)이 포함되어 있습니다. 동영상별로 가장 높은 조회수를 유지하는 정규 URL 기반 정규화 이후 중복 항목은 남아 있지 않습니다. YouTube 데이터 수집은 2026-10-13에 중단되었으며(14일부터 18/10까지 API 할당량 소진), TikTok/Instagram 데이터 수집은 2026-09-02부터 중단되었습니다(수집 크레딧 없음). 아직 조회수가 집계되지 않은 동영상은 76개입니다. > 🎬 **OmniRoute에 관한 동영상을 만드셨나요?** 링크와 함께 [이슈](https://github.com/diegosouzapw/OmniRoute/issues/new) 또는 [토론](https://github.com/diegosouzapw/OmniRoute/discussions)을 등록해 주세요. 여기에 소개해 드리겠습니다.
# 📧 커뮤니티 및 도움말 > 모든 것을 한곳에서 이용하세요. 유지관리자를 팔로우하고, 커뮤니티와 대화하거나, 이슈를 등록하세요. | 채널 | 위치 / 방법 | | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | | 💼 **LinkedIn** — 메인테이너 팔로우 | [linkedin.com/in/diegosouzapw](https://www.linkedin.com/in/diegosouzapw/) | | 🐙 **GitHub** — 릴리스 및 팁을 받으려면 팔로우 | [@diegosouzapw](https://github.com/diegosouzapw) | | 💬 **Discord** | [discord.gg/U47eFqAXCn](https://discord.gg/U47eFqAXCn) | | ✈️ **Telegram** | [t.me/omnirouteOficial](https://t.me/omnirouteOficial) | | 🟢 **WhatsApp — 🌍 글로벌** | [그룹 참여](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) | | 🟢 **WhatsApp — 🇧🇷 브라질** | [그룹 참여](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) | | 🌍 **웹사이트** | [omniroute.online](https://omniroute.online) | | 🌍 **🌍StHub OmniRoute 커뮤니티(무료)** | [StHub 포털](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK) | | 📦 **소스 코드** | [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) | | 🐛 **버그 신고** | [이슈 등록](https://github.com/diegosouzapw/OmniRoute/issues) — `npm run system-info` 출력 첨부 | | 🤝 **기여** | [CONTRIBUTING.md](CONTRIBUTING.md) · [브랜치 및 릴리스 모델](docs/ops/BRANCHING_MODEL.md) · `good first issue` 선택 | | 💚 **프로젝트 후원** | [후원 방법 ↑](#-support-omniroute) · [GitHub Sponsors](https://github.com/sponsors/diegosouzapw) |
---
## 🛠️ 기술 스택
계층기술
런타임Node.js 22.x / 24.x LTS — >=22.22.2 <23 || >=24.0.0 <27
언어TypeScript 6.0 — src/ 및 open-sse/ 전반에 걸쳐 100% TypeScript (v2.0 이후 코어에 any 없음)
프레임워크Next.js 16 + React 19 + Tailwind CSS 4
데이터베이스better-sqlite3 (SQLite, WAL 저널링) + LowDB (JSON 레거시) — 147개 도메인 모듈, 209개 마이그레이션
메모리SQLite FTS5 전문 검색 + int8 양자화 벡터 임베딩, 타입 지정 감쇠(typed decay)
스키마Zod 4 — MCP 도구 입출력 검증 + API 계약
프로토콜MCP (stdio / HTTP / SSE) + A2A v0.3 (JSON-RPC 2.0 + SSE)
스트리밍Server-Sent Events (SSE) + WebSocket 브리지 (/v1/ws)
압축12개 엔진 파이프라인 — RTK, Caveman, LLMLingua-2 (MobileBERT ONNX), GCF, OmniGlyph
인증 및 보안OAuth 2.0 (PKCE) + JWT + API 키 + MCP 범위 지정 인증 · 저장 시 AES-256-GCM 암호화 · DOMPurify
스텔스wreq-js — JA3 / JA4 TLS 지문 위장, 3단계 프록시
복원력서킷 브레이커, 지수 백오프, 썬더링 허드 방지, auto-combo 자가 복구
로깅pino — 요청 컨텍스트를 포함한 구조화된 JSON 로그
테스트Node.js 테스트 러너 + Vitest — 7,800개 이상의 추적된 테스트 파일 전반에 걸쳐 56,000개 이상의 정적 테스트 선언 (단위, 통합, E2E, 보안, 에코시스템)
플랫폼데스크톱 (Electron) · Android (Termux) · PWA (모든 브라우저)
CI/CDGitHub Actions — 릴리스 시 npm 자동 배포 + Docker Hub
링크웹사이트 · npm · Docker Hub

## 📖 문서
### 📘 시작하기
문서설명
사용자 가이드제공자, 콤보, CLI 통합, 배포
설정 가이드전체 설치 방법, CLI 도구 구성, 프로토콜 설정, 타임아웃 조정
CLI 도구 가이드Claude Code, Codex, Cursor, Cline, OpenClaw, Kilo, Copilot별 설정
원격 모드범위 지정 액세스 토큰을 통해 노트북 CLI에서 원격 OmniRoute(VPS) 제어
Claude Code 구성launch + 모델별 프로필로 Claude Code를 OmniRoute(로컬/원격)에 연결
빠른 시작3단계 설치 → 연결 → 구성
### 🔧 운영 및 배포
문서설명
Docker 가이드Docker 실행, Compose 프로필, Caddy HTTPS, 터널, 이미지 태그
Podman 가이드Quadlet systemd 통합, podman-compose, SELinux
VM 배포전체 가이드: VM + nginx + Cloudflare 설정
Fly.io 배포영구 저장소를 사용하여 Fly.io에 배포
Termux 가이드Termux를 통해 Android에서 OmniRoute 실행
PWA 가이드프로그레시브 웹 앱 설치, 캐싱, 아키텍처
제거 가이드모든 설치 방법에 대한 깔끔한 제거
환경 구성전체 .env 변수 및 참조
### 🧠 기능 및 아키텍처
문서설명
아키텍처시스템 아키텍처, 데이터 흐름 및 내부 구조
압축 가이드7가지 옵션 파이프라인: off / lite / standard / aggressive / ultra / RTK / stacked
RTK 압축명령 출력 압축, 필터, 신뢰, 검증, 원시 출력 복구
압축 엔진Caveman, RTK, 스택형 파이프라인, 대시보드/API/MCP 인터페이스
압축 규칙 형식Caveman 및 RTK 필터용 JSON 규칙 팩 스키마
압축 언어 팩언어 감지 및 Caveman 규칙 팩 작성
복원력 가이드서킷 브레이커, 쿨다운, 큐, 썬더링 허드 방지, TLS 스푸핑
자동 콤보 엔진16개 요소 점수 산정, 모드 팩, 자가 복구
프록시 가이드3단계 프록시 시스템, 1proxy 마켓플레이스, 레지스트리 CRUD
무료 티어통합 디렉터리: 문서화된 반복 풀 34개 / 카탈로그화된 무료 티어 항목 467개
기능 갤러리스크린샷이 포함된 시각적 대시보드 투어
코드베이스 문서초보자 친화적 코드베이스 해설
### 🤖 프로토콜 및 API
문서설명
API 참조예제가 포함된 모든 엔드포인트
OpenAPI 사양OpenAPI 3.0 사양
MCP 서버MCP 도구 110개, IDE 구성, Python/TS/Go 클라이언트
MCP 서버 가이드MCP 설치, 전송 방식 및 도구 참조
A2A 서버JSON-RPC 2.0 프로토콜, 스킬, 스트리밍, 작업 관리
A2A 서버 가이드A2A 에이전트 카드, 작업, 스킬 및 스트리밍
### 📋 프로젝트 및 품질
문서설명
기여하기개발 환경 설정 및 가이드라인
브랜치 & 릴리스 모델PR 대상 브랜치(release/*), main과 태그의 의미
변경 로그버전별 전체 릴리스 이력
보안 정책취약점 신고 및 보안 관행
i18n 가이드67개 언어 지원, 번역 워크플로, RTL
릴리스 체크리스트릴리스 전 검증 단계
커버리지 계획7,800개 이상의 추적 대상 테스트 파일에 걸친 56,000개 이상의 정적 테스트 선언을 위한 테스트 커버리지 전략

# ⭐ 최고 기여자 > OmniRoute는 열정적인 오픈소스 커뮤니티가 함께 만들어 갑니다. 아래 인물들은 프로젝트의 품질, 안정성, 도달 범위에 직접적인 영향을 미치는 뛰어난 기여를 해주었습니다. **감사합니다.** ### 병합된 풀 리퀘스트 기준 외부 기여자
순위기여자병합된 PR~변경된 줄 수
1maxmad64bis37125,326,561
2HouMinXi26913,456,272
3backryun210270,562
4oyi77190411,243
5pacocartones17478,276
6JxnLexn1513,562,936
6KooshaPari1515,972,314
8rdself14580,663
9RaviTharuma123500,065
10herjarsa88230,872
11hartmark842,849,554
12jonlwheat2-gif6768,548
13artickc6243,502
14chirag127526,661
15xz-dev50245,976
16xiaoyaner02014733,626
17woodsonl46809,391
18rqzbeh44147,896
19QuangBlue4313,112
20MumuTW4026,093
인구 조사는 2026-10-18 15:09:09 UTC에 라이브 release/v3.8.52 팁 656f01cb43 기준으로 수행되었습니다. 페이지네이션된 GitHub GraphQL 인구 조사에는 9,191개의 병합된 PR이 포함되어 있으며, 그중 3,834개는 저장소 소유자, 229개는 Dependabot, 6개는 기타 봇/앱, 그리고 835명의 서로 다른 기여자가 제출한 5,122개의 외부 PR입니다. "변경된 줄 수"는 GitHub의 추가 + 삭제 수치로, 생성된 파일, lockfile, 카탈로그, 번역 및 문서를 포함합니다. 즉, 작성된 LOC가 아니라 총 변동량(churn)입니다. 49개의 PR이 500,000줄을 초과하는 GitHub diff를 보고하며(예: 단일 제공자 추가인 #13399는 2,347개의 변경된 파일을 나열), 이로 인해 위의 여러 합계가 부풀려졌습니다. 동점인 경우 함께 순위가 매겨집니다. ### GitHub에 귀속된 커밋
Dizzle
Dizzle

🥇 GitHub 귀속 커밋 367개
Bob.Hou
Bob.Hou

🥈 GitHub 귀속 커밋 269개
Paijo
Paijo

🥉 GitHub 귀속 커밋 229개
backryun
backryun

🏅 GitHub 귀속 커밋 202개
Paco Cartones
Paco Cartones

🏅 GitHub 귀속 커밋 174개
Ravi Tharuma
Ravi Tharuma

🏅 GitHub 귀속 커밋 126개
Markus Hartung
Markus Hartung

🏅 GitHub 귀속 커밋 114개
Randi
Randi

🏅 GitHub 귀속 커밋 108개
Jan Leon
Jan Leon

🏅 GitHub 귀속 커밋 87개
Chris
Chris

🏅 GitHub 귀속 커밋 70개
Koosha Paridehpour
Koosha Paridehpour

🏅 GitHub 귀속 커밋 68개
2026-10-18 14:44:45 UTC에 재확인함: `release/v3.8.52` 기본 브랜치에 대해 저장소 Contributors API가 보고한 GitHub 귀속 커밋입니다. API는 849개의 ID(사용자 429명, 봇 2개, 익명 418개)를 반환했습니다. 이 표는 유지관리자, 봇, 익명 ID를 제외하며 동점은 그대로 유지합니다. 위의 병합된 PR 순위 및 아래의 Git 메타데이터 집계와는 별개입니다. > 🙏 이 기여자들의 기능, 버그 수정, 인프라 개선은 OmniRoute를 안정적이고 기능이 풍부하게 만드는 **핵심 부분**입니다. 모든 풀 리퀘스트, 모든 테스트 케이스, 모든 i18n 번역 파일이 중요합니다. 오픈 소스는 이들과 같은 사람들에 의해 만들어집니다.
---
## 💖 스폰서
자비로 OmniRoute를 후원해 주시는 모든 분께 진심으로 감사드립니다. 여러분의 모든 후원은 프로젝트가 무료로 독립성을 유지하며 계속 발전하는 데 큰 힘이 됩니다.
Andrew
Andrew

💛 현재 월간 스폰서
Vlad I
Vlad I

💛 현재 월간 스폰서
小妍儿
小妍儿

💛 현재 월간 스폰서
Guilherme Costa
Guilherme Costa

💛 현재 일회성 스폰서
Henrique Triches Iurkiv
Henrique Iurkiv

💛 현재 일회성 스폰서
Somesh Ghaturle
Somesh Ghaturle

💛 현재 일회성 스폰서
Kolonie AI
Kolonie AI

💛 과거 일회성 후원자
Professor Igor Morais Vasconcelos
Prof. Igor Morais

💛 과거 일회성 후원자
Pixma
Pixma

💛 과거 일회성 후원자
Paco Cartones
Paco Cartones

💛 과거 일회성 후원자
longtao
longtao

💛 과거 일회성 후원자
… 그리고 익명으로 남기를 원하시는 다른 분들께도 감사드립니다 💛 공개 GitHub Sponsors 정보는 2026-10-18에 GitHub Sponsors GraphQL API를 통해 재검증되었습니다. 총 14건 중 공개 후원은 11건(현재 6건, 과거 5건)입니다. 위의 현재 후원자 표시는 GitHub의 isActive 상태에 따라 결정됩니다. 과거의 공개 일회성 후원자에게도 계속 감사를 표하며, 비공개 스폰서는 익명으로 유지됩니다. Ko-fi, Buy Me a Coffee, Liberapay, PIX 및 암호화폐 후원은 공개 스폰서 기록이 없으므로 표시되지 않습니다. 💖 스폰서가 되어 주세요 → — 모든 후원금은 OmniRoute가 무료로 독립성을 유지하는 데 도움이 됩니다.

## 👥 900명 이상의 기여자
[![기여자](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=993&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) 2026-10-18에 라이브 release/v3.8.52의 최신 커밋 ad160ab2d1(커밋 6,826개)을 기준으로 감사함: 정규화된 실제 사람 Git ID 993개 — 707개는 커밋 작성자(유지관리자 포함)로 나타나며, 286개는 명시적인 Co-authored-by 트레일러에만 나타납니다. 이 집계에는 .mailmap을 적용하고, 이메일 주소를 대소문자 구분 없이 비교하며, 숫자형 및 일반 GitHub noreply 주소는 동일한 핸들을 나타내는 경우에만 연결하고, 봇/에이전트/서비스/자리표시자 ID 26개를 제외하며, 표시 이름이 일치한다는 이유만으로 일반 이메일 주소를 병합하지 않습니다. 2026-08-24 감사에서는 639개를 발표했으며, 이 방법을 해당 감사의 기준 커밋 ac02c5b42f에 다시 적용하면 619개가 나오므로, 증가분은 더 느슨한 방법이 아니라 새로운 기여자에서 비롯된 것입니다. ### 기여 방법 1. 저장소를 포크합니다 2. `main`이 아닌 **활성** `release/vX.Y.Z`의 최신 커밋에서 브랜치를 생성합니다 — [브랜치 및 릴리스 모델](docs/ops/BRANCHING_MODEL.md)을 참조하세요 3. 기능 브랜치를 생성합니다(`git checkout -b feat/amazing-feature`) 4. 변경 사항을 커밋합니다(`git commit -m 'feat: add amazing feature'`) 5. 브랜치에 푸시합니다(`git push origin feat/amazing-feature`) 6. **base = 해당 `release/vX.Y.Z` 브랜치**로 설정하여 풀 리퀘스트를 엽니다 자세한 지침은 [CONTRIBUTING.md](CONTRIBUTING.md)를 참조하세요. ### 새 버전 릴리스 ```bash # 릴리스 생성 — npm publish는 자동으로 실행됩니다 VERSION=x.y.z gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes ```
## 📊 스타 스타 기록 차트
## 🌍 StarMapper StarMapper

## 🙏 감사의 말
OmniRoute는 거인들의 어깨 위에 서 있습니다. **[9router](https://github.com/decolua/9router)**의 포크이자 Go 프로젝트 **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)**의 TypeScript 포트로 시작했으며, 이후 아래의 모든 서브시스템은 먼저 길을 개척한 오픈 소스 프로젝트에서 영감을 받았습니다. 각 프로젝트는 OmniRoute의 구체적인 부분을 형성하는 데 기여했습니다. 이 모든 프로젝트에 감사를 전합니다. 🙏 > ⭐ 스타 수는 2026년 10월 18일 GitHub의 REST API를 통해 확인되었습니다 — 이 프로젝트들에 스타를 눌러 주세요. 수치는 해당 날짜를 기준으로 한 정확한 스냅샷이며 시간이 지나면서 자연스럽게 변경됩니다. ### 🧬 계보 및 게이트웨이
프로젝트⭐OmniRoute에 영감을 준 방식
9router31,004이 포크의 기반이 된 원본 프로젝트로, 여기에서는 멀티모달 API를 추가하고 TypeScript로 완전히 재작성하여 확장했습니다.
CLIProxyAPI55,591이 JavaScript / TypeScript 포트에 영감을 준 Go 구현입니다.
LiteLLM61,482공개 가격 데이터세트가 비용 추적 동기화에 사용되고, 공급자 정규화 모델이 라우팅 설계에 영향을 준 AI 게이트웨이입니다.
codex-chatgpt-web14,526브라우저 세션, 응답 프레이밍, 사용량 및 웹 검색 어댑터를 포함하여 벤더링된 ChatGPT Web → Codex Responses 브리지에 적용된 MIT 소스입니다.
free-claude-code61,430스트림 복구, 비사고 별칭, 대체 웹 검색, 슬라이딩 윈도 제한, 로그 정보 제거 및 강화된 런처 흐름에 이식된 패턴입니다.
composer-api346네이티브 Cursor 실행기에 적용된 Cursor Composer 도구 선택, 출력 제약 및 도구 커밋 패턴입니다.
codex-multi-auth553Codex OAuth 재인증에 이식된 신규 로그인 및 새로 고침 토큰 순환 패턴입니다.
opencode-anthropic-auth558Claude Code 호환 변환 기본값과 결제 헤더 동작을 OmniRoute의 구성 기반 브리지로 일반화했습니다.
grok2api-merged2Grok 모델 매핑, 가짜 TypeError Statsig 생성기, 요청 및 기기 기본값, NDJSON 응답 프로세서를 OmniRoute의 Grok Web 실행기에 실질적으로 적용했습니다.
TQZHR/grok2api706grok2api-merged의 주요 간접 코드 출처로, 모델, 헤더, 페이로드, Statsig 및 프로세서 구현이 Grok Web 계보에 보존되어 있습니다.
chenyme/grok2api7,819TQZHR 및 grok2api-merged를 거쳐 이어진 Grok 페이로드와 기기 기본값, Statsig 생성기 및 result.response 프로세서의 기반이 되는 MIT 소스입니다.
grok2api-pro27grok2api-merged가 프록시 풀 계층의 출처로 명시한 간접 소스입니다. OmniRoute는 해당 계보 고지를 유지하지만, 범위가 제한된 Grok Web 실행기에 프록시 풀을 이식했다고 주장하지는 않습니다.
GrokProxy51쿠키 인증 방식의 Grok 프록시와 result.response.token 스트리밍 패턴이 OmniRoute의 Grok Web 전송 계층에 영향을 주었습니다.
GrokBridge5초기 Grok Web 구현에서 이 프로젝트의 HTTP/브라우저 업스트림 설계를 참고했습니다. 직접 HTTP 경로는 GrokProxy에서 파생되었으므로 별도의 코드 포트를 주장하지 않습니다.
### 🗜️ 컨텍스트 및 토큰 압축 — 엔진
프로젝트⭐OmniRoute에 준 영감
Caveman113,396화제가 된 "적은 토큰으로 되는데 왜 많은 토큰을 쓰나" 프로젝트 — 이 프로젝트의 원시인 말투 철학은 당사의 표준 압축 모드와 30개 이상의 군더더기 제거/축약 규칙의 기반입니다.
RTK – Rust Token Killer83,835고성능 명령 출력 압축 — 당사의 RTK 엔진, JSON 필터 DSL, 원시 출력 복구 및 계층형 RTK → Caveman 파이프라인에 영감을 주었습니다.
headroom75,741가역적 컨텍스트 압축(SmartCrusher) — 당사의 headroom 엔진과 ccr 검색 마커 패턴에 영감을 주었습니다.
LLMLingua6,757프롬프트 압축 연구(LLMLingua / LLMLingua-2) — 당사의 비동기식이며 코드에 안전하고 장애 시 원본을 사용하는 llmlingua 엔진에 영감을 주었습니다.
llmlingua-2-js32당사의 LLMLingua 엔진에서 워커 스레드 백엔드로 사용하는 JS/ONNX 포트(MobileBERT / XLM-RoBERTa)입니다.
Troglodita50pt-BR 토큰 압축 — 브라질 포르투갈어 문법에 맞게 조정된 중복 표현 축소 및 군더더기 제거 기능을 포함하는 당사의 pt-BR 언어 팩을 구동합니다.
ponytail166,731화제가 된 "게으른 시니어 개발자" YAGNI 코더 스킬 — 당사의 less-code 출력 스타일에 영감을 주었습니다. 이는 작동하는 최소한의 변경을 유도하여 _생성되는_ 코드의 양을 줄입니다(Caveman의 간결한 산문과 짝을 이루는 출력 축 방식).
i-have-adhd57,628행동 우선의 ADHD 친화적인 응답 스타일을 다섯 가지 언어에 걸친 OmniRoute의 간결한 출력 스타일에 맞게 적용했습니다.
### 🧩 압축 형식, 토큰 연구 및 코드 인식 도구
프로젝트⭐OmniRoute에 준 영감
TOON25,509토큰 지향 객체 표기법 — 열 기반의 헤더와 행 모델이 당사의 표 형식 압축 단계를 구체화했습니다.
GCF – Graph Compact Format59이 프로젝트의 압축 그래프 형식과 일반 프로필 설계는 OmniRoute의 표 형식 압축 및 Headroom 코덱 형식에 영향을 주었습니다.
gcf-typescript4Headroom 일반 프로필 코덱으로 직접 벤더링하고 확장한 MIT TypeScript 구현입니다.
token-optimizer-mcp551Brotli/SQLite 캐시 + 세션별 컨텍스트 델타 — 당사의 session-dedup 엔진에 영감을 주었습니다.
token-savior1,182Bash 출력 압축 + MCP 프로필 — 당사의 압축 중단 원칙과 MCP 도구 매니페스트 축소에 영감을 주었습니다.
token-saver154콘텐츠를 인식하는 파일 유형별 출력 압축과 실패를 고려한 중단 처리 — 당사의 유형별 디스패치와 최소 이득 미달 시 건너뛰기 방식을 검증했습니다.
token-optimizer2,595"유령 토큰 찾기" — 이 프로젝트의 오프로딩 + 복구 가능한 핸들 패턴은 당사의 CCR 오프로딩 구상에 영향을 주었습니다.
TokenMizer33당사의 세션 중복 제거 설계에 영향을 준 세션 그래프 + 턴 간 줄 중복 제거 청사진입니다.
OmniCompress3Rust 열 기반 JSON + 콘텐츠 주소 기반 검색 + 메시지 간 중복 제거 — 당사의 headroom/ccr/session-dedup 엔진 설계와 캐시 안정성을 보장하는 "압축된 형식은 위치에 독립적이다"라는 불변 조건을 검증했습니다.
mcp-compressor133MCP 도구 스키마/설명 압축 — 당사의 MCP 도구 매니페스트 카디널리티 축소에 영향을 주었습니다.
RepoMapper217Aider 스타일 리포지토리 맵 순위 지정 — 당사의 리포지토리 맵/검색 순위 지정 연구에 영향을 주었습니다.
quiet-shell-mcp4MCP를 통한 선언적 셸 출력 축소 — 당사의 선언적 bash 출력 압축을 검증했습니다.
ts-morph6,205TypeScript Compiler API 도구 키트 — 문자열, 템플릿 및 정규식 리터럴을 보존하는 파서 기반 주석 제거 기능에 영감을 주었습니다.
### 🧠 메모리 및 RAG
프로젝트⭐OmniRoute에 준 영감
Mem067,385범용 메모리 계층 — 프록시를 쓰기/읽기 경계로 활용하는 모델은 당사의 메모리 아키텍처를 설계하는 데 영향을 주었습니다.
Letta (MemGPT)25,179계층형 메모리를 갖춘 상태 유지형 에이전트 — 당사의 계층형 Context Control & Recovery (CCR) 모델에 영감을 주었습니다.
WFGY1,800반복적으로 발생하는 16가지 RAG/LLM 장애 유형을 분류한 ProblemMap 체계 — 당사 문제 해결 가이드에서 사용하는 공통 용어의 기반이 되었습니다.
### 🛰️ 트래픽 검사, MITM 및 투명 프록시
프로젝트⭐OmniRoute에 준 영감
llm-interceptor79코딩 어시스턴트 ↔ LLM 트래픽에 대한 MITM 가로채기/분석 기능은 초기 Traffic Inspector 요구 사항을 정립하는 데 참고되었습니다. 이전에 파생된 네 가지 모듈인 SSE 병합, 대화 정규화, 비밀 정보 마스킹 및 헤더 정제는 공개 프로토콜 표준을 기반으로 한 독립적인 클린룸 구현으로 대체되었습니다. 두 가지 호스트 패스스루 영역(passthrough.ts 및 _internal/bypass.cjs)은 독립적으로 분류된 OmniRoute 내부 구현으로 유지되며, 해당 대체 작업의 일부로 다시 작성되지는 않았습니다.
ProxyBridge6,814프로세스별 투명 프록시 라우팅 — 충돌 안전형 MITM 종료 처리, 소켓 유휴 시간 제한, /proc 프로세스 귀속 확인 및 TPROXY 캡처에 영감을 주었습니다.
### 📚 모델 데이터, 관측 가능성 및 UI
프로젝트⭐OmniRoute에 준 영감
models.dev7,286AI 모델 사양, 가격 및 기능에 관한 개방형 데이터베이스 — 당사의 모델 카탈로그에 네이티브 방식으로 동기화됩니다.
React Flow / xyflow38,705당사의 실시간 Compression Studio 및 Combo/Routing Studio를 구동하는 노드 기반 그래프 라이브러리입니다.
LangGraph43,443LangGraph Studio의 실시간 워크플로 그래프 시각화는 당사 Studio의 실시간 캐스케이드 보기에 영감을 주었습니다.
Langfuse35,990트레이스 → 스팬 → 생성으로 이어지는 관측 가능성 모델은 당사 Compression Studio의 워터폴 보기를 설계하는 데 영향을 주었습니다.
Kiali3,645Istio 서비스 메시 관측 가능성 — Routing/Combo Studio의 서킷 브레이커 배지 및 오류 에지 시각화에 영감을 주었습니다.
lobe-icons2,615당사 대시보드 전반에서 제공업체 아이콘을 렌더링하는 AI/LLM 브랜드 로고를 제공합니다.
flag-icons12,473README 언어 선택기에 사용되는 MIT 라이선스 SVG 국기를 제공합니다.
### 🛡️ 보안
프로젝트⭐OmniRoute에 준 영감
awesome-secure-defaults722당사의 보안 기술 선택(Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink)을 안내하는, 기본적으로 안전한 라이브러리의 엄선된 목록입니다.
### 🧭 보완 도구
프로젝트⭐OmniRoute에 준 영감
ClawRouter6,628요청 중복 제거, 비상용 무비용 폴백, 플러그형 Auto-Combo 전략 및 다국어 의도 분류에 영감을 주었습니다.
Antigravity-Manager32,333계정 인식형 모델 재매핑, 실행 파일 경로 검증 및 플랜 레이블 동작은 OmniRoute의 Antigravity 런타임을 구현하는 데 참고되었습니다.
vscode-antigravity-cockpit4,850간결한 할당량 초기화 카운트다운 형식은 OmniRoute의 관련 제공업체 한도 표시에 영감을 주었습니다.
AionUi33,611ACP 통합 기능은 OmniRoute가 설치된 CLI 에이전트를 자동으로 감지하는 기능에 영감을 주었습니다.
CodexBar22,616Grok Build 할당량 영역을 식별했으며, 이후 OmniRoute는 실제 와이어 형식을 독립적으로 검증하고 수정했습니다.
## 📄 라이선스 MIT 라이선스 - 자세한 내용은 [LICENSE](LICENSE)를 참조하세요. ---
**[⬆ 맨 위로 돌아가기](#-omniroute)** · 오픈소스 AI 커뮤니티를 위해 ❤️를 담아 제작했습니다. OmniRoute v3.8.53 · Node ≥22.22.2 · MIT 라이선스 · omniroute.online