섹션별 상세
대부분의 LLM 도구는 특정 API 규격 하나만 지원하여 다른 모델을 사용하려면 코드를 대폭 수정해야 하는 번거로움이 있었다. OpenCode LLM Proxy는 로컬 서버를 구동해 OpenAI, Anthropic, Gemini 규격의 요청을 수신하고 이를 OpenCode가 관리하는 제공자로 중계한다. OpenAI Chat Completions와 Anthropic Messages API 등 주요 규격을 모두 지원하며 실시간 스트리밍까지 완벽하게 처리한다. 이를 통해 도구의 제약 없이 사용자가 보유한 모든 LLM 자원을 통합 관리할 수 있는 환경이 조성된다.
bash
curl http://127.0.0.1:4010/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "github-copilot/claude-sonnet-4.6",
"messages": [{"role": "user", "content": "Hello!"}]
}'curl 명령어를 사용하여 프록시 엔드포인트로 직접 요청을 보내는 예시
근거
- OpenAI, Anthropic, Gemini API 규격을 모두 지원하며 스트리밍 응답이 가능하다. — Supported API formats 섹션의 표
- 로컬 호스트 127.0.0.1:4010에서 기본적으로 작동하며 npm을 통해 설치할 수 있다. — Quickstart 및 Configuration 섹션
로컬에서 실행되는 Ollama나 GitHub Copilot 구독 모델을 외부 UI 도구에서 직접 연동하기 어려운 기술적 장벽이 존재했다. 프록시의 base_url을 도구 설정에 입력하면 도구는 표준 API를 호출하는 것처럼 동작하지만 실제로는 로컬 프록시가 이를 가로채 지정된 모델로 전달한다. Open WebUI, Chatbox, VS Code의 Continue 확장 프로그램 등에서 OpenAI 호환 URL 설정을 통해 즉시 연동되는 것이 확인됐다. 파편화된 LLM 생태계에서 도구와 모델 간의 상호운용성을 극대화하여 사용자 선택권을 넓힌다.
python
from openai import OpenAI
client = OpenAI(base_url="http://127.0.0.1:4010/v1", api_key="unused")
response = client.chat.completions.create(
model="ollama/qwen2.5-coder",
messages=[{"role": "user", "content": "Write a Python function to reverse a string."}]
)Python OpenAI SDK를 사용하여 로컬 Ollama 모델을 호출하는 예시
javascript
import Anthropic from "@anthropic-ai/sdk"
const client = new Anthropic({
baseURL: "http://127.0.0.1:4010",
apiKey: "unused",
})
const message = await client.messages.create({
model: "anthropic/claude-opus-4",
max_tokens: 1024,
messages: [{ role: "user", content: "Explain async/await." }],
})Anthropic JS SDK를 사용하여 프록시를 통해 모델을 호출하는 예시
여러 개발 환경에서 일관된 LLM 접근 방식이 필요하며 팀 단위의 모델 공유나 보안 요구사항도 중요한 고려 요소이다. 환경 변수 설정을 통해 바인드 주소를 0.0.0.0으로 변경하고 인증 토큰을 설정하여 로컬 네트워크 내에서 안전하게 엔드포인트를 노출할 수 있다. OPENCODE_LLM_PROXY_HOST와 OPENCODE_LLM_PROXY_TOKEN 변수를 통해 네트워크 노출 범위와 보안 수준을 세밀하게 제어한다. 개인 개발 환경을 넘어 팀 프로젝트나 Docker 컨테이너 환경에서도 유연한 LLM 인프라 구축이 가능하다.
용어 해설
- LLM 프록시(LLM Proxy)
- — 클라이언트 애플리케이션과 LLM 제공자 사이에서 통신을 중계하는 중간 서버이다. 서로 다른 API 규격을 변환하거나 인증을 통합 관리하여 개발자가 코드 수정 없이 모델을 교체할 수 있게 돕는다.
- API 엔드포인트(API Endpoint)
- — API가 서버의 리소스에 접근할 수 있도록 제공하는 특정 통신 지점이다. 이 도구에서는 로컬 호스트의 특정 포트를 통해 모든 LLM 요청을 수렴하는 단일 창구 역할을 한다.
- 스트리밍 응답(Streaming Response)
- — 서버가 전체 응답이 완성될 때까지 기다리지 않고 생성되는 즉시 데이터를 조각 단위로 전송하는 방식이다. LLM의 긴 생성 시간 동안 사용자에게 실시간으로 텍스트를 보여주어 체감 지연 시간을 줄인다.
- 베이스 URL(Base URL)
- — API 요청을 보낼 서버의 기본 주소이다. SDK 설정에서 이 값을 로컬 프록시 주소로 변경하면 표준 클라우드 서비스 대신 로컬 서버로 요청을 라우팅할 수 있다.
근거 모음
근거
- 텍스트 전용이며 이미지, 오디오 입력 및 도구/함수 호출은 현재 지원하지 않는다. — Limitations 섹션
기술
- OpenAI SDK
- Anthropic SDK
- Google Gemini SDK
- Ollama
- GitHub Copilot
- LangChain
- Open WebUI
활용 사례
- 로컬 LLM을 OpenAI 규격 도구에 연동
- 다양한 LLM API 규격 통합 관리
- 로컬 네트워크 내 LLM 자원 공유
- IDE 및 챗봇 도구의 백엔드 모델 교체
언급된 리소스
AI 분석 전체 내용 보기
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
원문 발행 2026. 03. 28.수집 2026. 03. 29.출처 타입 RSS
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.