GEODE가 등록한 API 키와 ChatGPT 로그인 자격은~/.geode/auth.toml에 저장됩니다. 터미널은 키 입력과 로그인 안내를 맡고, core/auth/가 검증과 저장을 맡습니다. 모델은 비밀값 없는 상태를 조회하고 허용된 선택을 요청할 수 있습니다.
저장과 적용
인증 파일 변경은 프로세스 간 잠금 안에서 최신 파일을 다시 읽고 후보를 검증한 뒤 교체합니다. 저장이 성공해야 현재 프로세스에 적용합니다. 다른 프로세스는 /login refresh로 다시 읽습니다. 제거된 파일 소유 항목도 반영하며, 환경 변수와 외부 관리 자격은 각각의 소유권을 유지합니다. 저장 후 현재 프로세스의 적용이 충돌하면 저장 완료와 적용 실패를 구분하여 갱신을 안내합니다.
요청과 토큰
- 세션이 선택한 프로바이더·과금 소스를 유지하면서 실제 요청의 플랜과 자격을 선택합니다. 키 교체가 진행 중인 요청의 자격을 바꾸지는 않습니다.
- 외부 Codex 파일에서 가져온 자격은 그 파일이 소유합니다. 다음 조회·요청에서 교체와 삭제를 반영하며 Codex CLI를 추론에 실행하지 않습니다.
- GEODE의 ChatGPT device-code 로그인은 같은 저장소에서 한 번에 하나만 진행합니다. 실패·취소는 완료로 처리하지 않으며, 저장이 끝나야 로그인 성공을 반환합니다.
- 만료된 GEODE 자격은
/login openai로 다시 로그인합니다. 외부 Codex 자격은 해당 클라이언트에서 갱신합니다. 오래된 GEODEauth.json자동 이관은 제거했으며 파일은 그대로 보존합니다.
상태 표시의 범위
모델 가용성과 시작 준비 상태는 실제 라우팅·정책·자격의 적격성을 확인합니다. 키 문자열의 존재만으로 성공을 표시하지 않습니다. 이 검사는 오프라인 선택 가능성이며 공급자 서버의 키 유효성이나 남은 할당량을 확인하는 네트워크 검사는 아닙니다. 프로파일의 오류·쿨다운 필드는 선택에 반영되지만, 모든 실제 SDK 호출의 성공·실패를 연결하는 자동 건강도 추적은 제공하지 않습니다. 과거 전역 프로파일 추적 코드와 그에 의존한 자동 갱신 주장은 제거했습니다.
저장소 전체 복원이나 외부 효과의 exactly-once 실행을 인증 파일의 원자적 교체만으로 보장하지 않습니다. 복구 후에는 실제 자격 소스와 세션 선택을 함께 확인합니다.