프로젝트 소개
AI Switch는 여러 AI 코딩 도구에서 릴레이 또는 다중 벤더 API 키를 관리하는 사람들을 위한 “로컬 AI API 키 허브”로 스스로를 소개합니다. 이 도구의 목적은 키를 한 번만 변경하면 모든 설치된 도구에 전파되고, 깨진 키가 전체 스택을 다운시키지 않도록 하는 것입니다. AI Switch는 채팅 클라이언트가 아닌 관리/탐색/푸시 유틸리티로 자리매김합니다.
기능:
- 키 저장소: 검색, 태그, 일괄 활성화/비활성화/삭제, 일괄 가져오기, “MetaAPI” 병합 및 중복 제거 기능을 갖춘 다중 벤더 키 테이블. 이를 통해 키는 여러 구성 파일에서 수동으로 편집되는 대신 한 곳에 저장됩니다.
- 상태 및 엔드포인트 검사: 모델 수준 엔드포인트 감지(Chat, Responses, Messages, Gemini)를 포함한 예약된 상태 모니터링, 벤더별 및 모델별 조치를 갖춘 벤더 그룹별 품질 검사, 읽기 쉬운 오류, 적응형 검사 간격, 선택적 자동 비활성화 및 기본/백업 페일오버, 죽은 키 보관소.
- 안전한 동기화: 최근 상태 및 엔드포인트 검사에서 성공한 모델만 백엔드로 푸시됩니다. 쓰기 전에 동기화 미리보기가 표시되며, 설치되지 않은 도구에는 작성되지 않습니다.
README에는 품질 검사가 모델당 네 개의 짧은 요청을 보내며 제공자 할당량을 소모할 수 있고, 엔드포인트 지원은 모델별로 감지된다고 언급되어 있습니다. 자동 모드는 검증된 엔드포인트를 사용하고, 수동 모드는 감지된 형식 중에서 선택할 수 있습니다.
지원되는 백엔드:
OpenClaw(openclaw.json, 인증 프로필, 모델), OpenCode(auth.json, opencode.jsonc), Claude Code(settings.json, ~/.claude.json), Codex CLI(auth.json, config.toml 및 Responses 상태), Cline/Aider/Continue.dev(IDE 및 CLI 구성), Hermes Agent, QwenCode, Kimi Code 및 TRAE Work. docs/backends.md에 문서화되어 있습니다. 백엔드 페이지는 각 도구를 설치되지 않음, 중지됨(동기화 가능) 또는 실행 중으로 보고합니다. 엔드포인트 패밀리에는 openai_chat(OpenAI, DeepSeek, OpenRouter, Groq, Moonshot, Qwen 등), anthropic, gemini 및 openai_responses가 포함됩니다. 기능 목록에는 26개 이상의 내장 제공자와 사용자 정의 OpenAI 호환 엔드포인트, 기여 가이드가 있는 플러그인 백엔드 어댑터도 언급되어 있습니다.
인터페이스 및 기타 기능:
대시보드, 백엔드 동기화 상태, 상태 모니터, 비차단 작업 센터, 밝은/어두운 테마, 영어/간체 중국어/번체 중국어 현지화를 갖춘 웹 UI. 또한 벤더 유형(Public/Relay/Raw key)과 모델 카탈로그 및 체크인에서의 필터링, 보관(숨기기, 상태 검사 제외, 나중에 복원), 체크인 URL, 예산, 암호화된 프로필 내보내기, 진단 패키지, 다운스트림 라우트 및 데스크톱 패키지가 포함되어 있습니다.
설치 및 실행:
- Windows x64, macOS Intel, macOS Apple Silicon, Linux x64용 릴리스 빌드: 압축을 풀고 ai-switch/start.bat/start.sh를 실행한 후 http://127.0.0.1:8787을 엽니다.
- 소스에서: git clone, pip install -r requirements.txt, python3 run.py(Python 3.9+).
- npm/npx 런처: npx github:kingkate2009-droid/ai-switch 또는 전역 설치.
- Docker: docker compose up -d.
문서화된 “3분 루프”는: 벤더 및 키 추가(또는 스마트 가져오기), 상태 검사 통과, 미리보기를 사용하여 백엔드로 푸시, OpenCode/Codex/Claude Code에서 `hi` 보내기입니다.
구성 및 보안:
데이터는 ~/.ai-switch/ai-switch.db에, 사용량은 ~/.ai-switch/usage.json에 저장됩니다. 기본 포트는 8787(AI_SWITCH_PORT)입니다. README에는 키가 ~/.ai-switch/ 아래에만 존재하며 이 디렉토리는 절대 커밋해서는 안 된다고 명시되어 있고, LAN 노출을 위한 설정의 선택적 액세스 토큰이 언급되어 있습니다. 기존 data.json 상태는 한 번 가져오며, 레거시 파일은 롤백을 위해 .legacy 접미사로 유지됩니다. 구성된 포트는 고정되어 있으며, 점유된 경우 명확한 오류와 함께 시작이 종료됩니다. 상태 저장소는 트랜잭션 SQLite입니다.
스택 및 라이선스: Python + Flask, 바닐라 JS, SQLite, 플러그인 어댑터; Apache 2.0. 문서에는 빠른 시작, Codex 연결 문제 해결 페이지, 백엔드 매트릭스 및 어댑터 기여 가이드가 포함되어 있습니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.