본문으로 이동
프로바이더 설정

문서 탐색

시작하기How-to

프로바이더 설정

4개 명시적 프로바이더 경로, 키와 동작 설정의 위치, 실효 모델 결정 순서.

GEODE는 Anthropic, OpenAI(ChatGPT 구독 OAuth 레인 포함), OpenRouter, GLM 네 프로바이더 경로를 명시적으로 라우팅합니다. 이 페이지는 키와 설정이 어디에 저장되는지, 모델이 어떤 순서로 결정되는지, 막혔을 때 어떻게 디버깅하는지 다룹니다.

4개 명시적 프로바이더 경로

모델 id의 접두사가 프로바이더를 결정합니다. 라우팅 SoT는 배포 매니페스트 core/config/routing.toml이고,~/.geode/routing.toml이 섹션 단위로 덮어씁니다.

프로바이더기본 모델라우팅 규칙인증 레인
Anthropicclaude-opus-5-5 (보조 claude-sonnet-5-5, 저비용 claude-haiku-5-5)claude- 접두사ANTHROPIC_API_KEY
OpenAI / Codexgpt-6-sol (gpt-6.1-sol 선택 가능, 구독은 계정별 순차 제공)gpt-, o3-, o4- 접두사. -codex 접미사는 기존 provider 별칭으로 해석하며, 실제 API 키 또는 구독 경로는 선택한 자격 소스를 따릅니다. 모델별 지원·퇴역은 소스마다 다르고, 카탈로그 등록은 계정 접근 증거가 아닙니다.ChatGPT 구독 OAuth(~/.codex/auth.json) 또는 OPENAI_API_KEY
OpenRouterrouting.toml 기본값 없음. openrouter/openrouter/free, openrouter/openrouter/auto 또는 정확한 catalogue id를 직접 고릅니다.openrouter/<publisher>/<model>. 외부 namespace 하나를 제거해 OpenRouter에 전달OPENROUTER_API_KEY. 크레딧 기반 PAYG이며 direct provider와 동치 폴백하지 않습니다.
GLM (ZhipuAI)glm-5.3 (무료 티어 glm-4.7-flash)glm- 접두사ZAI_API_KEY. PAYG API 경로입니다. 현재 Coding Plan 정책에서 GEODE 사용 자격은 확인되지 않아 구독 실행을 차단합니다.

(프로바이더, 자격 소스) 조합마다 어댑터가 하나씩 등록됩니다 (core/llm/adapters/). geode adapters list로 현재 등록 상태, API transport, billing, 자격 환경을 확인할 수 있습니다.

OpenRouter는 OpenAI의 별칭이 아니라 별도 inference router입니다. /login add로 키를 등록하고 /model openrouter/anthropic/claude-sonnet-4처럼 정확한 참조를 선택합니다. 응답의 usage.cost가 예산·사용량 기록의 권위이고, 반환 모델·선택 provider·routing attempt는 bounded LLM-call event에 남습니다. free/auto는 동적 경로이므로 고정 모델 공식 평가에 사용하지 않습니다.

활성 모델과 별칭, 문맥·출력 한도, API 요율은 2026-09-24 공급자 조사와 2026-10-14 갱신에서 원문 출처와 함께 확인할 수 있습니다. API 달러 요율과 Codex·Coding Plan의 크레딧은 별개이며, 카탈로그 갱신이 실제 계정 수락이나 청구 검증을 뜻하지 않습니다.

소스별 모델 지원 종료

2026-10-14 확인: Codex의 ChatGPT 로그인 경로에서gpt-5.5는 10월 14일, gpt-5.3-codex-spark는 9월 14일, gpt-5.4·gpt-5.4-mini는 8월 31일 지원이 끝났고 gpt-5.2·gpt-5.3-codex는 폐기되었습니다. 이 경로의 선택·요청은 자격 증명 확인과 네트워크 요청 전에 차단하고 대체 모델(gpt-5.5는 gpt-6-sol, Free·Go 요금제는 gpt-6-luna)을 안내하지만 저장된 선택을 바꾸지 않습니다. 유효한 API 사용과 과거 요금·평가 기록은 보존합니다. API에서 폐기 예정인 gpt-5.3-codex·gpt-5.4-nano(2027-04-01 종료, 공식 API 폐기 안내)는 종료일을 표시한 채 선택할 수 있습니다. 근거는 공식 Codex 모델 안내입니다.

