Туннель, HydraRoute Neo и проброс SSH 22→222 для объектов, уже в routers.json.
Новый роутер (карточка, Web CLI, автонастройка) — только router_setup.
AI-чат — /ai; агент Cursor (PCA) в Telegram — блок ниже.
Агент может один раз перезагрузить роутер после opkg disk (за установку). Снимите галочку «Не перезагружать», если нужен reboot по RCI.
Карточка в routers.json, команды opkg disk в Web CLI и автонастройка VPS (туннель, HR) — только в мастере router_setup.
На этой странице — существующие объекты: apply-setup, heal-all, detach, Telegram.
Имя латиницей (andrey), USB ext4, hrweb — в трёх шагах мастера. После появления в списке вернитесь сюда для донастройки без Firstboot.
POST /api/routers/{имя}/apply-setup — VPS выполняет шаги по SSH (туннель, HR, firstboot) или по RCI (проброс 22→222).
Только план (dry_run) — план без изменений на роутере. Снимите галочку для применения (будет подтверждение).
🔍 Диагностика — reconcile с dry_run: состояние, проблемы, playbook. Ничего не меняет.
По умолчанию: туннель + HR + проброс; после успешного HR домены подтягиваются с VPS автоматически (hydra_update.sh). Firstboot выключен.
Объект уже в списке. Сначала «Только план», затем применение без dry_run.
Шаги apply-setup
| Шаг | Когда включать | Что нужно |
|---|---|---|
| Туннель | Нет reverse-SSH, после смены ключей, после reinstall | Entware SSH или активный туннель |
| HR Neo | Neo не установлен / обновить install.sh | SSH на роутер; после успеха — авто-синхронизация доменов |
| Проброс 22→222 | Нужен WAN SSH через VPS | hrweb_login + hrweb_password; wan_ndmc_iface |
| Домены | После HR — списки domain.conf с VPS | SSH; hydra_update.sh |
| Firstboot | Только свежий bundle или после сброса .firstboot_done | SSH; S99ku-firstboot |
Если ни один шаг не отмечен — применятся туннель + HR + проброс (без firstboot). После HR — синхронизация доменов, если не включён «Пропустить домены».
opkg disk) и firstboot ещё не прошёл;/opt/etc/keenetic-unified/.firstboot_done и снова ставите bundle.Не ставьте на уже работающий роутер — повторный firstboot может переустановить пакеты и сбить настройки.
Сканирует все роутеры в routers.json: туннель настроен, но порт на VPS не слушает, или ssh_probe не видит SSH/туннель.
Действие — только перезапуск autossh через очередь router_cmd (как «Починить туннель» на /tunnels). Без reboot, без cleanup.
Сначала включите «Только план» и посмотрите отчёт. Для применения снимите dry_run и подтвердите.
Не чаще одного heal на роутер за 15 мин (last_heal_at в tunnel_health.json). Роутеры с actions_disabled пропускаются.
Фон: ku-health-cron.sh — reconcile dry-run; авто-heal — ku-reconcile-cron.sh или этот блок вручную.
Массовая проверка reverse-SSH и SSH-probe. Рекомендуется начать с dry_run.
Cursor (PCA) — режим task_bridge: бот не отвечает LLM с VPS, а кладёт текст в data/telegram_task_inbox.jsonl и ждёт ответ из Cursor (зеркало в telegram_outbox.jsonl).
Статус координатора — data/agent_coordination.json (owner cursor при активной задаче).
Чат с моделью на сервере — вкладка /ai (отдельно от Cursor-моста).
Включите агента Cursor — сообщения в Telegram станут задачами для Cursor; ответ вернётся в тот же чат.
Координатор: …
prepare-reinstall строит чеклист: селективная или полная очистка KU, сброс маркера firstboot, команда opkg disk.
Селективная — убирает autossh, cron KU, скрипты; HydraRoute и opkg остаются.
Полная — дополнительно HydraRoute; в поле подтверждения нужно YES.
Типичный цикл: план → cleanup на роутере → rm .firstboot_done → bundle → reboot → при необходимости apply-setup с Firstboot.
План без автоматического cleanup — команды копируются из модального окна.
Снимает объект с VPS: карточка в routers.json, ключи reverse-SSH, кэши. Опционально — селективная очистка KU на роутере (туннель, cron, ku_*).
План отключения / «Только план (dry_run)» — только предпросмотр: на роутере и VPS ничего не выполняется. Снимите галочку и подтвердите для применения.
Не трогает WAN/интернет и Entware. HydraRoute по умолчанию остаётся; отдельная галочка снимает HR (neo-прокси на LAN перестанет работать).
Для выполнения: DETACH, ОТКЛЮЧИТЬ или имя роутера; при снятии HR — ещё REMOVE_HR в поле HR.
Когда объект больше не обслуживается KU, но роутер должен остаться в сети. Роутер — в списке выше («Применить агент»).
hrweb_login + hrweb_password (пароль веб Keenetic, не SSH). Без них — только ручной Web CLI.wan_ndmc_iface в карточке (как в show interface на Keenetic).:22→:222 в Web CLI) или дождитесь туннеля.