v3.9.0 — Кросс-платформенный порт: macOS, Linux и Windows
🌊 RepoPilot Bridge 3.9.0 — теперь на Windows, macOS и Linux
Главный релиз: RepoPilot Bridge стал кросс-платформенным. Теперь он одинаково хорошо работает на Windows, macOS и Linux. PowerShell-скрипты остались для Windows, а рядом появились нативные bash-скрипты для macOS/Linux — две параллельные версии в одном репозитории.
При запуске repopilot теперь появляется красивая анимация моря с закатом и отливом — работает на всех трёх системах с автоматическим определением цветовой поддержки.
🖥️ Кросс-платформенное ядро
- Авто-детекция ОС через
sys.platform— сервер сам определяет Windows или POSIX. - Команды исполняются через
cmd.exeна Windows и/bin/sh -cна macOS/Linux. - Метасимвольный фильтр адаптирован под семантику оболочки: на POSIX блокируются backticks и
$(...), но%и^(не являющиеся метасимволамиsh) больше не дают ложных срабатываний. - Расширены блок-листы опасных команд для macOS/POSIX:
sudo,dd of=/dev/,mkfs,diskutil eraseDisk,launchctl bootout,defaults write,csrutil,nvram,pmset, fork-бомба:(){:|:&};:,> /dev/sd*,killallсистемных процессов, рекурсивныеchmod/chownна системных путях.
📜 Новая POSIX-обвязка (bash, параллельно с PowerShell)
| Файл | Назначение |
|---|---|
start.sh |
Менеджер сессий (TUI): выбор проекта, режима, запуск uvicorn + туннеля, генерация промптов |
install.sh |
Установщик: поиск Python (Homebrew/python.org), venv, шим ~/.local/bin/repopilot, ярлык .command |
doctor.sh |
Диагностика: все эндпоинты в read_only/autopilot/full, проверка POSIX-блокировок |
uninstall.sh |
Деинсталляция: удаление runtime, конфига, шима, ярлыка, чистка PATH |
bootstrap.sh |
One-shot установка: curl | bash |
Кросс-платформенное управление процессами: PID через $! + фолбэки на pgrep/lsof/fuser/taskkill/netstat (для Windows Git Bash, где нет pgrep). UTF-8-safe HTTP через curl --data-binary @tmpfile.
🌅 Анимация моря с закатом
- Новый
scripts/ocean.py: море с волнами, закат, отлив, опускающееся солнце, баннер RepoPilot. - 4 цветовых режима с autodetect: truecolor (24-bit), 256-color, 16-color, монохром.
- На Windows 10+ включает VT-обработку через
ctypes, чтобы ANSI рендерился вcmd.exe. - Интегрирована в
start.shиstart.ps1. Отключается черезREPOPILOT_NO_SPLASH=1. - Режимы:
--long,--loop,--no-banner,--test.
🧪 Smoke-тест без Mac
Dockerfile.smoke+scripts/smoke-test.sh: Linux-контейнер прогоняетdoctor.sh, проверяя POSIX-веткуrun_cmdи блок-листы без реального Mac.
🛡️ Усиление
start.shиdoctor.shпроверяют наличиеcurlиgitс подсказками установки.- Нет bash 4+ фич — совместимо с macOS default bash 3.2.
mktempимеет фолбэки для GNU/BSD различий.
📚 Документация
README.md,QUICKSTART.md,TROUBLESHOOTING.mdтеперь покрывают все три ОС: Homebrew,pbcopy/open, пути Homebrew на Apple Silicon vs Intel, Gatekeeper для.command, XDG-пути на Linux..editorconfigдобавляет правила[*.{sh,command}](LF, UTF-8 без BOM).
📦 Установка
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/Yahor777/repopilot-bridge/v3.9.0/bootstrap.sh | bashWindows (PowerShell):
powershell -NoProfile -ExecutionPolicy Bypass -Command "irm https://raw.githubusercontent.com/Yahor777/repopilot-bridge/v3.9.0/bootstrap.ps1 | iex"✅ Проверено
doctor.sh: 44/44 проверок прошли (HTTP, эндпоинты, блокировкиsudo/dd/launchctl, метасимволы, изоляция, секреты, commit).- POSIX-ветка
run_cmd: 22/22 проверки (имитация macOS). - Windows-ветка
cmd.exeне сломана:/run echo→ exit 0. bash -nна всех 6.sh+py_compile— без ошибок.ocean.pyво всех 4 цветовых режимах.