Автоматическое извлечение задач, поручений и договорённостей из переписки, протоколов и стенограмм. Интеграция с Jira, Mattermost и Telegram. Контроль дедлайнов и напоминания.
# ─── ВХОДНЫЕ ДАННЫЕ ─── Источники: • Электронная почта (IMAP) — письма с поручениями • Аудио/видео встреч — ВКС → ДИОН → скачивание → STT • Существующие протоколы — DOCX / PDF / TXT • Заметки — голосовые сообщения, текстовые заметки # ─── ОБРАБОТКА (Hermes Agent + OpenRouter) ─── Шаг 1. Извлечение текста IF аудио OR видео: → FFmpeg (извлечение аудиодорожки) → OpenRouter: Gemini 3 Flash (input_audio) → расшифровка ELSE: → извлечение текста напрямую Шаг 2. LLM-парсинг поручений → Строгий промпт (constraint-based) → Извлечение: • "кто" — автор поручения • "кому" — исполнитель • "что" — суть задачи • "срок" — дедлайн • "приоритет" — из контекста → Если поле не определено → "НЕ УСТАНОВЛЕНО" Шаг 3. Валидация по оргструктуре → MemPalace KG: kg_query(entity="Исполнитель") → Проверка: автор имеет право давать поручение? • Подчинённый → ✅ прямое • Равный (кросс-функциональный) → ⚠️ согласование • Начальник → ❌ невалидно • Не в организации → ℹ️ запрос контакта # ─── ИНТЕГРАЦИИ ─── Шаг 4. Создание задач → Jira API / Linear API: • Проект: "Поручения" • Заголовок: "[Встреча dd.mm] {суть}" • Исполнитель: {кому} • Дедлайн: {срок} • Приоритет: {высокий/средний/низкий} • Метка: из_протокола • Связь: родительская задача (если уточнение) Шаг 5. Confluence (логирование) → Создание/обновление страницы: • Раздел "Поручения {дата}" • Таблица: автор | исполнитель | задача | срок | статус Шаг 6. Уведомления → Telegram: протокол + ссылки на задачи → Mattermost: уведомление команде → Email: рассылка отсутствующим → Исполнителю: личное сообщение с задачей # ─── НАПОМИНАНИЯ (CRON) ─── Cron-расписание • T-1 день: "Завтра дедлайн по задаче {X}" • T-0 день: "Сегодня дедлайн по задаче {X}" • T+1 день: "Просрочка: задача {X}, ответственный {Y}" • T+3 дня: "Эскалация: {руководитель}, {Y} просрочил на 3 дня" # ─── ОБОГАЩЕНИЕ ГРАФА ─── Каждая обработанная встреча → новые факты: • kg_add(subject="Сергей", predicate="отвечает_за", object="Лендинг") • kg_add(subject="Лендинг", predicate="дедлайн", object="2026-05-02") • kg_add(subject="Кабан Кабаныч", predicate="поручил", object="Лендинг")
Каждое поручение проверяется по графу организации перед созданием задачи:
| Автор | Исполнитель | Тип поручения | Статус | Действие |
|---|---|---|---|---|
| Кабан Кабаныч (гендир) | Любой | Прямое | ✅ Валидно | Задача создаётся сразу |
| Сергей (рук. маркетинга) | Дмитрий (подчинённый) | Прямое | ✅ Валидно | Задача создаётся сразу |
| Сергей | Владимир (техдир, не подчинён) | Кросс-функциональное | ⚠️ Согласование | Уведомление Владимиру + запрос подтверждения |
| Владимир | Кабан Кабаныч | — | ❌ Невалидно | Поручение начальнику блокируется |
| Дмитрий (pr-менеджер) | Сергей | — | ❌ Невалидно | Нет полномочий давать поручения |
Если в стенограмме встречается «Дим, сделай отчёт», а Дмитрий не подчиняется автору — система не создаст задачу, а запросит подтверждение у вышестоящего руководителя. Ни одно поручение не теряется, но и не создаётся автоматически там, где это нарушает субординацию.
— Сергей, как там лендинг?
— Готовим, Кабан Кабаныч. Дим,
подготовь тексты до четверга.
— Владимир, нужен доступ к серверу
для тестирования формы.
— И да, Алексей, собери аналитику
по конкурентам за прошлый месяц.
Поручение 1 Автор: Кабан Кабаныч Кому: Сергей Что: Отчёт по лендингу Срок: НЕ УСТАНОВЛЕН Статус: ✅ валидно Поручение 2 Автор: Сергей Кому: Дмитрий Что: Подготовить тексты Срок: четверг (2026-05-01) Статус: ✅ валидно (подчинённый) Поручение 3 Автор: Сергей Кому: Владимир Что: Доступ к серверу Срок: НЕ УСТАНОВЛЕН Статус: ⚠️ кросс-функциональное Поручение 4 Автор: Сергей Кому: Алексей Что: Аналитика конкурентов Срок: НЕ УСТАНОВЛЕН Статус: ✅ валидно (подчинённый)
| Статья | Расчёт | Стоимость |
|---|---|---|
| VPS | 4 vCPU · 4 GB · 20 GB SSD | 1 500–2 500 ₽/мес |
| OpenRouter: Gemini 3 Flash | 50 встреч × ~$0.20 (1 час аудио) | $10/мес ≈ 800 ₽ |
| OpenRouter: Nemotron 3 Nano Omni (free) | Бесплатный, open-source, аудио-вход | $0/мес |
| Jira / Confluence | Cloud Free (до 10 пользователей) | $0 |
| Почта (IMAP) | Яндекс 360 / свой postfix на домене | 0–150 ₽/мес |
| Итого (Gemini 3 Flash) | ~2 500–3 500 ₽/мес | |
| Итого (Nemotron free) | ~1 500–2 700 ₽/мес |