17 Commits
Author SHA1 Message Date
Dmitry Dementiev eca939b835 chore(bash): добавлен OPENCODE_API_KEY в шаблон secrets
- Зачем: ключ Zen нужен ревьюеру разрешений Jev в окружении процесса
  opencode; ZAI больше не используется.
- Что: добавлен закомментированный export OPENCODE_API_KEY с пояснением;
  убран ZAI_API_KEY; зафиксировано комментирование CONTEXT7_API_KEY
  из рабочего дерева.
- Проверка: ещё не выполнена; ключ появится после заведения в Zen.
2026-10-06 16:41:05 +03:00
ddadmin 6e431d875e refactor(proxy-client): переименован интерфейс прокси
- Зачем:
  - прежнее имя выпячивало Xray, хотя клиент поддерживает также внешний прокси, а два каталога конфигурации были неочевидны.
- Что:
  - пакет, CLI, конфигурация, состояние, тесты и документация переименованы в proxy-client.
  - машинный конфиг, профиль и два явных примера собраны в одном пользовательском каталоге.
  - свежая установка защищена от сворачивания каталога конфигурации внутрь репозитория.
- Проверка:
  - bash tests/test_proxy_client_full.sh.
  - bash tests/test_install.sh.
  - ручные start, status и xray run -test; незавершённая сетевая приёмка записана в handoff.
2026-07-21 09:31:21 -04:00
ddadmin e69a4bb7df feat(xray-proxy): добавлен управляемый прокси для CLI
Зачем:
- отделить переносимый прокси-интерфейс от общих Bash-функций
- запускать агентские CLI через явный внешний или управляемый прокси

Что:
- добавлен stow-пакет xray-proxy с CLI, Bash-модулем и примерами
- реализованы строгий разбор VLESS и управляемый запуск Xray
- добавлены проверки процесса, порта, сигналов и отсутствия утечек
- сохранены спецификация и очередь следующих тикетов

Проверка:
- python3 tests/test_xray_proxy.py — 22/22
- python3 tests/test_xray_proxy_managed.py — 16/16
- bash tests/test_proxy_launchers.sh — 9/9
- bash tests/test_install.sh
- bash -n, Python 3.8 grammar, git diff --check
2026-07-20 00:00:59 +03:00
Dmitry Dementiev d5559867bd feat(proxy): добавлены pclaude/pcodex для явного запуска через прокси
- Зачем:
  - claude/codex должны ходить через hproxy.local, а ручной proxy_on легко забыть; нужны явные команды, которые не стартуют молча при недоступном прокси.
- Что:
  - bash: добавлены _proxy_export/_proxy_reachable/_proxy_run и pclaude/pcodex; proxy_on рефакторен на единый источник правды без смены поведения.
  - powershell: добавлены Get-ProxyEndpoint/Set-ProxyEnv/Test-ProxyReachable/Invoke-WithProxy и pclaude/pcodex; proxy_on рефакторен аналогично.
  - таймаут pre-flight вынесен в PROXY_PREFLIGHT_TIMEOUT (дефолт 2 c).
  - добавлен tests/test_proxy_launchers.sh (fail-fast, изоляция env, проброс кода, аргументы, регресс proxy_on).
- Проверка:
  - bash tests/test_proxy_launchers.sh.
2026-05-19 14:28:41 +03:00
ddadmin f5e8fec192 fix(bash): добавлена поддержка IPv6 и lower-case переменных в proxy_on/off
- Зачем:
  - локальные MCP/loopback-соединения уходили в SOCKS5 через hproxy.local из-за отсутствия IPv6 в NO_PROXY
  - Python-приложения не видели прокси-переменные в lower-case
- Что:
  - добавлены ::1 и [::1] в список NO_PROXY для IPv6 loopback
  - добавлены lower-case переменные (http_proxy, https_proxy, all_proxy, no_proxy)
  - функция proxy_off теперь сбрасывает все прокси-переменные
- Проверка:
  - source ~/.bash_functions && proxy_on && echo $NO_PROXY && proxy_off
2026-04-19 12:25:03 +03:00
ddadminandClaude Opus 4.6 898db1098d refactor(wsl): унифицирована логика hproxy.local и добавлена миграция legacy boot command
- Зачем:
  - setup-hproxy.sh удалял запись из hosts до проверки gateway — при ошибке hosts ломался.
  - update_hproxy() дублировала логику скрипта с багами и не тестировалась.
  - legacy inline boot command в wsl.conf не мигрировался автоматически.
- Что:
  - setup-hproxy.sh: безопасный порядок (gateway → hosts), set -e, экранированная точка в sed.
  - update_hproxy() заменена на thin wrapper с проверкой wsl.conf и ошибок sudo.
  - install.sh: интерактивная замена legacy boot command, детекция существующих [boot] command,
    принимает русскую «у» наравне с «y».
  - README.md: описаны три сценария (WSL NAT, WSL mirrored — host-side resolution, native Linux).
  - добавлены тесты: existing boot command preserved, legacy command migration hint.
- Проверка:
  - bash tests/test_install.sh
  - ./install.sh (интерактивно, ответить «y» на миграцию legacy command)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 19:42:50 +03:00
ddadmin 984db1b6d7 feat(dotfiles): улучшена установка и управление конфигурацией
- Зачем:
  - нужен воспроизводимый способ установки на новую машину и защита от перезаписи tracked-файлов ИИ-инструментами.
