chat_assembler

2

Описание

База знаний по телеграм-чатам

Языки

  • Python99,3%
  • Shell0,7%
6 месяцев назад
6 месяцев назад
6 месяцев назад
7 месяцев назад
6 месяцев назад
6 месяцев назад
6 месяцев назад
6 месяцев назад
readme.md

Chat Assembler — эффективное управление знаниями чатов 💬🧩📚

Есть десятиминутный докладик по теме.

Чаты-мессенджеры стали основным методом коммуникации, и даже неотъемлемой частью жизни человечества. 🌍

  • Как «интерфейс коммуникации» они вытеснили емейлы ✉️ и телефонные созвоны 📞, в организациях обходят надоевшие тикет-системы 🎫 и всевозможные системы управления документами и знаниями: системы документооборота, форумы, файлохранилки и т.п. 🗂️🧠
  • Они проникли в нашу рабочую и частную жизнь: «семья—милиция—школа» 👪👮‍♂️🏫, «друзья—любовники», «хобби сообщества и чаты подъездов», «покупка-продажа-сервисы», «коллеги—компания—клиенты». У всех без исключения — даже первые лица государств, решения о военных операциях принимают там же 🏛️⚖️.
  • Чаты стали и основным интерфейсом общения с Искусственным Интеллектом — в перспективе главным собеседником 💬🤖🧠.
  • По сути они начали заменять привычный интернет, который затравили цензурой 🚫, и всё больше ресурсов погружаются в глубины скрытых чатов — огромной «тёмной материей» знаний и информации, скрытых в глубинах компьютерооблачных интернет-туманностей ☁️🕳️

Ведущим мессенджером и чатохранилищем на данный момент можно считать Telegram, который при всех своих плюсах приносит множество неудобств, свойственных и остальным мессенджерам 📱.

⚖️ «Интерфейс для тупых» дал популярность, но принес боль для тех, кому нужно больше, чем пара десятков чатов по семье и работе. 🤕

  • Мучительно скроллировать многолетний чат и почти невозможно прочитать его с начала, да и просто неудобно получать там большой объём информации — «смартфонный интерфейс для обычных людей». ⏳📜
  • Нет возможности структурировать знания («больше 5 папок — только премиум», «вложенные папки?» 🗃️🚫 — такое было только в почившем Скайпе).
  • Нельзя умно фильтровать в чатах отдельных людей или ботов, темы или сообщения 🧲🔎.
  • Неудобно искать, и трудно анализировать через AI/ML 🔍🤖.
    • в TG хотя бы есть API, и можно написать или использовать ботов, но это всё только увеличивает бардак.
  • И самое главное — всегда есть риск потерять доступ к отдельным каналам (блокировки, баны), свой доступ целиком, или что всё это вообще прекратит работу и все скрытые там знания исчезнут — для вас, а быть может для всех ⛔🕳️:
    • История FriendFeed, ICQ, Skype, Google Talk, Yahoo! Messenger, MSN Messenger… напоминает, что платформы приходят и уходят. 🪦 В текущей ситуации войн платформ и границ в интернете перспективы ужасны. ⚔️🌐

Chat Assembler возвращает вам контроль над всеми вашими чатами в Telegram, а в перспективе и чатами в других системах. 🕹️📚

Вы получите:

  • Обновляемые Markdown-файлы сообщений чатов, структурированные по времени. ⏱️📝
    Любому IT-шнику их гораздо быстрее и удобней читать в нормальном редакторе (и даже в браузере через code-server). 💻
  • Категоризация по удобной вам структуре папок 🗂️🖼️🎞️📄
    • Фильтрация сообщений, если вам необходимо очистить перегруженный чат от грубости или банальности. 🧹
    • Картинки и видео, документы и прочие вложения, будут разложены также по датам.
  • Возможность редактировать эти файлы — записывать свои мысли и замечания прямо «по месту» в процессе чтения. ✍️💡 Это превращает «тупые логи» в персональную или коллективную базу знаний 🧠🤝. Можно положить их под систему управления версиями или файлошаринг типа Nextcloud/Owncloud, в ваш «Second Brain» или «Zettelkasten», интегрировать с Obsidian или Notion.
  • И, разумеется, «плоские файлы» сообщений и аттачментов — простой и понятный интерфейс для любой мыслимой обработки:
    • копирования-редактирования ✂️🧰
    • обработка ИИ (например, резюме/аннотации) 🤖🗒️
    • генерация сайтов по чатам 🌐⚙️
    • индексирование и погружение в RAG-системы 📚🔎

В эпоху ИИ сам код уже стоит мало, что-то подобное может написать любой, даже пользуясь только голосовым интерфейсом ИИ, а основная ценность — то, что это уже прошло длительную «обкатку», нащупаны сценарии использования, разные компромиссы и решения, «корнер-кейсы» и т.п., и продолжается непрерывное улучшение.


Как запустить 🚀

Установка пакета 📦

  • Стандартный
    pip install git+https://репозиторий.где.вы.нашли.chat-assembler
    . 📥
  • Появится утилита
    chat_assembler
    с алиасом
    casm
    . 🛠️

Опции ⚙️

  • По
    casm --help
    можно узнать опции, они могут меняться. ℹ️
  • Ключевые опции 🗝️
    • --basedir
      — собственно каталог для выгрузки-синхронизации 📂
    • --filter
      — фильтр для «выгружать только» 🔎
      • паттерн, который ищется 🧩
        • в названии чата-диалога, 💬
        • или в пути к папке с ним 📁
          • так можно выбирать «всю работу», «все развлечения», «какую-то тему»… 🎯
    • --download
      (
      True
      ) — выполнять стадию выкачивания ⬇️
      • во внутренние структуры в скрытых файлах 🗃️
    • --publish
      (
      True
      ) — выполнять стадию публикации-синхронизации 🚀
      • внутренних структур в текстовые файлы чатов 📤
    • --refresh
      (
      False
      ) — форсировать перезагрузку и публикацию 🔄
      • по умолчанию хранятся номера последнего скачанного и опубликованное сообщение, и скачиваются и публикуются только новые ♻️
        • может быть полезно, если раньше не выкачивали бинарники, а теперь нужно 📦
    • --ignore-archived
      (
      True
      ) — игнорировать архивированные диалоги 🗄️
      • полезно, если их обновлять, но с меньшей частотой 🕰️

