# Локальные инструкции (FastX-test / Telegram-мост)

Это **старая тестовая версия FastX**: dependency-free Python-мост к Telegram Bot API
для бота **@kjn3bot** (`telegram_bot.py`, `FastX_publish.html`, `README.md`).
Актуальная кодовая база FastX живёт отдельно (`/home/dev2f/fastx-dev`), сюда её не тащить.

## Ответы пользователю в Telegram

Эта сессия управляется через Telegram-мост: бот **@kjn3bot**, user-юнит
`alex-telegram-bridge.service`, tmux-сессия `FastX-test` (pane `FastX-test:0.0`).

- Сообщения с префиксом **`[Telegram]`** приходят от пользователя из Telegram.
  Обычный вывод этого TUI обратно в Telegram **НЕ пересылается**.
- Единственный способ ответить пользователю в Telegram — явно выполнить:

  ```bash
  alex-tg-send "краткий ответ или статус"
  ```

- Файл/отчёт в Telegram: `alex-tg-file <путь> ["подпись"]` (`alex-tg-send` умеет только текст).
- **Правило:** после обработки сообщения с префиксом `[Telegram]` ОБЯЗАТЕЛЬНО
  отправь краткий итог (1–5 строк) через `alex-tg-send "..."`. Без этого
  пользователь в Telegram ничего не увидит. Не дублируй весь вывод.
- Присланные из Telegram файлы мост складывает в `~/.config/alex-telegram-bridge/media/`,
  событие на каждый — строкой в `~/.config/alex-telegram-bridge/inbox.jsonl`.
- На обычные локальные задачи (без префикса `[Telegram]`) `alex-tg-send` не нужен.

## Автопубликация сборок (правило владельца, 11.09.2026)

Присланная в бот сборка `FastX_N_.html` публикуется **сама, без команды «обнови»**.
Механизм: `autopublish.sh` в этом каталоге + user-юниты `fastx-autopublish.path`
(следит за `inbox.jsonl` моста) и `fastx-autopublish.timer` (страховка раз в 2 мин).
Скрипт берёт последний html-документ владельца из журнала, делает `.bak` обеих копий,
кладёт файл в `FastX_publish.html` и `/var/www/fastx-miniapp/index.html`, сверяет md5
с ответом `https://test07.fastotc.xyz/fastx-miniapp/index.html` и сам пишет в Telegram.
Состояние: `~/.config/fastx-autopublish/last_processed_path`.

- На `[Telegram] обнови` теперь **не публиковать вручную**, а проверить: журнал
  `journalctl --user -u fastx-autopublish.service -n 5`, хеш файла из `inbox.jsonl`
  против ответа сервера, и ответить в Telegram итогом.
- Отключить: `systemctl --user disable --now fastx-autopublish.path fastx-autopublish.timer`.
- Тест на копиях без стенда: переменные `FASTX_INBOX/STATE_DIR/PUB/WWW/URL/TG`
  (см. шапку скрипта), `FASTX_URL=file://…`, `FASTX_TG=/bin/echo`.
