본문으로 건너뛰기

© 2026 Molayo

GH Trending릴리즈2026. 05. 15. 12:36

jwadow/kiro-gateway

요약

jwadow/kiro-gateway는 Kiro API를 위한 범용 프록시 게이트웨이로, OpenAI 및 Anthropic과 호환되는 다양한 LLM(Claude 4.5, GLM-5, DeepSeek-V3.2 등)을 통합하여 제공합니다. 이 게이트웨이는 여러 계정 지원, VPN/프록시 기능, 함수 호출, 웹 검색 등 엔터프라이즈급 기능을 갖추고 있어 개발자가 다양한 환경에서 안정적으로 LLM 모델에 접근할 수 있도록 돕습니다. 특히 OpenAI 호환 API와 Anthropic 네이티브 엔드포인트를 모두 지원하며, 재시도 로직 및 스마트 토큰 관리 같은 고급 기능으로 개발 편의성을 극대화했습니다.

핵심 포인트

  • OpenAI 및 Anthropic과 호환되는 통합 LLM 게이트웨이를 제공합니다.
  • Claude 4.5, GLM-5, DeepSeek-V3.2 등 다양한 오픈 MoE 모델을 지원하여 선택의 폭이 넓습니다.
  • 멀티 계정 지원(Failover), VPN/프록시 기능, 함수 호출 등 엔터프라이즈급 안정성과 기능을 제공합니다.
  • OpenAI 호환 API와 Anthropic 네이티브 `/v1/messages` 엔드포인트를 모두 지원하여 범용성이 높습니다.

Kiro API를 위한 프록시 게이트웨이 (Amazon Q Developer / AWS CodeWhisperer)

🇬🇧 English • 🇷🇺 Русский • 🇨🇳 中文 • 🇪🇸 Español • 🇮🇩 Indonesia • 🇧🇷 Português • 🇯🇵 日本語 • 🇰🇷 한국어

Made with ❤️ by @Jwadow

Claude Code, OpenCode, OpenClaw, Claw Code, Codex app, Cursor, Cline, Roo Code, Kilo Code, Obsidian, OpenAI SDK, LangChain, Continue 및 기타 OpenAI 또는 Anthropic 호환 도구에서 Kiro의 Claude 모델을 사용하세요

Models • Features • Quick Start • Configuration • 💖 Sponsor

⚠️ 중요: 모델 가용성은 사용자의 Kiro 티어(free/paid)에 따라 달라집니다. 게이트웨이는 구독에 따라 사용자의 IDE 또는 CLI에서 사용 가능한 모든 모델에 대한 액세스를 제공합니다. 아래 목록은 무료 티어(free tier)에서 일반적으로 사용 가능한 모델을 보여줍니다.

🔒

Claude Opus 4.5는 2026년 1월 17일에 무료 티어에서 제거되었습니다. 유료 티어에서는 사용 가능할 수 있으니 IDE/CLI 모델 목록을 확인하세요.

🚀 Claude Sonnet 4.5 — 균형 잡힌 성능. 코딩, 글쓰기 및 범용 작업에 적합합니다.

Claude Haiku 4.5 — 매우 빠른 속도. 빠른 응답, 간단한 작업 및 채팅에 완벽합니다.

📦 Claude Sonnet 4 — 이전 세대 모델. 대부분의 사용 사례에서 여전히 강력하고 신뢰할 수 있습니다.

📦 Claude 3.7 Sonnet — 레거시(Legacy) 모델. 하위 호환성을 위해 사용 가능합니다.

💤 GLM-5 — 오픈 MoE (Mixture of Experts) 모델 (744B params, 40B active). 복잡한 시스템 엔지니어링 및 장기적 에이전트(agentic) 작업을 위한 고급 모델입니다.

🐋 DeepSeek-V3.2 — 오픈 MoE 모델 (685B params, 37B active). 코딩, 추론 및 일반 작업에 균형 잡힌 성능을 제공합니다.

