<h1 align="center">OmniRoute for GitHub Copilot Chat</h1>
<p align="center">
<img src="https://raw.githubusercontent.com/cheaper-inference/OmniCopilot/HEAD/assets/icon.png" alt="OmniCopilot" width="128">
</p>
<p align="center">
<strong class="">Copilot Chat에서 1,200개 이상의 AI 모델을 무료로 영구 사용하세요.</strong><br>
<em class="">340개 이상의 제공업체(provider), 그중 90개 이상이 무료 등급을 지원하며, 단일 엔드포인트로 작동합니다. MIT 오픈 소스입니다.</em></p>
<p align="center">
<a href="https://marketplace.visualstudio.com/items?itemName=diegosouzapw.omnicopilot"><strong class="">🧩 VS Code 마켓플레이스에서 설치</strong></a><br>
<a href="https://open-vsx.org/extension/diegosouzapw/omnicopilot"><strong class="">🔓 Open VSX에서 설치</strong></a> <em class="">(Cursor, Windsurf, VSCodium, Theia, code-server…)</em>
</p>
<p align="center">
<a href="https://github.com/diegosouzapw/OmniRoute">🌐 GitHub의 OmniRoute</a> •
<a href="https://github.com/diegosouzapw/OmniCopilot">🔌 확장 프로그램 소스</a> •
<a href="https://github.com/diegosouzapw/OmniRoute/issues">🐛 이슈</a>
</p>
Copilot을 대체하지 않고, 기능을 강화합니다. 새로운 학습용 사이드바나 채팅 UI가 없습니다. 이 확장 프로그램은 사용자가 이미 사용하는 Copilot Chat의 모델 선택기(model picker)에 OmniRoute 서버의 모든 모델 — Kimi, Claude, GPT, Gemini, GLM, DeepSeek, Qwen, Llama 등 340개 이상의 제공업체 중 무료로 유지되는 90개 이상의 모델을 바로 추가합니다. VS Code Insiders도 포함됩니다.
🆓 Copilot 구독이 필요하지 않습니다. VS Code 1.122 버전부터는 GitHub 로그인이나 Copilot 플랜 없이 제공업체 모델(provider models)을 사용할 수 있습니다. VS Code + OmniRoute + 이 확장 프로그램 = 무료로 작동하는 에이전트 모드를 갖춘 완전한 AI 채팅 환경입니다.
이 확장 프로그램은 왜 필요한가요?
- 1200개 이상의 모델을 하나의 선택기로 통합합니다. OmniRoute는 340개 이상의 제공업체(OpenAI 호환, Anthropic, Gemini, Ollama, 로컬, OAuth 기반 무료 티어 등)를 단일 엔드포인트 뒤에 통합하며, 90개 이상의 제공업체가 무료이며 영구적으로 무료입니다. 이 모델들은 OmniRoute가 지원하는 모든 모델이 Copilot Chat의 모델 드롭다운 메뉴에 표시됩니다.
- 에이전트 모드(Agent mode), 도구 호출(tool calling), MCP, 지침(instructions) 등 모든 기능이 여전히 작동합니다. 이는 VS Code의 네이티브 언어 모델 제공업체 API에 연결되므로, Copilot의 전체 스택이 사용자가 선택한 모델에서 실행됩니다.
- 비전(Vision) 지원 포함. OmniRoute 카탈로그에서 비전 기능을 갖춘 것으로 표시된 모델은 채팅에서 이미지 첨부 파일을 직접 수락합니다.
- 조합 및 자동 폴백(auto-fallback). OmniRoute 조합(combos)(우선순위, 라운드 로빈, 비용 최적화, 융합 등)은 일반 모델처럼 나타나며 — 하나를 선택하면 백그라운드에서 제공업체 간의 자동 장애 조치(failover)가 이루어집니다.
- 한눈에 온라인 상태 확인. 상태 표시줄 점과 활동(Activity) 표시줄 패널을 통해 OmniRoute 서버가 연결 가능한지 여부, 지원하는 모델 수, 그리고 모든 것을 구성할 위치(URL 및 API 키 포함)를 확인할 수 있습니다.
- 사용자의 언어 지원. UI는 42개 언어로 제공되며, 이는 OmniRoute 자체 카탈로그를 반영합니다 — VS Code가 사용자의 표시 언어와 일치하는 것을 자동으로 선택합니다.
- 다른 도구 구성도 가능합니다. 하나의 명령으로 Codex CLI, Claude Code, Cline, Continue, Cursor, Aider 등 여러 도구가 내부적으로
omniroute CLI를 사용하여 OmniRoute를 사용하도록 설정할 수 있습니다.
- 기본적으로 보안 유지(Secure by default). API 키는
settings.json이 아닌 VS Code의 SecretStorage(OS 키체인)에 저장됩니다.
시작하기
1. OmniRoute 실행 (60초)
npm install -g omniroute
omniroute
대시보드에서 제공업체/키를 추가하거나 내장된 무료 기능을 사용하세요. 전체 가이드: github.com/diegosouzapw/OmniRoute.
이미 다른 곳(홈 서버, VPS, 터널 등)에서 OmniRoute를 실행 중인가요? 확장 프로그램이 해당 위치를 가리키도록 설정하세요 — 아래 참조.
2. 이 확장 프로그램 설치
VS Code Extensions 뷰에서 **"OmniRoute"**를 검색하세요. 이 확장 프로그램은 VS Code의 Marketplace와 Cursor, Windsurf 및 VSCodium과 같은 포크(forks)에서의 Open VSX 모두에서 해결할 수 있습니다. 또는 releases에서 .vsix 파일을 다운로드하세요.
3. 모델 선택 (Pick a model)
- Copilot Chat을 열고 **모델 선택기(model picker)**를 클릭합니다.
- 모델 관리(Manage Models)… → OmniRoute를 선택합니다.
- 원하는 모델 옆의 체크박스를 선택하면, 해당 모델들이 선택기에 추가됩니다.
이것으로 끝입니다. 만약 OmniRoute가 기본 http://localhost:20128에서 실행된다면, 별도로 설정할 것이 없습니다.
원격 서버 / API 키 (Remote server / API key)
**활동 표시줄(Activity Bar)**의 OmniRoute 아이콘을 클릭하거나 (OmniRoute: Manage Connection을 실행하거나 상태 표시줄의 점을 클릭) 연결 패널을 열어주세요:
- 서버 URL (Server URL) — 예:
http://my-vps:20128 (슬래시 v1 접미사(/v1)는 자동으로 추가됩니다)
- API 키 (API key) — OmniRoute가 요구하는 경우에만 필요하며 (
REQUIRE_API_KEY); OS 키체인(keychain)에 저장됩니다.
- 저장 및 테스트 (Save & Test) — 실시간 모델 개수와 함께 즉각적인 피드백을 받습니다.
**OmniRoute: Configure Coding CLI**를 실행하고 도구를 선택하세요. 이 확장 프로그램은 사용 가능한 프로필을 생성하기 위해 omniroute CLI를 구동합니다:
| 도구 | 얻게 되는 것 |
|---|
| Codex CLI | ~/.codex에 있는 codex --profile glm52 스타일의 프로필 |
| ... | |
설정 (Settings)
| 설정 | 기본값 | 설명 |
|---|
omnicopilot.baseUrl | http://localhost:20128 | OmniRoute 서버 루트(로컬 또는 원격) — /v1이 자동으로 추가됨 |
| ... | | |
추론 노력 (Reasoning effort)
확장된 사고(extended thinking)를 가진 모델(GPT-5.x, Thinking 기능이 있는 Claude, DeepSeek R1, Gemini Thinking 등)은 추론 계층(reasoning tier)을 수락합니다. VS Code가 모델 옆에 노력 제어(effort control)를 표시하면, 해당 선택지가 reasoning_effort로 OmniRoute에 전달됩니다. 따라서 별도로 설정할 필요가 없습니다.
omnicopilot.defaultReasoningEffort는 에디터가 아무런 제어권을 노출하지 않는 경우를 처리합니다. 이 설정은 OmniRoute의 표준 어휘(canonical vocabulary)인 none, low, medium, high, xhigh를 사용하며, 서버는 모델이 구현하지 않은 계층을 하향 조정하므로, xhigh를 요청하는 것은 항상 안전합니다.
기본값은 카탈로그에서 추론(reasoning) 기능이 있는 것으로 표시된 모델에 한해서만 적용됩니다. 사고 지원 없이 이 필드를 모델로 보내는 것은 최악의 경우 400 에러와 함께 무시되거나 거부됩니다. 채팅 UI에서 명시적으로 선택한 내용은 항상 설정값보다 우선합니다.
Agents window (실험적)
omnicopilot.exposeToAgentsWindow를 활성화하면 모든 도구 호출(tool-calling) OmniRoute 모델이 Copilot Agents window (Copilot CLI 에이전트 호스트)에 등록됩니다. VS Code는 이러한 항목들을 agent-host 세션으로 범위 지정하므로, 일반 채팅 선택기 대신 Agents window의 모델 선택기에 나타납니다. 일반 선택기는 변경 없이 계속 작동합니다.
사전 요구 사항(VS Code 측):
- 실험적 VS Code 설정
chat.agentHost.byokModels.enabled를 활성화합니다.
- 설정을 전환한 후 에이전트 호스트를 다시 시작하거나 창을 새로 고침합니다.
이는 제안된 VS Code API(targetChatSessionType)에 의존하므로, 옵트인(opt-in) 방식이며 기본적으로 비활성화되어 있습니다. 이 메커니즘은 VS Code 업데이트 시 우리 측에서 변경될 수 있기 때문입니다. 만약 항목들이 Agents window가 아닌 일반 선택기에 중복으로 나타난다면, 사용 중인 VS Code 빌드가 아직 해당 제안을 지원하지 않는 것입니다. 이 경우 설정을 다시 비활성화하십시오.
패널에서의 사용법
OmniRoute가 충분히 최신 버전일 때, Activity Bar 패널에 내 사용량(My usage) 섹션이 표시됩니다. 여기에는 키 자체의 일별/주별 한도 대비 소비량, 초기화 시간, 그리고 각 제공업체 연결(Codex, Claude, OpenCode 등)별 할당량이 나란히 표시됩니다.
이는 사용자의 연결 API 키를 사용하여 셀프 서비스 엔드포인트 GET /api/usage/om-usage?format=json에서 데이터를 읽어옵니다. 이 데이터는 터미널 명령어 @@om-usage와 동일하며, 관리 인터페이스(management surface)의 데이터가 아닙니다.
정상적이고 구별되는 세 가지 상태가 있습니다:
- "Usage is not enabled for this key" — 이 키에는 사용이 활성화되지 않았습니다. 이는 해당 키가
allowUsageCommand 플래그를 갖추지 못했기 때문이며, 이 플래그는 **기본적으로 비활성화(off by default)**되어 있습니다. 관리자는 OmniRoute의 API-key manager에서 키별로 이를 켜야 합니다. 이것은 오류가 아니라 설정입니다.
- "nothing is cached yet" — 이 키는 허용되었지만, 서버에 해당 연결에 대한 학습된 할당량(quota)이 아직 없습니다. 첫 번째 요청 후에 채워집니다.
- No section at all — OmniRoute 서버는
?format=json보다 오래되었으며, 패널은 구형 텍스트 형식을 파싱하는 대신 이를 숨깁니다.
사용량 JSON 엔드포인트(usage JSON endpoint)가 있는 OmniRoute가 필요합니다 (v3.8.50 이상). 기능 매트릭스가 가정하는 서버 버전을 보려면 docs/CATALOG.md를 참조하세요.
VS Code 내부 대시보드
OmniRoute 대시보드를 브라우저 대신 VS Code 탭에서 열려면 omnicopilot.dashboardOpen을 editor로 설정하세요. 이를 위해서는 서버가 임베딩(embedding)을 허용해야 하며, 이는 **DASHBOARD_ALLOW_EMBED=vscode**를 통해 옵트인(opt-in) 방식으로 이루어집니다 (OmniRoute #10273).
⚠️ 이 플래그는 **빌드 시점(build time)**에 읽힙니다. Next.js가 응답 헤더를 라우트 매니페스트(route manifest)에 내장하기 때문에, 이미 설치된 서버 앞에서 이를 내보내는 것은 아무 효과가 없습니다. 소스에서 빌드할 때(DASHBOARD_ALLOW_EMBED=vscode npm run build) 작동하며, npm install -g omniroute로 사전 구축되거나 공식 Docker 이미지에서는 작동하지 않습니다. 전체 매트릭스는 OmniRoute 가이드를 참조하세요.
임베딩이 활성화되지 않은 빌드에서는 페이지가 프레임되는 것을 거부합니다. 확장 프로그램은 응답 헤더에서 이를 감지하고 외부 브라우저로 폴백(fallback)하므로 어느 쪽도 문제가 없습니다.
모델 목록 구축 방법
피커가 표시하는 모델 개수가 궁금하거나, 한 번도 구성하지 않은 제공업체가 포함된 이유가 궁금한가요? → **docs/CATALOG.md**에서 중복 접두사 모드(duplicate-prefix mode), 비 채팅 필터(non-chat filter), 그리고 무료/키 없는 제공업체에 대해 측정된 수치와 함께 설명합니다.
알아두면 좋은 정보
- **채팅(Chat), 에이전트 모드(agent mode) 및 유틸리티 작업(utility tasks)**은 OmniRoute 모델을 통해 실행됩니다. 인라인 코드 완성(Inline code completions)과 임베딩 기반 기능(embeddings-based features)은 VS Code의 제공자 API(provider API) 외부 영역에 있어 여전히 GitHub Copilot이 필요합니다.
- Copilot Business/Enterprise의 경우, 관리자는 "자체 언어 모델 키 가져오기(Bring Your Own Language Model Key)" 정책을 통해 타사 모델 제공자를 비활성화할 수 있습니다.
- VS Code **1.104+**가 필요합니다 (1.122 미만 버전은 또한 로그인된 Copilot 플랜이 필요합니다 — 이는 저희의 규칙이 아니라 VS Code의 규칙입니다).
무료 및 오픈 소스(Free & open source)
OmniRoute는 MIT 라이선스를 따르며 영구적으로 무료입니다 — ⭐ GitHub에서 별표를 찍고 프로젝트에 참여하세요. 이 확장 프로그램 역시 MIT 라이선스이며, diegosouzapw/OmniCopilot에서 이슈 및 PR을 환영합니다. 유지 관리자가 새 버전을 게시하는 방법: docs/PUBLISHING.md를 참조하세요 (Marketplace + Open VSX).
OmniRoute는 GitHub나 Microsoft와 제휴되지 않은 독립적인 오픈 소스 프로젝트입니다. GitHub Copilot은 GitHub, Inc.의 상표입니다.