feat(installers): chain codex install + ps1 fallback includes gpt-5.5

User reported on Mac/Win:
1. gpt-5.5 not appearing in client model picker after install
2. codex CLI not installed by uclaude_install.{sh,ps1}

Root causes (TDD verified):
1. ps1 hardcoded fallback (when private config fetch fails) had only 5
   models without gpt-5.5; users behind firewall/with stale cache fall
   back to it. Updated fallback to include latest list including gpt-5.5,
   gemini-3.1-pro, gemini-3-flash, glm-5.1.
2. Codex has SEPARATE installer (codex/ucodex_install.{sh,ps1}). Users
   following claude install instructions miss it. README documents both
   but as separate steps. Now uclaude_install.{sh,ps1} optionally chain
   to codex installer at the end (skip via UCLAUDE_SKIP_CODEX=1).

Sh installer: also expanded sparse-checkout to include codex/ directory.

README versions: bumped Codex CLI 0.122.0 → 0.125.0 in all 4 locale files
(README.md, README_ru.md, README_es.md, README_zh.md).

3 new tests in claude_code_patcher/tests/test_installers_completeness.py
verify the fix sticks (ps1 fallback has gpt-5.5, both installers mention
codex chain, README codex version current via GitHub API check).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
delta-cloud-208e
2026-04-25 16:22:33 +00:00
parent e982413591
commit ceb39657a1
6 changed files with 54 additions and 8 deletions

View File

@@ -88,9 +88,10 @@ else
git clone --depth 1 --no-checkout "$REPO_URL" "$INSTALL_DIR"
cd "$INSTALL_DIR"
# Enable sparse checkout: root + claude core files + index.json (first pass)
# Enable sparse checkout: root + claude/ + codex/ (so optional codex
# install works) + index.json (first pass)
git sparse-checkout init --no-cone
git sparse-checkout set '/*' 'claude/*' '!claude/releases/v*' 'claude/releases/index.json'
git sparse-checkout set '/*' 'claude/*' '!claude/releases/v*' 'claude/releases/index.json' 'codex/*'
git checkout 2>/dev/null
# Read latest version from index.json and add only that release dir
@@ -126,5 +127,26 @@ else
fi
echo ""
echo "=== Installation complete ==="
echo "=== Claude Code installation complete ==="
echo " To update later: cd $INSTALL_DIR && sudo bash claude/uclaude_update.sh"
echo ""
# Optionally install Codex CLI (OpenAI Rust binary, separate package).
# Default: install. Set UCLAUDE_SKIP_CODEX=1 to skip.
# Why optional: codex needs ~50MB download from GitHub releases; users
# without OpenAI account / interest can skip. README documents standalone
# install path: codex/ucodex_install.sh.
if [ "${UCLAUDE_SKIP_CODEX:-0}" != "1" ] && [ -f "$INSTALL_DIR/codex/ucodex_install.sh" ]; then
echo "=== Installing Codex CLI (skip via UCLAUDE_SKIP_CODEX=1) ==="
if [ "$(id -u)" -eq 0 ]; then
bash "$INSTALL_DIR/codex/ucodex_install.sh" || echo " Codex install failed (non-fatal — re-run separately)"
else
sudo bash "$INSTALL_DIR/codex/ucodex_install.sh" || echo " Codex install failed (non-fatal — re-run separately)"
fi
fi
echo ""
echo "=== All done ==="
echo " claude — Claude Code (Anthropic CLI, gpt-5.5/gemini-3.1/glm-5.1 etc.)"
echo " codex — OpenAI Codex CLI (gpt-5.5, --bare for scripts)"
echo " Update: cd $INSTALL_DIR && sudo bash claude/uclaude_update.sh"