- Что:
  - добавлен install.sh: stow всех пакетов, создание settings.local.json, chmod 444 на settings.json, автопатч .bashrc.
  - claude/settings.json разделён на базовый (permissions, statusLine) и локальный (model, effortLevel в settings.local.json).
  - добавлен .concept-software.ru в NO_PROXY в server-env-setup и bash_functions.
  - README переработан: install.sh как рекомендуемый способ, документация двухуровневых настроек Claude, Developer Mode hint, расширенное описание VS Code прокси.
- Проверка:
  - git clone + ./install.sh на чистой машине.
2026-03-14 11:31:10 +03:00
ddadmin 39d1d8636e refactor(wsl): добавлена поддержка режима Mirror для WSL2
- Зачем:
  - новый режим networkingMode=mirror в WSL2 требует другого подхода к определению IP-адреса хоста.
- Что:
  - добавлено определение режима WSL через проверку .wslconfig.
  - при режиме mirror IP берется из Windows hosts файла.
  - при режиме NAT IP вычисляется через маршрут по умолчанию.
  - добавлена очистка символов \r при чтении Windows файлов.
  - улучшены информативные сообщения для пользователя.
- Проверка:
  - вызов функции update_hproxy в обоих режимах WSL2.
2026-02-24 10:29:49 +03:00
ddadmin f865bea0ee feat(wsl): добавлена функция update_hproxy для обновления IP хоста
- Зачем:
  - необходимо автоматически обновлять IP-адрес хоста при перезагрузке WSL или изменении сети.
- Что:
  - добавлена функция update_hproxy в bash/.bash_functions.
  - функция получает IP хоста через ip route.
  - обновляет запись hproxy.local в /etc/hosts.
- Проверка:
  - выполнить update_hproxy и проверить /etc/hosts.
2026-02-24 09:28:31 +03:00
ddadmin 410e543ade fix(bash): закомментирована изоляция git от proxy
- Зачем:
  - функция git с очисткой переменных прокси больше не нужна и усложняет поведение shell.
- Что:
  - закомментирован блок функции git() в bash-конфигурации.
  - отключена принудительная очистка HTTP_PROXY/HTTPS_PROXY/ALL_PROXY для вызовов git.
- Проверка:
  - source ~/.bashrc.
  - type git.
2026-02-21 21:11:37 +03:00
ddadmin 7cd55ac988 refactor(dotfiles): унифицированы skills и упрощен bash_custom
Зачем: убрать дублирование skills между агентами и сократить кастомный bash слой до реально необходимых настроек.
Что: skill conventional-commits перенесен в agents/.agents/skills, добавлены symlink-bridge пакеты для opencode и codex, обновлен README, очищен bash/.bash_custom от дублирования с системным ~/.bashrc, добавлены базовые zed settings/keymap файлы.
Проверка: stow -nvv bash agents opencode codex zed и bash -n bash/.bash_custom.
2026-02-21 19:22:10 +03:00
ddadmin c94bcc19de refactor(bash): реорганизована структура bash-конфигурации
Зачем: улучшение читаемости и модульности конфигурации bash.
Что: удалён монолитный .bashrc, создан модульный .bash_custom с секциями (настройки, PATH, алиасы, функции, модули), добавлена функция git для изоляции от прокси, оптимизирован порядок загрузки модулей.
Проверка: source ~/.bash_custom, проверить git, алиасы (ll, la), prompt.
2026-02-21 18:53:53 +03:00
ddadmin 1ee049db4a feat(bash): добавлен кастомный двухстрочный prompt
Зачем: улучшение визуального опыта работы в терминале с отображением git-ветки, venv и статуса последней команды.
Что: создан файл .bash_prompt с цветным двухстрочным prompt, индикацией git-ветки, активного venv и статуса exit code.
Проверка: source ~/.bashrc, проверить отображение в git-репозитории и с активированным venv.
2026-02-21 18:47:49 +03:00
ddadmin 30ba8b6ac6 refactor(bash): переименован .custom_env в .bash_functions
Зачем: имя файла не отражало его содержимое (функции bash), что вводило в заблуждение.
Что: переименован файл, обновлены все ссылки в .bashrc, README.md, .env.example.
Проверка: ln -s dotfiles/bash/.bash_functions ~/.bash_functions, source ~/.bashrc, proxy_on.
2026-02-21 18:43:42 +03:00
ddadmin 26be464f2b feat(bash): добавлена поддержка приватных переменных окружения
Зачем: разделение публичных и приватных переменных окружения для безопасного хранения API ключей.
Что: создан шаблон .env.secrets.example, обновлен .bashrc для загрузки ~/.env.secrets, добавлено исключение в .gitignore, обновлена документация.
Проверка: cp bash/.env.secrets.example ~/.env.secrets, source ~/.bashrc, echo $CONTEXT7_API_KEY.
2026-02-21 18:40:52 +03:00
ddadmin ab53f2501e feat(opencode): добавлена конфигурация с gitignore, bashrc и скриптами
Зачем: настройка рабочего окружения для инструмента opencode с поддержкой conventional commits.
Что: созданы конфигурационные файлы, добавлен bashrc, gitignore, документация и skill для коммитов.
Проверка: git status, проверка наличия файлов в opencode/.config/.
2026-02-21 18:28:21 +03:00
ddadmin 8a6e6a1923 chore(configs): инициализирован репозиторий для dot-файлов
- Зачем:
  - нужен централизованный контроль, версионирование и бэкап настроек окружения
- Что:
  - создана модульная структура директорий под GNU Stow
  - перенесены текущие конфигурации для bash, tmux, vim и zed
- Проверка:
  - cd ~/dotfiles && stow -n -S tmux vim bash
2026-02-21 18:05:52 +03:00