@roflochinsky/tgsum
v0.1.4
Published
Telegram export -> AI-ready Markdown CLI
Readme
████████╗ ██████╗ ███████╗██╗ ██╗███╗ ███╗
╚══██╔══╝██╔════╝ ██╔════╝██║ ██║████╗ ████║
██║ ██║ ███╗███████╗██║ ██║██╔████╔██║
██║ ██║ ██║╚════██║██║ ██║██║╚██╔╝██║
██║ ╚██████╔╝███████║╚██████╔╝██║ ╚═╝ ██║
╚═╝ ╚═════╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝Telegram-выгрузка → чистые .md файлы под чат с ИИ.
Локально. Без API, без сети, без облака.
Что это
tgsum берёт экспорт Telegram Desktop (огромный result.json, до пары ГБ), даёт через
пошаговый мастер выбрать нужные чаты и форум-топики, и сохраняет каждый в аккуратный,
токен-экономный Markdown — чтобы вставить в чат с Claude/ChatGPT и попросить саммари.
Сам инструмент ничего не суммаризирует и никуда не отправляет — он только вытаскивает и причёсывает данные. Анализ делает ИИ-чат, уже на твоей стороне.
Возможности
- 🧙 Гайдед-мастер — три понятных шага, ничего не надо запоминать.
- 🔎 Поиск по чатам и топикам прямо в выборе (печатай — фильтруется), мультивыбор.
- 🌊 Потоковый парсер — переваривает многогигабайтный
result.json, не загружая его в память. - 🧵 Форум-топики — раскладывает супергруппы по топикам (General + остальные).
- ✂️ Авто-разбивка на части под лимит контекста — без потерь, каждая часть с шапкой.
- 🧹 Чистый формат — спикеры, реплаи, даты; шум (служебка, реакции) вырезан.
- 🔒 100% локально — ни сети, ни ключей, ни телеметрии.
Установка
npm install -g @roflochinsky/tgsumНужен Node ≥ 22. На Windows запускай в Windows Terminal или PowerShell (в старом
cmd.exeрамки мастера рисуются криво — это шрифт консоли, не баг).
Запуск
tgsumМастер проведёт по шагам:
- Файл — путь к
result.json(можно перетащить файл в терминал). - Выбор — найди и отметь нужные чаты/топики (поиск по названию, пробел — отметить).
- Готово — укажи папку, и
tgsumзапишет по.mdна каждый выбранный чат/топик.
Пример вывода
# Чат: Команда / Топик: Релизы
# Период: 2026-06-18 — 2026-06-20 | сообщений: 142 | участники: Алиса, Боб, Вера
## 2026-06-20
[14:02] Алиса: когда катим релиз?
[14:03] Боб: давай в 15:00, сначала смёржь PR #210
[14:05] Вера ↳ Боб «смёржь PR #210»: смёржила
[14:06] Боб: [photo] логи деплоя
[14:40] Алиса: [voice 0:42]Что сохраняется, а что нет
| Сохраняется | Вырезается / сворачивается |
|---|---|
| Текст сообщений, имена авторов | Служебные сообщения (вошёл/закрепил/звонок) |
| Реплаи (↳ Имя «цитата») | Реакции |
| Даты и время | Стикеры → [sticker 👍] |
| Ссылки, упоминания, подписи к фото | Фото/видео/голос → [photo] / [voice 0:42] / [file: …] |
Голосовые и медиа сворачиваются в маркеры, потому что в выгрузке Telegram нет расшифровок — только файлы. Подписи к медиа (текст) сохраняются.
Как это работает
Два потоковых прохода по result.json: первый строит лёгкий индекс (чаты, топики,
счётчики, даты) не держа файл в памяти; второй вытаскивает только выбранное и форматирует.
Если чат большой — режется на имя.part-1.md, part-2.md… без потери сообщений
(каждая часть несёт ту же шапку, ни одно сообщение не выпадает).
Как получить result.json
Telegram Desktop → ⚙ Settings → Advanced → Export Telegram data →
формат Machine-readable JSON (медиа можно не включать) → Export.
В папке экспорта появится result.json.
Лицензия
MIT