🧩 MiniMax M2.5 — 오픈 MoE 모델 (230B params, 10B active). 추론 및 작업 처리 능력이 향상된 강화 버전입니다.

🧩 MiniMax M2.1 — 오픈 MoE 모델 (230B params, 10B active). 복잡한 작업, 계획 및 다단계 워크플로우에 적합합니다.

🤖 Qwen3-Coder-Next — 오픈 MoE 모델 (80B params, 3B active). 코딩에 특화되었습니다. 개발 및 대규모 프로젝트에 탁월합니다.

💡

스마트 모델 해상 (Smart Model Resolution): 어떤 모델 이름 형식이든 사용하세요 — claude-sonnet-4-5, claude-sonnet-4.5

, 또는 claude-sonnet-4-5-20250929와 같은 버전이 명시된 이름도 사용하세요.

게이트웨이가 이를 자동으로 정규화 (Normalize) 합니다.

기능설명
🔌 OpenAI 호환 API (OpenAI-compatible API)모든 OpenAI 호환 도구와 작동
🔌 Anthropic 호환 API (Anthropic-compatible API)네이티브 /v1/messages 엔드포인트 지원
🔀 멀티 계정 지원 (Multi-Account Support)여러 계정 간의 지능형 장애 조치 (Failover)
🌐 VPN/프록시 지원 (VPN/Proxy Support)제한된 네트워크를 위한 HTTP/SOCKS5 프록시
🧠 확장된 사고 (Extended Thinking)추론 (Reasoning) 기능은 본 프로젝트의 독점 기능입니다
👁️ 비전 지원 (Vision Support)모델로 이미지 전송
🔍 웹 검색 (Web Search)최신 정보를 위한 웹 검색
🛠️ 도구 호출 (Tool Calling)함수 호출 (Function calling) 지원
💬 전체 메시지 기록 (Full message history)전체 대화 문맥 (Context) 전달
📡 스트리밍 (Streaming)전체 SSE 스트리밍 지원
🔄 재시도 로직 (Retry Logic)오류 발생 시 자동 재시도 (403, 429, 5xx)
📋 확장된 모델 목록 (Extended model list)버전이 명시된 모델 포함
🔐 스마트 토큰 관리 (Smart token management)만료 전 자동 갱신

배포 방법을 선택하세요:

  • 🐍 네이티브 Python (Native Python) - 완전한 제어, 쉬운 디버깅

  • 🐳 Docker - 격리된 환경, 쉬운 배포 → Docker 섹션으로 이동

  • Python 3.10 이상

  • 다음 중 하나:

# 저장소 복제 (Git 필요)
git clone https://github.com/Jwadow/kiro-gateway.git
cd kiro-gateway
...

서버는 http://localhost:8000에서 사용할 수 있습니다.

💡

고급 사용자: 멀티 계정 지원을 찾고 계신가요? 아래의 계정 시스템 (Account System)을 참조하세요.

인증 정보 파일의 경로를 지정하세요:

다음과 호환됩니다:

Kiro IDE (표준) - 개인 계정용
Enterprise - SSO를 사용하는 기업 계정용

KIRO_CREDS_FILE="~/.aws/sso/cache/kiro-auth-token.json"
# 귀하의 프록시 서버를 보호할 비밀번호 (임의의 보안 문자열 생성)
# 게이트웨이에 연결할 때 api_key로 사용하게 됩니다
...

📄 JSON 파일 형식

