silasxbt/anti-api
Turn Antigravity / codex / github copilot into Anthropic & Openai API compatible server. Usable with Claude Code / Xcode etc.
Anti‑API – LLM 제공업체를 위한 로컬 호환성 및 라우팅 프록시
무엇인가요 – Anti‑API는 코드(또는 OpenAI/Anthropic 호환 클라이언트)와 여러 대규모 언어 모델 제공업체 사이에 위치하는 자체 호스팅 서비스입니다. 표준 OpenAI/Anthropic 요청 형식을 6개 지원되는 백엔드의 네이티브 API(OpenAI 스타일 Antigravity, OpenAI Codex, GitHub Copilot, Zed 호스팅 모델, Amazon Kiro, xAI Grok)로 변환하고, 사용자 정의 정책에 따라 각 요청을 라우팅합니다.
왜 중요한가요 – 많은 개발자들이 애플리케이션에서 OpenAI API 형식을 사용하지만, 여러 유료 계정이나 대체 제공업체에 접근할 수 있습니다. Anti‑API를 통해 다음과 같은 기능을 얻을 수 있습니다:
- 모든 계정을 단일 엔드포인트(
http://localhost:8964) 뒤에 통합. - 부하 분산, 할당량 제한 준수, 제공업체가 429/404 에러를 반환할 경우 자동으로 다른 계정으로 전환.
- 인증 정보나 관리 UI를 노출하지 않고 원격 클라이언트를 위한 토큰 기반 공개 추론 게이트웨이(
포트 8966)를 노출. - 모든 제공업체에서 텍스트 전용, 멀티모달(이미지), 도구 호출 요청에 동일한 클라이언트 코드 사용 가능.
주요 기능(README에 기술됨)
- 6개 제공업체 – Antigravity, ChatGPT Codex, GitHub Copilot, Zed 호스팅 모델, Amazon Kiro, xAI Grok.
- 이중 API 호환성 – OpenAI 스타일과 Anthropic 스타일의 요청 본문 둘 다 수용.
- 스마트 라우팅 – 두 가지 라우팅 모드:
- 플로우 라우팅 – 사용자 정의 모델 식별자가 사용자 정의 "플로우"에 매핑.
- 계정 라우팅 – 제공업체 고유 모델 ID가 특정 계정으로 디스패치되며, 할당량 또는 오류 상태에서 스티키 커서 회전 적용.
- 멀티모달 안전성 – 이미지 URL이나 base-64 이미지 블록을 타겟 제공업체로 전달하기 전에 검증 및 변환.
- OAuth 및 PKCE 처리 – Copilot용 장치 코드 흐름, Antigravity/Codex용 보안 PKCE 흐름 내장. 루프백 콜백 및 제한된 네트워크용 선택적 비안전 TLS 오버라이드 지원.
- 대시보드 – 로컬 웹 UI(루프백 전용)로 할당량 사용량, 라우팅 설정, 계정 진단 정보 표시.
- 원격 터널링 – ngrok/cloudflared/localtunnel의 1클릭 설정으로 추론 전용 리스너 공개 가능.
- Docker 및 패키지 매니저 지원 – 사전 빌드된 멀티아키텍처 Docker 이미지, Homebrew, WinGet, 포터블 Windows 번들 지원.
- 보안 경계 – 관리 API 및 대시보드는
127.0.0.1에 바인딩; 공개 추론 리스너는 비밀 토큰(ANTI_API_PUBLIC_TOKEN) 필요. 자격 증명 파일은~/.anti-api에 로컬에 저장되며 로그에 기록되지 않음.
빠른 시작(요약)
- Linux/macOS –
bun install && bun run src/main.ts start(기본 포트 8964). - Windows –
start.bat를 더블클릭하거나 설치된anti-api명령어 실행. - Docker –
ghcr.io/silasxbt/anti-api:latest를 다운로드하고 제어 플레인 토큰으로 실행, 예시:
export ANTI_API_CONTROL_TOKEN=$(openssl rand -hex 32)
docker run -d \
-p 127.0.0.1:8964:8964 \
-e ANTI_API_CONTAINER_CONTROL_PLANE=1 \
-e ANTI_API_CONTROL_TOKEN=$ANTI_API_CONTROL_TOKEN \
-v anti-api-data:/app/data \
ghcr.io/silasxbt/anti-api:latest
http://localhost:8964/quota?control_token=<your-token>을 열어 원하는 제공업체의 OAuth 로그인을 부트스트랩한 후, 클라이언트를http://localhost:8964로 연결.
아키텍처 스냅샷
Anti‑API (포트 8964) ──► 대시보드 / 설정 / 라우팅 UI (루프백 전용)
│
├─► 스마트 라우팅 엔진
│ • 플로우 라우팅 (사용자 정의 ID)
│ • 계정 라우팅 (제공업체 고유 ID)
│ • 쿨다운 인식 페일오버 및 스티키 회전
│
└─► 제공업체 어댑터
├─ Antigravity (OpenAI 스타일)
├─ Codex
├─ GitHub Copilot (장치 코드 흐름)
├─ Zed 호스팅 모델
├─ Amazon Kiro
└─ xAI Grok
상류 호출은 각각의 클라우드 API(Google, OpenAI, GitHub, Zed 등)로 전달됩니다. 별도의 공개 리스너는 포트 8966에서 ANTI_API_PUBLIC_TOKEN이 설정된 경우 추론 전용 요청을 처리합니다.
누가 사용할 수 있을까
- 여러 유료 LLM 계정을 보유하고 단일 일관된 엔드포인트를 원하는 팀.
- OpenAI/Anthropic API 형식을 기대하는 오픈소스 도구를 개발하고 있지만, 로컬에서 대체 백엔드를 사용하고 싶은 개발자.
- 자격 증명 파일을 노출하지 않고 LLM 게이트웨이를 공개하고 싶은 자체 호스팅 서비스.
제한 사항 / 주의사항
- 이 프로젝트는 비공식입니다. 일부 제공업체가 사내 엔드포인트를 변경하면 작동이 중단될 수 있습니다.
- 원격 추론은 토큰 기반으로 보호됩니다. 강력한 토큰 없이 공개 리스너를 노출하는 것은 보안상 위험합니다.
- 특정 제공업체(예: Antigravity)는 주기적인 클라이언트 버전 갱신이 필요합니다. 이 체크를 비활성화하면 호환성 문제가 발생할 수 있습니다.
- 멀티모달 변환은 각 하류 제공업체가 지원하는 이미지 형식에 한정됩니다.
- 위의 모든 정보는 리포지토리의 README에서 직접 가져왔으며, 추가 기능은 추측되지 않았습니다.*
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트