HomeLab

🧠 Проект: Автоматизация публикации в Threads через Telegram + n8n

🧠 Проект: Автоматизация публикации в Threads через Telegram + n8n

Суть

Собрал систему, где посты в Threads не пишутся руками, а проходят через контролируемый pipeline:

Telegram -> AI -> согласование -> публикация

Без хаоса и без "запостил и пожалел".

Архитектура

                 +--------------------+
                 |   Telegram (topic) |
                 +----------+---------+
                            |
                            v
                    +-------+-------+
                    |   n8n workflow |
                    +---+-------+----+
                        |       |
                        |       +--------------------+
                        |                            |
                        v                            v
               +--------+--------+          +--------+--------+
               |   AI: draft gen |          | Telegram approve |
               +--------+--------+          +--------+--------+
                        |                            |
                        v                            |
                +-------+--------+                   |
                | Data Table     |<------------------+
                | threads_drafts |
                +---+--------+---+
                    |        |
        approve -----+        +----- rewrite
                    |              (same source_text)
                    v
            +-------+--------+
            | Threads API    |
            +-------+--------+
                    |
                    v
            +-------+--------+
            | Published post |
            +----------------+

Как это работает

  1. Вход

Пишу тему в Telegram, например:

В Иркутске снова сильный ветер

  1. Генерация

AI:

  • вытаскивает суть
  • превращает в короткий пост под Threads
  • применяет стиль (hard / expert / casual / provocative)

  • Сохранение

Черновик сохраняется в таблицу threads_drafts.

Структура:

  • draft_id
  • chat_id
  • source_text
  • text
  • status

Статусы черновиков

new  -> pending_approval -> approved -> published
  \-> rewrite_requested -> new (new draft_id)
  1. Согласование

В Telegram приходит черновик и кнопки:

  • Опубликовать
  • Переделать

  • Варианты действий

Опубликовать:

  • берем draft из таблицы
  • создаем post через Threads API
  • публикуем
  • status = published

Переделать:

  • берем исходный текст
  • AI переписывает без смены темы
  • создается новый draft
  • снова отправляется на согласование

AI-логика

Разделил на 3 этапа:

  1. Смысл

Извлекается только суть, без фантазий.

  1. Генерация

Формируется пост под Threads.

  1. Переделка

Переписывает текст, но:

  • не меняет тему
  • не добавляет "мотивацию из воздуха"
  • делает текст живее

Стили

Используется случайный стиль:

  • hard: жестко, коротко
  • expert: спокойно и по делу
  • casual: как сообщение другу
  • provocative: с зацепкой

Проблемы, которые решены

  • AI писал "инфоцыганскую чушь" -> запрет на добавление новых смыслов
  • уход от темы -> жесткая фиксация source_text
  • потеря данных между нодами -> явная прокладка draft_id / chat_id
  • Telegram callback ломался -> один trigger на message + callback_query
  • дубли публикаций -> контроль через status

Технологии

  • n8n (self-hosted)
  • Telegram Bot API
  • Threads API
  • Data Table (n8n storage)
  • OpenAI (генерация)

Почему это удобно

  • не публикую "сырой" текст
  • есть контроль перед постингом
  • можно быстро переделать
  • можно наращивать автоматизацию

Что дальше

Планирую добавить:

  • автосбор тем (RSS / новости)
  • отложенную публикацию
  • очередь постов
  • антидубли
  • логирование ошибок
  • персональный стиль генерации

Вывод

Это уже не "игрушка с AI".

Это полноценный pipeline публикаций, где:

  • AI: инструмент
  • Telegram: интерфейс
  • n8n: мозг системы