Files
zeropost-engine/HANDOFF_2026-06-24.md
T

107 lines
5.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# HANDOFF — ZeroPost + PostCast сессия 2026-06-19..24
## Состояние на момент завершения
### Серверы
- **prod2** (80.93.52.241): ZeroPost + PostCast + Fermiq + CRM4Auto + Gitea
- **Диск prod2**: 37GB used / 59GB (66%) — норма
- **newvps** (80.93.60.231): AgroTO production
---
## ZeroPost (zeropost.ru)
### Git commits финальные
- **zeropost-engine**: `e1f2f44` (fix MAX platform API)
- **zeropost-web**: `6f7c47a` (hero + metadata + OG для всех категорий)
### Что работает
- ✅ Автогенерация: 8 категорий, ротация 4 из 8 каждый день (dayOfYear % 8)
- ✅ Слоты публикации: 08:11/12:11/16:11/20:11 синхронны сайт ↔ ТГ
- ✅ Заметки Зеро: генерация 13:00 → подтверждение → публикация след. день 13:00
- ✅ tgSend.js — единый модуль отправки в TG (multipart для локальных файлов)
- ✅ Volume uploads примонтирован в engine (23+ позы Зеро видны)
- ✅ draftAutoApprove: только вчерашние черновики LIMIT 4, catch-up при старте
- ✅ pg_advisory_lock в autogen — нет дублей статей
- ✅ Защита от залпа: skip posts > 3ч, 1 пост за тик
### 8 категорий ZeroPost
| slug | name | генерация |
|------|------|-----------|
| ai-tools | ИИ-инструменты | 17:00 |
| cybersec | Кибербезопасность | 17:05 |
| automation | Автоматизация | 17:10 |
| ai-dev | Разработка с ИИ | 17:15 |
| comparisons | Сравнения | 17:20 |
| tutorials | Туториалы | 17:25 |
| opinions | Мнения | 17:30 |
| digest | Дайджест | 17:35 |
### Банк тем ZeroPost
- ai-tools: 23 свободных, ai-dev: 26, automation: 22, cybersec: 21
- comparisons/tutorials/opinions/digest: ~15 каждый
- Жанровые маркеры: [ТУТОРИАЛ][СРАВНЕНИЕ][МНЕНИЕ][ДАЙДЖЕСТ]
### Настройки в app_settings (ZeroPost БД)
- SITE_PUBLISH_SLOTS: 08:11,12:11,16:11,20:11
- ZERO_SITE_URL_BASE: https://zeropost.ru/zero
- ZERO_NOTES_APPROVE_HOUR: 9
- ZERO_NOTES_GENERATE_HOUR: 13
- ZERO_NOTES_PUBLISH_HOUR: 13
---
## PostCast (postcast.ru)
### Git commits финальные
- **postcast-engine**: `4ec3239` — система категорий + банк тем + ротация
- **postcast-tool**: `cdd507f` — AutogenTab UI
### Что сделано в эту сессию
- ✅ Новые таблицы в БД: channel_categories, category_topics, channel_autogen_settings, best_time_stats
- ✅ posts: +source_topic, +source_category_id, +genre
- ✅ Engine: новый autogenNew.js с ротацией + pg_advisory_lock
- ✅ Engine routes: /api/channels/:id/categories + /api/channels/:id/autogen
- ✅ Tool: AutogenTab.js — полноценная вкладка «Автогенерация»
- ✅ Tool: /api/engine/channels/[channelId]/[[...path]] — catch-all proxy
- ✅ PostCast tool: вкладка «Автогенерация» в ChannelView
### PostCast архитектура
- Engine: port 3035, uuid rkvh8gvwydl9y9cgy0vuhjuq, DB: postcast@10.0.1.24
- Tool: port 3043, uuid c12chhkedih62hviw2uk4o93
- ENGINE_URL в tool: http://host.docker.internal:3035
### Что НЕ сделано (следующая сессия)
1. **Аналитика лучшего времени** — таблица best_time_stats создана, нужен воркер + UI
2. **Inbox + AI-ответы** — inbox_messages таблица есть, нужен webhook + classifier
3. **Мультиканальность** — один пост → адаптация под TG/VK/MAX (transform endpoint)
4. **Онбординг** — помощь новому пользователю настроить первый канал
5. **Scheduler PostCast** — запуск autogen по расписанию (сейчас только ручной)
---
## Инфраструктура
### prod2 — важные константы
- Coolify API token: `5|jWMs5bZf25KUKNEXWVOOCu5BBXO29OEmHeqTSqte3875ea84`
- ZeroPost engine uuid: `gtqe11a2cc6klt1ew9078fdn`
- ZeroPost web uuid: `y4iqlg41hpvl8tcs20wc720y`
- PostCast engine uuid: `rkvh8gvwydl9y9cgy0vuhjuq`
- PostCast tool uuid: `c12chhkedih62hviw2uk4o93`
- ENGINE_SECRET: `zeropost_internal_2026`
- ADMIN_PASSWORD (ZeroPost web): `ZeroPost2026!`
### Uploads volume
- Хост: /var/www/zeropost-uploads (481 файл включая zero-*.webp)
- ZeroPost engine: примонтирован в /var/www/zeropost-uploads ✅
- Coolify local_persistent_volumes id=14 (resource_type исправлен)
### Fermiq backups (prod2)
- /etc/cron.d/farm-backups: daily без фото (~23MB), weekly с фото (~1.5GB)
- Retention: daily 3 дня, weekly 28 дней
### Замеченные технические долги
- PostCast tool Coolify deploy сломан (SSH key issue) — деплоить через git pull + npm run build + docker restart
- whisper.cpp удалён с prod2 (был 2.1GB от AgroTO)
- ZeroPost web коммит d5a0fb2 в Coolify — не та версия (использовать manual build если нужно)