Anthropic 공식 API에서도 지원이 끝난 Opus 4.1·Opus 4·Sonnet 4와 이전 세대를 네트워크 요청 전에 거절합니다. 현재 지원되는 4.5 이상 모델은 유지하며, 이 퇴역 일정을 OpenRouter 등 다른 운영사의 경로에 일괄 적용하지 않으며 실제 클라이언트의 endpoint를 확인합니다. Sonnet 4.5는 폐기 예정(2026-11-30 종료)이라 종료일을 표시한 채 선택할 수 있습니다. 공식 모델 수명주기를 2026-10-14에 확인했으며, 계정별 실제 접근 권한은 별도 검증 대상입니다.

키와 설정이 사는 곳

모델, effort, 로그인 소스 선택이 어느 config.toml에 저장되는지는 설정 기초에 있습니다.

파일역할
~/.geode/.env선택 사항인 시크릿 전용 평문 파일(0600). 키를 환경 변수로 둘 때 씁니다: ANTHROPIC_API_KEY, OPENAI_API_KEY, OPENROUTER_API_KEY, ZAI_API_KEY. 전역 파일이 권위를 가지며, 프로젝트 .env는 빠진 값만 채우고 신뢰한 폴더에서만 읽습니다.
~/.geode/auth.tomlPlan/Profile 메타데이터와 GEODE가 관리하는 자격증명 평문 파일(0600). geode setup, /login add, /key로 등록한 API 키가 여기 저장됩니다. 외부 CLI가 관리하는 자격증명은 복제하지 않습니다. 인증과 OAuth 참고.
~/.geode/routing.toml라우팅 매니페스트 덮어쓰기. 폴백 체인 옵트인도 여기서 합니다.

이 두 비밀 파일은 Git에서 제외되고 읽기·쓰기 때 소유자 전용 권한을 강제하지만 OS Keychain은 아닙니다. 같은 사용자 권한으로 실행되는 프로세스까지 격리하지는 못하므로 공유·비신뢰 호스트에서는 환경 주입 또는 전용 secret manager를 사용합니다. Google Workspace OAuth의 OS keyring 저장소는 이 LLM API-key 경로와 별개입니다.

실행 중 세션과 새 세션의 기본값

저장한 모델·effort·인증 설정은 새 세션의 기본값입니다. 실행 중인 세션은 승인된 모델·effort·API/구독 소스를 보존합니다. 연결된 CLI의 /login source는 해당 세션의 적용 응답을 받은 뒤 기본값을 저장하며, 연결되지 않은 명령은 새 세션의 기본값만 바꿉니다.

런타임 manage_login source 도구는 같은 검증을 거쳐 전체 도구 묶음 이후 해당 세션의 주·보조 모델 소스만 바꾸며 effort와 저장된 기본값을 보존합니다. 명시적 로그인 소스와 forced_login_method가 충돌하면 거절합니다. 모델별 plan 순서와 계정 선택은 SDK 요청에도 적용됩니다. 선택한 소스의 계정을 사용할 수 없어도 다른 과금 소스로 자동 전환하지 않습니다./login use와 /login route는 같은 소스 안에서 다음 요청의 계정을 바꿀 수 있으며, 실행 중 세션의 소스를 바꾸지는 않습니다.

모델 결정 순서

모델도 다른 설정과 같은 레이어 순서로 결정됩니다. 순서와 신뢰한 폴더에서만 적용되는 프로젝트 파일은 설정 기초에 있습니다.

