feat(cli): redesign model fallback with native cross-fallback and OpenAI separation

- Add OpenAI/ChatGPT as separate subscription option (--openai flag)
- Implement native tier cross-fallback (Claude → OpenAI → Gemini)
- Change fallback order: Native → OpenCode Zen → GitHub Copilot → Z.ai
- Add explore agent special logic: max20 → haiku, else → grok-code
- Add critical warning when Claude is not configured
- Add tests for ChatGPT-only and explore agent cases
This commit is contained in:
justsisyphus
2026-01-21 11:14:00 +09:00
parent 0031bf7a11
commit ffe82c1dbd
7 changed files with 359 additions and 141 deletions
+3
View File
@@ -4,6 +4,7 @@ export type BooleanArg = "no" | "yes"
export interface InstallArgs {
tui: boolean
claude?: ClaudeSubscription
openai?: BooleanArg
gemini?: BooleanArg
copilot?: BooleanArg
opencodeZen?: BooleanArg
@@ -14,6 +15,7 @@ export interface InstallArgs {
export interface InstallConfig {
hasClaude: boolean
isMax20: boolean
hasOpenAI: boolean
hasGemini: boolean
hasCopilot: boolean
hasOpencodeZen: boolean
@@ -30,6 +32,7 @@ export interface DetectedConfig {
isInstalled: boolean
hasClaude: boolean
isMax20: boolean
hasOpenAI: boolean
hasGemini: boolean
hasCopilot: boolean
hasOpencodeZen: boolean