| name | oauth-ops |
| description | Use when diagnosing, operating, or standardizing Hub LLM OAuth refresh/reimport incidents for Claude Code OAuth, OpenAI Codex OAuth, Gemini OAuth, Gemini CLI OAuth, Gemini Code Assist service, and Groq pool readiness. |
OAuth Ops
์ด ์คํฌ์ Hub LLM OAuth ์ด์ ์ ์ฐจ๋ฅผ ํ์คํํ๋ค. Refresh ์๋ํ ์์ฒด๋ ai.hub.llm-oauth-monitor launchd์ Hub ๋ฐํ์์ด ๋ด๋นํ๋ค. ์คํฌ์ ์ฅ์ ๋์, ์ฌ์ธ์ฆ ํ๋จ, ๋ฆฌํฌํธ ํด์, ์ด์์ ์ก์
์ ๋ฆฌ์๋ง ์ฌ์ฉํ๋ค.
๊ธฐ๋ณธ ์์น
- ์๋ฌธ ํ ํฐ, refresh token, authorization header, client secret, API key๋ฅผ ์ถ๋ ฅํ์ง ์๋๋ค.
ai.hub.llm-oauth-monitor๋ ์ ์งํ๋ค. ์ด job์ 15๋ถ polling๊ณผ refresh/reimport๋ฅผ ๋ด๋นํ๋ค.
llm-oauth4-master-review๋ daily ๋๋ on-demand ๋ฆฌํฌํธ๋ก ์ทจ๊ธํ๋ค. ์ค์๊ฐ refresh ์ฑ
์์ ์ฃผ์ง ์๋๋ค.
- ์ฅ์ ํ๋จ์ Hub selector/provider ์ํ, token-store expiry, live probe, local reimport ๊ฒฐ๊ณผ๋ฅผ ๋ถ๋ฆฌํด์ ๋ณธ๋ค.
- Gemini CLI OAuth๋ ์งง์ ์๋ช
ํ ํฐ ํน์ฑ์ด ์์ผ๋ฏ๋ก live refresh probe์ reimport ๊ฒฐ๊ณผ๋ฅผ ํจ๊ป ํ์ธํ๋ค.
๋น ๋ฅธ ์ ๊ฒ
npm --prefix bots/hub run -s oauth:monitor
npm --prefix bots/hub run -s oauth:runtime-refresh-gate
npm --prefix bots/hub run -s oauth:ops-readiness
Hub control tool๋ก ์กฐํํ ์ ์์ผ๋ฉด ๋จผ์ read-only tool์ ์ด๋ค.
oauth.ops.status: provider๋ณ expiry/healthy ์ํ ์กฐํ
oauth.ops.events: agent.event_lake์ hub_oauth_monitor ํ์ค ์ด๋ฒคํธ ์กฐํ
oauth.ops.lock_janitor_plan: OAuth refresh lock dry-run janitor ๊ณํ ์กฐํ
์ฅ์ ๋์ ๊ธฐ์ค
healthy=false: provider ์ธ์ฆ ์์ฒด๊ฐ ๊นจ์ง ์ํ๋ค. refresh/reimport ๊ฒฐ๊ณผ์ error๋ฅผ ํ์ธํ๊ณ ๋ธ๋ผ์ฐ์ ์ฌ์ธ์ฆ ๋๋ CLI login์ ์งํํ๋ค.
needs_refresh=true: ๋ง๋ฃ ์๋ฐ์ด๋ค. monitor๊ฐ refresh/reimport๋ฅผ ์๋ํ๋์ง ๋จผ์ ๋ณธ๋ค.
refresh_ok=true: Hub token-store refresh๋ ์ฑ๊ณตํ๋ค. local sync ์คํจ ์ฌ๋ถ๋ง ๋ณ๋๋ก ๋ณธ๋ค.
reimport_ok=true ๋๋ post_probe_reimport_ok=true: ๋ก์ปฌ credential์ token-store์ ์ฌ๋ฐ์ํ๋ค.
live_probe_ok=false: token-store๊ฐ ์์ด๋ ์ค์ ํธ์ถ ๊ฒฝ๋ก๊ฐ ์คํจํ๋ค. provider cooldown, ๊ถํ, ๋คํธ์ํฌ, CLI ์ํ๋ฅผ ๋ถ๋ฆฌํด์ ๋ณธ๋ค.
lock_timeout: refresh lock์ด ์ค๋ ๋จ์ ์ํ์ผ ์ ์๋ค. oauth.ops.lock_janitor_plan ํ ํ์ ์ ๋ณ๋ ์น์ธ์ผ๋ก janitor apply๋ฅผ ์งํํ๋ค.
Provider๋ณ ์ฌ์ธ์ฆ ๋ฉ๋ชจ
- Claude Code OAuth: Claude CLI login/keychain ์ํ์ Hub token-store๋ฅผ ๋ถ๋ฆฌํด์ ๋ณธ๋ค. Sonnet quota ์ด์์ OAuth ๋ง๋ฃ ์ด์๋ฅผ ํผ๋ํ์ง ์๋๋ค.
- OpenAI Codex OAuth: Codex local auth์ Hub token-store sync๋ฅผ ํ์ธํ๋ค. OpenAI public API key๋ ์ต์
์ด๋ฉฐ ๊ธฐ๋ณธ ๊ฒฝ๋ก๊ฐ ์๋๋ค.
- Gemini CLI OAuth: CLI๊ฐ live refresh๋ฅผ ์ํํ ์ ์์ผ๋ฉด ๋ง๋ฃ ์๋ฐ local token์ด์ด๋ ์ฆ์ ์ฅ์ ๋ก ๋ณด์ง ์๋๋ค.
- Gemini OAuth: quota project์ Code Assist service ํ์ฑ ์ํ๋ฅผ ํจ๊ป ๋ณธ๋ค.
- Groq: ์ฌ๋ฌ ํค pool ์ํ๋ฅผ ํ์ธํ๋ OAuth refresh ๋ฒ์์ ๋ถ๋ฆฌํ๋ค.
๊ธ์ง
- ์คํฌ ์ ์ฐจ ์์์ ํ ํฐ ๊ฐ์ ์์งํ๊ฑฐ๋ ๋ฌธ์ํํ์ง ์๋๋ค.
- refresh ์๋ํ๋ฅผ shell hook์ด๋ ์คํฌ๋ก ์ฎ๊ธฐ์ง ์๋๋ค.
- monitor job์ ๋๊ณ ์๋ ์ฌ์ธ์ฆ ์ค์ฌ์ผ๋ก ์ด์ํ์ง ์๋๋ค.
- provider failure๋ฅผ ๋ชจ๋ธ ๊ต์ฒด๋ง์ผ๋ก ์จ๊ธฐ์ง ์๋๋ค. ์ธ์ฆ/์ฟผํฐ/๋คํธ์ํฌ ์์ธ์ ๋ณ๋๋ก ๊ธฐ๋กํ๋ค.