# 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 ๊ฒŒ์ดํŠธ์›จ์ด **[Diego Souza](https://github.com/diegosouzapw)๊ฐ€ ์ œ์ž‘** OmniRoute โ€” ์ฝ”๋”ฉ์„ ์ ˆ๋Œ€ ๋ฉˆ์ถ”์ง€ ๋งˆ์„ธ์š”. ๋ชจ๋“  AI ๋„๊ตฌ โ†’ ํ•˜๋‚˜์˜ ์—”๋“œํฌ์ธํŠธ๋ฅผ ํ†ตํ•ด 388๊ฐœ ์ œ๊ณต์—…์ฒด โ€” 150๊ฐœ ์ด์ƒ ๋ฌด๋ฃŒ โ€” Claude Code, Codex, Cursor, Cline, Copilot ๋ฐ Antigravity๋ฅผ ๋ฌด๋ฃŒ Claude / GPT / Gemini๋กœ ์ž๋™ ๋Œ€์ฒด ๊ธฐ๋Šฅ๊ณผ ํ•จ๊ป˜ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. RTK + Caveman ์Šคํƒ ์••์ถ•์œผ๋กœ ํ† ํฐ์„ 15โ€“95% ์ ˆ์•ฝ(ํ‰๊ท  ์•ฝ 89%)ํ•˜์—ฌ ํ•œ๋„์— ๋„๋‹ฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. AI ์ œ๊ณต์—…์ฒด 388๊ฐœ ยท ๋ฌด๋ฃŒ ํ‹ฐ์–ด 150๊ฐœ ์ด์ƒ ยท ์›” ์•ฝ 16.2์–ต ๊ฐœ์˜ ๋ฌด๋ฃŒ ํ† ํฐ ยท ๋ผ์šฐํŒ… ์ „๋žต 20๊ฐœ ยท $0๋กœ ์‹œ์ž‘.
## ๐Ÿ’ฐ ํƒ€์‚ฌ ๋ฌด๋ฃŒ ์š”๊ธˆ์ œ ์ „์ฒด์—์„œ ์›” ~1.62B ํ† ํฐ
> **์‚ฌ์šฉ์ž ๋ณธ์ธ์˜ ํ”„๋กœ๋ฐ”์ด๋” ๊ณ„์ •์„ ์‚ฌ์šฉํ•˜์„ธ์š”.** ์ด๋Š” ๊ฐ๊ฐ ๋ณ„๋„๋กœ ์ด์šฉ ์ž๊ฒฉ์ด ์žˆ๋Š” ํƒ€์‚ฌ ๋ฌด๋ฃŒ ์š”๊ธˆ์ œ๋ฅผ ํ•ฉ์‚ฐํ•œ ์ถ”์ •์น˜์ด๋ฉฐ, OmniRoute๊ฐ€ ์ œ๊ณตํ•˜๋Š” ํ† ํฐ ์ง€๊ธ‰๋Ÿ‰์ด ์•„๋‹™๋‹ˆ๋‹ค. ๊ฐ€์ž…ํ•˜๊ณ , ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ธ์ฆ ์ •๋ณด๋ฅผ ๋ฐœ๊ธ‰๋ฐ›์€ ๋‹ค์Œ, ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๋ฐ”์ด๋”๋ฅผ ์—ฐ๊ฒฐํ•˜์„ธ์š”. ๊ฐ ํ”„๋กœ๋ฐ”์ด๋”๊ฐ€ ์ž์ฒด ํ•œ๋„, ์ด์šฉ ๊ฐ€๋Šฅ ์—ฌ๋ถ€ ๋ฐ ์•ฝ๊ด€์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. > > ๋ฌด๋ฃŒ ์š”๊ธˆ์ œ๋ฅผ ์ง์ ‘ ์กฐํ•ฉํ•˜๋Š” ์ผ์€ ๋ฒˆ๊ฑฐ๋กญ์Šต๋‹ˆ๋‹ค โ€” ์ˆ˜์‹ญ ๊ฐœ์˜ SDK, ์ˆ˜์‹ญ ๊ฐœ์˜ ์š”์ฒญ ์ œํ•œ, ๊ทธ๋ฆฌ๊ณ  ์‹ค์ œ๋กœ ์–ผ๋งˆ๋‚˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. OmniRoute๋Š” **34๊ฐœ์˜ ๋ฐ˜๋ณต ํ’€ ํ‚ค์— ๊ฑธ์ณ 465๊ฐœ์˜ ๋ฌด๋ฃŒ ์š”๊ธˆ์ œ ํ•ญ๋ชฉ์„ ๋ชฉ๋กํ™”**ํ•˜๊ณ , ๊ณต์œ  ํ’€์„ ์ค‘๋ณต ์ œ๊ฑฐํ•œ ๋’ค **๊ณต๊ฐœ๋œ ์–‘์ˆ˜ ์›”๊ฐ„ ์˜ˆ์‚ฐ์ด ์žˆ๋Š” 17๊ฐœ ํ’€๊ณผ ๋ชจ๋ธ๋ณ„ Groq ํ•œ๋„ 5๊ฐœ**๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ† ํฐ ์ด๋Ÿ‰์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ์ง€์—ญ ์‹ ์› ํ™•์ธ ํ›„์—๋งŒ ํ™œ์„ฑํ™”๋˜๋Š” ํ• ๋‹น๋Ÿ‰(ํ˜„์žฌ: ModelScope)์€ ๋ณ„๋„๋กœ ํ‘œ์‹œ๋˜๋ฉฐ, ์ง€์—ญ ์‹ ์› ํ™•์ธ ํ›„ ์ถ”๊ฐ€๋˜๋Š” ์•ฝ +6M์€ ํ—ค๋“œ๋ผ์ธ์— ํ•ฉ์‚ฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋Š” ๋Œ€์‹œ๋ณด๋“œ(`/dashboard/free-tiers`)์—์„œ ๊ณ„์† ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. OmniRoute ๋ฌด๋ฃŒ ์š”๊ธˆ์ œ ์˜ˆ์‚ฐ ์นด๋“œ: ์›”๊ฐ„ ๋ฌด๋ฃŒ ํ† ํฐ์€ ์•ˆ์ •์ ์œผ๋กœ ~1.62B, ๊ฐ€์ž… ํฌ๋ ˆ๋”ง์„ ํฌํ•จํ•˜๋ฉด ์ฒซ ๋‹ฌ์—๋Š” ์ตœ๋Œ€ ~2.22B์ด๋ฉฐ, ํ•˜๋‚˜์˜ ์—”๋“œํฌ์ธํŠธ ๋’ค์— 34๊ฐœ์˜ ๋ฌธ์„œํ™”๋œ ๋ฐ˜๋ณต ํ’€ ํ‚ค์™€ 465๊ฐœ์˜ ๋ชฉ๋กํ™”๋œ ๋ฌด๋ฃŒ ์š”๊ธˆ์ œ ํ•ญ๋ชฉ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ •์งํ•œ ํ’€ ์ค‘๋ณต ์ œ๊ฑฐ ๋ฐฉ์‹์œผ๋กœ ๊ณ„์‚ฐํ•˜๋ฉฐ โ€” ๊ณต์œ  ํ’€์€ ๊ฐ๊ฐ ํ•œ ๋ฒˆ๋งŒ ๊ณ„์‚ฐํ•˜๊ณ , ๊ณต๊ฐœ๋œ ์–‘์ˆ˜ ์›”๊ฐ„ ํ† ํฐ ์˜ˆ์‚ฐ์ด ์žˆ๋Š” 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.54+` | | ----------------------- | :-----------------------: | :---------: | :-------------------: | | ๐ŸŒ ์ œ๊ณต์—…์ฒด | 352 | **358** | 388 | | ๐Ÿง  ๊ณ ์œ  ์ฑ„ํŒ… ๋ชจ๋ธ ID | 1320 | **1374** | 1491 | | ๐Ÿ–ผ๏ธ ๋ชจ๋‹ฌ๋ฆฌํ‹ฐ ๋ธŒ๋ฆฌ์ง€ | ๐Ÿ†• ๋น„์ „ + ์˜ค๋””์˜ค + ๋น„๋””์˜ค | โœ“ | โœ“ | | ๐Ÿ“ก 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
๐Ÿ—œ๏ธ ์ž๋™์œผ๋กœ 15.95% ํ† ํฐ ์ ˆ์•ฝ ๐Ÿ–ฅ๏ธ ์‹คํ–‰ ํ™˜๊ฒฝ ๐Ÿ”’ ๋น„๊ณต๊ฐœ
๐Ÿ‘€ ์‚ดํŽด๋ณด๊ธฐ ๐ŸŽฌ ์‹ค์ œ ์‚ฌ์šฉ ๋ชจ์Šต โœจ ์ƒˆ๋กœ์šด ์†Œ์‹ ๐Ÿค– ํ˜ธํ™˜ CLI
๐Ÿ’š ์ง€์› ๐Ÿ’š ์ง€์› / ๊ธฐ๋ถ€ ๐Ÿ’ฌ ์ปค๋ฎค๋‹ˆํ‹ฐ ๐Ÿ’– ํ›„์›์ž
๐Ÿ“ฆ ํ”„๋กœ์ ํŠธ ๐Ÿ› ๏ธ ๊ธฐ์ˆ  ์Šคํƒ ๐Ÿ“– ๋ฌธ์„œ ๐Ÿ‘ฅ ๊ธฐ์—ฌ์ž
๐ŸŒ 67๊ฐœ ์–ธ์–ด๋กœ ์ œ๊ณต

์˜์–ด (en) ํฌ๋ฅดํˆฌ๊ฐˆ์–ด โ€” ๋ธŒ๋ผ์งˆ (pt-BR) ํฌ๋ฅดํˆฌ๊ฐˆ์–ด (pt) ์ŠคํŽ˜์ธ์–ด (es) ํ”„๋ž‘์Šค์–ด (fr) ์ดํƒˆ๋ฆฌ์•„์–ด (it) ๋…์ผ์–ด (de) ๋„ค๋œ๋ž€๋“œ์–ด (nl) ๋Ÿฌ์‹œ์•„์–ด (ru) ์šฐํฌ๋ผ์ด๋‚˜์–ด (uk-UA) ํด๋ž€๋“œ์–ด (pl) ์ฒด์ฝ”์–ด (cs) ์Šฌ๋กœ๋ฐ”ํ‚ค์•„์–ด (sk) ๋ฃจ๋งˆ๋‹ˆ์•„์–ด (ro) ํ—๊ฐ€๋ฆฌ์–ด (hu) ๋ถˆ๊ฐ€๋ฆฌ์•„์–ด (bg) ๋ด๋งˆํฌ์–ด (da) ํ•€๋ž€๋“œ์–ด (fi) ๋…ธ๋ฅด์›จ์ด์–ด (no) ์Šค์›จ๋ด์–ด (sv) ์ค‘๊ตญ์–ด โ€” ๊ฐ„์ฒด (zh-CN) ์ค‘๊ตญ์–ด โ€” ๋ฒˆ์ฒด (zh-TW) ์ผ๋ณธ์–ด (ja) ํ•œ๊ตญ์–ด (ko) ํƒœ๊ตญ์–ด (th) ๋ฒ ํŠธ๋‚จ์–ด (vi) ์ธ๋„๋„ค์‹œ์•„์–ด (id) ๋ง๋ ˆ์ด์–ด (ms) ํ•„๋ฆฌํ•€์–ด (phi) ํžŒ๋””์–ด (hi) ๊ตฌ์ž๋ผํŠธ์–ด (gu) ๋งˆ๋ผํ‹ฐ์–ด (mr) ํƒ€๋ฐ€์–ด (ta) ํ…”๋ฃจ๊ตฌ์–ด (te) ๋ฒต๊ณจ์–ด (bn) ์šฐ๋ฅด๋‘์–ด (ur) ํŽ˜๋ฅด์‹œ์•„์–ด (fa) ์•„๋ž์–ด (ar) ํžˆ๋ธŒ๋ฆฌ์–ด (he) ํ„ฐํ‚ค์–ด (tr) ์•„์ œ๋ฅด๋ฐ”์ด์ž”์–ด (az) ์Šค์™€ํž๋ฆฌ์–ด (sw) ๊ทธ๋ฆฌ์Šค์–ด (el) ํฌ๋กœ์•„ํ‹ฐ์•„์–ด (hr) ์„ธ๋ฅด๋น„์•„์–ด (sr) ๋ฆฌํˆฌ์•„๋‹ˆ์•„์–ด (lt) ์—์Šคํ† ๋‹ˆ์•„์–ด (et) ๋ผํŠธ๋น„์•„์–ด (lv) ์Šฌ๋กœ๋ฒ ๋‹ˆ์•„์–ด (sl) ๋ชฐํƒ€์–ด (mt) ์•„์ผ๋žœ๋“œ์–ด (ga) ์นธ๋‚˜๋‹ค์–ด (kn) ๋ง๋ผ์–„๋žŒ์–ด (ml) ์˜ค๋””์•„์–ด (or) ํŽ€์ž๋ธŒ์–ด (pa) ๋„คํŒ”์–ด (ne) ์‹ฑํ• ๋ผ์–ด (si) ๋ฒ„๋งˆ์–ด (my) ํฌ๋ฉ”๋ฅด์–ด (km) ํ•˜์šฐ์‚ฌ์–ด (ha) ์š”๋ฃจ๋ฐ”์–ด (yo) ์ด๊ทธ๋ณด์–ด (ig) ์•”ํ•˜๋ผ์–ด (am) ์šฐ์ฆˆ๋ฒ ํฌ์–ด (uz) ์กฐ์ง€์•„์–ด (ka) ์•„๋ฅด๋ฉ”๋‹ˆ์•„์–ด (hy) ๋ณด์Šค๋‹ˆ์•„์–ด (bs)


## ๐Ÿ†“ ์„ค์น˜ํ•˜๊ณ , ๊ณต๊ธ‰์ž๋ฅผ ์—ฐ๊ฒฐํ•œ ๋‹ค์Œ, ํ•˜๋‚˜์˜ ์—”๋“œํฌ์ธํŠธ๋ฅผ ํ†ตํ•ด ๋ผ์šฐํŒ…ํ•˜์„ธ์š”
์„ธ ๋‹จ๊ณ„: OmniRoute๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์‹œ์ž‘ํ•œ ๋‹ค์Œ, ์ž์‹ ์˜ ๊ณ„์ • ๋˜๋Š” API ํ‚ค๋กœ ์ ๊ฒฉ ๊ณต๊ธ‰์ž๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ , OmniRoute API ํ‚ค์™€ ๋ชจ๋ธ auto๋ฅผ ์‚ฌ์šฉํ•ด ๋„๊ตฌ๊ฐ€ localhost:20128/v1์„ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋ผ์šฐํŒ…์€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ ๊ฒฉ ์—ฐ๊ฒฐ๊ณผ ๊ณต๊ธ‰์ž ์ œํ•œ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ```bash # ๊ณต๊ธ‰์ž๋ฅผ ์—ฐ๊ฒฐํ•œ ํ›„ ๋Œ€์‹œ๋ณด๋“œ โ†’ ์—”๋“œํฌ์ธํŠธ์—์„œ 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/)
# ๐Ÿ’ฅ ์•ฝ์†
์•ฝ์† โ€” ํ•˜๋‚˜์˜ ์—”๋“œํฌ์ธํŠธ์™€ 388๊ฐœ ๊ณต๊ธ‰์ž. ๋‹ค๋ฅธ ์ •์ƒ ๋Œ€์ƒ์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋™์•ˆ ์ž๋™ ํด๋ฐฑ์ด ๋ผ์šฐํŒ…์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. 6๊ฐ€์ง€ ํ•ต์‹ฌ ์š”์†Œ: 388๊ฐœ ๊ณต๊ธ‰์ž์— ๊ฑธ์นœ ๋ณต์›๋ ฅ ์žˆ๋Š” ํด๋ฐฑ ยท ์ ๊ฒฉ ์›Œํฌ๋กœ๋“œ์—์„œ ์ตœ๋Œ€ 95% ํ† ํฐ ์ ˆ์•ฝ ยท 150๊ฐœ ์ด์ƒ์˜ ๋ฌด๋ฃŒ ํ‹ฐ์–ด์™€ 52๊ฐœ์˜ ๋ฐ˜๋ณต ์ œ๊ณต/ํ‚ค ์—†๋Š” ์˜๊ตฌ ๋ฌด๋ฃŒ ๊ณต๊ธ‰์ž๋ฅผ ํ†ตํ•ด $0๋กœ ์‹œ์ž‘ ยท ํ•˜๋‚˜์˜ ๊ตฌ์„ฑ์œผ๋กœ 39๊ฐœ์˜ CLI/์—์ด์ „ํŠธ ํ†ตํ•ฉ ยท /v1์—์„œ OpenAI, Claude, Gemini ๋ฐ Responses API ํ˜ธํ™˜ ยท ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ, TLS ์Šคํ…”์Šค, MCP 110๊ฐœ ๋„๊ตฌ, A2A, ๋ฉ”๋ชจ๋ฆฌ, ๊ฐ€๋“œ๋ ˆ์ผ, ํ‰๊ฐ€ ๋ฐ 7,800๊ฐœ ์ด์ƒ์˜ ์ถ”์  ํ…Œ์ŠคํŠธ ํŒŒ์ผ์— ๊ฑธ์นœ 56,000๊ฐœ ์ด์ƒ์˜ ์ •์  ํ…Œ์ŠคํŠธ ์„ ์–ธ์„ ํฌํ•จํ•œ ํ”„๋กœ๋•์…˜ ์ œ์–ด ๊ธฐ๋Šฅ.

