Локальный MVP · Telegram

Ответ уже был.
Теперь его легко найти.

AlreadyMentioned находит сохранённые ответы администраторов на повторяющиеся вопросы в Telegram-чате, показывает ответ в reply и оставляет ссылку на оригинал.

Без генерации ответов. Без платных API. Данные остаются под вашим контролем.

a·
Тестовый чат AlreadyMentionedпример диалога
···
Как войти в личный кабинет?
Как войти в личный кабинет?
Откройте раздел «Личный кабинет» на сайте.
Где найти вход в мой кабинет?
a·
Где найти вход в мой кабинет?
Похожий ответ из этого чата:
Откройте раздел «Личный кабинет» на сайте.
📎 Оригинал
Один чат. Одно лучшее сохранённое решение.
01 / СЦЕНАРИЙ

Простая цепочка — полезный ответ

Бот опирается на ответы администраторов этого чата.

01
?

Участник спрашивает

В группе появляется текстовый вопрос. Бот не импортирует старую переписку.

02
↳

Администратор отвечает

Администратор отвечает через reply на вопрос. Подходящий ответ сохраняется без сообщения бота; ошибку можно отменить через /undo.

03
↗

Бот показывает ответ

На похожий новый вопрос он отвечает цитатой лучшего решения и оставляет ссылку на оригинал.

02 / ПРИНЦИПЫ

Предсказуемый поиск вместо догадок

◎

Только этот чат

Решения разных чатов изолированы. Каждый чат настраивает собственный порог совпадения.

≋

Локальная модель

FastEmbed и multilingual E5 сравнивают вопросы по смыслу. Модель не сочиняет ответы.

◇

Минимум данных

В SQLite попадают сохранённые пары, оценки и настройки — не вся история сообщений.

✳

Контроль администратора

Ответы администратора сохраняются автоматически; отдельное решение удаляется через /undo, данные чата — через /forget.

03 / ЗАПУСК

Запустите у себя

Python 3.12, aiogram 3, SQLite и Docker Compose. Токен Telegram остаётся в локальном .env; контейнер не открывает входящие порты.

Полная инструкция в README
PowerShell
# 1. Настройте .env
docker compose build
docker compose up -d
docker compose logs -f bot