command list
codex-auth는 Codex 계정을 전환하기 위한 명령줄 도구입니다.
설치 (Install)
npm을 사용하여 설치합니다:
npm install -g @loongphy/codex-auth
설치된 명령어:
전역 설치 없이 실행할 수도 있습니다:
npx @loongphy/codex-auth list
codex-auth는 다음 Codex 클라이언트와 함께 작동합니다:
- Codex CLI
- VS Code extension
- Codex App
[!IMPORTANT]
Codex CLI 및 Codex App 사용자는 계정을 전환한 후, 새 계정이 적용되도록 클라이언트를 다시 시작해야 합니다.
재시작 없이 원활하게 자동 계정 전환을 하려면 포크된 codext, 즉 향상된 Codex CLI를 사용하세요.
npm i -g @loongphy/codext로 설치하고 codext를 실행합니다.
Codex App 사용자는 codex-auth app을 사용할 수 있지만, 안정적이지 않습니다. 세부 정보를 참조하세요.
VS Code extension이나 App 위주로 사용하더라도 Codex CLI를 설치하는 것이 계정 추가가 더 쉬워지므로 권장합니다:
npm install -g @openai/codex
그 후, codex-auth login 또는 codex-auth login --device-auth를 사용하여 로그인하고 계정을 더 쉽게 추가할 수 있습니다.
명령어 (Commands)
자세한 명령어 문서는 docs/commands/README.md에 있습니다.
계정 관리 (Account Management)
| 명령어 | 설명 |
|---|
| [`codex-auth list [--live] [--active] [--api | --skip-api]`](./docs/commands/list.md) |
| ... | |
가져오기 및 유지보수 (Import and Maintenance)
| 명령어 | 설명 |
|---|
codex-auth config live --interval <seconds> | 실시간 TUI 새로고침 간격 설정 |
codex-auth completion <bash|zsh|fish|pwsh> | 셸 자동 완성 스크립트 출력 |
셸 자동 완성 (Shell Completion)
Fish 자동 완성을 설치하려면 다음을 사용하세요:
mkdir -p ~/.config/fish/completions
codex-auth completion fish > ~/.config/fish/completions/codex-auth.fish
source ~/.config/fish/completions/codex-auth.fish
Bash 자동 완성을 설치하려면 다음을 사용하세요:
mkdir -p ~/.local/share/bash-completion/completions
codex-auth completion bash > ~/.local/share/bash-completion/completions/codex-auth
Zsh 자동 완성을 설치하려면 (디렉토리는 compinit이 실행되기 전에 fpath에 있어야 합니다):
mkdir -p ~/.zsh/completions
codex-auth completion zsh > ~/.zsh/completions/_codex-auth
echo 'fpath=(~/.zsh/completions $fpath)' >> ~/.zshrc
...
PowerShell 자동 완성을 설치하려면 다음을 사용하세요:
codex-auth completion pwsh >> $PROFILE
PowerShell 5.1 및 7 이상에서는 기본적으로 Tab 키가 후보군을 인라인으로 순환합니다. 메뉴 선택기(menu picker)를 사용하려면 프로필에 Set-PSReadLineKeyHandler -Key Tab -Function MenuComplete를 추가하세요.
빠른 예시 (Quick Examples)
codex-auth list
codex-auth list --active
codex-auth switch
...
Codex 앱 (Codex App)
[!IMPORTANT]
app 명령어는 **실험적(experimental)**이며 안정적인 기능이 아닐 수 있습니다.
이 명령어는 Codex 앱을 재시작하지 않고도 원활하게 계정을 전환할 수 있도록 설계되었습니다. CODEX_CLI_PATH 환경 변수를 활용하여, 인증 처리를 실시간으로 수행하는 관리형 codext CLI를 동적으로 주입합니다.
app 명령어는 공식 Codex 앱과 Codex CLI의 지속적인 변경 사항에 영향을 받습니다. 항상 작동하지 않을 수 있으며, 사용자의 앱을 손상시킬 수도 있습니다.
다음 기능을 포함하여 원활한 계정 전환을 지원합니다:
- 새 채팅 (New Chat)
- 기존 대화 복원 또는 재개
- 이전에 완료되었거나, 중단되었거나, 수동으로 멈춘 대화를 계속 이어가기
제거 (Uninstall)
npm 패키지를 제거합니다:
npm uninstall -g @loongphy/codex-auth
Q&A
사용량 제한이 새로고침되지 않는 이유는 무엇인가요?
기본값은 API 기반 새로고침입니다. --skip-api를 전달하면, codex-auth는 대신 최신 ~/.codex/sessions/**/rollout-*.jsonl 파일을 읽습니다. 최근의 Codex 빌드는 종종 rate_limits: null과 함께 token_count 이벤트를 작성합니다. 로컬 파일에는 여전히 이전 사용 가능 사용량 제한 데이터가 포함되어 있을 수 있지만, 실제로는 몇 시간의 지연이 있을 수 있으므로, 로컬 전용 새로고침은 최신 상태 대신 몇 시간 전의 사용량 제한 스냅샷을 표시할 수 있습니다.
다음 명령으로 API 기반 기본값을 실행합니다:
다음 명령으로 로컬 전용 명령을 실행합니다:
codex-auth list --skip-api
다음 명령으로 확인합니다:
JSON을 이용해 GUI 구축하기
현재 codex-auth 클라이언트 위에 GUI를 구축하는 경우, 지원되는 --json 명령어 변형을 사용하여 기계가 읽을 수 있는 결과를 받으십시오. 지원되는 명령 및 호환성 계약에 대해서는 JSON API 문서를 참조하십시오.
면책 조항 (Disclaimer)
본 프로젝트는 현재 상태 그대로 제공되며 사용은 전적으로 사용자 책임 하에 이루어집니다.
사용량 데이터 새로고침 출처:
codex-auth는 계정 사용량/사용량 제한 정보를 새로고침하기 위해 두 가지 출처를 지원합니다:
- API (기본값): 이 도구는 계정의 액세스 토큰을 사용하여 OpenAI 엔드포인트로 직접 HTTPS 요청을 보냅니다. 이를 통해 사용량 새로고침(usage refresh)과 팀 이름 새로고침(team name refresh) 모두가 가능합니다. 런타임에
curl이 사용 가능해야 합니다.
- 로컬 전용 (Local-only): 명령어별
--skip-api를 사용하면, 이 도구는 로컬 파일인 ~/.codex/sessions/*/rollout-*.jsonl에서 사용 데이터를 스캔하고 팀 이름 새로고침 API 호출을 건너뜁니다. 이 모드는 더 안전하지만, 최근 Codex 롤아웃 파일에 종종 rate_limits: null이 포함되어 있어 최신 로컬 사용 한도 데이터가 몇 시간 지연될 수 있으므로 정확도가 떨어질 수 있습니다.
API 호출 선언 (API Call Declaration):
기본 API 기반 새로고침을 사용함으로써, 이 도구는 사용량 제한(usage limit), 크레딧 초기화(reset-credit), 팀 이름 새로고침을 위해 ChatGPT 액세스 토큰을 OpenAI 서버로 전송합니다. codex-auth reset (또는 list --live에서)를 사용하여 초기 크레딧을 사용하는 것은 추가적으로 소비 요청(consume request)—이 도구가 수행하는 유일한 상태 변경 호출(state-mutating call)—을 보내며, 새로고침 중에는 절대 전송되지 않습니다. 정확한 엔드포인트는 docs/api.md를 참조하십시오.
이러한 동작은 OpenAI에 의해 감지될 수 있으며, 서비스 약관(terms of service)을 위반할 수 있고, 잠재적으로 계정 정지 또는 기타 위험으로 이어질 수 있습니다. 이 기능을 사용할지 여부와 그로 인해 발생하는 모든 결과는 전적으로 사용자 본인의 책임입니다.