powershell -File runs script in child process — PATH changes don't persist. Changed to Set-ExecutionPolicy + dot-sourcing (. script.ps1) which runs in current session. Also added PATH restart hint to Codex install/update scripts. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
458 lines
16 KiB
Markdown
Executable File
458 lines
16 KiB
Markdown
Executable File
# Unlimited Coding
|
|
|
|
🌐 [English](README.md) | [Русский](README_ru.md) | [中文](README_zh.md) | [Español](README_es.md)
|
|
|
|
Patched AI coding tools for use with custom API endpoints.
|
|
|
|
## Products
|
|
|
|
| Folder | Tool | Status |
|
|
|--------|------|--------|
|
|
| [claude/](claude/) | Claude Code | Active (v2.1.71) |
|
|
| [codex/](codex/) | OpenAI Codex CLI | **Active (v0.111.0)** |
|
|
| [gemini/](gemini/) | Gemini CLI | **Active (v0.32.1)** |
|
|
| [qwen/](qwen/) | Qwen Code | **Active (v0.11.1)** |
|
|
| antigravity/ | Antigravity | Planned |
|
|
|
|
## Quick Start
|
|
|
|
### Prerequisites Check
|
|
|
|
Before installing, verify Node.js v24.13+ is installed:
|
|
|
|
```bash
|
|
# Check Node.js version
|
|
node --version
|
|
|
|
# If Node.js is missing or version is too old, install:
|
|
# 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 as Admin):
|
|
winget install OpenJS.NodeJS
|
|
```
|
|
|
|
### Alternative - Auto-install Node.js
|
|
|
|
If you need to install or update Node.js automatically:
|
|
|
|
**Linux:**
|
|
```bash
|
|
curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash - && sudo apt-get install -y nodejs
|
|
```
|
|
|
|
**macOS:**
|
|
```bash
|
|
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
brew install node
|
|
```
|
|
|
|
**Windows:**
|
|
```powershell
|
|
# As Administrator
|
|
winget install OpenJS.NodeJS
|
|
```
|
|
|
|
### Claude Code — Install
|
|
|
|
Two commands on any platform:
|
|
|
|
**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 required. Install from https://nodejs.org/ if not present.
|
|
|
|
### Update
|
|
|
|
Same two commands — npm will pull the latest patched version from our registry.
|
|
|
|
### Alternative — Automatic installer (if no Node.js)
|
|
|
|
Installs Node.js, Claude Code and patches automatically.
|
|
|
|
**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 as Administrator):**
|
|
```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 — Install
|
|
|
|
**Linux / macOS (two commands):**
|
|
```bash
|
|
npm config set @google:registry https://npm.sensey24.ru/
|
|
npm install -g @google/gemini-cli
|
|
```
|
|
|
|
**Windows (PowerShell):**
|
|
```powershell
|
|
npm config set "@google:registry" "https://npm.sensey24.ru/"
|
|
npm install -g @google/gemini-cli
|
|
```
|
|
|
|
> Node.js required. Install from https://nodejs.org/ if not present.
|
|
|
|
Then configure (Linux / macOS):
|
|
```bash
|
|
echo 'export GEMINI_API_KEY="ClauderAPI"' >> ~/.bashrc
|
|
echo 'export GOOGLE_GEMINI_BASE_URL="https://ai.37-187-136-86.sslip.io"' >> ~/.bashrc
|
|
source ~/.bashrc
|
|
mkdir -p ~/.gemini
|
|
cat > ~/.gemini/settings.json << 'EOF'
|
|
{
|
|
"security": {
|
|
"auth": { "selectedType": "gemini-api-key" },
|
|
"folderTrust": { "enabled": false }
|
|
},
|
|
"telemetry": { "enabled": false, "logPrompts": false },
|
|
"general": { "defaultApprovalMode": "yolo" }
|
|
}
|
|
EOF
|
|
```
|
|
|
|
Then configure (Windows — run in **PowerShell**, not CMD):
|
|
```powershell
|
|
[System.Environment]::SetEnvironmentVariable("GEMINI_API_KEY", "ClauderAPI", "User")
|
|
[System.Environment]::SetEnvironmentVariable("GOOGLE_GEMINI_BASE_URL", "https://ai.37-187-136-86.sslip.io", "User")
|
|
$env:GEMINI_API_KEY = "ClauderAPI"
|
|
$env:GOOGLE_GEMINI_BASE_URL = "https://ai.37-187-136-86.sslip.io"
|
|
$d = "$env:USERPROFILE\.gemini"; New-Item -ItemType Directory -Force -Path $d | Out-Null
|
|
[System.IO.File]::WriteAllText("$d\settings.json", '{"security":{"auth":{"selectedType":"gemini-api-key"},"folderTrust":{"enabled":false}},"telemetry":{"enabled":false,"logPrompts":false},"general":{"defaultApprovalMode":"yolo"}}')
|
|
```
|
|
|
|
Or use CMD:
|
|
```cmd
|
|
setx GEMINI_API_KEY "ClauderAPI"
|
|
setx GOOGLE_GEMINI_BASE_URL "https://ai.37-187-136-86.sslip.io"
|
|
mkdir "%USERPROFILE%\.gemini" 2>nul
|
|
echo {"security":{"auth":{"selectedType":"gemini-api-key"},"folderTrust":{"enabled":false}},"telemetry":{"enabled":false,"logPrompts":false},"general":{"defaultApprovalMode":"yolo"}} > "%USERPROFILE%\.gemini\settings.json"
|
|
```
|
|
|
|
Verify: `gemini -p "Hello"`
|
|
|
|
**Alternative — Automatic installer (installs Node.js, CLI, patches, settings):**
|
|
|
|
Linux / macOS:
|
|
```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 as Administrator):
|
|
```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"
|
|
```
|
|
|
|
See [gemini/README.md](gemini/README.md) for details.
|
|
|
|
### Codex CLI — Install
|
|
|
|
> Codex CLI is a compiled Rust binary (not npm). Install via GitHub releases.
|
|
|
|
**Linux / macOS:**
|
|
```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
|
|
```
|
|
|
|
**Windows (PowerShell as Administrator):**
|
|
```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"
|
|
```
|
|
|
|
Verify: `codex exec "Hello"`
|
|
|
|
See [codex/README.md](codex/README.md) for details, troubleshooting, and configuration.
|
|
|
|
### Qwen Code — Install
|
|
|
|
**Linux / macOS (two commands):**
|
|
```bash
|
|
npm config set @qwen-code:registry https://npm.sensey24.ru/
|
|
npm install -g @qwen-code/qwen-code
|
|
```
|
|
|
|
**Windows (PowerShell):**
|
|
```powershell
|
|
npm config set "@qwen-code:registry" "https://npm.sensey24.ru/"
|
|
npm install -g @qwen-code/qwen-code
|
|
```
|
|
|
|
> Node.js required. Install from https://nodejs.org/ if not present.
|
|
|
|
Then configure (downloads patcher automatically):
|
|
```bash
|
|
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
|
|
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/qwen/uqwen_install.sh \
|
|
-o /tmp/uqwen_install.sh && sudo bash /tmp/uqwen_install.sh
|
|
```
|
|
|
|
Verify: `qwen -p "Hello"`
|
|
|
|
**Alternative — Automatic installer:**
|
|
|
|
Linux / macOS:
|
|
```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 as Administrator):
|
|
```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"
|
|
```
|
|
|
|
See [qwen/README.md](qwen/README.md) for details, models, and troubleshooting.
|
|
|
|
### Manual install from release
|
|
|
|
Clone repo and run platform installer:
|
|
|
|
```bash
|
|
git clone --depth 1 https://x-token:cadffcb0a6a3be728ac1ff619bb40c86588f6837@git.sensey24.ru/aibot777/unlimitedcoding.git
|
|
cd unlimitedcoding
|
|
```
|
|
|
|
<!-- MANUAL_VERSION:START -->
|
|
| Platform | Command |
|
|
|----------|---------|
|
|
| Linux / macOS | `sudo bash claude/releases/v2.1.71/install.sh` |
|
|
| Windows CMD | `claude\releases\v2.1.71\install.bat` |
|
|
| Windows PowerShell | `powershell -ExecutionPolicy Bypass -File claude\releases\v2.1.71\install.ps1` |
|
|
<!-- MANUAL_VERSION:END -->
|
|
|
|
## Update
|
|
|
|
Update scripts check for latest version, download and re-apply patches automatically.
|
|
|
|
### Claude Code — Update
|
|
|
|
**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 as Administrator):**
|
|
```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 — Update
|
|
|
|
**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 as Administrator):**
|
|
```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"
|
|
```
|
|
|
|
### Codex CLI — Update
|
|
|
|
**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 as Administrator):**
|
|
```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"
|
|
```
|
|
|
|
### Qwen Code — Update
|
|
|
|
**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 as Administrator):**
|
|
```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"
|
|
```
|
|
|
|
## Uninstall
|
|
|
|
**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 as Administrator):**
|
|
```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"
|
|
```
|
|
|
|
Each uninstaller removes: binary/npm package, settings directory, environment variables, npm registry config.
|
|
|
|
## Troubleshooting
|
|
|
|
### Gemini CLI: deprecated settings spam
|
|
|
|
If you see repeated warnings like:
|
|
```
|
|
The system configuration contains deprecated settings: [experimental.codebaseInvestigatorSettings]
|
|
```
|
|
|
|
The key exists in **system-level** config files. Fix all locations:
|
|
|
|
```bash
|
|
# Linux
|
|
for f in "$HOME/.gemini/settings.json" "/etc/gemini-cli/settings.json" "/etc/gemini-cli/system-defaults.json"; do
|
|
[ -f "$f" ] && python3 -c "
|
|
import json,sys
|
|
d=json.load(open('$f'))
|
|
e=d.get('experimental',{})
|
|
if 'codebaseInvestigatorSettings' in e:
|
|
del e['codebaseInvestigatorSettings']
|
|
if not e: d.pop('experimental',None)
|
|
json.dump(d,open('$f','w'),indent=2)
|
|
print('Fixed: $f')
|
|
" 2>/dev/null
|
|
done
|
|
```
|
|
|
|
```powershell
|
|
# Windows (PowerShell)
|
|
foreach ($f in "$env:USERPROFILE\.gemini\settings.json", "C:\ProgramData\gemini-cli\settings.json", "C:\ProgramData\gemini-cli\system-defaults.json") {
|
|
if (Test-Path $f) { $d = Get-Content $f | ConvertFrom-Json; if ($d.experimental.codebaseInvestigatorSettings) { $d.experimental.PSObject.Properties.Remove('codebaseInvestigatorSettings'); $d | ConvertTo-Json -Depth 10 | Set-Content $f; Write-Host "Fixed: $f" } }
|
|
}
|
|
```
|
|
|
|
```bash
|
|
# macOS
|
|
for f in "$HOME/.gemini/settings.json" "/Library/Application Support/GeminiCli/settings.json"; do
|
|
[ -f "$f" ] && python3 -c "
|
|
import json
|
|
d=json.load(open('$f'))
|
|
e=d.get('experimental',{})
|
|
if 'codebaseInvestigatorSettings' in e:
|
|
del e['codebaseInvestigatorSettings']
|
|
if not e: d.pop('experimental',None)
|
|
json.dump(d,open('$f','w'),indent=2)
|
|
print('Fixed: $f')
|
|
" 2>/dev/null
|
|
done
|
|
```
|
|
|
|
### Gemini CLI: Session cleanup disabled
|
|
|
|
If you see: `Session cleanup disabled: Either maxAge or maxCount must be specified`
|
|
|
|
This is harmless — Gemini CLI just skips old session cleanup. No action needed.
|
|
|
|
### npm warnings during install
|
|
|
|
Warnings like `deprecated prebuild-install`, `deprecated node-domexception`, `deprecated glob` are normal — these are Google's dependencies, not ours. They don't affect functionality.
|
|
|
|
## What Gets Installed Automatically
|
|
|
|
| Component | 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 |
|
|
| Patched cli.js | replaced with backup | replaced with backup | replaced with backup |
|
|
| Settings | all users patched | all users patched | all users patched |
|