# ๐Ÿค” OmniRoute๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 
OmniRoute๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  โ€” 10๊ฐœ์˜ ๋Œ€์‹œ๋ณด๋“œ, ๋งŒ๋ฃŒ๋œ API ํ‚ค์™€ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์ฒญ๊ตฌ์„œ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์ผ์„ ๋ฉˆ์ถ”์„ธ์š”. ๋งค์ผ ๊ฒช๋Š” 10๊ฐ€์ง€ ๋ฌธ์ œ์™€ ํ•ด๊ฒฐ์ฑ…: ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋งŒ๋ฃŒ๋˜๋Š” ํ• ๋‹น๋Ÿ‰ โ†’ ๊ตฌ๋… ์ตœ๋Œ€ ํ™œ์šฉ; ์ฝ”๋”ฉ ์ค‘ ๋ฐœ์ƒํ•˜๋Š” ์†๋„ ์ œํ•œ โ†’ 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: 388๊ฐœ ํ”„๋กœ๋ฐ”์ด๋”, ๊ธฐ๋ณธ ์ œ๊ณต๋˜๋Š” 150๊ฐœ ์ด์ƒ์˜ ๋ฌด๋ฃŒ ํ‹ฐ์–ด, 20๊ฐ€์ง€ ๋ผ์šฐํŒ… ์ „๋žต, 12๊ฐœ ์—”์ง„ ํ† ํฐ ์••์ถ•, 110๊ฐœ ๋„๊ตฌ๊ฐ€ ํฌํ•จ๋œ ๊ธฐ๋ณธ ์ œ๊ณต MCP ์„œ๋ฒ„, A2A ์—์ด์ „ํŠธ ํ”„๋กœํ† ์ฝœ, ์˜๊ตฌ ๋ฉ”๋ชจ๋ฆฌ, ๊ฐ€๋“œ๋ ˆ์ผ, ํด๋ผ์šฐ๋“œ ์—์ด์ „ํŠธ, TLS ์ง€๋ฌธ ์Šคํ…”์Šค, Desktop/Termux/PWA ๋ฐ 67๊ฐœ i18n 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.54**์˜ ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. ์ „์ฒด ๋ณ€๊ฒฝ ์ด๋ ฅ์€ [`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** โ€” ์—์ด์ „ํŠธ fleet์œผ๋กœ์˜ ์ธ๋ฐ”์šด๋“œ A2A ์œ„์ž„, Agent Card์˜ Conductor ์Šคํ‚ฌ, Faro ํ‘ธ์‹œ ํˆฌ ํ† ํฌ ์Œ์„ฑ ์ฑ„ํŒ…์ด ํฌํ•จ๋œ ๋Œ€์‹œ๋ณด๋“œ ํŒจ๋„์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. โ†’ [A2A ์„œ๋ฒ„](docs/frameworks/A2A-SERVER.md) - **๐Ÿ›‚ ์ ์‘ํ˜• ์š”์ฒญ ํ—ˆ์šฉ ๋ฐ ๊ณผ๋ถ€ํ•˜ ๋ณดํ˜ธ** โ€” ๋Œ€๊ทœ๋ชจ ์ฑ„ํŒ… ์š”์ฒญ์€ 503์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋Œ€์‹  ๋Œ€๊ธฐ์—ด์— ๋“ค์–ด๊ฐ€๋ฉฐ, ์—ฐ๊ฒฐ๋ณ„ RPM ๋กค๋ง lease๋ฅผ ์›์ž์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. โ†’ [๋ณต์›๋ ฅ ๊ฐ€์ด๋“œ](docs/architecture/RESILIENCE_GUIDE.md) - **๐Ÿ—‚๏ธ ์ •์‹ `/v1/models` ์ •๋ ฌ** โ€” ๊ฐ ์ œ๊ณต์ž๋งˆ๋‹ค ํ•˜๋‚˜์˜ ์—ฐ์†๋œ ์ œ๊ณต์ž ๊ทธ๋ฃน ๋ธ”๋ก์„ ์‚ฌ์šฉํ•˜๋ฉฐ(์ฝค๋ณด๊ฐ€ ๋จผ์ € ๊ณ ์ •๋จ), ๋ชจ๋“  ์นดํƒˆ๋กœ๊ทธ ์†Œ์Šค์—์„œ ์•ˆ์ •์ ์œผ๋กœ ๋™์ผํ•œ ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. โ†’ [API ๋ ˆํผ๋Ÿฐ์Šค](docs/reference/API_REFERENCE.md) - **๐Ÿ—œ๏ธ ์••์ถ• ๊ฐ•ํ™”** โ€” ๊ธฐ๋ณธ ํ™œ์„ฑํ™”๋œ ํŒฝ์ฐฝ ๋ฐฉ์ง€, DE / FR / JA ๋ฐ ์ค‘๊ตญ์–ด(wรฉnyรกn)๋ฅผ ์œ„ํ•œ Caveman ํŒฉ, Gradle ๋ฐ .NET์šฉ RTK ํ•„ํ„ฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. โ†’ [์••์ถ•](docs/compression/COMPRESSION_ENGINES.md) - **๐Ÿ’ธ ์ •์งํ•œ ์ •์•ก ์š”๊ธˆ ๋น„์šฉ** โ€” ๊ตฌ๋… / ์ฝ”๋”ฉ ํ”Œ๋žœ ์ œ๊ณต์ž๋Š” ๋น„์šฉ ๋ถ„์„์—์„œ **$0**์œผ๋กœ ํ‘œ์‹œ๋˜๋ฉฐ, ์˜ˆ์‚ฐ, ํ• ๋‹น๋Ÿ‰ ๋ฐ ๋ผ์šฐํŒ…์€ ๊ณ„์† ์ถ”์ •์น˜๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. โ†’ [API ๋ ˆํผ๋Ÿฐ์Šค](docs/reference/API_REFERENCE.md) - **โš–๏ธ Quota-Share ๋ผ์šฐํŒ…** โ€” ๊ณต์œ  ๊ณ„์ •์˜ ํ• ๋‹น๋Ÿ‰์„ ํ’€๋ง๋œ ํ‚ค์— ๊ณต์ •ํ•˜๊ฒŒ ๋ถ„๋ฐฐํ•˜๋ฉฐ, ์œ ํœด ์Šฌ๋ผ์ด์Šค๋ฅผ ๋Œ€์—ฌํ•˜์—ฌ ์ž‘์—…์„ ๊ณ„์† ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. โ†’ [๋ณต์›๋ ฅ ๊ฐ€์ด๋“œ](docs/architecture/RESILIENCE_GUIDE.md) - **๐Ÿค– ํ•œ ๋ฒˆ์˜ ๋ช…๋ น์œผ๋กœ CLI/์—์ด์ „ํŠธ ์„ค์ •** โ€” 15๊ฐœ์˜ ๋“ฑ๋ก๋œ `setup-*` ๋ช…๋ น์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. `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`)์œผ๋กœ ์›๊ฒฉ OmniRoute๋ฅผ ์ œ์–ดํ•˜๊ณ , VPS ์„ค์น˜๋ฅผ ์œ„ํ•œ `antigravity` OAuth ๋„์šฐ๋ฏธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. โ†’ [์›๊ฒฉ ๋ชจ๋“œ](docs/guides/REMOTE-MODE.md) - **๐Ÿงญ ๋” ์Šค๋งˆํŠธํ•œ ์ž๋™ ๋ผ์šฐํŒ…** โ€” `auto/:` ์ฝค๋ณด, **Fusion**(๋ชจ๋ธ ํŒจ๋„ + judge), ์ž‘์—… ์ธ์‹ ๋ผ์šฐํŒ…, ์š”์ฒญ๋ณ„ ๋ชจ๋ธ / ๋ชจ๋“œ / 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 ๋ฐ trust-store ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. โ†’ [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md) - **๐Ÿ’ธ ๋ชจ๋“  ๊ณณ์—์„œ ๋น„์šฉ ํ…”๋ ˆ๋ฉ”ํŠธ๋ฆฌ ์ œ๊ณต** โ€” ๋ชจ๋“  ์—”๋“œํฌ์ธํŠธ์— `X-OmniRoute-*` ๋น„์šฉ/์‚ฌ์šฉ๋Ÿ‰ ํ—ค๋”๋ฅผ ์ œ๊ณตํ•˜๊ณ , ์บ์‹œ ์ ์ค‘ ์ ˆ๊ฐ์•ก ํ—ค๋” ๋ฐ ํ‚ค๋ณ„ 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 trust, 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โ€ฆ ๊ทธ๋ฆฌ๊ณ  ์ƒˆ๋กญ๊ฒŒ ์ •๋น„๋œ **388๊ฐœ ์ œ๊ณต์ž ์นดํƒˆ๋กœ๊ทธ**๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. โ†’ [์ œ๊ณต์ž](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. โ†’ [์ž„๋ฒ ๋””๋“œ ์„œ๋น„์Šค](docs/frameworks/EMBEDDED-SERVICES.md) - **๐Ÿงฉ ๊ธฐ๋ณธ ํฌํ•จ ๊ธฐ๋Šฅ** โ€” ํ”Œ๋Ÿฌ๊ทธ์ธ ํ”„๋ ˆ์ž„์›Œํฌ ๋ฐ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค, Omni/Agent/GitHub ์Šคํ‚ฌ ํ”„๋ ˆ์ž„์›Œํฌ, Obsidian ๋ณผํŠธ ํ†ตํ•ฉ(22๊ฐœ์˜ MCP ๋„๊ตฌ), OpenAI ํ˜ธํ™˜ Batch ๋ฐ Files API, ์‹œ๋งจํ‹ฑ ์‘๋‹ต ์บ์‹œ, ๋ฆฌ๋”๋ณด๋“œ๊ฐ€ ํฌํ•จ๋œ ๊ฒŒ์ด๋ฏธํ”ผ์ผ€์ด์…˜, ACP ์—์ด์ „ํŠธ ๊ฒ€์ƒ‰(๊ธฐ๋ณธ ์ œ๊ณต ์—์ด์ „ํŠธ 15๊ฐœ), BigQuery๋กœ์˜ ์˜ˆ์•ฝ๋œ ๋กœ๊ทธ ๋‚ด๋ณด๋‚ด๊ธฐ, `auto/chaos` ๋ณ‘๋ ฌ ๋‹ค์ค‘ ๋ชจ๋ธ ํŒฌ์•„์›ƒ, Telegram ๋ด‡ ๋ธŒ๋ฆฌ์ง€, ์•ฑ ๋‚ด ๋ฒ„์ „ ๊ด€๋ฆฌ์ž, LMArena-ELO ๋ฌด๋ฃŒ ์ œ๊ณต์ž ์ˆœ์œ„. โ†’ [๋ฌธ์„œ](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 ํ˜ธํ™˜ ๋„๊ตฌ
๐Ÿ“– ๋ชจ๋“  39๊ฐœ ๋„๊ตฌ(28๊ฐœ CLI Code + 11๊ฐœ CLI Agents)์— ๋Œ€ํ•œ ๋„๊ตฌ๋ณ„ ์„ค์ • โ†’ [`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" # ๋˜๋Š” ์ œ๊ณต์ž+๋ชจ๋ธ์„ ๋Œ€ํ™”์‹์œผ๋กœ ์„ ํƒํ•˜๊ณ  ๋„๊ตฌ์˜ ์ž์ฒด ์„ค์ •์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: 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)
## ๐ŸŒ 388๊ฐœ AI ์ œ๊ณต์—…์ฒด โ€” ์นดํƒˆ๋กœ๊ทธ์— ํ‘œ์‹œ๋œ ๋ฌด๋ฃŒ ์ œ๊ณต์—…์ฒด 153๊ฐœ
> **๋“ฑ๋ก๋œ ์ œ๊ณต์—…์ฒด 388๊ฐœ**๊ฐ€ ํ‘œ์ค€ ์ฑ„ํŒ…, ๋ฏธ๋””์–ด, ๊ฒ€์ƒ‰, ๋กœ์ปฌ, ํด๋ผ์šฐ๋“œ ์—์ด์ „ํŠธ ๋ฐ ์‹œ์Šคํ…œ ์ปฌ๋ ‰์…˜์— ๊ฑธ์ณ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ, ์ด ์ค‘ **153๊ฐœ๋Š” `hasFree: true` ๊ฒ€์ƒ‰ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์œ **ํ•ฉ๋‹ˆ๋‹ค. ์ฑ„ํŒ… ๋ชจ๋ธ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์—๋Š” **์ œ๊ณต์—…์ฒด 239๊ฐœ / ์„œ๋กœ ๋‹ค๋ฅธ ์ œ๊ณต์—…์ฒด-๋ชจ๋ธ ์Œ 3,059๊ฐœ / ์›์‹œ ๋ชจ๋ธ ID 1,475๊ฐœ**๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ, ๋ณ„๋„์˜ ๋ฌด๋ฃŒ ์˜ˆ์‚ฐ ์นดํƒˆ๋กœ๊ทธ์—๋Š” **๋ชจ๋ธ๋ณ„ ํ–‰ 471๊ฐœ**, **๋ฐ˜๋ณต ํ’€ 34๊ฐœ**, **๋ฐ˜๋ณต/ํ‚ค๋ฆฌ์Šค ์˜๊ตฌ ๋ฌด๋ฃŒ ์ œ๊ณต์—…์ฒด 52๊ฐœ**๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์„ค๊ณ„์ƒ ์„œ๋กœ ๋‹ค๋ฅธ ๋ถ„๋ชจ์ž…๋‹ˆ๋‹ค. ์ •์˜์™€ ํ’€ ์ค‘๋ณต ์ œ๊ฑฐ ๊ณ„์‚ฐ์€ [์ œ๊ณต์—…์ฒด ์ฐธ์กฐ](docs/reference/PROVIDER_REFERENCE.md) ๋ฐ [๋ฌด๋ฃŒ ์š”๊ธˆ์ œ](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๊ฐœ ์ด์ƒ โ€” ๋ชจ๋“  ์•„์ด์ฝ˜์€ ๋Œ€์‹œ๋ณด๋“œ์˜ ์ œ๊ณต์—…์ฒด ์นดํƒˆ๋กœ๊ทธ์—์„œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ“– [์ œ๊ณต์—…์ฒด ์ฐธ์กฐ](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ํšŒ ๋ฌด๋ฃŒ
Cerebras
Cerebras
GLM 4.7, GPT-OSS
์ผํšŒ์„ฑ $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
โšก Bun (๊ธ€๋กœ๋ฒŒ) bun add -g omniroute ๋™์ผํ•œ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ tarball, ๋” ๋น ๋ฅธ ์„ค์น˜
๐Ÿณ Docker docker run ... diegosouzapw/omniroute ๋ฉ€ํ‹ฐ ์•„ํ‚คํ…์ฒ˜ AMD64 + ARM64
๐Ÿ–ฅ๏ธ ๋ฐ์Šคํฌํƒ‘ (Electron) npm run electronic:build ๊ธฐ๋ณธ ์ฐฝ + ์‹œ์Šคํ…œ ํŠธ๋ ˆ์ด โ€” Windows / macOS / Linux
๐ŸŽฉ ๋ฉ”๋‰ด ํ‘œ์‹œ์ค„(OmniRouteTray) Brew install --cask zoispag/tap/omniroute-tray& ์„œ๋ฒ„ ์ž๋™ ์—…๋ฐ์ดํŠธ๋ฅผ ๊ฐ๋…ํ•ฉ๋‹ˆ๋‹ค โ€” macOS
๐Ÿ’ช ARM arm64 Raspberry Pi, ARM ์„œ๋ฒ„, Apple Silicon
๐Ÿ“ฑ Android(Termux) pkg install nodejs && npx -y omniroute ํœด๋Œ€ํฐ์—์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค , 24/7, ๋ฃจํŠธ ์—†์Œ
๐Ÿ“ฒ PWA"ํ™ˆ ํ™”๋ฉด์— ์ถ”๊ฐ€" ์ „์ฒด ํ™”๋ฉด, ์˜คํ”„๋ผ์ธ, ๋ธŒ๋ผ์šฐ์ €์—์„œ ์„ค์น˜ ๊ฐ€๋Šฅ
๐Ÿงฉ OpenCode ํ”Œ๋Ÿฌ๊ทธ์ธ @omniroute/opencode-providerOpenCode
๐Ÿค– VS ์ฝ”๋“œ Copilot ์ฑ„ํŒ… ์„ค์น˜ OmniCopilot ํ™•์žฅ ๊ธฐ๋ณธ Copilot ์ฑ„ํŒ… ์„ ํƒ๊ธฐ์˜ ๋ชจ๋“  OmniRoute ๋ชจ๋ธ โ€” ์•ˆ์ • & ๋‚ด๋ถ€์ž
๐Ÿ› ๏ธ ์†Œ์Šค์—์„œ 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** . < td align ="left">VS ์ฝ”๋“œ โ€” stable & < td align ="left">Cursor, Windsurf, VSCodium, Theia, ์ฝ”๋“œ ์„œ๋ฒ„, Gitpod, Antigravity, Kiroโ€ฆ
๋งํฌ
์™€ ํ•จ๊ป˜ ์ž‘๋™
๐Ÿงฉ VS ์ฝ”๋“œ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค ์„ค์น˜ โ†’
๐Ÿ”“ VSX ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์—ด๊ธฐ ์„ค์น˜ โ†’
ํŽธ์ง‘๊ธฐ ๋‚ด๋ถ€์—์„œ:** ํ™•์žฅ** ๋ณด๊ธฐ, ๊ฒ€์ƒ‰** "OmniRoute"** , ํด๋ฆญ** ์„ค์น˜ํ•˜๋‹ค** โ€” ๋‘ ๋งค์žฅ ๋ชจ๋‘์—์„œ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์†Œ์Šค, ์ด์Šˆ ๋ฐ ๊ฒŒ์‹œ ๋Ÿฐ๋ถ์€ [diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot) ์— ๊ฒŒ์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ“– [VS ์ฝ”๋“œ Copilot ์ฑ„ํŒ… ๊ฐ€์ด๋“œ](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 ์ž…๋‹ˆ๋‹ค. ๐ŸŽฉ
ํ•˜๋Š”
๐ŸŸข ์„œ๋ฒ„ ๊ฐ๋… ์ƒ์„ฑ ์˜ด๋‹ˆ๋ฃจํŠธ ์„œ๋ธŒ ๋ณต์ œ ๋Œ€์‹  ์ด๋ฏธ ์‹คํ–‰ ์ค‘์ธ ์ธ์Šคํ„ด์Šค ์ฑ„ํƒ
๐Ÿ“Š ์‹ค์‹œ๊ฐ„ ์‚ฌ์šฉ๋Ÿ‰ ๊ฐœ์š” ๊ณต๊ธ‰์ž ํ• ๋‹น๋Ÿ‰ ๋ง‰๋Œ€, ์žฌ์„ค์ • ์นด์šดํŠธ๋‹ค์šด์„ ํ†ตํ•œ Claude session/weekly ์ œํ•œ, 30์ผ ๋น„์šฉ ๋ถ„์„
๐Ÿ”„ ์ž๋™ ์—…๋ฐ์ดํŠธ ๋‹จ๊ณ„์  ์„ค์น˜, ์›์ž ์Šค์™‘, ์‹คํŒจ ์‹œ ๋กค๋ฐฑ - ํ•ญ์ƒ ์ตœ์‹  ๋ฆด๋ฆฌ์Šค์—์„œ ์‹คํ–‰
๐Ÿš€ ๋กœ๊ทธ์ธ ์‹œ ์‹œ์ž‘ ๋กœ๊ทธ์ธ ์‹œ ์„ ํƒ์ ์œผ๋กœ ์‹œ์ž‘; ํŠธ๋ ˆ์ด ์ „์šฉ, ๋„ํ‚น ์•„์ด์ฝ˜ ์—†์Œ
๐Ÿฉบ Doctor & ๋กœ๊ทธ ์›ํด๋ฆญ ์ง„๋‹จ ๋ฐ ์„œ๋ฒ„ ๋กœ๊ทธ ์•ก์„ธ์Šค
```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%ํ˜ผํ•ฉ ํ”„๋กฌํ”„ํŠธ + ๋„๊ตฌ ๋กœ๊ทธ
**์‹ค์ œ ์˜ˆ์‹œ โ€” Standard ๋ชจ๋“œ:** > **์ด์ „ (69ํ† ํฐ):** _"React ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋‹ค์‹œ ๋ Œ๋”๋ง๋˜๋Š” ์ด์œ ๋Š” ๊ฐ ๋ Œ๋”๋ง ์ฃผ๊ธฐ๋งˆ๋‹ค ์ƒˆ ๊ฐ์ฒด ์ฐธ์กฐ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์ผ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค. ์ธ๋ผ์ธ ๊ฐ์ฒด๋ฅผ prop์œผ๋กœ ์ „๋‹ฌํ•˜๋ฉด React์˜ ์–•์€ ๋น„๊ต์—์„œ ๋งค๋ฒˆ ๋‹ค๋ฅธ ๊ฐ์ฒด๋กœ ์ธ์‹ํ•˜๋ฏ€๋กœ ๋‹ค์‹œ ๋ Œ๋”๋ง๋ฉ๋‹ˆ๋‹ค. ๊ฐ์ฒด๋ฅผ ๋ฉ”๋ชจ์ด์ œ์ด์…˜ํ•˜๋ ค๋ฉด useMemo๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค."_ > > **์ดํ›„ (19ํ† ํฐ):** _"๋ Œ๋”๋งํ•  ๋•Œ๋งˆ๋‹ค ์ƒˆ ๊ฐ์ฒด ์ฐธ์กฐ. ์ธ๋ผ์ธ ๊ฐ์ฒด prop = ์ƒˆ ์ฐธ์กฐ = ๋‹ค์‹œ ๋ Œ๋”๋ง. useMemo๋กœ ๊ฐ์‹ธ์„ธ์š”."_ > > **๊ฐ™์€ ๋‹ต๋ณ€. ํ† ํฐ 72% ๊ฐ์†Œ. ์ •ํ™•๋„ ์†์‹ค ์—†์Œ.** โœ… **PT-BR ์˜ˆ์‹œ โ€” [Troglodita](https://github.com/leninejunior/troglodita) ๋ชจ๋“œ:** > **์ด์ „ (42 ํ† ํฐ):** _"๋ฌธ์ œ๋Š” ๊ฐ ๋ Œ๋”๋ง ์ฃผ๊ธฐ๋งˆ๋‹ค ์ƒˆ๋กœ์šด ๊ฐ์ฒด ์ฐธ์กฐ๊ฐ€ ์ƒ์„ฑ๋˜์–ด ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋‹ค์‹œ ๋ Œ๋”๋ง๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. `useMemo`๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค."_ > > **์ดํ›„ (12 ํ† ํฐ):** _"์žฌ๋ Œ๋”๋ง: ๋งค ์ฃผ๊ธฐ๋งˆ๋‹ค ์ƒˆ ์ฐธ์กฐ(์ธ๋ผ์ธ ๊ฐ์ฒด๊ฐ€ ์žฌ์ƒ์„ฑ๋จ). `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` ํ—ค๋” โ€บ ๋ผ์šฐํŒ… ์กฐํ•ฉ ์žฌ์ •์˜ โ€บ ํ™œ์„ฑ ๋ช…๋ช… ํ”„๋กœํ•„ โ€บ ์ ์‘ํ˜• / ์ž๋™ ํŠธ๋ฆฌ๊ฑฐ โ€บ ํŒจ๋„ ๊ธฐ๋ณธ๊ฐ’ โ€บ off. ์ ์šฉ๋œ ๊ณ„ํš์€ `X-OmniRoute-Compression: ; source=` ์‘๋‹ต ํ—ค๋”๋กœ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค. ํ† ํฐ ์ž„๊ณ„๊ฐ’์œผ๋กœ ์ž๋™ ํŠธ๋ฆฌ๊ฑฐํ•˜๊ฑฐ๋‚˜, ์ ์‘ํ˜• ๋‹ค์ด์–ผ์„ ์ผœ๊ฑฐ๋‚˜, ๋ช…๋ช… ํ”„๋กœํ•„์„ ๊ณ ์ •ํ•˜๊ฑฐ๋‚˜, ์š”์ฒญ๋ณ„ ์ผํšŒ์„ฑ ์„ค์ •์„ ์ ์šฉํ•˜๊ฑฐ๋‚˜, ๋ผ์šฐํŒ… ์กฐํ•ฉ๋ณ„๋กœ ํŒŒ์ดํ”„๋ผ์ธ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์›Œํฌ๋กœ๋“œ์— ๋งž๋Š” ๋ฐฉ์‹์„ ์„ ํƒํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์„ ํƒ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์˜คํ”„๋ผ์ธ **ํ‰๊ฐ€ ํ•˜๋‹ˆ์Šค**(`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.54์—์„œ ๋ณด๊ณ ๋œ ํŒจํ‚ค์ง€ ์ง‘ํ•ฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. > > ```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 ํ‚ค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๊ณ„์ • ์ ˆ์ฐจ ์™„๋ฃŒ. ๋ฌด๋ฃŒ ์š”๊ธˆ์ œ๋Š” ๊ฐ€์ž…, ์Šน์ธ ๋˜๋Š” ๊ฒฐ์ œ ์ˆ˜๋‹จ์„ ์š”๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [๋ฌด๋ฃŒ ์š”๊ธˆ์ œ ๊ฐ€์ด๋“œ](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๊ฐœ, ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ 233๊ฐœ
๋ฉ”๋ชจ๋ฆฌSQLite FTS5 ์ „๋ฌธ ๊ฒ€์ƒ‰ + int8 ์–‘์žํ™” ๋ฒกํ„ฐ ์ž„๋ฒ ๋”ฉ, ํƒ€์ž… ์ง€์ • ๊ฐ์‡ 
์Šคํ‚ค๋งˆZod 4 โ€” MCP ๋„๊ตฌ I/O ๊ฒ€์ฆ + 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 Keys + MCP ๋ฒ”์œ„ ์ง€์ • ์ธ์ฆ ยท ์ €์žฅ ๋ฐ์ดํ„ฐ AES-256-GCM ์•”ํ˜ธํ™” ยท DOMPurify
์Šคํ…”์Šคwreq-js โ€” JA3 / JA4 TLS ์ง€๋ฌธ ์œ„์žฅ, 3๋‹จ๊ณ„ ํ”„๋ก์‹œ
๋ณต์›๋ ฅ์„œํ‚ท ๋ธŒ๋ ˆ์ด์ปค, ์ง€์ˆ˜ ๋ฐฑ์˜คํ”„, ๋™์‹œ ํญ์ฃผ ๋ฐฉ์ง€, ์ž๋™ ์กฐํ•ฉ ์ž๊ฐ€ ๋ณต๊ตฌ
๋กœ๊น…pino โ€” ์š”์ฒญ ์ปจํ…์ŠคํŠธ๋ฅผ ํฌํ•จํ•œ ๊ตฌ์กฐํ™”๋œ JSON ๋กœ๊ทธ
ํ…Œ์ŠคํŠธNode.js ํ…Œ์ŠคํŠธ ๋Ÿฌ๋„ˆ + Vitest โ€” 8,400๊ฐœ ์ด์ƒ์˜ ์ถ”์  ํ…Œ์ŠคํŠธ ํŒŒ์ผ(๋‹จ์œ„, ํ†ตํ•ฉ, E2E, ๋ณด์•ˆ, ์ƒํƒœ๊ณ„)์— ๊ฑธ์ณ ์ •์  ํ…Œ์ŠคํŠธ ์„ ์–ธ 60,000๊ฐœ ์ด์ƒ
ํ”Œ๋žซํผ๋ฐ์Šคํฌํ†ฑ (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๊ฐœ / ๋ชฉ๋กํ™”๋œ ๋ฌด๋ฃŒ ํ‹ฐ์–ด ํ•ญ๋ชฉ 465๊ฐœ
๊ธฐ๋Šฅ ๊ฐค๋Ÿฌ๋ฆฌ์Šคํฌ๋ฆฐ์ƒท์„ ํฌํ•จํ•œ ์‹œ๊ฐ์  ๋Œ€์‹œ๋ณด๋“œ ๋‘˜๋Ÿฌ๋ณด๊ธฐ
์ฝ”๋“œ๋ฒ ์ด์Šค ๋ฌธ์„œ์ดˆ๋ณด์ž ์นœํ™”์ ์ธ ์ฝ”๋“œ๋ฒ ์ด์Šค ๋‘˜๋Ÿฌ๋ณด๊ธฐ
### ๐Ÿค– ํ”„๋กœํ† ์ฝœ ๋ฐ API
๋ฌธ์„œ์„ค๋ช…
API ์ฐธ์กฐ์˜ˆ์ œ๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  ์—”๋“œํฌ์ธํŠธ
OpenAPI ์‚ฌ์–‘OpenAPI 3.0 ์‚ฌ์–‘
MCP ์„œ๋ฒ„110๊ฐœ์˜ MCP ๋„๊ตฌ, IDE ๊ตฌ์„ฑ, Python/TS/Go ํด๋ผ์ด์–ธํŠธ
MCP ์„œ๋ฒ„ ๊ฐ€์ด๋“œMCP ์„ค์น˜, ์ „์†ก ๋ฐฉ์‹ ๋ฐ ๋„๊ตฌ ์ฐธ์กฐ
A2A ์„œ๋ฒ„JSON-RPC 2.0 ํ”„๋กœํ† ์ฝœ, ์Šคํ‚ฌ, ์ŠคํŠธ๋ฆฌ๋ฐ, ์ž‘์—… ๊ด€๋ฆฌ
A2A ์„œ๋ฒ„ ๊ฐ€์ด๋“œA2A ์—์ด์ „ํŠธ ์นด๋“œ, ์ž‘์—…, ์Šคํ‚ฌ ๋ฐ ์ŠคํŠธ๋ฆฌ๋ฐ
### ๐Ÿ“‹ ํ”„๋กœ์ ํŠธ ๋ฐ ํ’ˆ์งˆ
๋ฌธ์„œ์„ค๋ช…
๊ธฐ์—ฌ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ค์ • ๋ฐ ์ง€์นจ
๋ธŒ๋žœ์น˜ ๋ฐ ๋ฆด๋ฆฌ์Šค ๋ชจ๋ธPR์˜ ๋Œ€์ƒ(release/*), main๊ณผ ํƒœ๊ทธ์˜ ์˜๋ฏธ
๋ณ€๊ฒฝ ๋กœ๊ทธ๋ฒ„์ „๋ณ„ ์ „์ฒด ๋ฆด๋ฆฌ์Šค ๊ธฐ๋ก
๋ณด์•ˆ ์ •์ฑ…์ทจ์•ฝ์  ์‹ ๊ณ  ๋ฐ ๋ณด์•ˆ ๊ด€ํ–‰
i18n ๊ฐ€์ด๋“œ67๊ฐœ ์–ธ์–ด ์ง€์›, ๋ฒˆ์—ญ ์›Œํฌํ”Œ๋กœ, RTL
๋ฆด๋ฆฌ์Šค ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋ฆด๋ฆฌ์Šค ์ „ ๊ฒ€์ฆ ๋‹จ๊ณ„
์ปค๋ฒ„๋ฆฌ์ง€ ๊ณ„ํš8,400๊ฐœ ์ด์ƒ์˜ ์ถ”์ ๋œ ํ…Œ์ŠคํŠธ ํŒŒ์ผ์— ๊ฑธ์นœ 60,000๊ฐœ ์ด์ƒ์˜ ์ •์  ํ…Œ์ŠคํŠธ ์„ ์–ธ์„ ์œ„ํ•œ ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ ์ „๋žต

# โญ ์ฃผ์š” ๊ธฐ์—ฌ์ž > OmniRoute๋Š” ์—ด์ •์ ์ธ ์˜คํ”ˆ ์†Œ์Šค ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ํ•จ๊ป˜ ๋งŒ๋“ค์–ด ๊ฐ‘๋‹ˆ๋‹ค. ์ด๋“ค์€ ํ”„๋กœ์ ํŠธ์˜ ํ’ˆ์งˆ, ์•ˆ์ •์„ฑ ๋ฐ ๋„๋‹ฌ ๋ฒ”์œ„์— ์ง์ ‘์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๋›ฐ์–ด๋‚œ ๊ธฐ์—ฌ๋ฅผ ํ•ด์™”์Šต๋‹ˆ๋‹ค. **๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.** ### ๋ณ‘ํ•ฉ๋œ pull request ๊ธฐ์ค€ ์™ธ๋ถ€ ๊ธฐ์—ฌ์ž
์ˆœ์œ„๊ธฐ์—ฌ์ž๋ณ‘ํ•ฉ๋œ PR~๋ณ€๊ฒฝ๋œ ์ค„
1maxmad64bis41825,367,739
2HouMinXi29513,557,796
3pacocartones22281,551
4backryun210270,562
5JxnLexn1983,570,623
6oyi77190411,243
7KooshaPari1515,972,314
8rdself14580,663
9RaviTharuma123500,065
10herjarsa88230,872
11hartmark852,849,623
12jonlwheat2-gif6869,097
13artickc6243,502
14xiaoyaner020159126,220
15chirag127526,661
16xz-dev50245,976
17woodsonl48811,771
18rqzbeh46151,229
19MumuTW4328,166
19QuangBlue4313,112
2026-11-03 03:01:19 UTC์— ํ˜„์žฌ release/v3.8.53 ํŒ 05bc048d6c์„ ๊ธฐ์ค€์œผ๋กœ ์ง‘๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŽ˜์ด์ง€๊ฐ€ ๋งค๊ฒจ์ง„ GitHub GraphQL ์ง‘๊ณ„์—๋Š” ๋ณ‘ํ•ฉ๋œ PR 9,947๊ฑด์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ค‘ ์ €์žฅ์†Œ ์†Œ์œ ์ž๊ฐ€ 4,130๊ฑด, Dependabot์ด 240๊ฑด, ๊ธฐํƒ€ ๋ด‡/์•ฑ์ด 6๊ฑด์„ ์ž‘์„ฑํ–ˆ์œผ๋ฉฐ, 883๋ช…์˜ ๊ณ ์œ  ๊ธฐ์—ฌ์ž๊ฐ€ 5,571๊ฑด์˜ ์™ธ๋ถ€ PR์„ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. โ€œ๋ณ€๊ฒฝ๋œ ์ค„โ€์€ GitHub์˜ ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ ์ƒ์„ฑ๋œ ํŒŒ์ผ, lockfile, ์นดํƒˆ๋กœ๊ทธ, ๋ฒˆ์—ญ ๋ฐ ๋ฌธ์„œ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ž‘์„ฑ์ž๊ฐ€ ์ง์ ‘ ์ž‘์„ฑํ•œ LOC๊ฐ€ ์•„๋‹ˆ๋ผ ๋ณ€๊ฒฝ๋Ÿ‰์ž…๋‹ˆ๋‹ค. 53๊ฐœ์˜ PR์€ 500,000์ค„์„ ์ดˆ๊ณผํ•˜๋Š” GitHub diff๋ฅผ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: ๋‹จ์ผ provider ์ถ”๊ฐ€์ธ #13399๋Š” ๋ณ€๊ฒฝ๋œ ํŒŒ์ผ์„ 2,347๊ฐœ ๋‚˜์—ดํ•จ). ์ด๋กœ ์ธํ•ด ์œ„์˜ ๋ช‡๋ช‡ ํ•ฉ๊ณ„๊ฐ€ ๋ถ€ํ’€๋ ค์กŒ์Šต๋‹ˆ๋‹ค. ๋™๋ฅ ์€ ๊ฐ™์€ ์ˆœ์œ„๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ### GitHub ๊ท€์† ์ปค๋ฐ‹
Dizzle
Dizzle

๐Ÿฅ‡ GitHub ๊ธฐ์—ฌ๋กœ ์ง‘๊ณ„๋œ ์ปค๋ฐ‹ 418๊ฐœ
Bob.Hou
Bob.Hou

๐Ÿฅˆ GitHub ๊ธฐ์—ฌ๋กœ ์ง‘๊ณ„๋œ ์ปค๋ฐ‹ 294๊ฐœ
Paijo
Paijo

๐Ÿฅ‰ GitHub ๊ธฐ์—ฌ๋กœ ์ง‘๊ณ„๋œ ์ปค๋ฐ‹ 229๊ฐœ
Paco Cartones
Paco Cartones

๐Ÿ… GitHub ๊ธฐ์—ฌ๋กœ ์ง‘๊ณ„๋œ ์ปค๋ฐ‹ 222๊ฐœ
backryun
backryun

๐Ÿ… GitHub ๊ธฐ์—ฌ๋กœ ์ง‘๊ณ„๋œ ์ปค๋ฐ‹ 202๊ฐœ
Jan Leon
Jan Leon

๐Ÿ… GitHub ๊ธฐ์—ฌ๋กœ ์ง‘๊ณ„๋œ ์ปค๋ฐ‹ 134๊ฐœ
Ravi Tharuma
Ravi Tharuma

๐Ÿ… GitHub ๊ธฐ์—ฌ๋กœ ์ง‘๊ณ„๋œ ์ปค๋ฐ‹ 126๊ฐœ
Markus Hartung
Markus Hartung

๐Ÿ… GitHub ๊ธฐ์—ฌ๋กœ ์ง‘๊ณ„๋œ ์ปค๋ฐ‹ 115๊ฐœ
Randi
Randi

๐Ÿ… GitHub ๊ธฐ์—ฌ๋กœ ์ง‘๊ณ„๋œ ์ปค๋ฐ‹ 108๊ฐœ
Chris
Chris

๐Ÿ… GitHub ๊ธฐ์—ฌ๋กœ ์ง‘๊ณ„๋œ ์ปค๋ฐ‹ 70๊ฐœ
WebPerson
WebPerson

๐Ÿ… GitHub ๊ธฐ์—ฌ๋กœ ์ง‘๊ณ„๋œ ์ปค๋ฐ‹ 68๊ฐœ
Koosha Paridehpour
Koosha Paridehpour

๐Ÿ… GitHub ๊ธฐ์—ฌ๋กœ ์ง‘๊ณ„๋œ ์ปค๋ฐ‹ 68๊ฐœ
2026-11-03 02:09:16 UTC์— ์žฌํ™•์ธ: release/v3.8.53 ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜์— ๋Œ€ํ•ด ์ €์žฅ์†Œ Contributors API๊ฐ€ ๋ณด๊ณ ํ•œ GitHub ๊ธฐ์—ฌ ์ปค๋ฐ‹์ž…๋‹ˆ๋‹ค. API๋Š” 903๊ฐœ์˜ ID(์‚ฌ์šฉ์ž 429๋ช…, ๋ด‡ 2๊ฐœ, ์ต๋ช… 472๊ฐœ)๋ฅผ ๋ฐ˜ํ™˜ํ–ˆ์œผ๋ฉฐ, ์ด ํ‘œ์—์„œ๋Š” ์œ ์ง€ ๊ด€๋ฆฌ์ž, ๋ด‡ ๋ฐ ์ต๋ช… 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๊ฐ€ ๋ฌด๋ฃŒ๋กœ ๋…๋ฆฝ์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

## ๐Ÿ‘ฅ 1,000๋ช… ์ด์ƒ์˜ ๊ธฐ์—ฌ์ž
[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=1074&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) 2026-11-02์— ๋ผ์ด๋ธŒ release/v3.8.53 ํŒ 1c7135e0fb(7,972๊ฐœ ์ปค๋ฐ‹)์„ ๊ธฐ์ค€์œผ๋กœ ๊ฐ์‚ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค: ์ •๊ทœํ™”๋œ ์ธ๊ฐ„ Git ID 1,074๊ฐœ โ€” 759๊ฐœ๋Š” ์ปค๋ฐ‹ ์ž‘์„ฑ์ž๋กœ ํ‘œ์‹œ๋˜๊ณ (๋ฉ”์ธํ…Œ์ด๋„ˆ ํฌํ•จ), 315๊ฐœ๋Š” ๋ช…์‹œ์ ์ธ Co-authored-by ํŠธ๋ ˆ์ผ๋Ÿฌ์—๋งŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ด ์ง‘๊ณ„์—๋Š” .mailmap์ด ์ ์šฉ๋˜๋ฉฐ, ์ด๋ฉ”์ผ ์ฃผ์†Œ๋Š” ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๊ณ  ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. ์ˆซ์ž ํ˜•์‹๊ณผ ์ผ๋ฐ˜ GitHub noreply ์ฃผ์†Œ๋Š” ๋™์ผํ•œ ํ•ธ๋“ค์„ ์ธ์ฝ”๋”ฉํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ํ†ตํ•ฉํ•˜๊ณ , ๋ด‡/์—์ด์ „ํŠธ/์„œ๋น„์Šค/์ž๋ฆฌ ํ‘œ์‹œ์ž ID 29๊ฐœ๋Š” ์ œ์™ธํ•˜๋ฉฐ, ํ‘œ์‹œ ์ด๋ฆ„์ด ์ผ์น˜ํ•œ๋‹ค๋Š” ์ด์œ ๋งŒ์œผ๋กœ ์ผ๋ฐ˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋ฅผ ํ†ตํ•ฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. 2026-08-24 ๊ฐ์‚ฌ์—์„œ๋Š” 639๋ช…์ด ๊ฒŒ์‹œ๋˜์—ˆ์œผ๋ฉฐ, ํ•ด๋‹น ๊ฐ์‚ฌ์˜ ๊ธฐ์ค€ ac02c5b42f์— ์ด ๋ฐฉ๋ฒ•์„ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๋ฉด 619๋ช…์ด๋ฏ€๋กœ, ์ฆ๊ฐ€๋Š” ๋А์Šจํ•ด์ง„ ๋ฐฉ๋ฒ•์ด ์•„๋‹ˆ๋ผ ์ƒˆ๋กœ์šด ๊ธฐ์—ฌ์ž๋“ค์— ์˜ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ### ๊ธฐ์—ฌ ๋ฐฉ๋ฒ• 1. ์ €์žฅ์†Œ๋ฅผ ํฌํฌํ•ฉ๋‹ˆ๋‹ค 2. **ํ™œ์„ฑ** `release/vX.Y.Z` ํŒ์—์„œ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค(`main`์ด ์•„๋‹˜) โ€” [๋ธŒ๋žœ์น˜ ๋ฐ ๋ฆด๋ฆฌ์Šค ๋ชจ๋ธ](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` ๋ธŒ๋žœ์น˜**๋กœ Pull Request๋ฅผ ์—ฝ๋‹ˆ๋‹ค ์ž์„ธํ•œ ์ง€์นจ์€ [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๋…„ 11์›” 3์ผ GitHub REST API์—์„œ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค โ€” ์ด ํ”„๋กœ์ ํŠธ๋“ค์— ๋ณ„์„ ๋ˆŒ๋Ÿฌ ์ฃผ์„ธ์š”. ๋ณ„ ๊ฐœ์ˆ˜๋Š” ํ•ด๋‹น ๋‚ ์งœ์˜ ์ •ํ™•ํ•œ ์Šค๋ƒ…์ƒท์ด๋ฉฐ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋ณ€๋™๋ฉ๋‹ˆ๋‹ค. ### ๐Ÿงฌ ๊ณ„๋ณด ๋ฐ ๊ฒŒ์ดํŠธ์›จ์ด
ํ”„๋กœ์ ํŠธโญOmniRoute์— ์˜๊ฐ์„ ์ค€ ๋ฐฉ์‹
9router31,861์ด ํฌํฌ๊ฐ€ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ผ์€ ์›๋ณธ ํ”„๋กœ์ ํŠธ๋กœ, ์—ฌ๊ธฐ์„œ ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ API์™€ ์™„์ „ํ•œ TypeScript ์žฌ์ž‘์„ฑ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
CLIProxyAPI57,329์ด JavaScript / TypeScript ํฌํŠธ์— ์˜๊ฐ์„ ์ค€ Go ๊ตฌํ˜„์ž…๋‹ˆ๋‹ค.
LiteLLM62,580๊ณต๊ฐœ ๊ฐ€๊ฒฉ ๋ฐ์ดํ„ฐ์…‹์ด ๋น„์šฉ ์ถ”์  ๋™๊ธฐํ™”์— ์‚ฌ์šฉ๋˜๊ณ , ํ”„๋กœ๋ฐ”์ด๋” ์ •๊ทœํ™” ๋ชจ๋ธ์ด ๋ผ์šฐํŒ… ์„ค๊ณ„์— ๋ฐ˜์˜๋œ AI ๊ฒŒ์ดํŠธ์›จ์ด์ž…๋‹ˆ๋‹ค.
codex-chatgpt-web15,435๋ธŒ๋ผ์šฐ์ € ์„ธ์…˜, ์‘๋‹ต ํ”„๋ ˆ์ด๋ฐ, ์‚ฌ์šฉ๋Ÿ‰ ๋ฐ ์›น ๊ฒ€์ƒ‰ ์–ด๋Œ‘ํ„ฐ๋ฅผ ํฌํ•จํ•˜์—ฌ, ๋ฒค๋”๋ง๋œ ChatGPT Web โ†’ Codex Responses ๋ธŒ๋ฆฌ์ง€์— MIT ์†Œ์Šค๋ฅผ ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
free-claude-code65,966์ŠคํŠธ๋ฆผ ๋ณต๊ตฌ, no-thinking ๋ณ„์นญ, ํด๋ฐฑ ์›น ๊ฒ€์ƒ‰, ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ์ œํ•œ, ๋กœ๊ทธ ๋น„์‹๋ณ„ํ™” ๋ฐ ๊ฐ•ํ™”๋œ ๋Ÿฐ์ฒ˜ ํ๋ฆ„์— ํŒจํ„ด์„ ํฌํŒ…ํ–ˆ์Šต๋‹ˆ๋‹ค.
composer-api347Cursor Composer์˜ ๋„๊ตฌ ์„ ํƒ, ์ถœ๋ ฅ ์ œ์•ฝ ๋ฐ ๋„๊ตฌ ์ปค๋ฐ‹ ํŒจํ„ด์„ ๋„ค์ดํ‹ฐ๋ธŒ Cursor ์‹คํ–‰๊ธฐ์— ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
codex-multi-auth561Codex OAuth ์žฌ์ธ์ฆ์— ์‹ ๊ทœ ๋กœ๊ทธ์ธ ๋ฐ ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ์ˆœํ™˜ ํŒจํ„ด์„ ํฌํŒ…ํ–ˆ์Šต๋‹ˆ๋‹ค.
opencode-anthropic-auth562Claude Code ํ˜ธํ™˜ ๋ณ€ํ™˜ ๊ธฐ๋ณธ๊ฐ’๊ณผ ๊ฒฐ์ œ ํ—ค๋” ๋™์ž‘์„ OmniRoute์˜ ๊ตฌ์„ฑ ๊ธฐ๋ฐ˜ ๋ธŒ๋ฆฌ์ง€์— ์ผ๋ฐ˜ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.
grok2api-merged2Grok ๋ชจ๋ธ ๋งคํ•‘, ๊ฐ€์งœ TypeError Statsig ์ƒ์„ฑ๊ธฐ, ์š”์ฒญ ๋ฐ ๋””๋ฐ”์ด์Šค ๊ธฐ๋ณธ๊ฐ’, NDJSON ์‘๋‹ต ํ”„๋กœ์„ธ์„œ๊ฐ€ OmniRoute์˜ Grok Web ์‹คํ–‰๊ธฐ์— ์‹ค์งˆ์ ์œผ๋กœ ์ ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
TQZHR/grok2api707grok2api-merged์˜ ์ฃผ์š” ์ „์ด ์ฝ”๋“œ ์†Œ์Šค์ด๋ฉฐ, ๋ชจ๋ธ, ํ—ค๋”, ํŽ˜์ด๋กœ๋“œ, Statsig ๋ฐ ํ”„๋กœ์„ธ์„œ ๊ตฌํ˜„์ด Grok Web ๊ณ„๋ณด์— ๋ณด์กด๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
chenyme/grok2api7,874Grok ํŽ˜์ด๋กœ๋“œ ๋ฐ ๋””๋ฐ”์ด์Šค ๊ธฐ๋ณธ๊ฐ’, Statsig ์ƒ์„ฑ๊ธฐ, ๊ทธ๋ฆฌ๊ณ  TQZHR๊ณผ grok2api-merged๋ฅผ ๊ฑฐ์ณ ์ „ํ•ด์ง„ result.response ํ”„๋กœ์„ธ์„œ์˜ ๊ธฐ๋ฐ˜ MIT ์†Œ์Šค์ž…๋‹ˆ๋‹ค.
grok2api-pro27ํ”„๋ก์‹œ ํ’€ ๊ณ„์ธต์— ๋Œ€ํ•ด grok2api-merged๊ฐ€ ์ถœ์ฒ˜๋กœ ๋ช…์‹œํ•œ ์ „์ด ์†Œ์Šค์ž…๋‹ˆ๋‹ค. OmniRoute๋Š” ํ•ด๋‹น ๊ณ„๋ณด ๊ณ ์ง€๋ฅผ ๋ณด์กดํ•˜์ง€๋งŒ, ์ œํ•œ๋œ Grok Web ์‹คํ–‰๊ธฐ์— ํ”„๋ก์‹œ ํ’€์„ ํฌํŒ…ํ–ˆ๋‹ค๊ณ  ์ฃผ์žฅํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.
GrokProxy52์ฟ ํ‚ค ์ธ์ฆ ๋ฐฉ์‹์˜ Grok ํ”„๋ก์‹œ์™€ result.response.token ์ŠคํŠธ๋ฆฌ๋ฐ ํŒจํ„ด์ด OmniRoute์˜ Grok Web ์ „์†ก ๊ณ„์ธต์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
GrokBridge5์›๋ณธ Grok Web ๊ตฌํ˜„์„ HTTP/๋ธŒ๋ผ์šฐ์ € ์—…์ŠคํŠธ๋ฆผ ์„ค๊ณ„์— ์ฐธ๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ง์ ‘์ ์ธ HTTP ๊ฒฝ๋กœ๋Š” GrokProxy์—์„œ ํŒŒ์ƒ๋˜์—ˆ์œผ๋ฏ€๋กœ ๋…๋ฆฝ์ ์ธ ์ฝ”๋“œ ํฌํŠธ๋Š” ์ฃผ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
### ๐Ÿ—œ๏ธ ์ปจํ…์ŠคํŠธ ๋ฐ ํ† ํฐ ์••์ถ• โ€” ์—”์ง„
ํ”„๋กœ์ ํŠธโญOmniRoute์— ์˜๊ฐ์„ ์ค€ ๋ฐฉ์‹
Caveman116,957๋ฐ”์ด๋Ÿด ๋ฌธ๊ตฌ์ธ "์™œ ๋งŽ์€ ํ† ํฐ์„ ์“ฐ์ง€? ์ ์€ ํ† ํฐ์œผ๋กœ๋„ ๋˜๋Š”๋ฐ" ํ”„๋กœ์ ํŠธ โ€” ๋™๊ตด์ธ ๋งํˆฌ ์ฒ ํ•™์ด ํ‘œ์ค€ ์••์ถ• ๋ชจ๋“œ์™€ 30๊ฐœ ์ด์ƒ์˜ ๋ถˆํ•„์š”ํ•œ ํ‘œํ˜„ ์ œ๊ฑฐ/์‘์ถ• ๊ทœ์น™์˜ ๊ธฐ๋ฐ˜์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
RTK โ€“ Rust Token Killer85,350๊ณ ์„ฑ๋Šฅ ๋ช…๋ น ์ถœ๋ ฅ ์••์ถ• โ€” RTK ์—”์ง„, JSON ํ•„ํ„ฐ DSL, ์›์‹œ ์ถœ๋ ฅ ๋ณต๊ตฌ, ๊ทธ๋ฆฌ๊ณ  RTK โ†’ Caveman ์Šคํƒ ํŒŒ์ดํ”„๋ผ์ธ์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
headroom78,672๋˜๋Œ๋ฆด ์ˆ˜ ์žˆ๋Š” ์ปจํ…์ŠคํŠธ ์••์ถ•(SmartCrusher) โ€” headroom ์—”์ง„๊ณผ ccr ๊ฒ€์ƒ‰ ๋งˆ์ปค ํŒจํ„ด์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
LLMLingua6,797ํ”„๋กฌํ”„ํŠธ ์••์ถ• ์—ฐ๊ตฌ(LLMLingua / LLMLingua-2) โ€” ๋น„๋™๊ธฐ, ์ฝ”๋“œ ์•ˆ์ „, ์‹คํŒจ ์‹œ ์›๋ณธ ๊ฐœ๋ฐฉ ๋ฐฉ์‹์˜ llmlingua ์—”์ง„์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
llmlingua-2-js33LLMLingua ์—”์ง„์˜ ์›Œ์ปค ์Šค๋ ˆ๋“œ ๋ฐฑ์—”๋“œ๋กœ ์‚ฌ์šฉ๋˜๋Š” JS/ONNX ํฌํŠธ(MobileBERT / XLM-RoBERTa)์ž…๋‹ˆ๋‹ค.
Troglodita50PT-BR ํ† ํฐ ์••์ถ• โ€” ๋ธŒ๋ผ์งˆ ํฌ๋ฅดํˆฌ๊ฐˆ์–ด ๋ฌธ๋ฒ•์— ๋งž์ถ˜ ๊ตฐ๋”๋”๊ธฐ ํ‘œํ˜„ ์ถ•์†Œ ๋ฐ ๋ถˆํ•„์š”ํ•œ ํ‘œํ˜„ ์ œ๊ฑฐ ๊ธฐ๋Šฅ์œผ๋กœ pt-BR ์–ธ์–ด ํŒฉ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
ponytail182,929๋ฐ”์ด๋Ÿด "๊ฒŒ์œผ๋ฅธ ์‹œ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž" YAGNI ์ฝ”๋” ์Šคํ‚ฌ โ€” less-code ์ถœ๋ ฅ ์Šคํƒ€์ผ์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” Caveman์˜ ๊ฐ„๊ฒฐํ•œ ๋ฌธ์ฒด์™€ ๊ฐ™์€ ์ถœ๋ ฅ ์ถ•์—์„œ, ๊ฐ€์žฅ ์ž‘์€ ์ž‘์—… ๊ฐ€๋Šฅํ•œ ๋ณ€๊ฒฝ์„ ์œ ๋„ํ•ด _์ƒ์„ฑ๋œ_ ์ฝ”๋“œ๋ฅผ ์ค„์ž…๋‹ˆ๋‹ค.
i-have-adhd59,838ํ–‰๋™ ์šฐ์„ ์˜ ADHD ์นœํ™”์  ์‘๋‹ต ์Šคํƒ€์ผ์„ ๋‹ค์„ฏ ๊ฐœ ์–ธ์–ด์— ๊ฑธ์นœ OmniRoute์˜ ๊ฐ„๊ฒฐํ•œ ์ถœ๋ ฅ ์Šคํƒ€์ผ์— ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
### ๐Ÿงฉ ์ปดํŒฉํŠธ ํ˜•์‹, ํ† ํฐ ์—ฐ๊ตฌ ๋ฐ ์ฝ”๋“œ ์ธ์‹ ๋„๊ตฌ
ํ”„๋กœ์ ํŠธโญOmniRoute์— ์˜๊ฐ์„ ์ค€ ๋ฐฉ์‹
TOON25,602ํ† ํฐ ์ง€ํ–ฅ ๊ฐ์ฒด ํ‘œ๊ธฐ๋ฒ•(Token-Oriented Object Notation) โ€” ์—ด ๊ธฐ๋ฐ˜์˜ ํ—ค๋”+ํ–‰ ๋ชจ๋ธ์ด ํ‘œ ํ˜•์‹ ์••์ถ• ๋‹จ๊ณ„๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ ์˜ํ–ฅ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
GCF โ€“ Graph Compact Format61์ปดํŒฉํŠธํ•œ ๊ทธ๋ž˜ํ”„ ํ˜•์‹๊ณผ ๋ฒ”์šฉ ํ”„๋กœํ•„ ์„ค๊ณ„๊ฐ€ OmniRoute์˜ ํ‘œ ํ˜•์‹ ์••์ถ• ๋ฐ Headroom ์ฝ”๋ฑ ํ˜•์‹์— ๋ฐ˜์˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
gcf-typescript4MIT TypeScript ๊ตฌํ˜„์„ Headroom ๋ฒ”์šฉ ํ”„๋กœํ•„ ์ฝ”๋ฑ์œผ๋กœ ์ง์ ‘ ๋ฒค๋”๋งํ•˜๊ณ  ํ™•์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.
token-optimizer-mcp566Brotli/SQLite ์บ์‹œ + ์„ธ์…˜๋ณ„ ์ปจํ…์ŠคํŠธ ๋ธํƒ€ โ€” session-dedup ์—”์ง„์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
token-savior1,203Bash ์ถœ๋ ฅ ์••์ถ• + MCP ํ”„๋กœํ•„ โ€” ์••์ถ• ์ค‘๋‹จ ๊ทœ์œจ๊ณผ MCP ๋„๊ตฌ ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ถ•์†Œ์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
token-saver162์ฝ˜ํ…์ธ  ์ธ์‹ ๋ฐฉ์‹์˜ ํŒŒ์ผ ํ˜•์‹๋ณ„ ์ถœ๋ ฅ ์••์ถ•๊ณผ ์‹คํŒจ ์ธ์ง€ํ˜• ์ค‘๋‹จ โ€” ํ˜•์‹๋ณ„ ๋””์ŠคํŒจ์น˜์™€ ์ตœ์†Œ ์ด๋“ ๋ฏธ๋‹ฌ ์‹œ ๊ฑด๋„ˆ๋›ฐ๊ธฐ๋ฅผ ๊ฒ€์ฆํ–ˆ์Šต๋‹ˆ๋‹ค.
token-optimizer2,853"์œ ๋ น ํ† ํฐ ์ฐพ๊ธฐ" โ€” ์˜คํ”„๋กœ๋“œ + ๋ณต๊ตฌ ๊ฐ€๋Šฅํ•œ ํ•ธ๋“ค ํŒจํ„ด์ด CCR ์˜คํ”„๋กœ๋“œ ๊ตฌ์ƒ์— ์˜ํ–ฅ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
TokenMizer34์„ธ์…˜ ๊ทธ๋ž˜ํ”„ + ํ„ด ๊ฐ„ ์ค„ ์ค‘๋ณต ์ œ๊ฑฐ ์ฒญ์‚ฌ์ง„์ด session-dedup ์„ค๊ณ„์— ์˜ํ–ฅ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
OmniCompress3Rust ์—ด ๊ธฐ๋ฐ˜ JSON + ์ฝ˜ํ…์ธ  ์ฃผ์†Œ ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰ + ๋ฉ”์‹œ์ง€ ๊ฐ„ ์ค‘๋ณต ์ œ๊ฑฐ โ€” headroom/ccr/session-dedup ์—”์ง„ ์„ค๊ณ„์™€ ์บ์‹œ ์•ˆ์ •์ ์ธ "์••์ถ• ํ˜•์‹์€ ์œ„์น˜์™€ ๋ฌด๊ด€ํ•˜๋‹ค"๋Š” ๋ถˆ๋ณ€์‹์„ ๊ฒ€์ฆํ–ˆ์Šต๋‹ˆ๋‹ค.
mcp-compressor140MCP ๋„๊ตฌ ์Šคํ‚ค๋งˆ/์„ค๋ช… ์••์ถ• โ€” MCP ๋„๊ตฌ ๋งค๋‹ˆํŽ˜์ŠคํŠธ์˜ ํ•ญ๋ชฉ ์ˆ˜ ์ถ•์†Œ์— ์˜ํ–ฅ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
RepoMapper218Aider ์Šคํƒ€์ผ์˜ ์ €์žฅ์†Œ ๋งต ์ˆœ์œ„ ์ง€์ • โ€” ์ €์žฅ์†Œ ๋งต ๋ฐ ๊ฒ€์ƒ‰ ์ˆœ์œ„ ์ง€์ • ํƒ์ƒ‰์— ์˜ํ–ฅ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
quiet-shell-mcp4MCP๋ฅผ ํ†ตํ•œ ์„ ์–ธ์  ์…ธ ์ถœ๋ ฅ ์ถ•์†Œ โ€” ์„ ์–ธ์  bash ์ถœ๋ ฅ ์••์ถ•์„ ๊ฒ€์ฆํ–ˆ์Šต๋‹ˆ๋‹ค.
ts-morph6,222TypeScript Compiler API ๋„๊ตฌ ํ‚คํŠธ โ€” ๋ฌธ์ž์—ด, ํ…œํ”Œ๋ฆฟ ๋ฐ ์ •๊ทœ์‹ ๋ฆฌํ„ฐ๋Ÿด์„ ๋ณด์กดํ•˜๋Š” ํŒŒ์„œ ๊ธฐ๋ฐ˜ ์ฃผ์„ ์ œ๊ฑฐ์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
### ๐Ÿง  ๋ฉ”๋ชจ๋ฆฌ ๋ฐ RAG
ํ”„๋กœ์ ํŠธโญOmniRoute์— ์˜๊ฐ์„ ์ค€ ๋ฐฉ์‹
Mem068,294๋ฒ”์šฉ ๋ฉ”๋ชจ๋ฆฌ ๊ณ„์ธต โ€” ํ”„๋ก์‹œ๋ฅผ ์“ฐ๊ธฐ/์ฝ๊ธฐ ๊ฒฝ๊ณ„๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋ธ์ด ๋‹น์‚ฌ์˜ ๋ฉ”๋ชจ๋ฆฌ ์•„ํ‚คํ…์ฒ˜์— ์˜ํ–ฅ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
Letta (MemGPT)25,321๊ณ„์ธตํ™”๋œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ƒํƒœ ์ €์žฅ ์—์ด์ „ํŠธ โ€” ๋‹น์‚ฌ์˜ Context Control & Recovery (CCR) ๊ณ„์ธต ๋ชจ๋ธ์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
WFGY1,804๋ฐ˜๋ณต์ ์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” 16๊ฐ€์ง€ RAG/LLM ์žฅ์•  ๋ชจ๋“œ์— ๋Œ€ํ•œ ProblemMap ๋ถ„๋ฅ˜ ์ฒด๊ณ„ โ€” ๋‹น์‚ฌ์˜ ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ฐ€์ด๋“œ์—์„œ ๊ณต์œ ํ•˜๋Š” ์šฉ์–ด ์ฒด๊ณ„์ž…๋‹ˆ๋‹ค.
### ๐Ÿ›ฐ๏ธ ํŠธ๋ž˜ํ”ฝ ๊ฒ€์‚ฌ, MITM ๋ฐ ํˆฌ๋ช… ํ”„๋ก์‹œ
ํ”„๋กœ์ ํŠธโญOmniRoute์— ์˜๊ฐ์„ ์ค€ ๋ฐฉ์‹
llm-interceptor81์ฝ”๋”ฉ ์–ด์‹œ์Šคํ„ดํŠธ โ†” LLM ํŠธ๋ž˜ํ”ฝ์˜ MITM ๊ฐ€๋กœ์ฑ„๊ธฐ/๋ถ„์„์€ ์ดˆ๊ธฐ Traffic Inspector ์š”๊ตฌ ์‚ฌํ•ญ์— ์˜ํ–ฅ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์— ๋„์ถœ๋œ ๋„ค ๊ฐ€์ง€ ๋ชจ๋“ˆ โ€” SSE ๋ณ‘ํ•ฉ, ๋Œ€ํ™” ์ •๊ทœํ™”, ์‹œํฌ๋ฆฟ ๋งˆ์Šคํ‚น ๋ฐ ํ—ค๋” ์ •์ œ โ€” ์€ ๊ณต๊ฐœ ํ”„๋กœํ† ์ฝœ ํ‘œ์ค€์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๋…๋ฆฝ์ ์ธ ํด๋ฆฐ๋ฃธ ๊ตฌํ˜„์œผ๋กœ ๋Œ€์ฒด๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‘ ํ˜ธ์ŠคํŠธ ํŒจ์Šค์Šค๋ฃจ ํ‘œ๋ฉด(passthrough.ts ๋ฐ _internal/bypass.cjs)์€ OmniRoute ๋‚ด๋ถ€์—์„œ ๋…๋ฆฝ์ ์œผ๋กœ ๋ถ„๋ฅ˜๋œ ๊ตฌํ˜„์œผ๋กœ ๋‚จ์•„ ์žˆ์œผ๋ฉฐ, ํ•ด๋‹น ๋Œ€์ฒด ์ž‘์—…์˜ ์ผ๋ถ€๋กœ ๋‹ค์‹œ ์ž‘์„ฑ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
ProxyBridge6,978ํ”„๋กœ์„ธ์Šค๋ณ„ ํˆฌ๋ช… ํ”„๋ก์‹œ ๋ผ์šฐํŒ… โ€” ์žฅ์•  ์•ˆ์ „ MITM ์ข…๋ฃŒ, ์†Œ์ผ“ ์œ ํœด ์‹œ๊ฐ„ ์ดˆ๊ณผ, /proc ํ”„๋กœ์„ธ์Šค ์–ดํŠธ๋ฆฌ๋ทฐ์…˜ ๋ฐ TPROXY ์บก์ฒ˜์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
### ๐Ÿ“š ๋ชจ๋ธ ๋ฐ์ดํ„ฐ, ๊ด€์ธก ๊ฐ€๋Šฅ์„ฑ ๋ฐ UI
ํ”„๋กœ์ ํŠธโญOmniRoute์— ์˜๊ฐ์„ ์ค€ ๋ฐฉ์‹
models.dev7,486AI ๋ชจ๋ธ ์‚ฌ์–‘, ๊ฐ€๊ฒฉ ๋ฐ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๊ณต๊ฐœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค โ€” ๋‹น์‚ฌ์˜ ๋ชจ๋ธ ์นดํƒˆ๋กœ๊ทธ์— ๊ธฐ๋ณธ์ ์œผ๋กœ ๋™๊ธฐํ™”๋ฉ๋‹ˆ๋‹ค.
React Flow / xyflow38,874์‹ค์‹œ๊ฐ„ Compression Studio ๋ฐ Combo/Routing Studio๋ฅผ ๊ตฌ๋™ํ•˜๋Š” ๋…ธ๋“œ ๊ธฐ๋ฐ˜ ๊ทธ๋ž˜ํ”„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค.
LangGraph44,349LangGraph Studio์˜ ์‹ค์‹œ๊ฐ„ ์›Œํฌํ”Œ๋กœ ๊ทธ๋ž˜ํ”„ ์‹œ๊ฐํ™”๋Š” ๋‹น์‚ฌ Studio์˜ ์‹ค์‹œ๊ฐ„ ์บ์Šค์ผ€์ด๋“œ ๋ณด๊ธฐ์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
Langfuse36,907ํŠธ๋ ˆ์ด์Šค โ†’ ์ŠคํŒฌ โ†’ ์ƒ์„ฑ์œผ๋กœ ์ด์–ด์ง€๋Š” ๊ด€์ธก ๊ฐ€๋Šฅ์„ฑ ๋ชจ๋ธ์ด ๋‹น์‚ฌ์˜ Compression Studio ์›Œํ„ฐํด ๊ตฌ์„ฑ์— ์˜ํ–ฅ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
Kiali3,647Istio ์„œ๋น„์Šค ๋ฉ”์‹œ ๊ด€์ธก ๊ฐ€๋Šฅ์„ฑ โ€” Routing/Combo Studio์˜ ์„œํ‚ท ๋ธŒ๋ ˆ์ด์ปค ๋ฐฐ์ง€์™€ ์˜ค๋ฅ˜ ์—ฃ์ง€ ์‹œ๊ฐํ™”์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
lobe-icons2,666๋Œ€์‹œ๋ณด๋“œ ์ „๋ฐ˜์— ํ”„๋กœ๋ฐ”์ด๋” ์•„์ด์ฝ˜์œผ๋กœ ํ‘œ์‹œ๋˜๋Š” AI/LLM ๋ธŒ๋žœ๋“œ ๋กœ๊ณ ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
flag-icons12,499README ์–ธ์–ด ์„ ํƒ๊ธฐ์—์„œ ์‚ฌ์šฉํ•˜๋Š” MIT ๋ผ์ด์„ ์Šค SVG ๊ตญ๊ธฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
### ๐Ÿ›ก๏ธ ๋ณด์•ˆ
ํ”„๋กœ์ ํŠธโญOmniRoute์— ์˜๊ฐ์„ ์ค€ ๋ฐฉ์‹
awesome-secure-defaults723๋ณด์•ˆ ๊ธฐ๋ณธ๊ฐ’์„ ์ œ๊ณตํ•˜๋Š” ์—„์„ ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ชฉ๋ก์œผ๋กœ, ๋‹น์‚ฌ์˜ ๋ณด์•ˆ ์„ ํƒ(Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink)์„ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค.
### ๐Ÿงญ ๋ณด์™„ ๋„๊ตฌ
ํ”„๋กœ์ ํŠธโญOmniRoute์— ์˜๊ฐ์„ ์ค€ ๋ฐฉ์‹
ClawRouter6,649์š”์ฒญ ์ค‘๋ณต ์ œ๊ฑฐ, ๊ธด๊ธ‰ ๋ฌด๋น„์šฉ ํด๋ฐฑ, ํ”Œ๋Ÿฌ๊ทธํ˜• Auto-Combo ์ „๋žต ๋ฐ ๋‹ค๊ตญ์–ด ์˜๋„ ๋ถ„๋ฅ˜์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
Antigravity-Manager32,785๊ณ„์ • ์ธ์‹ ๋ชจ๋ธ ์žฌ๋งคํ•‘, ์‹คํ–‰ ํŒŒ์ผ ๊ฒฝ๋กœ ๊ฒ€์ฆ ๋ฐ ํ”Œ๋žœ ๋ ˆ์ด๋ธ” ๋™์ž‘์ด OmniRoute์˜ Antigravity ๋Ÿฐํƒ€์ž„์— ์˜ํ–ฅ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
vscode-antigravity-cockpit4,852๊ฐ„๊ฒฐํ•œ ํ• ๋‹น๋Ÿ‰ ์ดˆ๊ธฐํ™” ์นด์šดํŠธ๋‹ค์šด ํ˜•์‹์ด OmniRoute์˜ ํ•ด๋‹น ํ”„๋กœ๋ฐ”์ด๋” ์ œํ•œ ํ‘œ์‹œ ๋ฐฉ์‹์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
AionUi33,996ACP ํ†ตํ•ฉ ๊ธฐ๋Šฅ์ด ์„ค์น˜๋œ CLI ์—์ด์ „ํŠธ์˜ ์ž๋™ ๊ฐ์ง€์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
CodexBar22,955Grok Build ํ• ๋‹น๋Ÿ‰ ํ‘œ๋ฉด์„ ์‹๋ณ„ํ–ˆ์œผ๋ฉฐ, ์ดํ›„ OmniRoute๊ฐ€ ๋ผ์ด๋ธŒ ์™€์ด์–ด ํ˜•์‹์„ ๋…๋ฆฝ์ ์œผ๋กœ ๊ฒ€์ฆํ•˜๊ณ  ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
## ๐Ÿ“„ ๋ผ์ด์„ ์Šค MIT ๋ผ์ด์„ ์Šค - ์ž์„ธํ•œ ๋‚ด์šฉ์€ [LICENSE](LICENSE)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. ---
**[โฌ† ๋งจ ์œ„๋กœ ๋Œ์•„๊ฐ€๊ธฐ](#-omniroute)** ยท ์˜คํ”ˆ ์†Œ์Šค AI ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ์œ„ํ•ด โค๏ธ๋กœ ์ œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Diego Souza ์ œ์ž‘ ยท OmniRoute v3.8.54 ยท Node โ‰ฅ22.22.2 ยท MIT ๋ผ์ด์„ ์Šค ยท omniroute.online