emanuelcasco/ocgo
요약
ocgo는 Claude Code 및 Codex CLI를 OpenCode Go 구독을 통해 사용할 수 있도록 지원하는 Go 기반의 CLI 도구입니다. 로컬 호환성 프록시를 실행하여 Anthropic 및 OpenAI 호환 엔드포인트를 노출하며, API 요청 번역과 스트리밍 응답을 지원합니다.
핵심 포인트
- Claude Code와 Codex CLI를 OpenCode Go 모델로 간편하게 실행 가능
- Anthropic 및 OpenAI 호환 API 레이어를 제공하는 로컬 프록시 서버 기능
- 스트리밍 텍텍스트 응답 및 기본적인 도구 호출(tool-call) 번역 지원
- Homebrew를 통한 간편한 설치 및 환경 변수를 통한 API 키 관리 지원
ocgo
는 Claude Code 및 Codex CLI가 OpenCode Go 구독을 통해 실행될 수 있도록 지원하는 작은 Go CLI 도구입니다. 이 도구는 로컬 호환성 프록시 (compatibility proxy)를 시작하고, 필요한 경우 Claude Code의 Anthropic Messages API 요청을 번역하며, Codex를 위해 OpenAI 호환 엔드포인트 (OpenAI-compatible endpoints)를 노출하고, 올바른 설정으로 도구들을 실행합니다.
# 1. OpenCode API 키 설정
ocgo setup
# 2. 코딩 시작!
...
Claude Code 또는 Codex CLI에서 OpenCode Go 구독을 단 하나의 명령어로 사용하세요 — 수동 프록시 설정이 필요하지 않습니다.
-
OpenCode Go API 키를 저장하고 재사용합니다.
-
알려진 OpenCode Go 모델 ID (model IDs) 목록을 나열합니다.
-
단 하나의 명령어로 OpenCode Go를 통해 Claude Code를 실행합니다.
-
단 하나의 명령어로 OpenCode Go를 통해 Codex CLI를 실행합니다.
-
로컬 프록시 서버를 시작, 중지 및 검사합니다.
-
Anthropic 호환 및 OpenAI 호환 로컬 API 레이어 (API layers)를 노출합니다.
-
스트리밍 텍스트 응답 (streaming text responses) 및 기본적인 도구 호출 번역 (tool-call translation)을 지원합니다.
-
Go 1.22 이상.
-
유효한 OpenCode Go API 키.
-
설치되어 사용 가능한 Claude Code 또는 Codex CLI.
Homebrew로 설치하기:
brew install emanuelcasco/tap/ocgo
또는 먼저 리포지토리 (repository)를 탭(tap) 하세요:
brew tap emanuelcasco/tap
brew install ocgo
소스에서 빌드하기:
git clone https://github.com/emanuelcasco/ocgo.git
cd ocgo
make install
설정을 실행하고 안내에 따라 OpenCode Go API 키를 붙여넣으세요:
ocgo setup
또는 키를 직접 전달하세요:
ocgo setup --api-key sk-opencode-your-key
설정은 다음 위치에 저장됩니다:
~/.config/ocgo/config.json
환경 변수 (environment variable)를 사용하여 실행 시점에 키를 제공할 수도 있습니다:
export OCGO_API_KEY=sk-opencode-your-key
기본적으로 로컬 프록시는 127.0.0.1:3456에서 리슨 (listens) 합니다.
ocgo list
별칭 (Aliases)도 사용할 수 있습니다:
ocgo ls
ocgo models
로컬 프록시를 통해 Claude Code를 시작합니다:
ocgo launch claude
특정 OpenCode Go 모델을 사용합니다:
ocgo launch claude --model kimi-k2.6
-- 이후의 인자 (arguments)를 Claude Code로 전달합니다:
ocgo launch claude --model kimi-k2.6 -- -p "How does this repository work?"
Claude Code가 권한 프롬프트 (permission prompts)를 건너뛰도록 허용합니다:
ocgo launch claude --yes
ocgo launch claude가
Claude Code를 시작할 때, 다음을 설정합니다:
ANTHROPIC_BASE_URL=http://127.0.0.1:3456
ANTHROPIC_AUTH_TOKEN=unused
--model이
제공되면, 다음도 설정합니다:
ANTHROPIC_MODEL=<model>
ANTHROPIC_SMALL_FAST_MODEL=<model>
Claude Code가 Claude 모델 이름을 요청하거나 모델을 제공하지 않으면, ocgo는
업스트림 (upstream) OpenCode Go 모델의 기본값을 kimi-k2.6으로 설정합니다.
로컬 프록시 (local proxy)를 통해 Codex CLI를 시작합니다:
ocgo launch codex
특정 OpenCode Go 모델을 사용합니다:
ocgo launch codex --model kimi-k2.6
-- 이후의 인자들을 Codex로 전달합니다:
ocgo launch codex --model kimi-k2.6 -- --sandbox workspace-write
Codex를 실행하지 않고 설정합니다:
ocgo launch codex --config
ocgo launch codex가
실행될 때, ~/.codex/config.toml에 다음 프로필을 작성하거나 업데이트합니다:
[profiles.ocgo-launch]
openai_base_url = "http://127.0.0.1:3456/v1/"
forced_login_method = "api"
...
그 다음 다음 명령을 실행합니다:
codex --profile ocgo-launch -m <model>
Codex 프로세스는 OPENAI_API_KEY=ocgo를 받으며, 로컬 프록시가 사용자의 실제 OpenCode Go API 키를 업스트림으로 주입합니다. ocgo는
또한 ~/.codex/ocgo-models.json을 작성하여
Codex가 deepseek-v4-pro와 같은 OpenCode Go 모델 ID에 대한 메타데이터를 가질 수 있도록 합니다.
프록시를 포그라운드 (foreground)에서 실행합니다:
ocgo serve
백그라운드 (background)에서 실행합니다:
ocgo serve --background
# 또는
ocgo serve -b
프록시가 실행 중인지 확인합니다:
ocgo status
백그라운드 프록시를 중지합니다:
ocgo stop
프록시 런타임 파일은 다음 위치에 저장됩니다:
~/.config/ocgo/ocgo.pid
~/.config/ocgo/ocgo.log
저장소를 클론 (clone)하고 프로젝트 디렉토리로 이동합니다:
git clone <repository-url>
cd ocgo-cc
Go 1.22 이상을 설치한 후, 의존성 (dependencies)을 다운로드합니다:
go mod download
바이너리 (binary)를 빌드합니다:
make build
바이너리는 다음 위치에 작성됩니다:
bin/ocgo
선택적으로 ~/go/bin에 설치합니다:
make install
설치 위치가 PATH에 포함되어 있는지 확인하십시오:
export PATH="$HOME/go/bin:$PATH"
로컬 테스트를 위해 OpenCode Go API 키를 설정합니다:
bin/ocgo setup
# 또는, 설치된 경우:
ocgo setup
빌드 없이 CLI를 실행합니다:
make run
테스트를 실행합니다:
make test
빌드된 바이너리를 제거합니다:
make clean
이 프로젝트는 순수 Bash 릴리스 스크립트를 포함하고 있어, GoReleaser가 필요하지 않습니다. GitHub CLI를 사용하여 GitHub 릴리스를 생성하고 Homebrew tap formula를 업데이트합니다.
요구 사항:
brew install gh
gh auth login
새 버전을 릴리스합니다:
make release TAG=v0.1.0
기본적으로 릴리스는 emanuelcasco/ocgo에 게시되며,
Homebrew formula는 emanuelcasco/homebrew-tap으로 푸시됩니다.
GITHUB_REPOSITORY=owner/repo 및 HOMEBREW_TAP_REPO=owner/homebrew-tap을 사용하여 이를 재정의할 수 있습니다.
스크립트는 macOS/Linux amd64 및 arm64 아카이브를 빌드하고, 이를 GitHub Releases에 업로드하며, Formula/ocgo.rb를 tap 저장소에 커밋합니다.
ocgo는 Claude Code 및 Codex CLI에서 사용되는 로컬 호환 API를 노출합니다:
GET /health
POST /v1/messages
POST /v1/messages/count_tokens
POST /v1/chat/completions
POST /v1/responses
/v1/messages로 전송된 요청은 Anthropic Messages 형식을 OpenAI 호환 chat completion 요청으로 변환합니다.
/v1/chat/completions로 전송된 요청은 ocgo가 설정된 OpenCode Go API 키를 주입하는 동안 OpenAI 호환 chat completion 요청으로 그대로 전달됩니다.
/v1/responses로 전송된 요청은 Codex CLI를 위한 경량 OpenAI Responses API 어댑터를 사용합니다. 이 어댑터는 일반적인 Responses 입력, 도구 정의(tool definitions), 스트리밍 텍스트 이벤트를 chat completions 형식으로 상호 변환합니다.
모든 업스트림(upstream) 요청은 다음으로 전달됩니다:
Claude Code 응답은 Anthropic 호환 응답으로 다시 변환됩니다. Codex 응답은 요청된 엔드포인트에 따라 OpenAI 호환 Chat Completions 또는 Responses API 형태로 반환됩니다.
ocgo는 의도적으로 경량화되었습니다. 토큰 카운팅(Token counting)은 현재 0을 반환합니다.
, 그리고 Anthropic/OpenAI 호환성은 전체 API의 동등성(parity)보다는 Claude Code 및 Codex CLI에서 필요로 하는 요청(request) 및 응답(response) 형태에 집중되어 있습니다. /v1/responses 어댑터는 최소한으로 구성되어 있으며 Codex에서 사용되는 text/tool 워크플로우를 대상으로 합니다. 이는 완전한 OpenAI Responses API 구현체는 아닙니다.
MIT. LICENSE를 참조하십시오.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Claude Ecosystem의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기