콘텐츠로 이동
OmniRoute source

VS Code Copilot Chat — OmniCopilot extension (한국어)

  1. OmniRoute 실행 — npm install -g omniroute && omniroute(대시보드는 http://localhost:20128에서 실행).
  2. 확장 프로그램 설치 — 확장 보기에서 “OmniRoute”를 검색합니다.
  3. 모델 선택 — Copilot Chat → 모델 선택기 → Manage Models… → OmniRoute로 이동한 다음 원하는 항목을 선택합니다.

OmniRoute가 기본 포트에서 실행되는 경우 구성할 항목이 없습니다. 원격 인스턴스의 경우 활동 표시줄에서 OmniRoute 아이콘을 열거나 OmniRoute: Manage Connection을 실행하고 다음을 설정합니다.

  • 서버 URL — 서버 루트입니다(예: http://192.168.0.15:20128). /v1 접미사는 확장 프로그램에서 추가하므로 포함하지 마세요.
  • API 키 — 서버에서 REQUIRE_API_KEY를 설정한 경우에만 필요합니다. VS Code SecretStorage를 통해 OS 키체인에 저장되며, settings.json에는 절대 저장되지 않습니다.

확장 프로그램은 원시 GET /v1/models 페이로드를 그대로 표시하지 않고 가공합니다. 표시되는 모델 수가 카탈로그 크기보다 적은 데에는 의도적인 두 가지 이유가 있습니다.

MODELS_CATALOG_PREFIX_MODE의 기본값은 **dual**이며, 모든 모델을 두 번 등록합니다. 한 번은 짧은 별칭 접두사로, 다른 한 번은 정식 공급자 접두사로 등록하여 이전 클라이언트 구성에서도 두 형식이 모두 계속 해석되도록 합니다.

cc/claude-sonnet-4-6 ← 별칭 접두사
claude/claude-sonnet-4-6 ← 정식 접두사, 동일한 모델

확장 프로그램은 **GET /v1/models?prefix=alias**를 요청하므로 다른 클라이언트의 서버 전체 설정을 변경하지 않으면서 모델당 하나의 id만 수신합니다. 참조 인스턴스에서는 이를 통해 2345개 항목이 1396개로 줄었습니다. 중복 항목 949개가 제거되었으며, 손실된 모델은 없습니다.

모든 클라이언트에 적용되도록 서버 전체에서 이 문제를 해결하려면 대시보드에서 MODELS_CATALOG_PREFIX_MODE 기능 플래그를 alias로 설정하세요. 쿼리 매개변수와 모드별 표는 API_REFERENCE → prefix를 참조하세요.

채팅할 수 없는 모델을 숨깁니다

섹션 제목: “채팅할 수 없는 모델을 숨깁니다”

카탈로그에는 이미지, 동영상, 오디오, 재순위화, 임베딩 및 조정 모델도 포함됩니다. 이러한 모델은 어차피 채팅 요청에서 거부됩니다.

HTTP 400 — 모델 '<id>'은(는) 이미지 생성 모델이므로
/v1/chat/completions에서 사용할 수 없습니다. 대신 POST /v1/images/generations를 사용하세요.

따라서 선택기에 도달하기 전에 type 필드를 기준으로 필터링됩니다. Responses-API 모델은 유지됩니다. 모든 Codex / GPT-5.x 항목은 supported_endpoints: ["responses"]를 제공하며, OmniRoute가 이를 /v1/chat/completions용으로 변환하므로 문제없이 사용할 수 있습니다.

카탈로그에는 활성 연결이 있는 공급자의 모델과 모든 noAuth 공급자, 즉 무료 티어의 상당 부분을 구성하는 키가 필요 없는 공급자가 나열됩니다. 이는 의도된 동작입니다. 이러한 모델을 숨기려면 대시보드 설정의 blockedProviders에 추가하세요. 확장 프로그램에서는 아무것도 변경할 필요가 없습니다.


omnicopilot.dashboardOpen: "editor"는 외부 브라우저 대신 Simple Browser를 통해 OmniRoute 대시보드를 편집기 탭에 렌더링합니다. 임베딩은 서버에서 DASHBOARD_ALLOW_EMBED=vscode를 통해 명시적으로 활성화해야 합니다. 이 설정은 기본값인 frame-ancestors 'none' + X-Frame-Options: DENY 대신 frame-ancestors 'self' vscode-webview:가 포함된 HTML 페이지를 제공합니다. API 표면(/api, /v1, /v1beta, /a2a, /healthz)에는 어느 경우든 엄격한 헤더가 유지됩니다.

⚠️ 이는 런타임 플래그가 아니라 빌드 타임 플래그입니다. Next.js는 headers()를 라우트 매니페스트에 컴파일하므로, 번들을 빌드할 때 next.config.mjs가 변수를 읽습니다 (next.config.mjs → resolveDashboardEmbedMode, scripts/build/dashboardEmbed.mjs). 이미 빌드된 서버를 실행할 때 이 변수를 내보내도 아무것도 변경되지 않습니다. 헤더는 빌드에 내장되어 있습니다.

터미널 창
# 변수는 BUILD 명령에 설정되어 있어야 합니다
DASHBOARD_ALLOW_EMBED=vscode npm run build # 또는 npm run build:release
npm start
설치 방법 임베딩을 활성화할 수 있나요?
소스에서 설치 ✅ 위와 같이 빌드 명령에 변수를 설정하세요
npm install -g omniroute ❌ 게시된 패키지에는 미리 빌드된 번들이 포함되어 있습니다. 대신 소스에서 빌드하세요
Docker 이미지 ✅ docker build --build-arg DASHBOARD_ALLOW_EMBED=vscode -t omniroute:embed . — Docker Hub의 미리 빌드된 이미지는 임베딩이 활성화되어 있지 않습니다

임베딩이 활성화된 빌드가 아니면 페이지에서 프레임 표시를 거부합니다. 확장 프로그램은 응답 헤더에서 이를 감지하고 외부 브라우저로 대체합니다. 아무것도 중단되지 않으며, 이에 대한 안내를 한 번 표시합니다. ENVIRONMENT.md 및 이슈 #10273을 참조하세요.


VS Code 내부에서 다른 도구 구성하기

섹션 제목: “VS Code 내부에서 다른 도구 구성하기”

**OmniRoute: Configure Coding CLI**는 omniroute CLI를 사용하여 Codex CLI, Claude Code, Cline, Continue, Cursor, Aider, OpenCode, Goose, Crush, Qwen Code, Kilo 및 Roo용으로 즉시 사용할 수 있는 프로필을 작성합니다. 이는 CLI-INTEGRATIONS.md에 설명된 것과 동일한 구성입니다. API 키는 명령줄이 아닌 OMNIROUTE_API_KEY 환경 변수를 통해 CLI에 전달됩니다.


증상 원인 / 해결 방법
선택기에 OmniRoute 모델이 없음 서버에 연결할 수 없습니다. 상태 표시줄의 점이 회색으로 바뀝니다. OmniRoute: Check Connection을 실행하세요. 모델 검색은 의도적으로 아무 메시지도 표시하지 않으며, 사용자에게 묻는 대신 모델을 추가하지 않습니다.
모든 모델이 두 번씩 표시됨 1.0.1 이전 버전의 OmniCopilot을 사용하고 있습니다. 업데이트하세요. 이제 확장 프로그램은 ?prefix=alias를 요청합니다.
이전에 표시되던 이미지/오디오 모델이 사라짐 1.0.1부터 의도적으로 적용된 변경입니다. 이러한 모델은 원래 채팅 요청에 응답할 수 없었습니다.
Activity Bar에서 패널이 보이지 않음 VS Code는 추가 뷰 컨테이너를 Activity Bar 하단의 “…” 오버플로로 이동하며, 마우스 오른쪽 버튼 클릭으로 숨긴 컨테이너는 계속 숨겨진 상태로 유지됩니다. Activity Bar를 마우스 오른쪽 버튼으로 클릭 → OmniRoute를 선택하거나 OmniRoute: Manage Connection으로 여세요.
editor 모드인데도 대시보드가 브라우저에서 열림 서버가 DASHBOARD_ALLOW_EMBED=vscode로 빌드되지 않았습니다(위 내용 참조). 미리 빌드된 설치본을 시작할 때 설정해도 아무 효과가 없습니다. 외부 브라우저로 대체되는 것은 의도된 동작입니다.
공급자를 변경한 후에도 모델 목록이 오래된 상태임 OmniRoute: Refresh Models를 실행하거나 패널의 ↻ 링크를 사용하세요.


OmniRoute 소스 코드 (a58000c7685f)

HagiCode

HagiCode는 구조화된 워크플로, 다중 에이전트 실행, Hero Dungeon 뷰를 갖춘 에이전트 코딩 작업 공간입니다.

더 스마트하고 빠르며 즐거운 에이전트 워크플로로 유용한 소프트웨어를 만드세요.

HagiCode 라이트 테마 메인 화면
  • Smart구조화된 워크플로는 의도를 아이디어부터 배포까지 실행 가능한 경로로 바꿉니다.
  • Efficient다중 에이전트 워크플로로 조사, 구현, 검토를 병렬로 진행합니다.
  • FunHero Dungeon은 긴 코딩 세션을 시각적이고 협업적인 경험으로 만듭니다.
HagiCode 방문