데몬은 시작할 때 모델 계열 env 키를 의도적으로 버리므로 (BEHAVIOR_ENV_KEYS, core/config/env_io.py), 새 세션은 유효한 설정에서 시작합니다. 기존 세션은 승인된 선택을 유지합니다. 셸에서 직접 export한GEODE_MODEL은 그 세션 한정의 파워유저 오버라이드입니다.

디버깅 플로우: geode config explain

"설정을 바꿨는데 안 먹힌다"의 표준 진단은geode config explain model입니다. 레이어별 후보 값과 파일 경로를 표로 보여주고, 이기는 레이어 하나에 WINNER, 가려진 레이어에 masked를 표시합니다.

geode config explain model    # 어느 레이어가 이기는지
geode about                   # 실효(EFFECTIVE) 모델 + 프로바이더

geode about은 실제로 적용 중인 값을 보여주는 화면입니다. env 레이어가 toml의 선택을 가리고 있으면 경고 한 줄을 먼저 띄웁니다. 전환 검증은 항상 실효 설정을 보여 주는 geode about을 기준으로 합니다.

폴백 정책: 기본은 비어 있음

routing.toml의 [model.fallbacks]는 기본 출하 상태가 전부 빈 목록입니다. 기본 모델이 실패하면 GEODE는 조용히 다른 모델로 바꾸지 않고 즉시 실패를 올립니다 (core/llm/errors.py의 fast-fail 단락). 사용자가/model로 직접 고르는 것이 의도된 복구 경로입니다. 폴백 체인이 필요하면 ~/.geode/routing.toml에서 옵트인합니다.

재시도 경계

llm_max_retries는 최초 호출을 포함한 모델별 총 시도 횟수입니다(기본 3). 메인 에이전트 루프, 보조 호출, scaffold-search mutator가 같은 설정을 사용하지만 각 논리 호출은 별도 예산을 가집니다. SDK 자체 재시도는 0으로 두어 두 계층의 횟수가 곱해지지 않게 합니다.

연결 실패, timeout, 408/409, 일시적 429, 5xx만 jitter backoff로 재시도합니다. retry-after-ms와 숫자/HTTP-date 형식의Retry-After를 존중하되 60초를 넘는 대기는 즉시 사용자에게 돌려줍니다. 인증·잘못된 요청·결제 소진과 이미 출력이 보인 stream 중단은 재호출하지 않습니다.

이 호출 예산은 도구 재실행 권한이 아닙니다. 로컬 부작용은 durable effect receipt로 완료 여부를 확인하고, MCP 재접속은 서버가readOnlyHint 또는 idempotentHint를 선언한 도구만 재호출합니다. scaffold-search의 --mc는 반복적/무효 후보의 의미적 재제안 횟수이며 네트워크 재시도가 아닙니다.

실패 모드

증상원인해법
모델을 바꿨는데 그대로상위 레이어(보통 옛 .env 줄 또는 셸 export)가 가림geode config explain model로 WINNER 레이어를 찾아 그 줄을 고치거나 지웁니다.
데몬만 옛 모델로 응답데몬 환경에 모델 env가 박제됨데몬은 시작 시 모델 계열 env 키를 버리는 것이 기본입니다. geode stop으로 해당 데몬을 종료한 뒤 geode serve로 시작합니다. 데몬 모델을 env로 일부러 고정하려면 GEODE_SERVE_KEEP_MODEL_ENV=1을 설정합니다.
GLM Coding Plan 실행 차단공식 지원 도구로 사용 범위 제한기존 구독 프로필은 보존합니다. API를 쓰려면 PAYG 소스를 명시적으로 선택합니다. GEODE는 과금 소스를 자동 전환하지 않습니다.
저장된 구독 모델을 선택할 수 없음해당 소스에서 지원이 종료되었거나 폐기됨현재 지원되는 모델을 명시적으로 다시 선택합니다. GEODE는 다른 모델이나 PAYG로 자동 전환하지 않습니다. API 지원과 구독 지원은 별개입니다.

설정 레퍼런스