{
"accessToken": "eyJ...",
"refreshToken": "eyJ...",
...

참고: ~/.aws/sso/cache/ 디렉토리에 두 개의 JSON 파일이 있는 경우
(예: kiro-auth-token.json과 해시 이름으로 된 파일), KIRO_CREDS_FILEkiro-auth-token.json을 사용하세요.

게이트웨이가 다른 파일을 자동으로 로드합니다.

프로젝트 루트에 .env 파일을 생성하세요:

# Required (필수)
REFRESH_TOKEN="your_kiro_refresh_token"
# Password to protect YOUR proxy server (YOUR 프록시 서버를 보호하기 위한 비밀번호 (임의의 보안 문자열을 만드세요))
...

kiro-cli를 사용하거나 AWS SSO (AWS IAM Identity Center)가 포함된 Kiro IDE를 사용하는 경우, 게이트웨이가 적절한 인증을 자동으로 감지하여 사용합니다.

무료 Builder ID 계정과 기업용 계정 모두에서 작동합니다.

KIRO_CREDS_FILE="~/.aws/sso/cache/your-sso-cache-file.json"
# Password to protect YOUR proxy server (YOUR 프록시 서버를 보호하기 위한 비밀번호)
PROXY_API_KEY="my-super-secret-password-123"
...

📄 AWS SSO JSON 파일 형식

AWS SSO 자격 증명 파일(~/.aws/sso/cache/에서 가져옴)에는 다음 내용이 포함되어 있습니다:

{
"accessToken": "eyJ...",
"refreshToken": "eyJ...",
...

참고: AWS SSO (Builder ID 및 기업용 계정) 사용자는 profileArn이 필요하지 않습니다. 게이트웨이는 profileArn 없이도 작동합니다 (만약 지정되더라도 무시됩니다).

🔍 작동 원리

게이트웨이는 자격 증명 파일을 기반으로 인증 유형을 자동으로 감지합니다:

  • Kiro Desktop Auth (기본값): clientIdclientSecret이 없는 경우 사용됩니다.

    • 엔드포인트 (Endpoint): https://prod.{region}.auth.desktop.kiro.dev/refreshToken
  • AWS SSO (OIDC): clientIdclientSecret이 있는 경우 사용됩니다.

    • 엔드포인트 (Endpoint): https://oidc.{region}.amazonaws.com/token

추가 설정은 필요하지 않습니다. 자격 증명 파일을 지정하기만 하면 됩니다!

kiro-cli를 사용하고 해당 도구의 SQLite 데이터베이스를 직접 사용하는 것을 선호하는 경우:

KIRO_CLI_DB_FILE="~/.local/share/kiro-cli/data.sqlite3"
# Password to protect YOUR proxy server (YOUR 프록시 서버를 보호하기 위한 비밀번호)
PROXY_API_KEY="my-super-secret-password-123"
...

📄 데이터베이스 위치

CLI ToolDatabase Path
kiro-cli~/.local/share/kiro-cli/data.sqlite3
amazon-q-developer-cli~/.local/share/amazon-q/data.sqlite3

게이트웨이는 다음을 저장하는 auth_kv 테이블에서 자격 증명을 읽습니다:

kirocli:odic:token 또는 codewhisperer:odic:token

— access token, refresh token, expiration
kirocli:odic:device-registration

또는
codewhisperer:odic:device-registration

— client ID and secret

다양한 kiro-cli 버전과의 호환성을 위해 두 가지 키 형식이 모두 지원됩니다.

Kiro IDE 사용자:

  • Kiro IDE에 로그인한 후 위의 옵션 1(JSON 자격 증명 파일)을 사용하세요.
  • 자격 증명 파일은 로그인 후 자동으로 생성됩니다.

Kiro CLI 사용자:

  • kiro-cli login 명령어로 로그인한 후 위의 옵션 3 또는 옵션 4를 사용하세요 - 수동으로 토큰을 추출할 필요가 없습니다!

🔧 고급: 수동 토큰 추출

리프레시 토큰 (refresh token)을 수동으로 추출해야 하는 경우(예: 디버깅 용도), Kiro IDE의 트래픽을 가로챌 수 있습니다:

  • 다음 요청을 찾으세요:
    prod.us-east-1.auth.desktop.kiro.dev/refreshToken

Account System은 자동 장애 조치 (failover)를 통해 여러 Kiro 계정을 관리하는 방법입니다. 향후 이 시스템은 자격 증명 설정을 위한 .env 파일을 대체할 예정이지만, 현재는 선택 사항이며 여러 계정을 사용하고자 하는 사용자를 위해 마련되었습니다.

여러 개의 Kiro 계정을 가지고 있는 경우, 계정을 일시적으로 사용할 수 없을 때 게이트웨이가 계정 간에 자동으로 전환할 수 있습니다.

이 시스템은 단일 계정에서도 작동합니다 — 단지 전환 기능이 작동하지 않을 뿐입니다.

.env 파일에 다음을 추가하세요:

ACCOUNT_SYSTEM=true

동작 방식:

  • 첫 실행 시, .env에 있는 자격 증명이 credentials.json으로 자동 마이그레이션됩니다 (1회성) - 그 이후에는 .env의 모든 계정 및 리전 (region) 설정이 무시됩니다 - 계정 관리는 오직 credentials.json을 통해서만 이루어집니다.

📄 설정 예시

단일 계정:

[
{
"type": "json",
...

여러 계정:

[
{
"type": "json",
...

파일이 포함된 폴더:

[
{
"type": "json",
...

게이트웨이는 폴더 내의 모든 파일을 스캔하여 각각 별도의 계정으로 추가합니다.

하나의 계정이 오류(429 rate limit, 402 quota exceeded)를 반환하면, 게이트웨이는 목록에서 다음 계정을 자동으로 시도합니다. 만약 특정 계정이 연속으로 여러 번 실패하면, 게이트웨이는 해당 계정의 사용을 일시적으로 중단하고 주기적으로 복구 여부를 확인합니다.

단일 계정의 경우, 페일오버 (failover)가 작동하지 않으며 Kiro API로부터 원래의 오류를 받게 됩니다.

전체 설정 예시(계정별 지역 설정 포함)는 credentials.json.example을 참조하세요.

Docker 기반 배포. 네이티브 Python을 선호하시나요? 위의 Quick Start를 참조하세요.

# 1. Clone 및 설정
git clone https://github.com/Jwadow/kiro-gateway.git
cd kiro-gateway
...

🔹 환경 변수 (Environment Variables) 사용

docker run -d \
-p 8000:8000 \
-e PROXY_API_KEY="my-super-secret-password-123" \
...

🔹 자격 증명 파일 (Credentials File) 사용

Linux/macOS:

docker run -d \
-p 8000:8000 \
-v ~/.aws/sso/cache:/home/kiro/.aws/sso/cache:ro \
...

Windows (PowerShell):

docker run -d `
-p 8000:8000 `
-v ${HOME}/.aws/sso/cache:/home/kiro/.aws/sso/cache:ro `
...

🔹 .env 파일 사용

docker run -d -p 8000:8000 --env-file .env --name kiro-gateway ghcr.io/jwadow/kiro-gateway:latest

docker-compose.yml을 편집하고, 사용 중인 OS에 맞는 볼륨 마운트 (volume mounts)의 주석을 해제하세요:

volumes:
# Kiro IDE 자격 증명 (OS 선택)
- ~/.aws/sso/cache:/home/kiro/.aws/sso/cache:ro # Linux/macOS
...
docker-compose logs -f # 로그 보기
docker-compose restart # 재시작
docker-compose down # 중지
...

🔧 소스에서 빌드 (Building from Source)

docker build -t kiro-gateway .
docker run -d -p 8000:8000 --env-file .env kiro-gateway

중국 사용자, 기업 네트워크, 또는 AWS 서비스와의 연결에 문제가 있는 지역의 사용자를 위한 안내입니다.

게이트웨이는 모든 Kiro API 요청을 VPN 또는 프록시 (proxy) 서버를 통해 라우팅하는 것을 지원합니다. 이는 AWS 엔드포인트(endpoints)로의 연결 문제를 겪거나 기업용 프록시를 사용해야 하는 경우 필수적입니다.

.env 파일에 다음을 추가하세요:

# HTTP 프록시
VPN_PROXY_URL=http://127.0.0.1:7890
# SOCKS5 프록시
...

  • HTTP— 표준 프록시 프로토콜 (Standard proxy protocol) - ✅
    HTTPS— 보안 프록시 연결 (Secure proxy connections) - ✅
    SOCKS5— 고급 프록시 프로토콜 (Advanced proxy protocol) (VPN 소프트웨어에서 흔히 사용됨) - ✅
    Authentication— URL에 포함된 사용자 이름/비밀번호 (Username/password embedded in URL)
상황해결책
AWS 연결 시간 초과 (Connection timeouts)VPN/프록시를 사용하여 트래픽 라우팅
...
대부분의 VPN 클라이언트는 사용할 수 있는 로컬 프록시 서버를 제공합니다:

Sing-box— HTTP/SOCKS5 프록시를 지원하는 현대적인 VPN 클라이언트
Clash— 일반적으로 http://127.0.0.1:7890에서 실행됨

V2Ray— 설정 가능한 SOCKS5/HTTP 프록시
Shadowsocks— SOCKS5 프록시 지원
Corporate VPN— 프록시 설정에 대해 IT 부서에 문의

프록시 지원이 필요하지 않은 경우 VPN_PROXY_URL을 비워 두세요 (기본값).

엔드포인트 (Endpoint)메서드 (Method)설명
/GET상태 확인 (Health check)
/healthGET상세 상태 확인 (Detailed health check)
/v1/modelsGET사용 가능한 모델 목록 (List available models)
/v1/chat/completionsPOSTOpenAI Chat Completions API
/v1/messagesPOSTAnthropic Messages API

🔹 간단한 cURL 요청 (Simple cURL Request)

curl http://localhost:8000/v1/chat/completions \
-H "Authorization: Bearer my-super-secret-password-123" \
-H "Content-Type: application/json" \
...

참고: my-super-secret-password-123.env 파일에 설정한 PROXY_API_KEY로 교체하세요.

🔹 스트리밍 요청 (Streaming Request)

curl http://localhost:8000/v1/chat/completions \
-H "Authorization: Bearer my-super-secret-password-123" \
-H "Content-Type: application/json" \
...

🛠️ 도구 호출 포함 (With Tool Calling)

curl http://localhost:8000/v1/chat/completions \
-H "Authorization: Bearer my-super-secret-password-123" \
-H "Content-Type: application/json" \
...

🐍 Python OpenAI SDK

from openai import OpenAI
client = OpenAI(
    base_url="http://localhost:8000/v1",
    ...
)

🦜 LangChain

from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
    base_url="http://localhost:8000/v1",
    ...
)

🔹 간단한 cURL 요청 (Simple cURL Request)

curl http://localhost:8000/v1/messages \
-H "x-api-key: my-super-secret-password-123" \
-H "anthropic-version: 2023-06-01" \
...

참고: Anthropic API는 Authorization: Bearer 대신 x-api-key 헤더 (header)를 사용합니다. 두 방식 모두 지원됩니다.

🔹 시스템 프롬프트 포함 (With System Prompt)

curl http://localhost:8000/v1/messages \
-H "x-api-key: my-super-secret-password-123" \
-H "anthropic-version: 2023-06-01" \
...

참고: Anthropic API에서 system은 메시지 (message)가 아닌 별도의 필드 (field)입니다.

📡 스트리밍 (Streaming)

curl http://localhost:8000/v1/messages \
-H "x-api-key: my-super-secret-password-123" \
-H "anthropic-version: 2023-06-01" \
...

🐍 Python Anthropic SDK

import anthropic
client = anthropic.Anthropic(
api_key="my-super-secret-password-123", # .env 파일에 설정한 PROXY_API_KEY
...

디버그 로깅 (Debug logging)은 기본적으로 비활성화 (disabled) 되어 있습니다. 활성화하려면 .env 파일에 다음을 추가하세요:

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub Trending Python (weekly)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0