← 전체 기능

설치·운영v0.3.0에서 사용 가능

키와 로그인

oah 자체는 키가 필요 없다. Claude Code와 Codex는 각자 로그인하고, 키를 쓰는 선택 기능은 키가 없으면 꺼진 채로 있다. 키는 문서에 적힌 하나의 조회 경로로 환경 변수나 OS 키체인에서 실행할 때만 읽고, oah는 키를 쓰거나 출력하거나 기록하거나 지시문에 넣지 않는다.

필요한 상황

설정 파일이나 프롬프트에 붙여 넣은 키는 커밋, 로그, 스크린숏으로 흘러가고, 새어 나간 키는 1분 뒤에 지워도 이미 노출된 것이다.

동작 방식

  1. 각 도구의 로그인 명령을 쓴다. claude auth login, codex login, 또는 printenv OPENAI_API_KEY | codex login --with-api-key다.
  2. oah는 claude auth status와 codex login status만 실행해 로그인 여부를 읽는다.
  3. 이름이 <NAME>인 키는 환경 변수, OS 키체인(서비스 oah, 계정 <NAME>. macOS는 로그인 키체인, Windows는 대상이 oah:<NAME>인 자격 증명 관리자의 일반 자격 증명) 순서로 찾고, 없으면 그 기능이 unused(no key)를 알린다.
  4. TYPESAFE_API_KEY는 Jev 재정렬기용이고, CONTEXT7_API_KEY와 OPENAI_API_KEY는 툴킷 MCP 서버용이다. v0.3.0에서는 ARTIFICIAL_ANALYSIS_API_KEY가 선택 벤치마크 점수를 더한다.
  5. oah init은 .env, .env.*, *.pem, *.key, .oah/secrets*, .claude/settings.local.json을 .gitignore에 넣는다.

예제

Jev 키를 macOS 키체인에 둔다. 값은 명령이 물어보므로 셸 기록에 남지 않는다.

security add-generic-password -s oah -a TYPESAFE_API_KEY -w

요구 사항

  • oah의 핵심 기능에는 필요 없다. 리스, 패킷, 게이트, 영향 지도, 위키, 리뷰, 반영은 키 없이 모두 동작한다.

한계와 복구

  • Claude Code에 로그인하지 않으면 oah call claude를, Codex에 로그인하지 않으면 oah review와 oah fix를 실행할 수 없다.
  • 키만으로는 Jev 재정렬기가 켜지지 않는다. 직접 켜야 한다.
  • 키가 새어 나갔다면 먼저 발급한 곳에서 키를 바꾸고, 파일과 커밋에서 지운 뒤 정리한 이력을 push하고, 새 키는 환경 변수나 키체인에 둔다.

원문 문서

관련 기능