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/macOSbun install && bun run src/main.ts start (기본 포트 8964).
  • Windowsstart.bat를 더블클릭하거나 설치된 anti-api 명령어 실행.
  • Dockerghcr.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에서 직접 가져왔으며, 추가 기능은 추측되지 않았습니다.*

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트