์ฝ˜ํ…์ธ ๋กœ ์ด๋™

์–ธ์–ด ์„ ํƒ

ํ˜„์žฌ ์–ธ์–ด: ํ•œ๊ตญ์–ด

README (ํ•œ๊ตญ์–ด)


<td nowrap>๋Ÿฐํƒ€์ž„<td nowrap>์–ธ์–ด<td nowrap>ํ”„๋ ˆ์ž„์›Œํฌ<td nowrap>๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค<td nowrap>๋ฉ”๋ชจ๋ฆฌ<td nowrap>์Šคํ‚ค๋งˆ<td nowrap>ํ”„๋กœํ† ์ฝœ<td nowrap>์ŠคํŠธ๋ฆฌ๋ฐ<td nowrap>์••์ถ•<td nowrap>์ธ์ฆ ๋ฐ ๋ณด์•ˆ<td nowrap>์Šคํ…”์Šค<td nowrap>๋ณต์›๋ ฅ<td nowrap>๋กœ๊น…<td nowrap>ํ…Œ์ŠคํŒ…<td nowrap>ํ”Œ๋žซํผ<td nowrap>CI/CD<td nowrap>๋งํฌ
๊ณ„์ธต๊ธฐ์ˆ 
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 ๋ ˆ๊ฑฐ์‹œ) โ€” 122๊ฐœ ๋„๋ฉ”์ธ ๋ชจ๋“ˆ, 183๊ฐœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜
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 ํ‚ค + MCP ๋ฒ”์œ„ ์ง€์ • ์ธ์ฆ ยท AES-256-GCM ์ €์žฅ ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™” ยท DOMPurify
wreq-js โ€” JA3 / JA4 TLS ์ง€๋ฌธ ์œ„์žฅ, 3๋‹จ๊ณ„ ํ”„๋ก์‹œ
ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ, ์ง€์ˆ˜ ๋ฐฑ์˜คํ”„, ์ฌ๋”๋ง-ํ—ˆ๋“œ ๋ฐฉ์ง€, ์ž๋™ ์ฝค๋ณด ์ž๊ฐ€ ๋ณต๊ตฌ
pino โ€” ์š”์ฒญ ์ปจํ…์ŠคํŠธ๋ฅผ ํฌํ•จํ•œ ๊ตฌ์กฐํ™”๋œ JSON ๋กœ๊ทธ
Node.js test runner + Vitest โ€” 5,100๊ฐœ ์ด์ƒ์˜ ์ถ”์ ๋œ ํ…Œ์ŠคํŠธ ํŒŒ์ผ (๋‹จ์œ„, ํ†ตํ•ฉ, E2E, ๋ณด์•ˆ, ์ƒํƒœ๊ณ„) ์ „๋ฐ˜์— ๊ฑธ์ณ 39,000๊ฐœ ์ด์ƒ์˜ ์ •์  ํ…Œ์ŠคํŠธ ์„ ์–ธ
๋ฐ์Šคํฌํ†ฑ (Electron) ยท Android (Termux) ยท PWA (๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ €)
GitHub Actions โ€” ๋ฆด๋ฆฌ์Šค ์‹œ ์ž๋™ npm ๊ฒŒ์‹œ + Docker Hub
์›น์‚ฌ์ดํŠธ ยท npm ยท Docker Hub
<td nowrap>์‚ฌ์šฉ์ž ๊ฐ€์ด๋“œ<td nowrap>์„ค์ • ๊ฐ€์ด๋“œ<td nowrap>CLI ๋„๊ตฌ ๊ฐ€์ด๋“œ<td nowrap>์›๊ฒฉ ๋ชจ๋“œ<td nowrap>Claude Code ๊ตฌ์„ฑ<td nowrap>๋น ๋ฅธ ์‹œ์ž‘
๋ฌธ์„œ์„ค๋ช…
ํ”„๋กœ๋ฐ”์ด๋”, ์ฝค๋ณด, CLI ํ†ตํ•ฉ, ๋ฐฐํฌ
์ „์ฒด ์„ค์น˜ ๋ฐฉ๋ฒ•, CLI ๋„๊ตฌ ๊ตฌ์„ฑ, ํ”„๋กœํ† ์ฝœ ์„ค์ •, ํƒ€์ž„์•„์›ƒ ์กฐ์ •
Claude Code, Codex, Cursor, Cline, OpenClaw, Kilo, Copilot์˜ ๋„๊ตฌ๋ณ„ ์„ค์ •
๋ฒ”์œ„๊ฐ€ ์ง€์ •๋œ ์•ก์„ธ์Šค ํ† ํฐ์„ ์‚ฌ์šฉํ•ด ๋…ธํŠธ๋ถ์˜ CLI์—์„œ ์›๊ฒฉ OmniRoute(VPS) ์ œ์–ด
launch ๋ฐ ๋ชจ๋ธ๋ณ„ ํ”„๋กœํ•„์„ ์‚ฌ์šฉํ•ด Claude Code๋ฅผ OmniRoute(๋กœ์ปฌ/์›๊ฒฉ)์— ์—ฐ๊ฒฐ
3๋‹จ๊ณ„: ์„ค์น˜ โ†’ ์—ฐ๊ฒฐ โ†’ ๊ตฌ์„ฑ
<td nowrap>Docker ๊ฐ€์ด๋“œ<td nowrap>Podman ๊ฐ€์ด๋“œ<td nowrap>VM ๋ฐฐํฌ<td nowrap>Fly.io ๋ฐฐํฌ<td nowrap>Termux ๊ฐ€์ด๋“œ<td nowrap>PWA ๊ฐ€์ด๋“œ<td nowrap>์ œ๊ฑฐ ๊ฐ€์ด๋“œ<td nowrap>ํ™˜๊ฒฝ ๊ตฌ์„ฑ
๋ฌธ์„œ์„ค๋ช…
Docker ์‹คํ–‰, Compose ํ”„๋กœํ•„, Caddy HTTPS, ํ„ฐ๋„, ์ด๋ฏธ์ง€ ํƒœ๊ทธ
Quadlet systemd ํ†ตํ•ฉ, podman-compose, SELinux
์ „์ฒด ๊ฐ€์ด๋“œ: VM + nginx + Cloudflare ์„ค์ •
์˜๊ตฌ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Fly.io์— ๋ฐฐํฌ
Termux๋ฅผ ํ†ตํ•ด Android์—์„œ OmniRoute ์‹คํ–‰
ํ”„๋กœ๊ทธ๋ ˆ์‹œ๋ธŒ ์›น ์•ฑ ์„ค์น˜, ์บ์‹ฑ, ์•„ํ‚คํ…์ฒ˜
๋ชจ๋“  ์„ค์น˜ ๋ฐฉ์‹์—์„œ ๊น”๋”ํ•˜๊ฒŒ ์ œ๊ฑฐ
์ „์ฒด .env ๋ณ€์ˆ˜ ๋ฐ ์ฐธ์กฐ
<td nowrap>์•„ํ‚คํ…์ฒ˜<td nowrap>์••์ถ• ๊ฐ€์ด๋“œ<td nowrap>RTK ์••์ถ•<td nowrap>์••์ถ• ์—”์ง„<td nowrap>์••์ถ• ๊ทœ์น™ ํ˜•์‹<td nowrap>์••์ถ• ์–ธ์–ด ํŒฉ<td nowrap>๋ณต์›๋ ฅ ๊ฐ€์ด๋“œ<td nowrap>์ž๋™ ์ฝค๋ณด ์—”์ง„<td nowrap>ํ”„๋ก์‹œ ๊ฐ€์ด๋“œ<td nowrap>๋ฌด๋ฃŒ ํ‹ฐ์–ด<td nowrap>๊ธฐ๋Šฅ ๊ฐค๋Ÿฌ๋ฆฌ<td nowrap>์ฝ”๋“œ๋ฒ ์ด์Šค ๋ฌธ์„œ
๋ฌธ์„œ์„ค๋ช…
์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜, ๋ฐ์ดํ„ฐ ํ๋ฆ„ ๋ฐ ๋‚ด๋ถ€ ๊ตฌ์กฐ
7๊ฐ€์ง€ ์˜ต์…˜์˜ ํŒŒ์ดํ”„๋ผ์ธ: ๋„๊ธฐ / ๊ฒฝ๋Ÿ‰ / ํ‘œ์ค€ / ์ ๊ทน์  / ์šธํŠธ๋ผ / RTK / ์Šคํƒํ˜•
๋ช…๋ น ์ถœ๋ ฅ ์••์ถ•, ํ•„ํ„ฐ, ์‹ ๋ขฐ, ๊ฒ€์ฆ, ์›์‹œ ์ถœ๋ ฅ ๋ณต๊ตฌ
Caveman, RTK, ์Šคํƒํ˜• ํŒŒ์ดํ”„๋ผ์ธ, ๋Œ€์‹œ๋ณด๋“œ/API/MCP ์ธํ„ฐํŽ˜์ด์Šค
Caveman ๋ฐ RTK ํ•„ํ„ฐ์šฉ JSON ๊ทœ์น™ ํŒฉ ์Šคํ‚ค๋งˆ
์–ธ์–ด ๊ฐ์ง€ ๋ฐ Caveman ๊ทœ์น™ ํŒฉ ์ž‘์„ฑ
์„œํ‚ท ๋ธŒ๋ ˆ์ด์ปค, ์ฟจ๋‹ค์šด, ํ, ๋™์‹œ ์š”์ฒญ ํญ์ฃผ ๋ฐฉ์ง€, TLS ์Šคํ‘ธํ•‘
16๊ฐœ ์š”์†Œ ๊ธฐ๋ฐ˜ ์ ์ˆ˜ ์‚ฐ์ •, ๋ชจ๋“œ ํŒฉ, ์ž๊ฐ€ ๋ณต๊ตฌ
3๋‹จ๊ณ„ ํ”„๋ก์‹œ ์‹œ์Šคํ…œ, 1proxy ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค, ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ CRUD
ํ†ตํ•ฉ ๋””๋ ‰ํ„ฐ๋ฆฌ: ๋ฌธ์„œํ™”๋œ ๋ฐ˜๋ณต ์ œ๊ณต ํ’€ 35๊ฐœ / ์นดํƒˆ๋กœ๊ทธ์— ๋“ฑ๋ก๋œ ๋ฌด๋ฃŒ ํ‹ฐ์–ด ํ•ญ๋ชฉ 489๊ฐœ
์Šคํฌ๋ฆฐ์ƒท๊ณผ ํ•จ๊ป˜ ์‚ดํŽด๋ณด๋Š” ์‹œ๊ฐ์  ๋Œ€์‹œ๋ณด๋“œ ๋‘˜๋Ÿฌ๋ณด๊ธฐ
์ดˆ๋ณด์ž ์นœํ™”์ ์ธ ์ฝ”๋“œ๋ฒ ์ด์Šค ๋‘˜๋Ÿฌ๋ณด๊ธฐ
<td nowrap>API ์ฐธ์กฐ<td nowrap>OpenAPI ๋ช…์„ธ<td nowrap>MCP ์„œ๋ฒ„<td nowrap>MCP ์„œ๋ฒ„ ๊ฐ€์ด๋“œ<td nowrap>A2A ์„œ๋ฒ„<td nowrap>A2A ์„œ๋ฒ„ ๊ฐ€์ด๋“œ
๋ฌธ์„œ์„ค๋ช…
์˜ˆ์ œ๊ฐ€ ํฌํ•จ๋œ ๋ชจ๋“  ์—”๋“œํฌ์ธํŠธ
OpenAPI 3.0 ๋ช…์„ธ
110๊ฐœ์˜ MCP ๋„๊ตฌ, IDE ๊ตฌ์„ฑ, Python/TS/Go ํด๋ผ์ด์–ธํŠธ
MCP ์„ค์น˜, ์ „์†ก ๋ฐฉ์‹ ๋ฐ ๋„๊ตฌ ์ฐธ์กฐ
JSON-RPC 2.0 ํ”„๋กœํ† ์ฝœ, ์Šคํ‚ฌ, ์ŠคํŠธ๋ฆฌ๋ฐ, ์ž‘์—… ๊ด€๋ฆฌ
A2A ์—์ด์ „ํŠธ ์นด๋“œ, ์ž‘์—…, ์Šคํ‚ฌ ๋ฐ ์ŠคํŠธ๋ฆฌ๋ฐ
<td nowrap>๊ธฐ์—ฌํ•˜๊ธฐ<td nowrap>๋ธŒ๋žœ์น˜ ๋ฐ ๋ฆด๋ฆฌ์Šค ๋ชจ๋ธ<td nowrap>๋ณ€๊ฒฝ ๋กœ๊ทธ<td nowrap>๋ณด์•ˆ ์ •์ฑ…<td nowrap>i18n ๊ฐ€์ด๋“œ<td nowrap>๋ฆด๋ฆฌ์Šค ์ฒดํฌ๋ฆฌ์ŠคํŠธ<td nowrap>์ปค๋ฒ„๋ฆฌ์ง€ ๊ณ„ํš
๋ฌธ์„œ์„ค๋ช…
๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ค์ • ๋ฐ ์ง€์นจ
PR ๋Œ€์ƒ ์œ„์น˜(release/*)์™€ main ๋ฐ ํƒœ๊ทธ์˜ ์˜๋ฏธ
๋ฒ„์ „๋ณ„ ์ „์ฒด ๋ฆด๋ฆฌ์Šค ๊ธฐ๋ก
์ทจ์•ฝ์  ๋ณด๊ณ  ๋ฐ ๋ณด์•ˆ ๊ด€ํ–‰
42๊ฐœ ์–ธ์–ด ์ง€์›, ๋ฒˆ์—ญ ์›Œํฌํ”Œ๋กœ, RTL
๋ฆด๋ฆฌ์Šค ์ „ ๊ฒ€์ฆ ๋‹จ๊ณ„
์ถ”์ ๋˜๋Š” 5,100๊ฐœ ์ด์ƒ์˜ ํ…Œ์ŠคํŠธ ํŒŒ์ผ์— ํฌํ•จ๋œ 39,000๊ฐœ ์ด์ƒ์˜ ์ •์  ํ…Œ์ŠคํŠธ ์„ ์–ธ์„ ์œ„ํ•œ ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ ์ „๋žต

OmniRoute๋Š” ์—ด์ •์ ์ธ ์˜คํ”ˆ ์†Œ์Šค ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ์†๊ธธ๋กœ ๋งŒ๋“ค์–ด์ง‘๋‹ˆ๋‹ค. ๋‹ค์Œ ๊ธฐ์—ฌ์ž๋“ค์€ ํ”„๋กœ์ ํŠธ์˜ ํ’ˆ์งˆ, ์•ˆ์ •์„ฑ ๋ฐ ๋„๋‹ฌ ๋ฒ”์œ„์— ์ง์ ‘์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ํƒ์›”ํ•œ ๊ธฐ์—ฌ๋ฅผ ํ•ด์ฃผ์…จ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๋ณ‘ํ•ฉ๋œ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ ๊ธฐ์ค€ ์™ธ๋ถ€ ๊ธฐ์—ฌ์ž

์„น์…˜ ์ œ๋ชฉ: โ€œ๋ณ‘ํ•ฉ๋œ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ ๊ธฐ์ค€ ์™ธ๋ถ€ ๊ธฐ์—ฌ์žโ€
์ˆœ์œ„๊ธฐ์—ฌ์ž๋ณ‘ํ•ฉ๋œ PR~๋ณ€๊ฒฝ๋œ ์ค„ ์ˆ˜
1backryun190227,977
2oyi77180407,678
3rdself14580,663
4JxnLexn128387,049
5KooshaPari101125,747
6herjarsa88230,872
7RaviTharuma7955,106
8maxmad64bis69394,715
9artickc5933,260
10HouMinXi5147,334
10chirag127515,153
12xz-dev50245,976
13hartmark4752,185
14rqzbeh39143,181
15dhaern3419,559
16Dingding-leo331,986
17NomenAK3213,854
18MumuTW3016,953
19benzntech2911,641
20pacocartones249,331
20Prudhvivuda246,312

2026-08-24 05:26:03 UTC๊นŒ์ง€์˜ ๋ณ‘ํ•ฉ์„ ํฌํ•จํ•˜์—ฌ ๋ผ์ด๋ธŒ release/v3.8.50์˜ ์ตœ์‹  ์ปค๋ฐ‹ dafb4ae808์„ ๊ธฐ์ค€์œผ๋กœ ๊ณ ์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŽ˜์ด์ง€๋„ค์ด์…˜๋œ GitHub GraphQL ์ง‘๊ณ„์—๋Š” ๋ณ‘ํ•ฉ๋œ PR 5,911๊ฐœ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ, ์ €์žฅ์†Œ ์†Œ์œ ์ž๊ฐ€ ์ž‘์„ฑํ•œ PR 2,707๊ฐœ, Dependabot์ด ์ž‘์„ฑํ•œ PR 179๊ฐœ, ๊ทธ๋ฆฌ๊ณ  ์„œ๋กœ ๋‹ค๋ฅธ ๊ธฐ์—ฌ์ž 535๋ช…์ด ์ž‘์„ฑํ•œ ์™ธ๋ถ€ PR 3,025๊ฐœ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. โ€œ๋ณ€๊ฒฝ๋œ ์ค„ ์ˆ˜โ€๋Š” GitHub์˜ ์ถ”๊ฐ€ ์ค„ ์ˆ˜์™€ ์‚ญ์ œ ์ค„ ์ˆ˜๋ฅผ ํ•ฉํ•œ ๊ฐ’์ด๋ฉฐ ์ƒ์„ฑ๋œ ํŒŒ์ผ, ์ž ๊ธˆ ํŒŒ์ผ, ์นดํƒˆ๋กœ๊ทธ, ๋ฒˆ์—ญ ๋ฐ ๋ฌธ์„œ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ณ€๊ฒฝ๋Ÿ‰์ด์ง€ ์ž‘์„ฑ๋œ LOC๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ์ˆœ์œ„ ๊ฒฝ๊ณ„์—์„œ ๋™๋ฅ ์ธ ๊ธฐ์—ฌ์ž๋Š” ๋ชจ๋‘ ํฌํ•จํ–ˆ์Šต๋‹ˆ๋‹ค.

backryun
backryun

๐Ÿฅ‡ GitHub ๊ธฐ์ค€ ์ปค๋ฐ‹ 220๊ฐœ
Paijo
Paijo

๐Ÿฅˆ GitHub ๊ธฐ์ค€ ์ปค๋ฐ‹ 219๊ฐœ
Randi
Randi

๐Ÿฅ‰ GitHub ๊ธฐ์ค€ ์ปค๋ฐ‹ 108๊ฐœ
Ravi Tharuma
Ravi Tharuma

๐Ÿ… GitHub ๊ธฐ์ค€ ์ปค๋ฐ‹ 81๊ฐœ
Chris
Chris

๐Ÿ… GitHub ๊ธฐ์ค€ ์ปค๋ฐ‹ 70๊ฐœ
Markus Hartung
Markus Hartung

๐Ÿ… GitHub ๊ธฐ์ค€ ์ปค๋ฐ‹ 69๊ฐœ ยท ๊ณต๋™ 6์œ„
Dizzle
Dizzle

๐Ÿ… GitHub ๊ธฐ์ค€ ์ปค๋ฐ‹ 69๊ฐœ ยท ๊ณต๋™ 6์œ„
Jan Leon
Jan Leon

๐Ÿ… GitHub ๊ธฐ์ค€ ์ปค๋ฐ‹ 64๊ฐœ
zenobit
zenobit

๐Ÿ… GitHub ๊ธฐ์ค€ ์ปค๋ฐ‹ 62๊ฐœ
Bob.Hou
Bob.Hou

๐Ÿ… GitHub ๊ธฐ์ค€ ์ปค๋ฐ‹ 51๊ฐœ ยท ๊ณต๋™ 10์œ„
Xiangzhe
Xiangzhe

๐Ÿ… GitHub ๊ธฐ์ค€ ์ปค๋ฐ‹ 51๊ฐœ ยท ๊ณต๋™ 10์œ„

2026-08-24 06:14:31 UTC์— ์žฌํ™•์ธ: release/v3.8.50 ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜์— ๋Œ€ํ•ด ์ €์žฅ์†Œ Contributors API๊ฐ€ ๋ณด๊ณ ํ•œ GitHub ๊ธฐ์ค€ ์ปค๋ฐ‹์ž…๋‹ˆ๋‹ค. API๋Š” 525๊ฐœ์˜ ID(์‚ฌ์šฉ์ž 415๋ช…, ๋ด‡ 2๊ฐœ, ์ต๋ช… 108๋ช…)๋ฅผ ๋ฐ˜ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ‘œ์—์„œ๋Š” ๋ฉ”์ธํ…Œ์ด๋„ˆ, ๋ด‡ ๋ฐ ์ต๋ช… ID๋ฅผ ์ œ์™ธํ•˜๊ณ  ๊ณต๋™ ์ˆœ์œ„๋ฅผ ์œ ์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์ˆœ์œ„๋Š” ์œ„์˜ ๋ณ‘ํ•ฉ๋œ PR ์ˆœ์œ„ ๋ฐ ์•„๋ž˜์˜ 639๋ช… ๊ทœ๋ชจ Git ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ง‘๊ณ„์™€๋Š” ๋ณ„๊ฐœ์ž…๋‹ˆ๋‹ค.

๐Ÿ™ ์ด ๊ธฐ์—ฌ์ž๋“ค์ด ์ œ๊ณตํ•œ ๊ธฐ๋Šฅ, ๋ฒ„๊ทธ ์ˆ˜์ • ๋ฐ ์ธํ”„๋ผ ๊ฐœ์„ ์€ OmniRoute๋ฅผ ์•ˆ์ •์ ์ด๊ณ  ํ’๋ถ€ํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ํ”„๋กœ์ ํŠธ๋กœ ๋งŒ๋“œ๋Š” ํ•ต์‹ฌ ์š”์†Œ์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ํ’€ ๋ฆฌํ€˜์ŠคํŠธ, ๋ชจ๋“  ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค, ๋ชจ๋“  i18n ๋ฒˆ์—ญ ํŒŒ์ผ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์˜คํ”ˆ ์†Œ์Šค๋Š” ๋ฐ”๋กœ ์ด๋“ค๊ณผ ๊ฐ™์€ ์‚ฌ๋žŒ๋“ค์ด ๋งŒ๋“ค์–ด ๊ฐ‘๋‹ˆ๋‹ค.



์ž๋น„๋กœ OmniRoute๋ฅผ ํ›„์›ํ•ด ์ฃผ์‹œ๋Š” ๋ถ„๋“ค๊ป˜ ์ง„์‹ฌ์œผ๋กœ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๋ชจ๋“  ํ›„์›์€ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋ฌด๋ฃŒ๋กœ ๋…๋ฆฝ์„ฑ์„ ์œ ์ง€ํ•˜๋ฉฐ ๊ณ„์† ๋ฐœ์ „ํ•˜๋Š” ๋ฐ ํฐ ํž˜์ด ๋ฉ๋‹ˆ๋‹ค.

Andrew
Andrew

๐Ÿ’› ํ˜„์žฌ ์›”๊ฐ„ ์Šคํฐ์„œ
Vlad I
Vlad I

๐Ÿ’› ํ˜„์žฌ ์›”๊ฐ„ ์Šคํฐ์„œ
Paco Cartones
Paco Cartones

๐Ÿ’› ํ˜„์žฌ ์ผํšŒ์„ฑ ์Šคํฐ์„œ
Professor Igor Morais Vasconcelos
Prof. Igor Morais

๐Ÿ’› ์ด์ „ ์ผํšŒ์„ฑ ํ›„์›์ž
longtao
longtao

๐Ÿ’› ์ด์ „ ์ผํšŒ์„ฑ ํ›„์›์ž

โ€ฆ ๊ทธ๋ฆฌ๊ณ  ๋น„๊ณต๊ฐœ๋กœ ํ›„์›ํ•˜๊ธฐ๋ฅผ ์›ํ•˜์‹œ๋Š” ๋‹ค๋ฅธ ๋ถ„๋“ค๊ป˜๋„ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค ๐Ÿ’›

๊ณต๊ฐœ GitHub Sponsors ๋ชฉ๋ก์€ 2026-08-24์— ๋‹ค์‹œ ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. GitHub์˜ activeOnly ์ƒํƒœ์— ๋”ฐ๋ผ ์œ„์˜ ํ˜„์žฌ ํ›„์›์ž ํ‘œ์‹œ๊ฐ€ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค. ์ด์ „์— ๊ณต๊ฐœ๋œ ์ผํšŒ์„ฑ ํ›„์›์ž์—๊ฒŒ๋„ ๊ณ„์† ๊ฐ์‚ฌ๋ฅผ ํ‘œํ•˜๋ฉฐ, ๋น„๊ณต๊ฐœ ์Šคํฐ์„œ๋Š” ์ต๋ช…์œผ๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

๐Ÿ’– ์Šคํฐ์„œ๊ฐ€ ๋˜์–ด ์ฃผ์„ธ์š” โ†’ โ€” ๋ชจ๋“  ํ›„์›๊ธˆ์€ OmniRoute๊ฐ€ ๋ฌด๋ฃŒ๋กœ ๋…๋ฆฝ์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.


๊ธฐ์—ฌ์ž

2026-08-24์— ๊ณ ์ • ๊ธฐ์ค€ ac02c5b42f์—์„œ ๊ฐ์‚ฌํ•˜๊ณ  ๋ผ์ด๋ธŒ release/v3.8.50์˜ ์ตœ์‹  ์ปค๋ฐ‹ dafb4ae808์—์„œ ๋‹ค์‹œ ํ™•์ธํ•œ ๊ฒฐ๊ณผ: ์ •๊ทœํ™”๋œ ์ธ๊ฐ„ Git ID 639๊ฐœ โ€” ์ด ์ค‘ 407๊ฐœ๋Š” ์ปค๋ฐ‹ ์ž‘์„ฑ์ž(๋ฉ”์ธํ…Œ์ด๋„ˆ ํฌํ•จ)๋กœ ๋‚˜ํƒ€๋‚˜๋ฉฐ, 232๊ฐœ๋Š” ๋ช…์‹œ์ ์ธ Co-authored-by ํŠธ๋ ˆ์ผ๋Ÿฌ์—๋งŒ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ์ด ์ง‘๊ณ„์—์„œ๋Š” GitHub noreply ํ•ธ๋“ค์„ ์ •๊ทœํ™”ํ•˜๊ณ , ๋ด‡/์—์ด์ „ํŠธ/์„œ๋น„์Šค/์ž๋ฆฌํ‘œ์‹œ์ž ID 26๊ฐœ๋ฅผ ์ œ์™ธํ•˜๋ฉฐ, ํ‘œ์‹œ ์ด๋ฆ„์ด ๊ฐ™๋‹ค๋Š” ์ด์œ ๋งŒ์œผ๋กœ ์ผ๋ฐ˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋ฅผ ๋ณ‘ํ•ฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  1. ์ €์žฅ์†Œ๋ฅผ ํฌํฌํ•ฉ๋‹ˆ๋‹ค
  2. main์ด ์•„๋‹Œ ํ™œ์„ฑ release/vX.Y.Z ์ตœ์‹  ์ปค๋ฐ‹์—์„œ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค โ€” ๋ธŒ๋žœ์น˜ ๋ฐ ๋ฆด๋ฆฌ์Šค ๋ชจ๋ธ์„ ์ฐธ์กฐํ•˜์„ธ์š”
  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๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

ํ„ฐ๋ฏธ๋„ ์ฐฝ
# ๋ฆด๋ฆฌ์Šค ์ƒ์„ฑ โ€” npm publish๋Š” ์ž๋™์œผ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes

์Šคํƒ€ ๊ธฐ๋ก ์ฐจํŠธ

OmniRoute๋Š” ๊ฑฐ์ธ๋“ค์˜ ์–ด๊นจ ์œ„์— ์„œ ์žˆ์Šต๋‹ˆ๋‹ค. **9router**์˜ ํฌํฌ์ด์ž Go ํ”„๋กœ์ ํŠธ **CLIProxyAPI**์˜ TypeScript ํฌํŒ…์œผ๋กœ ์‹œ์ž‘ํ–ˆ์œผ๋ฉฐ, ์ดํ›„ ์•„๋ž˜์˜ ๊ฐ ํ•˜์œ„ ์‹œ์Šคํ…œ์€ ๋จผ์ € ๊ธธ์„ ๊ฐœ์ฒ™ํ•œ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ์—์„œ ์˜๊ฐ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ์ด๋“ค ๊ฐ๊ฐ์€ OmniRoute์˜ ๊ตฌ์ฒด์ ์ธ ๋ถ€๋ถ„์„ ๋งŒ๋“œ๋Š” ๋ฐ ์˜ํ–ฅ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๐Ÿ™

โญ ์Šคํƒ€ ์ˆ˜๋Š” 2026๋…„ 8์›” 24์ผ GitHub์˜ REST API๋ฅผ ํ†ตํ•ด ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋“ค์— ์Šคํƒ€๋ฅผ ๋ˆŒ๋Ÿฌ ์ฃผ์„ธ์š”. ์ˆ˜์น˜๋Š” ํ•ด๋‹น ๋‚ ์งœ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ์ •ํ™•ํ•œ ์Šค๋ƒ…์ƒท์ด๋ฉฐ, ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.

<td nowrap>9router<td nowrap>CLIProxyAPI<td nowrap>LiteLLM<td nowrap>codex-chatgpt-web<td nowrap>free-claude-code<td nowrap>composer-api<td nowrap>codex-multi-auth<td nowrap>opencode-anthropic-auth<td nowrap>grok2api-merged<td nowrap>TQZHR/grok2api<td nowrap>chenyme/grok2api<td nowrap>grok2api-pro<td nowrap>GrokProxy<td nowrap>GrokBridge<td nowrap>grok-web-api
ํ”„๋กœ์ ํŠธโญOmniRoute์— ์˜๊ฐ์„ ์ค€ ๋ฐฉ์‹
26,161์ด ํฌํฌ์˜ ๊ธฐ๋ฐ˜์ด ๋œ ์›๋ณธ ํ”„๋กœ์ ํŠธ๋กœ, ์—ฌ๊ธฐ์„œ๋Š” ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ API๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  TypeScript๋กœ ์™„์ „ํžˆ ์žฌ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.
48,497์ด JavaScript / TypeScript ํฌํŠธ์— ์˜๊ฐ์„ ์ค€ Go ๊ตฌํ˜„์ž…๋‹ˆ๋‹ค.
57,100๊ณต๊ฐœ ๊ฐ€๊ฒฉ ๋ฐ์ดํ„ฐ ์„ธํŠธ๊ฐ€ ๋น„์šฉ ์ถ”์  ๋™๊ธฐํ™”์— ์‚ฌ์šฉ๋˜๊ณ , ์ œ๊ณต์ž ์ •๊ทœํ™” ๋ชจ๋ธ์ด ๋ผ์šฐํŒ… ์„ค๊ณ„์— ์ฐธ๊ณ ๋œ AI ๊ฒŒ์ดํŠธ์›จ์ด์ž…๋‹ˆ๋‹ค.
1,410๋ธŒ๋ผ์šฐ์ € ์„ธ์…˜, ์‘๋‹ต ํ”„๋ ˆ์ด๋ฐ, ์‚ฌ์šฉ๋Ÿ‰ ๋ฐ ์›น ๊ฒ€์ƒ‰ ์–ด๋Œ‘ํ„ฐ๋ฅผ ํฌํ•จํ•˜์—ฌ, ๋ฒค๋”๋ง๋œ ChatGPT Web โ†’ Codex Responses ๋ธŒ๋ฆฌ์ง€์— ๋งž๊ฒŒ ์กฐ์ •๋œ MIT ์†Œ์Šค์ž…๋‹ˆ๋‹ค.
48,112์ŠคํŠธ๋ฆผ ๋ณต๊ตฌ, ๋น„์‚ฌ๊ณ  ๋ณ„์นญ, ๋Œ€์ฒด ์›น ๊ฒ€์ƒ‰, ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„ ์ œํ•œ, ๋กœ๊ทธ ๋ฏผ๊ฐ ์ •๋ณด ์ œ๊ฑฐ ๋ฐ ๊ฐ•ํ™”๋œ ๋Ÿฐ์ฒ˜ ํ๋ฆ„์œผ๋กœ ์ด์‹๋œ ํŒจํ„ด์ž…๋‹ˆ๋‹ค.
322๋„ค์ดํ‹ฐ๋ธŒ Cursor ์‹คํ–‰๊ธฐ์— ๋งž๊ฒŒ ์กฐ์ •๋œ Cursor Composer์˜ ๋„๊ตฌ ์„ ํƒ, ์ถœ๋ ฅ ์ œ์•ฝ ๋ฐ ๋„๊ตฌ ์ปค๋ฐ‹ ํŒจํ„ด์ž…๋‹ˆ๋‹ค.
457Codex OAuth ์žฌ์ธ์ฆ์œผ๋กœ ์ด์‹๋œ ์‹ ๊ทœ ๋กœ๊ทธ์ธ ๋ฐ ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ์ˆœํ™˜ ํŒจํ„ด์ž…๋‹ˆ๋‹ค.
510Claude Code ํ˜ธํ™˜ ๋ณ€ํ™˜ ๊ธฐ๋ณธ๊ฐ’๊ณผ ๊ฒฐ์ œ ํ—ค๋” ๋™์ž‘์„ OmniRoute์˜ ๊ตฌ์„ฑ ๊ธฐ๋ฐ˜ ๋ธŒ๋ฆฌ์ง€์— ์ผ๋ฐ˜ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.
2์ด ํ”„๋กœ์ ํŠธ์˜ Grok ๋ชจ๋ธ ๋งคํ•‘, ๊ฐ€์งœ TypeError Statsig ์ƒ์„ฑ๊ธฐ, ์š”์ฒญ ๋ฐ ๊ธฐ๊ธฐ ๊ธฐ๋ณธ๊ฐ’, NDJSON ์‘๋‹ต ํ”„๋กœ์„ธ์„œ๊ฐ€ OmniRoute์˜ Grok Web ์‹คํ–‰๊ธฐ์— ์‹ค์งˆ์ ์œผ๋กœ ์ ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
705grok2api-merged์˜ ์ฃผ์š” ์ „์ด์  ์ฝ”๋“œ ์ถœ์ฒ˜๋กœ, ํ•ด๋‹น ๋ชจ๋ธ, ํ—ค๋”, ํŽ˜์ด๋กœ๋“œ, Statsig ๋ฐ ํ”„๋กœ์„ธ์„œ ๊ตฌํ˜„์€ Grok Web ๊ณ„๋ณด์— ๋ณด์กด๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
7,520TQZHR ๋ฐ grok2api-merged๋ฅผ ๊ฑฐ์ณ ์ „์Šน๋œ Grok ํŽ˜์ด๋กœ๋“œ ๋ฐ ๊ธฐ๊ธฐ ๊ธฐ๋ณธ๊ฐ’, Statsig ์ƒ์„ฑ๊ธฐ, result.response ํ”„๋กœ์„ธ์„œ์˜ ๊ธฐ๋ฐ˜์ด ๋˜๋Š” MIT ์†Œ์Šค์ž…๋‹ˆ๋‹ค.
27grok2api-merged๊ฐ€ ํ”„๋ก์‹œ ํ’€ ๊ณ„์ธต์˜ ์ถœ์ฒ˜๋กœ ๋ช…์‹œํ•œ ์ „์ด์  ์†Œ์Šค์ž…๋‹ˆ๋‹ค. OmniRoute๋Š” ํ•ด๋‹น ๊ณ„๋ณด ๊ณ ์ง€๋ฅผ ์œ ์ง€ํ•˜์ง€๋งŒ ๋ฒ”์œ„๊ฐ€ ์ œํ•œ๋œ Grok Web ์‹คํ–‰๊ธฐ์— ํ”„๋ก์‹œ ํ’€์„ ์ด์‹ํ–ˆ๋‹ค๊ณ  ์ฃผ์žฅํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.
50์ฟ ํ‚ค ์ธ์ฆ ๋ฐฉ์‹์˜ Grok ํ”„๋ก์‹œ์™€ result.response.token ์ŠคํŠธ๋ฆฌ๋ฐ ํŒจํ„ด์ด OmniRoute์˜ Grok Web ์ „์†ก ๊ณ„์ธต์— ์ฐธ๊ณ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
5์ดˆ๊ธฐ Grok Web ๊ตฌํ˜„์—์„œ ์ด ํ”„๋กœ์ ํŠธ์˜ HTTP/๋ธŒ๋ผ์šฐ์ € ์—…์ŠคํŠธ๋ฆผ ์„ค๊ณ„๋ฅผ ์ฐธ๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ง์ ‘ HTTP ๊ฒฝ๋กœ๋Š” GrokProxy์—์„œ ํŒŒ์ƒ๋˜์—ˆ์œผ๋ฏ€๋กœ ๋…๋ฆฝ์ ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ด์‹ํ–ˆ๋‹ค๊ณ  ์ฃผ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
14์ด ํ”„๋กœ์ ํŠธ์˜ Rust ChatOptions ๋ฐ ์‘๋‹ต ๋ด‰ํˆฌ ์Šคํ‚ค๋งˆ๊ฐ€ OmniRoute์˜ TypeScript Grok ์š”์ฒญ ๋ฐ ์ŠคํŠธ๋ฆฌ๋ฐ ์‘๋‹ต ํƒ€์ž… ์„ค๊ณ„์— ์ฐธ๊ณ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ—œ๏ธ ์ปจํ…์ŠคํŠธ ๋ฐ ํ† ํฐ ์••์ถ• โ€” ์—”์ง„

์„น์…˜ ์ œ๋ชฉ: โ€œ๐Ÿ—œ๏ธ ์ปจํ…์ŠคํŠธ ๋ฐ ํ† ํฐ ์••์ถ• โ€” ์—”์ง„โ€
<td nowrap>Caveman<td nowrap>RTK โ€“ Rust Token Killer<td nowrap>headroom<td nowrap>LLMLingua<td nowrap>llmlingua-2-js<td nowrap>Troglodita<td nowrap>ponytail<td nowrap>i-have-adhd
ํ”„๋กœ์ ํŠธโญOmniRoute์— ์˜๊ฐ์„ ์ค€ ๋ฐฉ์‹
100,538ํ™”์ œ๊ฐ€ ๋œ "๋งŽ์€ ํ† ํฐ ์™œ ์“ฐ๋‚˜ ์ ์€ ํ† ํฐ์œผ๋กœ ๋˜๋Š”๋ฐ" ํ”„๋กœ์ ํŠธ โ€” ์›์‹œ์ธ ๋งํˆฌ ์ฒ ํ•™์€ ๋‹น์‚ฌ์˜ ํ‘œ์ค€ ์••์ถ• ๋ชจ๋“œ์™€ 30๊ฐœ ์ด์ƒ์˜ ๊ตฐ๋”๋”๊ธฐ ์ œ๊ฑฐ/์ถ•์•ฝ ๊ทœ์น™์˜ ๊ธฐ๋ฐ˜์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
77,185๊ณ ์„ฑ๋Šฅ ๋ช…๋ น ์ถœ๋ ฅ ์••์ถ• โ€” ๋‹น์‚ฌ์˜ RTK ์—”์ง„, JSON ํ•„ํ„ฐ DSL, ์›์‹œ ์ถœ๋ ฅ ๋ณต๊ตฌ ๋ฐ RTK โ†’ Caveman ๋‹ค๋‹จ๊ณ„ ํŒŒ์ดํ”„๋ผ์ธ์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
67,310๊ฐ€์—ญ์  ์ปจํ…์ŠคํŠธ ์••์ถ•(SmartCrusher) โ€” ๋‹น์‚ฌ์˜ headroom ์—”์ง„๊ณผ ccr ๊ฒ€์ƒ‰ ๋งˆ์ปค ํŒจํ„ด์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
6,598ํ”„๋กฌํ”„ํŠธ ์••์ถ• ์—ฐ๊ตฌ(LLMLingua / LLMLingua-2) โ€” ๋‹น์‚ฌ์˜ ๋น„๋™๊ธฐ์‹, ์ฝ”๋“œ ์•ˆ์ „์„ฑ ๋ณด์žฅ, ์žฅ์•  ์‹œ ๊ฐœ๋ฐฉํ˜• llmlingua ์—”์ง„์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
31๋‹น์‚ฌ์˜ LLMLingua ์—”์ง„์—์„œ ์›Œ์ปค ์Šค๋ ˆ๋“œ ๋ฐฑ์—”๋“œ๋กœ ์‚ฌ์šฉํ•˜๋Š” JS/ONNX ํฌํŠธ(MobileBERT / XLM-RoBERTa)์ž…๋‹ˆ๋‹ค.
40๋ธŒ๋ผ์งˆ ํฌ๋ฅดํˆฌ๊ฐˆ์–ด ํ† ํฐ ์••์ถ• โ€” ๋ธŒ๋ผ์งˆ ํฌ๋ฅดํˆฌ๊ฐˆ์–ด ๋ฌธ๋ฒ•์— ๋งž์ถฐ ์กฐ์ •๋œ ๋™์–ด ๋ฐ˜๋ณต ์ถ•์†Œ ๋ฐ ๊ตฐ๋”๋”๊ธฐ ์ œ๊ฑฐ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ๋‹น์‚ฌ์˜ pt-BR ์–ธ์–ด ํŒฉ์„ ๊ตฌ๋™ํ•ฉ๋‹ˆ๋‹ค.
108,957ํ™”์ œ๊ฐ€ ๋œ "๊ฒŒ์œผ๋ฅธ ์‹œ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž" YAGNI ์ฝ”๋” ์Šคํ‚ฌ โ€” ๋‹น์‚ฌ์˜ less-code ์ถœ๋ ฅ ์Šคํƒ€์ผ์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ž‘๋™ํ•˜๋Š” ์ตœ์†Œ ๋ณ€๊ฒฝ์œผ๋กœ ์œ ๋„ํ•˜์—ฌ _์ƒ์„ฑ๋˜๋Š”_ ์ฝ”๋“œ๋ฅผ ์ค„์ด๋Š” ๋ฐฉ์‹์œผ๋กœ, Caveman์˜ ๊ฐ„๊ฒฐํ•œ ์‚ฐ๋ฌธ๊ณผ ์ถœ๋ ฅ ์ธก๋ฉด์—์„œ ์ง์„ ์ด๋ฃน๋‹ˆ๋‹ค.
23,526ํ–‰๋™ ์šฐ์„ ์˜ ADHD ์นœํ™”์  ์‘๋‹ต ์Šคํƒ€์ผ์„ 5๊ฐœ ์–ธ์–ด์— ๊ฑธ์นœ OmniRoute์˜ ๊ฐ„๊ฒฐํ•œ ์ถœ๋ ฅ ์Šคํƒ€์ผ๋กœ ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿงฉ ์••์ถ• ํ˜•์‹, ํ† ํฐ ์—ฐ๊ตฌ ๋ฐ ์ฝ”๋“œ ์ธ์‹ ๋„๊ตฌ

์„น์…˜ ์ œ๋ชฉ: โ€œ๐Ÿงฉ ์••์ถ• ํ˜•์‹, ํ† ํฐ ์—ฐ๊ตฌ ๋ฐ ์ฝ”๋“œ ์ธ์‹ ๋„๊ตฌโ€
<td nowrap>TOON<td nowrap>GCF โ€“ Graph Compact Format<td nowrap>gcf-typescript<td nowrap>token-optimizer-mcp<td nowrap>token-savior<td nowrap>token-saver<td nowrap>token-optimizer<td nowrap>TokenMizer<td nowrap>OmniCompress<td nowrap>mcp-compressor<td nowrap>RepoMapper<td nowrap>quiet-shell-mcp<td nowrap>ts-morph
ํ”„๋กœ์ ํŠธโญOmniRoute์— ์˜๊ฐ์„ ์ค€ ๋ฐฉ์‹
25,233ํ† ํฐ ์ง€ํ–ฅ ๊ฐ์ฒด ํ‘œ๊ธฐ๋ฒ• โ€” ์—ด ๊ธฐ๋ฐ˜์˜ ํ—ค๋” ๋ฐ ํ–‰ ๋ชจ๋ธ์ด ๋‹น์‚ฌ์˜ ํ‘œ ํ˜•์‹ ์••์ถ• ๋‹จ๊ณ„๋ฅผ ํ˜•์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.
41๊ฐ„๊ฒฐํ•œ ๊ทธ๋ž˜ํ”„ ํ˜•์‹๊ณผ ๋ฒ”์šฉ ํ”„๋กœํ•„ ์„ค๊ณ„๋Š” OmniRoute์˜ ํ‘œ ํ˜•์‹ ์••์ถ• ๋ฐ Headroom ์ฝ”๋ฑ ํ˜•์‹์— ์˜ํ–ฅ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
4Headroom ๋ฒ”์šฉ ํ”„๋กœํ•„ ์ฝ”๋ฑ์œผ๋กœ ์ง์ ‘ ๋ฒค๋”๋งํ•˜๊ณ  ํ™•์žฅํ•œ MIT TypeScript ๊ตฌํ˜„์ž…๋‹ˆ๋‹ค.
494Brotli/SQLite ์บ์‹œ + ์„ธ์…˜๋ณ„ ์ปจํ…์ŠคํŠธ ๋ธํƒ€ โ€” ๋‹น์‚ฌ์˜ session-dedup ์—”์ง„์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
1,122Bash ์ถœ๋ ฅ ์••์ถ• + MCP ํ”„๋กœํ•„ โ€” ๋‹น์‚ฌ์˜ ์••์ถ• ์ค‘๋‹จ ์›์น™๊ณผ MCP ๋„๊ตฌ ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ถ•์†Œ์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
138์‹คํŒจ๋ฅผ ๊ณ ๋ คํ•œ ์ค‘๋‹จ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ํŒŒ์ผ ์œ ํ˜•๋ณ„ ์ฝ˜ํ…์ธ  ์ธ์‹ ์ถœ๋ ฅ ์••์ถ• โ€” ๋‹น์‚ฌ์˜ ์œ ํ˜•๋ณ„ ๋””์ŠคํŒจ์น˜์™€ ์ตœ์†Œ ์ด๋“ ๋ฏธ๋‹ฌ ์‹œ ๊ฑด๋„ˆ๋›ฐ๊ธฐ ๋ฐฉ์‹์„ ๊ฒ€์ฆํ–ˆ์Šต๋‹ˆ๋‹ค.
1,951"์œ ๋ น ํ† ํฐ์„ ์ฐพ์•„๋ผ" โ€” ์˜คํ”„๋กœ๋”ฉ + ๋ณต๊ตฌ ๊ฐ€๋Šฅํ•œ ํ•ธ๋“ค ํŒจํ„ด์ด ๋‹น์‚ฌ์˜ CCR ์˜คํ”„๋กœ๋”ฉ ๊ตฌ์ƒ์— ์˜ํ–ฅ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
28๋‹น์‚ฌ์˜ ์„ธ์…˜ ์ค‘๋ณต ์ œ๊ฑฐ ์„ค๊ณ„์— ์˜ํ–ฅ์„ ์ค€ ์„ธ์…˜ ๊ทธ๋ž˜ํ”„ + ํ„ด ๊ฐ„ ์ค„ ์ค‘๋ณต ์ œ๊ฑฐ ์ฒญ์‚ฌ์ง„์ž…๋‹ˆ๋‹ค.
3Rust ์—ด ๊ธฐ๋ฐ˜ JSON + ์ฝ˜ํ…์ธ  ์ฃผ์†Œ ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰ + ๋ฉ”์‹œ์ง€ ๊ฐ„ ์ค‘๋ณต ์ œ๊ฑฐ โ€” ๋‹น์‚ฌ์˜ headroom/ccr/session-dedup ์—”์ง„ ์„ค๊ณ„์™€ ์บ์‹œ ์•ˆ์ •์„ฑ์„ ๋ณด์žฅํ•˜๋Š” "์••์ถ•๋œ ํ˜•ํƒœ๋Š” ์œ„์น˜์— ๋…๋ฆฝ์ ์ด๋‹ค"๋ผ๋Š” ๋ถˆ๋ณ€ ์กฐ๊ฑด์„ ๊ฒ€์ฆํ–ˆ์Šต๋‹ˆ๋‹ค.
113MCP ๋„๊ตฌ ์Šคํ‚ค๋งˆ/์„ค๋ช… ์••์ถ• โ€” ๋‹น์‚ฌ์˜ MCP ๋„๊ตฌ ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์นด๋””๋„๋ฆฌํ‹ฐ ์ถ•์†Œ์— ์˜ํ–ฅ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
197Aider ์Šคํƒ€์ผ ์ €์žฅ์†Œ ๋งต ์ˆœ์œ„ ์ง€์ • โ€” ๋‹น์‚ฌ์˜ ์ €์žฅ์†Œ ๋งต / ๊ฒ€์ƒ‰ ์ˆœ์œ„ ์ง€์ • ํƒ์ƒ‰์— ์˜ํ–ฅ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
4MCP๋ฅผ ํ†ตํ•œ ์„ ์–ธ์  ์…ธ ์ถœ๋ ฅ ์ถ•์†Œ โ€” ๋‹น์‚ฌ์˜ ์„ ์–ธ์  bash ์ถœ๋ ฅ ์••์ถ•์„ ๊ฒ€์ฆํ–ˆ์Šต๋‹ˆ๋‹ค.
6,162TypeScript Compiler API ๋„๊ตฌ ํ‚คํŠธ โ€” ๋ฌธ์ž์—ด, ํ…œํ”Œ๋ฆฟ ๋ฐ ์ •๊ทœ์‹ ๋ฆฌํ„ฐ๋Ÿด์„ ๋ณด์กดํ•˜๋Š” ๋‹น์‚ฌ์˜ ํŒŒ์„œ ๊ธฐ๋ฐ˜ ์ฃผ์„ ์ œ๊ฑฐ ๊ธฐ๋Šฅ์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
<td nowrap>Mem0<td nowrap>Letta (MemGPT)<td nowrap>WFGY
ํ”„๋กœ์ ํŠธโญOmniRoute์— ์˜๊ฐ์„ ์ค€ ๋ฐฉ์‹
63,902๋ฒ”์šฉ ๋ฉ”๋ชจ๋ฆฌ ๊ณ„์ธต โ€” ํ”„๋ก์‹œ๋ฅผ ์“ฐ๊ธฐ/์ฝ๊ธฐ ๊ฒฝ๊ณ„๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋ธ์ด ๋‹น์‚ฌ์˜ ๋ฉ”๋ชจ๋ฆฌ ์•„ํ‚คํ…์ฒ˜๋ฅผ ํ˜•์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.
24,382๊ณ„์ธตํ˜• ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ฐ–์ถ˜ ์ƒํƒœ ์œ ์ง€ํ˜• ์—์ด์ „ํŠธ โ€” ๋‹น์‚ฌ์˜ Context Control & Recovery (CCR) ๊ณ„์ธตํ˜• ๋ชจ๋ธ์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
1,781๋ฐ˜๋ณต์ ์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” 16๊ฐ€์ง€ RAG/LLM ์‹คํŒจ ๋ชจ๋“œ์— ๋Œ€ํ•œ ProblemMap ๋ถ„๋ฅ˜ ์ฒด๊ณ„ โ€” ๋‹น์‚ฌ์˜ ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ฐ€์ด๋“œ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ณตํ†ต ์šฉ์–ด ์ฒด๊ณ„์ž…๋‹ˆ๋‹ค.

๐Ÿ›ฐ๏ธ ํŠธ๋ž˜ํ”ฝ ๊ฒ€์‚ฌ, MITM ๋ฐ ํˆฌ๋ช… ํ”„๋ก์‹œ

์„น์…˜ ์ œ๋ชฉ: โ€œ๐Ÿ›ฐ๏ธ ํŠธ๋ž˜ํ”ฝ ๊ฒ€์‚ฌ, MITM ๋ฐ ํˆฌ๋ช… ํ”„๋ก์‹œโ€
<td nowrap>llm-interceptor<td nowrap>ProxyBridge
ํ”„๋กœ์ ํŠธโญOmniRoute์— ์˜๊ฐ์„ ์ค€ ๋ฐฉ์‹
66์ฝ”๋”ฉ ์–ด์‹œ์Šคํ„ดํŠธ โ†” LLM ํŠธ๋ž˜ํ”ฝ์˜ MITM ๊ฐ€๋กœ์ฑ„๊ธฐ/๋ถ„์„์€ ์ดˆ๊ธฐ Traffic Inspector ์š”๊ตฌ์‚ฌํ•ญ ์ˆ˜๋ฆฝ์— ์ฐธ๊ณ ๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์— ํŒŒ์ƒ๋œ ๋„ค ๊ฐ€์ง€ ๋ชจ๋“ˆ์ธ SSE ๋ณ‘ํ•ฉ, ๋Œ€ํ™” ์ •๊ทœํ™”, ๋น„๋ฐ€ ์ •๋ณด ๋งˆ์Šคํ‚น ๋ฐ ํ—ค๋” ์ •๋ฆฌ๋Š” ๊ณต๊ฐœ ํ”„๋กœํ† ์ฝœ ํ‘œ์ค€์— ๊ธฐ๋ฐ˜ํ•œ ๋…๋ฆฝ์ ์ธ ํด๋ฆฐ๋ฃธ ๊ตฌํ˜„์œผ๋กœ ๋Œ€์ฒด๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๊ฐœ์˜ ํ˜ธ์ŠคํŠธ ํŒจ์Šค์Šค๋ฃจ ํ‘œ๋ฉด(passthrough.ts ๋ฐ _internal/bypass.cjs)์€ ๋…๋ฆฝ์ ์œผ๋กœ ๋ถ„๋ฅ˜๋œ OmniRoute ๋‚ด๋ถ€ ๊ตฌํ˜„์œผ๋กœ ์œ ์ง€๋˜๋ฉฐ, ํ•ด๋‹น ๋Œ€์ฒด ์ž‘์—…์˜ ์ผ๋ถ€๋กœ ์žฌ์ž‘์„ฑ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
5,995ํ”„๋กœ์„ธ์Šค๋ณ„ ํˆฌ๋ช… ํ”„๋ก์‹œ ๋ผ์šฐํŒ… โ€” ๋‹น์‚ฌ์˜ ์ถฉ๋Œ ์•ˆ์ „ MITM ํ•ด์ œ, ์†Œ์ผ“ ์œ ํœด ์‹œ๊ฐ„ ์ดˆ๊ณผ, /proc ํ”„๋กœ์„ธ์Šค ๊ท€์† ๋ฐ TPROXY ์บก์ฒ˜์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“š ๋ชจ๋ธ ๋ฐ์ดํ„ฐ, ๊ด€์ธก ๊ฐ€๋Šฅ์„ฑ ๋ฐ UI

์„น์…˜ ์ œ๋ชฉ: โ€œ๐Ÿ“š ๋ชจ๋ธ ๋ฐ์ดํ„ฐ, ๊ด€์ธก ๊ฐ€๋Šฅ์„ฑ ๋ฐ UIโ€
<td nowrap>models.dev<td nowrap>React Flow / xyflow<td nowrap>LangGraph<td nowrap>Langfuse<td nowrap>Kiali<td nowrap>lobe-icons<td nowrap>flag-icons
ํ”„๋กœ์ ํŠธโญOmniRoute์— ์˜๊ฐ์„ ์ค€ ๋ฐฉ์‹
6,555AI ๋ชจ๋ธ ์‚ฌ์–‘, ๊ฐ€๊ฒฉ ๋ฐ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๊ณต๊ฐœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค โ€” ๋‹น์‚ฌ์˜ ๋ชจ๋ธ ์นดํƒˆ๋กœ๊ทธ์— ๋„ค์ดํ‹ฐ๋ธŒ๋กœ ๋™๊ธฐํ™”๋ฉ๋‹ˆ๋‹ค.
38,108๋‹น์‚ฌ์˜ ์‹ค์‹œ๊ฐ„ Compression Studio ๋ฐ Combo/Routing Studio๋ฅผ ๊ตฌ๋™ํ•˜๋Š” ๋…ธ๋“œ ๊ธฐ๋ฐ˜ ๊ทธ๋ž˜ํ”„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค.
40,314LangGraph Studio์˜ ์‹ค์‹œ๊ฐ„ ์›Œํฌํ”Œ๋กœ ๊ทธ๋ž˜ํ”„ ์‹œ๊ฐํ™”๋Š” ๋‹น์‚ฌ Studios์˜ ์‹ค์‹œ๊ฐ„ ์บ์Šค์ผ€์ด๋“œ ๋ณด๊ธฐ์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
33,592ํŠธ๋ ˆ์ด์Šค โ†’ ์ŠคํŒฌ โ†’ ์ƒ์„ฑ์œผ๋กœ ์ด์–ด์ง€๋Š” ๊ด€์ธก ๊ฐ€๋Šฅ์„ฑ ๋ชจ๋ธ์€ ๋‹น์‚ฌ์˜ Compression Studio ์›Œํ„ฐํด์„ ํ˜•์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.
3,631Istio ์„œ๋น„์Šค ๋ฉ”์‹œ ๊ด€์ธก ๊ฐ€๋Šฅ์„ฑ โ€” Routing/Combo Studio์˜ ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ ๋ฐฐ์ง€ ๋ฐ ์˜ค๋ฅ˜ ์—์ง€ ์‹œ๊ฐํ™”์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
2,428๋‹น์‚ฌ ๋Œ€์‹œ๋ณด๋“œ ์ „๋ฐ˜์—์„œ ๊ณต๊ธ‰์ž ์•„์ด์ฝ˜์„ ๋ Œ๋”๋งํ•˜๋Š” AI/LLM ๋ธŒ๋žœ๋“œ ๋กœ๊ณ ์ž…๋‹ˆ๋‹ค.
12,354README ์–ธ์–ด ์„ ํƒ๊ธฐ์— ์‚ฌ์šฉ๋˜๋Š” MIT ๋ผ์ด์„ ์Šค SVG ๊ตญ๊ธฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
<td nowrap>awesome-secure-defaults
ํ”„๋กœ์ ํŠธโญOmniRoute์— ์˜๊ฐ์„ ์ค€ ๋ฐฉ์‹
721๋‹น์‚ฌ์˜ ๋ณด์•ˆ ์„ ํƒ(Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink)์— ์ง€์นจ์„ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์•ˆ์ „ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์—„์„ ๋œ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.
<td nowrap>ClawRouter<td nowrap>Antigravity-Manager<td nowrap>vscode-antigravity-cockpit<td nowrap>AionUi<td nowrap>CodexBar
ํ”„๋กœ์ ํŠธโญOmniRoute์— ์˜๊ฐ์„ ์ค€ ๋ฐฉ์‹
6,564์š”์ฒญ ์ค‘๋ณต ์ œ๊ฑฐ, ๋น„์ƒ์šฉ ๋ฌด๋น„์šฉ ํด๋ฐฑ, ํ”Œ๋Ÿฌ๊ทธํ˜• Auto-Combo ์ „๋žต ๋ฐ ๋‹ค๊ตญ์–ด ์˜๋„ ๋ถ„๋ฅ˜์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
30,652๊ณ„์ • ์ธ์‹ ๋ชจ๋ธ ์žฌ๋งคํ•‘, ์‹คํ–‰ ํŒŒ์ผ ๊ฒฝ๋กœ ๊ฒ€์ฆ ๋ฐ ์š”๊ธˆ์ œ ๋ ˆ์ด๋ธ” ๋™์ž‘์€ OmniRoute์˜ Antigravity ๋Ÿฐํƒ€์ž„์— ์ฐธ๊ณ ๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
4,817๊ฐ„๊ฒฐํ•œ ํ• ๋‹น๋Ÿ‰ ์ดˆ๊ธฐํ™” ์นด์šดํŠธ๋‹ค์šด ํ˜•์‹์€ OmniRoute์˜ ํ•ด๋‹น ๊ณต๊ธ‰์ž ํ•œ๋„ ํ‘œ์‹œ์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
32,230ACP ํ†ตํ•ฉ์€ OmniRoute์˜ ์„ค์น˜๋œ CLI ์—์ด์ „ํŠธ ์ž๋™ ๊ฐ์ง€์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
20,507Grok Build ํ• ๋‹น๋Ÿ‰ ํ‘œ๋ฉด์„ ์‹๋ณ„ํ–ˆ์œผ๋ฉฐ, ์ดํ›„ OmniRoute๊ฐ€ ์‹ค์ œ ์™€์ด์–ด ํ˜•์‹์„ ๋…๋ฆฝ์ ์œผ๋กœ ๊ฒ€์ฆํ•˜๊ณ  ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

MIT ๋ผ์ด์„ ์Šค - ์ž์„ธํ•œ ๋‚ด์šฉ์€ LICENSE๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.


โฌ† ๋งจ ์œ„๋กœ ๋Œ์•„๊ฐ€๊ธฐ ยท ์˜คํ”ˆ ์†Œ์Šค AI ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ์œ„ํ•ด โค๏ธ๋ฅผ ๋‹ด์•„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

OmniRoute v3.8.51 ยท Node โ‰ฅ22.22.2 ยท MIT ๋ผ์ด์„ ์Šค ยท omniroute.online


undefined (a58000c7685f)

HagiCode

HagiCode๋Š” ์—์ด์ „ํŠธ ์ฝ”๋”ฉ ์ž‘์—… ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค. OpenSpec ์›Œํฌํ”Œ๋กœ๋กœ ๋ณ€๊ฒฝ์„ ๊ณ„ํšํ•˜๊ณ , ๋‹ค์ค‘ ์—์ด์ „ํŠธ ์‹คํ–‰์œผ๋กœ ์ง„ํ–‰ํ•˜๋ฉฐ, Hero Dungeon์œผ๋กœ ๊ธด ์ž‘์—…์˜ ์ง„ํ–‰ ์ƒํ™ฉ์„ ํ•œ๋ˆˆ์— ๋ณด์—ฌ ์•„์ด๋””์–ด๋ฅผ ์‹ค์ œ๋กœ ๋ฐฐํฌ๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

๋” ์Šค๋งˆํŠธํ•˜๊ณ  ๋น ๋ฅด๋ฉฐ ์ฆ๊ฑฐ์šด ์—์ด์ „ํŠธ ์›Œํฌํ”Œ๋กœ๋กœ ์œ ์šฉํ•œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋งŒ๋“œ์„ธ์š”.

HagiCode ๋ฐฉ๋ฌธ๋ฌธ์„œ ์ฝ๊ธฐ
  • ์Šค๋งˆํŠธOpenSpec ์›Œํฌํ”Œ๋กœ๋Š” ์˜๋„๋ฅผ ์ œ์•ˆ, ์„ค๊ณ„, ์ž‘์—…์„ ๊ฑฐ์ณ ๋ฐฐํฌ๊นŒ์ง€ ์ด์–ด์ง€๋Š” ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๊ฒฝ๋กœ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.
  • ํšจ์œจ์ ๋‹ค์ค‘ ์—์ด์ „ํŠธ ์‹คํ–‰์œผ๋กœ ์กฐ์‚ฌ, ๊ตฌํ˜„, ๊ฒ€ํ† ๋ฅผ ๋ณ‘๋ ฌ๋กœ ์ง„ํ–‰ํ•˜๋ฉฐ ์—ฌ๋Ÿฌ ์ €์žฅ์†Œ์™€ ์ต์ˆ™ํ•œ Agent CLI๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ์ฆ๊ฑฐ์šดHero Dungeon์€ ๊ธด ์ฝ”๋”ฉ ์„ธ์…˜์„ ์˜์›…, ์ง„ํ–‰ ์ƒํ™ฉ, ์—…์ ์ด ๋ณด์ด๋Š” ๋ชจํ—˜์œผ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

HagiCode ํ•œ๋ˆˆ์— ๋ณด๊ธฐ

  • ๋Œ€๊ธฐ, ์ง„ํ–‰ ์ค‘, ๋ณด๊ด€๋จ ์„ธ ์—ด๋กœ ์ด๋ฃจ์–ด์ง„ ์„ธ์…˜ ์นธ๋ฐ˜ ๋ณด๋“œ๊ฐ€ ๋ณด์ด๋Š” HagiCode ์ž‘์—…๋Œ€ ํ™”๋ฉด.
    ์ž‘์—…๋Œ€: ๋ชจ๋“  ์„ธ์…˜์„ ํ•˜๋‚˜์˜ ์นธ๋ฐ˜ ๋ณด๋“œ์— ๋ชจ์•˜์Šต๋‹ˆ๋‹ค.
  • ์ƒ์„ฑ๋จ๋ถ€ํ„ฐ ๋ณด๊ด€๋จ๊นŒ์ง€์˜ ๋‹จ๊ณ„ ํ‘œ์‹œ์ค„์—์„œ ์‹คํ–‰ ์™„๋ฃŒ ๋‹จ๊ณ„๊ฐ€ ๊ฐ•์กฐ๋˜๊ณ  ๊ณ„ํš ๋ณด๊ด€ ๋ฒ„ํŠผ์ด ์žˆ๋Š” HagiCode ์ œ์•ˆ ํ™”๋ฉด.
    ์ œ์•ˆ์€ ์ƒ์„ฑ, ์ดˆ์•ˆ ์ž‘์„ฑ, ๊ฒ€ํ† ๋ฅผ ๊ฑฐ์ณ ์‹คํ–‰๊ณผ ๋ณด๊ด€์œผ๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค.
  • Ember Keep์ด๋ผ๋Š” ์ด๋ฆ„์˜ HagiCode Hero Dungeon ํŒจ๋„. ์‹คํ–‰ ์ค‘์ธ ์˜์›… ์„ธ ๋ช…์˜ ๋ ˆ๋ฒจ, ์ง„ํ–‰๋ฅ , ์ด์•ผ๊ธฐ ๋ฌธ๊ตฌ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
    Hero Dungeon: ์˜์›…์ด ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ณ , ๋‹น์‹ ์€ ์ง„ํ–‰ ์ƒํ™ฉ๊ณผ ๋ ˆ๋ฒจ, ์ด์•ผ๊ธฐ๋ฅผ ์ง€์ผœ๋ด…๋‹ˆ๋‹ค.

Windows์šฉ ๋‹ค์šด๋กœ๋“œ

Microsoft Store์—์„œ ๋ฐ›๊ธฐ๋ชจ๋“  ๋‹ค์šด๋กœ๋“œ