Доступ к Telegram ✈️

Можно через сайт. 🌐

  • Откройте my.telegram.org 🔗
    • залогиньтесь 🔑
    • перейдите в
      API development tools
      🧭
    • создайте новое приложение 🆕
      • например
        Chat-Assembler
        🧩
        • название неважно 🤷
        • что писать в поля, тоже неважно 🤷
    • Получите ваши учётные данные 🗝️
      • api_id
        и
        api_hash
        🔐
      • типа логин/пароль 🔒

Когда скрипт запросит их ⌨️

  • вставьте их в консоль ⌨️
  • они будут сохранены в
    config.json
    💾
    • берегите и не публикуйте его! 🔒
  • скрипт также попросит вас дополнительно ➕
    • авторизовать пользователя, которым будете читать чаты ✅
    • как обычно 🔁
      • логин 👤
      • одноразовый код из телеграм 🔢

Конфигурирование ⚙️

При начале первого скачивания, CA положит вам в

basedir
-папку пару конфигурационных файлов 📂

  • глобальный конфиг content.md, где можно сразу прописать что пропускать при скачивании. 🧾
  • локально наследуемый конфиг config.md 🧩
    • он действует на все папки 📁
    • но если положить его с измененными опциями в подпапку — будет действовать только на один или все чаты в этой папке. 🎯
  • все опции описаны в самих конфигах, они человекочитаемы. 📝

Лицензия 📜

Максимально свободная, MIT. 🆓


Перспективы других чатов-источников 🔭

Ответы на возможные вопросы, почему не …?

  • TLDR: жопа везде, кроме Matrix, VK.

WhatsApp 📱

Хотелось бы 🙌

  • популярен «у самых простых людей в РФ» 👥
    • чтобы погрузить часть родительско-подьездно-хоббиевых чатов 🏘️
  • но он максимально встратый 😬
    • не осилили синхронизацию 🔁❌
    • привязан к общению с телефоном 📱🔗
    • API за деньги 💸
    • другой доступ запрещен TOS 🚫
    • даже не жалко, что его душат запретами 😑
      • пусть уйдут в телеграм ✈️

Signal 🔐

  • Не особо хочется 🙅
    • ничего там нет 🕳️
    • не популярен 😕
  • API, доступа к истории нет ⛔
    • как вацап 🤷

IRC 💬

  • Древняя система 🏺
    • вымирает 🦖
    • нет понятия истории и т.п. 📜❌
      • «вытаскивать нечего» 🫥
  • Есть клиенты 💾
    • сохраняющие историю 🗃️
  • «Ненужно» 💤

Discord 🎮

Хотелось бы 🙌

  • там есть много огромных чатов по интересным open-source-проектам 🧑‍💻

Нельзя «заходить пользователем» 🚫

  • по TOS 📄
  • даже чтобы скачать сообщения ⬇️
    • это они называют «self-botting» 🤖
      • просто не осилили надежное API, бояться что завалят (DDOS!) 🛡️
  • предлагаемый ими путь для API 🧭
    • заводить личного бота 🤖
      • засовывать этого бота в каждый чат, который вам нужен 📥
    • идиотско неудобный 🤦

Наверно самое перспективное с Discord 🔭

  • реплика чата в Matrix/Element, брать оттуда. 🔁

Slack 💼

  • Теоретически возможно 🧪
    • API/история есть 📚
  • Но мне уже не нужно 💤
    • «прекратил работу в РФ» 🛑
      • ну и нахер пошел 🚪
  • Может когда-то понадобиться, мне или кому-то. 🤷

Teams 👔

Всрато 💩

  • API 🧰
    • переписки 💬
      • нужно разрешение от Microsoft 🏢
      • Admin Consent 🧾

Matrix 🧪

  • Element, gitter.im, много на нем есть 🌐
  • Теоретически возможно! ✅
  • Практически 🧱
    • пока нет интереса 😐
    • интересующие чаты open-source проектов 🧑‍💻
      • сбежали оттуда в встарый Discord ➡️
  • Забанен доступ в РФ

Когда-нибудь, может быть ⏳

RSS 📰

  • Нет жесткой потребности 💤
    • «не чат» 💬❌
  • Вроде есть нормальные RSS-читалки 📖
    • Inoreader 📡
    • Feedly 📰
    • self-hosted 🏠

Twitter 🐦

Теоретически возможно ✅

  • но это жидовство! 💸
    • вытаскивать открытое 🔓
      • $100 в месяц 💵
    • вытаскивать личную переписку 🔐
      • $5K в месяц 💸

Facebook 📘

  • нет API 🚫
    • для переписки 💬
  • правила все запрещают ⛔
    • только вебскраппинг под угрозой бана 🛑

LinkedIn 💼

Как и Teams 👔

Нужен 📄

  • «partnership approval» 🤝

VK

  • Может быть
    • там остался разум в API, свойственный ТГ
  • Посмотрю, если будут интересные группы
  • Самый наверное перспективный вариант

Обсуждение и новости

Связанные проекты

  • docs2data — конфигурирование через markdown-файлы
  • ainonate — ИИ-аннотирование текстовых чатов