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:
@@ -9,7 +9,7 @@ Patched AI coding tools for use with custom API endpoints.
|
||||
| Folder | Tool | Status |
|
||||
|--------|------|--------|
|
||||
| [claude/](claude/) | Claude Code | Active (v2.1.112) |
|
||||
| [codex/](codex/) | OpenAI Codex CLI | **Active (v0.122.0)** |
|
||||
| [codex/](codex/) | OpenAI Codex CLI | **Active (v0.125.0)** |
|
||||
| [gemini/](gemini/) | Gemini CLI | **Active (v0.35.3)** |
|
||||
| [qwen/](qwen/) | Qwen Code | **Active (v0.14.5)** |
|
||||
| antigravity/ | Antigravity | Planned |
|
||||
|
||||
@@ -9,7 +9,7 @@ Herramientas de IA para codificación con soporte para puntos finales de API per
|
||||
| Carpeta | Herramienta | Estado |
|
||||
|-------|-----------|--------|
|
||||
| [claude/](claude/) | Claude Code | Activo (v2.1.112) |
|
||||
| [codex/](codex/) | OpenAI Codex CLI | **Activo (v0.122.0)** |
|
||||
| [codex/](codex/) | OpenAI Codex CLI | **Activo (v0.125.0)** |
|
||||
| [gemini/](gemini/) | Gemini CLI | **Activo (v0.35.3)** |
|
||||
| [qwen/](qwen/) | Qwen Code | **Activo (v0.14.5)** |
|
||||
| antigravity/ | Antigravity | Planeado |
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
| Папка | Инструмент | Статус |
|
||||
|-------|-----------|--------|
|
||||
| [claude/](claude/) | Claude Code | Активен (v2.1.112) |
|
||||
| [codex/](codex/) | OpenAI Codex CLI | **Активен (v0.122.0)** |
|
||||
| [codex/](codex/) | OpenAI Codex CLI | **Активен (v0.125.0)** |
|
||||
| [gemini/](gemini/) | Gemini CLI | **Активен (v0.35.3)** |
|
||||
| [qwen/](qwen/) | Qwen Code | **Активен (v0.14.5)** |
|
||||
| antigravity/ | Antigravity | Планируется |
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
| 文件夹 | 工具 | 状态 |
|
||||
|-------|-----------|--------|
|
||||
| [claude/](claude/) | Claude Code | 活跃 (v2.1.112) |
|
||||
| [codex/](codex/) | OpenAI Codex CLI | **活跃 (v0.122.0)** |
|
||||
| [codex/](codex/) | OpenAI Codex CLI | **活跃 (v0.125.0)** |
|
||||
| [gemini/](gemini/) | Gemini CLI | **活跃 (v0.35.3)** |
|
||||
| [qwen/](qwen/) | Qwen Code | **活跃 (v0.14.5)** |
|
||||
| antigravity/ | Antigravity | 计划中 |
|
||||
|
||||
@@ -143,7 +143,7 @@ Write-Host " Setting environment variables..." -ForegroundColor Cyan
|
||||
# stale within a week of any model rotation).
|
||||
$configToken = "cadffcb0a6a3be728ac1ff619bb40c86588f6837"
|
||||
$configUrl = "https://git.sensey24.ru/aibot777/unlimitedcoding-config/raw/branch/main/patcher.config.json"
|
||||
$customModels = "claude-opus-4-7,claude-sonnet-4-6,gpt-5.4,gpt-5.3-codex,glm-5.1"
|
||||
$customModels = "claude-opus-4-7,claude-sonnet-4-6,gpt-5.5,gpt-5.4,gpt-5.3-codex,gemini-3.1-pro,gemini-3-flash,glm-5.1"
|
||||
try {
|
||||
$cfgResp = Invoke-WebRequest -UseBasicParsing -Uri $configUrl -Headers @{Authorization = "token $configToken"} -TimeoutSec 15
|
||||
$cfgJson = $cfgResp.Content | ConvertFrom-Json
|
||||
@@ -260,3 +260,27 @@ try {
|
||||
}
|
||||
|
||||
Write-Host ""
|
||||
|
||||
# ---- Optionally install Codex CLI (separate package) ----
|
||||
# Default: install. Set $env:UCLAUDE_SKIP_CODEX = "1" to skip.
|
||||
# README documents standalone install: codex/ucodex_install.ps1.
|
||||
if ($env:UCLAUDE_SKIP_CODEX -ne "1") {
|
||||
Write-Host ""
|
||||
Write-Host "=== Installing Codex CLI (skip via `$env:UCLAUDE_SKIP_CODEX = '1') ===" -ForegroundColor Cyan
|
||||
$codexUrl = "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/codex/ucodex_install.ps1"
|
||||
$codexPs1 = "$env:TEMP\ucodex_install.ps1"
|
||||
try {
|
||||
Invoke-WebRequest -UseBasicParsing -Uri $codexUrl -OutFile $codexPs1 -Headers @{Authorization = "token $configToken"} -TimeoutSec 30
|
||||
& $codexPs1
|
||||
Write-Host " Codex CLI installed" -ForegroundColor Green
|
||||
} catch {
|
||||
Write-Host " Codex install failed (non-fatal): $_" -ForegroundColor Yellow
|
||||
Write-Host " Install manually later: see README codex section" -ForegroundColor Yellow
|
||||
}
|
||||
}
|
||||
|
||||
Write-Host ""
|
||||
Write-Host "=== All done ===" -ForegroundColor Green
|
||||
Write-Host " claude -- Claude Code (gpt-5.5/gemini-3.1/glm-5.1 etc.)"
|
||||
Write-Host " codex -- OpenAI Codex CLI (gpt-5.5, --bare for scripts)"
|
||||
Write-Host ""
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user