From 489f54a8bc30fe8cc5b328c5110dcc15788f4257 Mon Sep 17 00:00:00 2001 From: Dmitry Dementiev Date: Tue, 19 May 2026 14:30:54 +0300 Subject: [PATCH] =?UTF-8?q?docs(proxy):=20=D0=BE=D0=BF=D0=B8=D1=81=D0=B0?= =?UTF-8?q?=D0=BD=D1=8B=20pclaude/pcodex=20=D0=B2=20README=20=D0=B8=20?= =?UTF-8?q?=D1=87=D0=B5=D0=BA=D0=BB=D0=B8=D1=81=D1=82=20=D0=B2=20TODO?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Зачем: - новые команды должны быть в справочнике, а непроверенная Windows-часть — зафиксирована как задача. - Что: - README: абзац про pclaude/pcodex и строки в таблицах bash/PowerShell-функций. - TODO: добавлен ручной чеклист проверки PowerShell-части на Windows. - Проверка: - git show --stat HEAD. --- README.md | 4 ++++ TODO.md | 16 +++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a63684b..2f193df 100644 --- a/README.md +++ b/README.md @@ -134,6 +134,8 @@ echo '127.0.0.1 hproxy.local' | sudo tee -a /etc/hosts **Windows pwsh** — `proxy_on` / `proxy_off` / `myip` работают аналогично bash-версиям. +**`pclaude` / `pcodex`** — явный запуск Claude/Codex CLI через прокси (bash и pwsh). Перед стартом делают fail-fast проверку доступности `hproxy.local:12334` (таймаут — `PROXY_PREFLIGHT_TIMEOUT`, дефолт 2 c); если прокси недоступен — не запускают и возвращают ненулевой код. Proxy-переменные видны только дочернему процессу и не остаются в сессии. Голые `claude`/`codex` не перекрываются и идут напрямую — для прокси нужен явный `p`-префикс. + **Codex GUI на Windows** — chezmoi создает Start Menu ярлык `Codex Proxy`, который запускает Codex Windows App с proxy-переменными: ```powershell @@ -181,6 +183,7 @@ NO_PROXY=hproxy.local,localhost,127.0.0.1,::1,[::1],.concept-software.ru |---------|----------| | `proxy_on` | Включает HTTP/HTTPS/SOCKS5 прокси через `hproxy.local:12334` | | `proxy_off` | Очищает proxy-переменные | +| `pclaude` / `pcodex` | Запуск Claude/Codex CLI через прокси с fail-fast pre-flight | | `myip` | Показывает текущий внешний IP | | `update_hproxy` | Обновляет `hproxy.local` в `/etc/hosts` через `setup-hproxy.sh` (WSL NAT) | @@ -190,6 +193,7 @@ NO_PROXY=hproxy.local,localhost,127.0.0.1,::1,[::1],.concept-software.ru |---------|----------| | `proxy_on` | Включает HTTP/HTTPS/SOCKS5 прокси через `hproxy.local:12334` | | `proxy_off` | Очищает proxy-переменные | +| `pclaude` / `pcodex` | Запуск Claude/Codex CLI через прокси с fail-fast pre-flight | | `myip` | Показывает текущий внешний IP | | `Reload-Profile` | Перечитывает профиль без перезапуска сессии | | `which` | `Get-Command -All` по имени | diff --git a/TODO.md b/TODO.md index 6b00af5..510cf7f 100644 --- a/TODO.md +++ b/TODO.md @@ -29,4 +29,18 @@ Написать статью на Хабр о подходе "adversarial AI review" — Claude пишет код, Codex ревьюит, итеративный цикл до одобрения. -**Приоритет: высокий** — направление развивается быстро, важно не упустить момент. \ No newline at end of file +**Приоритет: высокий** — направление развивается быстро, важно не упустить момент. + +## pclaude/pcodex: ручная проверка на Windows + +PowerShell-часть (`Invoke-WithProxy`/`pclaude`/`pcodex` в +`chezmoi/dot_config/powershell/profile.ps1`) написана, но не исполнялась — +в dev-окружении (WSL) нет `pwsh`. Прогнать на Windows ручной чеклист: + +- `pclaude` / `pcodex` запускаются; +- при остановленном прокси срабатывает fail-fast (запуск отменяется); +- proxy-env не остаётся в сессии после выхода (в т.ч. после Ctrl-C — + если `finally` не отработал, прокси остаётся включённым: безопасно); +- passthrough: `pclaude -p "..."`, `pcodex --help`, аргумент с пробелами, + аргумент с `--` (известный footgun PowerShell); +- регресс: `proxy_on` / `proxy_off` ведут себя как прежде. \ No newline at end of file