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>
362 lines
16 KiB
Markdown
Executable File
362 lines
16 KiB
Markdown
Executable File
# Unlimited Coding
|
||
|
||
🌐 [English](README.md) | [Русский](README_ru.md) | [中文](README_zh.md) | [Español](README_es.md)
|
||
|
||
Патченные AI-инструменты для кодинга с поддержкой кастомных API-эндпоинтов.
|
||
|
||
## Продукты
|
||
|
||
| Папка | Инструмент | Статус |
|
||
|-------|-----------|--------|
|
||
| [claude/](claude/) | Claude Code | Активен (v2.1.112) |
|
||
| [codex/](codex/) | OpenAI Codex CLI | **Активен (v0.125.0)** |
|
||
| [gemini/](gemini/) | Gemini CLI | **Активен (v0.35.3)** |
|
||
| [qwen/](qwen/) | Qwen Code | **Активен (v0.14.5)** |
|
||
| antigravity/ | Antigravity | Планируется |
|
||
|
||
## Быстрый старт
|
||
|
||
### Проверка зависимостей
|
||
|
||
Перед установкой убедитесь, что установлен Node.js v24.13+:
|
||
|
||
```bash
|
||
node --version
|
||
|
||
# Linux (Debian/Ubuntu):
|
||
sudo apt update && sudo apt install -y nodejs npm
|
||
|
||
# Linux (RHEL/Fedora):
|
||
sudo dnf install -y nodejs npm
|
||
|
||
# macOS:
|
||
brew install node
|
||
|
||
# Windows (PowerShell от администратора):
|
||
winget install OpenJS.NodeJS
|
||
```
|
||
|
||
### Claude Code — Установка
|
||
|
||
Две команды на любой платформе:
|
||
|
||
**Linux / macOS:**
|
||
```bash
|
||
npm config set @anthropic-ai:registry https://npm.sensey24.ru/
|
||
npm install -g @anthropic-ai/claude-code
|
||
```
|
||
|
||
**Windows (PowerShell):**
|
||
```powershell
|
||
npm config set "@anthropic-ai:registry" "https://npm.sensey24.ru/"
|
||
npm install -g @anthropic-ai/claude-code
|
||
```
|
||
|
||
> Требуется Node.js. Установить: https://nodejs.org/
|
||
|
||
### Альтернатива — автоустановщик (если нет Node.js)
|
||
|
||
Устанавливает Node.js, Claude Code и патчи автоматически.
|
||
|
||
**Linux (Debian/Ubuntu/RHEL/Fedora):**
|
||
```bash
|
||
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
|
||
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/claude/uclaude_install.sh \
|
||
-o /tmp/uclaude.sh && sudo bash /tmp/uclaude.sh
|
||
```
|
||
|
||
**macOS:**
|
||
```bash
|
||
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
|
||
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/claude/uclaude_install.sh \
|
||
-o /tmp/uclaude.sh && bash /tmp/uclaude.sh
|
||
```
|
||
|
||
**Windows (PowerShell от имени администратора):**
|
||
```powershell
|
||
$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
|
||
Set-ExecutionPolicy Bypass -Scope Process -Force
|
||
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/claude/uclaude_install.ps1" -OutFile "$env:TEMP\uclaude_install.ps1" -Headers $h
|
||
. "$env:TEMP\uclaude_install.ps1"
|
||
```
|
||
|
||
### Gemini CLI — Установка (одной командой)
|
||
|
||
> Установщик ставит Node.js (если нет), npm-пакет, env vars и `~/.gemini/settings.json`.
|
||
> **Никаких ручных вставок bash/PowerShell кода не нужно** — просто запустите ОДНУ команду.
|
||
|
||
**Linux (Debian/Ubuntu/RHEL/Fedora):**
|
||
```bash
|
||
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
|
||
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_install.sh \
|
||
-o /tmp/ugemini.sh && sudo bash /tmp/ugemini.sh
|
||
```
|
||
|
||
**macOS (Intel & Apple Silicon):**
|
||
```bash
|
||
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
|
||
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_install.sh \
|
||
-o /tmp/ugemini.sh && sudo bash /tmp/ugemini.sh
|
||
```
|
||
|
||
**Windows (PowerShell от имени администратора):**
|
||
```powershell
|
||
$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
|
||
Set-ExecutionPolicy Bypass -Scope Process -Force
|
||
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_install.ps1" -OutFile "$env:TEMP\ugemini_install.ps1" -Headers $h
|
||
. "$env:TEMP\ugemini_install.ps1"
|
||
```
|
||
|
||
**Windows (CMD от имени администратора):**
|
||
```cmd
|
||
powershell -NoProfile -ExecutionPolicy Bypass -Command "$h=@{Authorization='token cadffcb0a6a3be728ac1ff619bb40c86588f6837'}; iwr 'https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_install.ps1' -OutFile \"$env:TEMP\ugemini_install.ps1\" -Headers $h; & \"$env:TEMP\ugemini_install.ps1\""
|
||
```
|
||
|
||
После установки — **перезапустите терминал** и проверьте:
|
||
```
|
||
gemini -p "Привет"
|
||
```
|
||
|
||
Подробнее: [gemini/README.md](gemini/README.md)
|
||
|
||
### Codex CLI — Установка
|
||
|
||
> Codex CLI — это compiled Rust binary (не npm). Установщик скачивает его с GitHub releases,
|
||
> применяет config-патчи и настраивает `OPENAI_API_KEY` / `OPENAI_BASE_URL` автоматически.
|
||
|
||
**Linux (Debian/Ubuntu/RHEL/Fedora):**
|
||
```bash
|
||
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
|
||
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/codex/ucodex_install.sh \
|
||
-o /tmp/ucodex_install.sh && sudo bash /tmp/ucodex_install.sh
|
||
```
|
||
|
||
**macOS (Intel & Apple Silicon):**
|
||
```bash
|
||
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
|
||
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/codex/ucodex_install.sh \
|
||
-o /tmp/ucodex_install.sh && sudo bash /tmp/ucodex_install.sh
|
||
```
|
||
|
||
> macOS установит Mach-O бинарь под ваш ARCH (x86_64 / arm64), env-переменные через
|
||
> `launchctl setenv` + `~/.zshrc`. Если запросит — введите пароль для `sudo`.
|
||
|
||
**Windows (PowerShell от имени администратора):**
|
||
```powershell
|
||
$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
|
||
Set-ExecutionPolicy Bypass -Scope Process -Force
|
||
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/codex/ucodex_install.ps1" -OutFile "$env:TEMP\ucodex_install.ps1" -Headers $h
|
||
. "$env:TEMP\ucodex_install.ps1"
|
||
```
|
||
|
||
**Windows (CMD от имени администратора):**
|
||
```cmd
|
||
powershell -NoProfile -ExecutionPolicy Bypass -Command "$h=@{Authorization='token cadffcb0a6a3be728ac1ff619bb40c86588f6837'}; iwr 'https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/codex/ucodex_install.ps1' -OutFile \"$env:TEMP\ucodex_install.ps1\" -Headers $h; & \"$env:TEMP\ucodex_install.ps1\""
|
||
```
|
||
|
||
> Windows: бинарь ставится в `%LOCALAPPDATA%\Programs\codex\codex.exe` и добавляется в PATH
|
||
> пользователя. После установки **перезапустите CMD/PowerShell** для подхвата env vars.
|
||
|
||
Проверка: `codex exec "Привет"`
|
||
|
||
Подробнее: [codex/README.md](codex/README.md)
|
||
|
||
### Qwen Code — Установка
|
||
|
||
> Установщик подтянет Node.js если его нет, поставит npm-пакет и применит settings.
|
||
|
||
**Linux (Debian/Ubuntu/RHEL/Fedora):**
|
||
```bash
|
||
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
|
||
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/qwen/uqwen_install.sh \
|
||
-o /tmp/uqwen.sh && sudo bash /tmp/uqwen.sh
|
||
```
|
||
|
||
**macOS (Intel & Apple Silicon):**
|
||
```bash
|
||
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
|
||
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/qwen/uqwen_install.sh \
|
||
-o /tmp/uqwen.sh && sudo bash /tmp/uqwen.sh
|
||
```
|
||
|
||
**Windows (PowerShell от имени администратора):**
|
||
```powershell
|
||
$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
|
||
Set-ExecutionPolicy Bypass -Scope Process -Force
|
||
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/qwen/uqwen_install.ps1" -OutFile "$env:TEMP\uqwen_install.ps1" -Headers $h
|
||
. "$env:TEMP\uqwen_install.ps1"
|
||
```
|
||
|
||
**Windows (CMD от имени администратора):**
|
||
```cmd
|
||
powershell -NoProfile -ExecutionPolicy Bypass -Command "$h=@{Authorization='token cadffcb0a6a3be728ac1ff619bb40c86588f6837'}; iwr 'https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/qwen/uqwen_install.ps1' -OutFile \"$env:TEMP\uqwen_install.ps1\" -Headers $h; & \"$env:TEMP\uqwen_install.ps1\""
|
||
```
|
||
|
||
Проверка: `qwen -p "Привет"`
|
||
|
||
Подробнее: [qwen/README.md](qwen/README.md)
|
||
|
||
### Ручная установка из релиза
|
||
|
||
Клонируйте репозиторий и запустите установщик:
|
||
|
||
```bash
|
||
git clone --depth 1 https://x-token:cadffcb0a6a3be728ac1ff619bb40c86588f6837@git.sensey24.ru/aibot777/unlimitedcoding.git
|
||
cd unlimitedcoding
|
||
```
|
||
|
||
<!-- MANUAL_VERSION:START -->
|
||
| Платформа | Команда |
|
||
|-----------|---------|
|
||
| Linux / macOS | `sudo bash claude/releases/v2.1.112/install.sh` |
|
||
| Windows CMD | `claude\releases\v2.1.112\install.bat` |
|
||
| Windows PowerShell | `powershell -ExecutionPolicy Bypass -File claude\releases\v2.1.112\install.ps1` |
|
||
<!-- MANUAL_VERSION:END -->
|
||
|
||
## Обновление
|
||
|
||
Скрипты обновления проверяют последнюю версию, скачивают и переприменяют патчи автоматически.
|
||
|
||
### Claude Code — Обновление
|
||
|
||
**Linux / macOS:**
|
||
```bash
|
||
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
|
||
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/claude/uclaude_update.sh \
|
||
-o /tmp/uclaude_update.sh && sudo bash /tmp/uclaude_update.sh
|
||
```
|
||
|
||
**Windows (PowerShell от имени администратора):**
|
||
```powershell
|
||
$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
|
||
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/claude/uclaude_update.ps1" -OutFile "$env:TEMP\uclaude_update.ps1" -Headers $h
|
||
Set-ExecutionPolicy Bypass -Scope Process -Force
|
||
. "$env:TEMP\uclaude_update.ps1"
|
||
```
|
||
|
||
### Gemini CLI — Обновление
|
||
|
||
**Linux / macOS:**
|
||
```bash
|
||
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
|
||
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_update.sh \
|
||
-o /tmp/ugemini_update.sh && sudo bash /tmp/ugemini_update.sh
|
||
```
|
||
|
||
**Windows (PowerShell от имени администратора):**
|
||
```powershell
|
||
$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
|
||
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_update.ps1" -OutFile "$env:TEMP\ugemini_update.ps1" -Headers $h
|
||
Set-ExecutionPolicy Bypass -Scope Process -Force
|
||
. "$env:TEMP\ugemini_update.ps1"
|
||
```
|
||
|
||
**Windows (CMD от имени администратора):**
|
||
```cmd
|
||
powershell -NoProfile -ExecutionPolicy Bypass -Command "$h=@{Authorization='token cadffcb0a6a3be728ac1ff619bb40c86588f6837'}; iwr 'https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_update.ps1' -OutFile \"$env:TEMP\ugemini_update.ps1\" -Headers $h; & \"$env:TEMP\ugemini_update.ps1\""
|
||
```
|
||
|
||
### Codex CLI — Обновление
|
||
|
||
**Linux / macOS:**
|
||
```bash
|
||
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
|
||
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/codex/ucodex_update.sh \
|
||
-o /tmp/ucodex_update.sh && sudo bash /tmp/ucodex_update.sh
|
||
```
|
||
|
||
**Windows (PowerShell от имени администратора):**
|
||
```powershell
|
||
$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
|
||
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/codex/ucodex_update.ps1" -OutFile "$env:TEMP\ucodex_update.ps1" -Headers $h
|
||
Set-ExecutionPolicy Bypass -Scope Process -Force
|
||
. "$env:TEMP\ucodex_update.ps1"
|
||
```
|
||
|
||
**Windows (CMD от имени администратора):**
|
||
```cmd
|
||
powershell -NoProfile -ExecutionPolicy Bypass -Command "$h=@{Authorization='token cadffcb0a6a3be728ac1ff619bb40c86588f6837'}; iwr 'https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/codex/ucodex_update.ps1' -OutFile \"$env:TEMP\ucodex_update.ps1\" -Headers $h; & \"$env:TEMP\ucodex_update.ps1\""
|
||
```
|
||
|
||
### Qwen Code — Обновление
|
||
|
||
**Linux / macOS:**
|
||
```bash
|
||
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
|
||
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/qwen/uqwen_update.sh \
|
||
-o /tmp/uqwen_update.sh && sudo bash /tmp/uqwen_update.sh
|
||
```
|
||
|
||
**Windows (PowerShell от имени администратора):**
|
||
```powershell
|
||
$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
|
||
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/qwen/uqwen_update.ps1" -OutFile "$env:TEMP\uqwen_update.ps1" -Headers $h
|
||
Set-ExecutionPolicy Bypass -Scope Process -Force
|
||
. "$env:TEMP\uqwen_update.ps1"
|
||
```
|
||
|
||
**Windows (CMD от имени администратора):**
|
||
```cmd
|
||
powershell -NoProfile -ExecutionPolicy Bypass -Command "$h=@{Authorization='token cadffcb0a6a3be728ac1ff619bb40c86588f6837'}; iwr 'https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/qwen/uqwen_update.ps1' -OutFile \"$env:TEMP\uqwen_update.ps1\" -Headers $h; & \"$env:TEMP\uqwen_update.ps1\""
|
||
```
|
||
|
||
## Удаление
|
||
|
||
**Linux / macOS:**
|
||
```bash
|
||
# Claude Code
|
||
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
|
||
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/claude/uclaude_uninstall.sh \
|
||
-o /tmp/uclaude_uninstall.sh && sudo bash /tmp/uclaude_uninstall.sh
|
||
|
||
# Gemini CLI
|
||
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
|
||
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_uninstall.sh \
|
||
-o /tmp/ugemini_uninstall.sh && sudo bash /tmp/ugemini_uninstall.sh
|
||
|
||
# Codex CLI
|
||
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
|
||
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/codex/ucodex_uninstall.sh \
|
||
-o /tmp/ucodex_uninstall.sh && sudo bash /tmp/ucodex_uninstall.sh
|
||
|
||
# Qwen Code
|
||
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
|
||
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/qwen/uqwen_uninstall.sh \
|
||
-o /tmp/uqwen_uninstall.sh && sudo bash /tmp/uqwen_uninstall.sh
|
||
```
|
||
|
||
**Windows (PowerShell от имени администратора):**
|
||
```powershell
|
||
$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
|
||
Set-ExecutionPolicy Bypass -Scope Process -Force
|
||
|
||
# Claude Code
|
||
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/claude/uclaude_uninstall.ps1" -OutFile "$env:TEMP\uclaude_uninstall.ps1" -Headers $h
|
||
. "$env:TEMP\uclaude_uninstall.ps1"
|
||
|
||
# Gemini CLI
|
||
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_uninstall.ps1" -OutFile "$env:TEMP\ugemini_uninstall.ps1" -Headers $h
|
||
. "$env:TEMP\ugemini_uninstall.ps1"
|
||
|
||
# Codex CLI
|
||
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/codex/ucodex_uninstall.ps1" -OutFile "$env:TEMP\ucodex_uninstall.ps1" -Headers $h
|
||
. "$env:TEMP\ucodex_uninstall.ps1"
|
||
|
||
# Qwen Code
|
||
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/qwen/uqwen_uninstall.ps1" -OutFile "$env:TEMP\uqwen_uninstall.ps1" -Headers $h
|
||
. "$env:TEMP\uqwen_uninstall.ps1"
|
||
```
|
||
|
||
Каждый деинсталлятор удаляет: бинарь/npm-пакет, директорию настроек, переменные окружения, npm registry config.
|
||
|
||
## Что устанавливается автоматически
|
||
|
||
| Компонент | Linux | macOS | Windows |
|
||
|-----------|-------|-------|---------|
|
||
| Git | apt/dnf/yum | brew | winget |
|
||
| Python 3 | apt/dnf/yum | brew | winget |
|
||
| Node.js v24.13+ | nodesource | brew | winget |
|
||
| Claude Code | npm | npm | npm |
|
||
| Патченный cli.js | замена с бэкапом | замена с бэкапом | замена с бэкапом |
|
||
| Настройки | все пользователи | все пользователи | все пользователи |
|