Skip to content

Repository files navigation

mnemo

Единый стандарт чат-экспортов — как плагин Claude Code.

Переписка с заказчиком, ТЗ в .docx, скрины, транскрипты созвонов складываются в архив, у которого известно происхождение каждого куска и который проверяется линтером, а не глазами.

/mnemo:init          создать экспорт или принять существующий
/mnemo:import        выгрузка, буфер захвата или копипаста → разложить целиком
/mnemo:add-text      сообщение или транскрипт → RAW
/mnemo:add-files     документы → RAW, текст и вшитые картинки извлекаются
/mnemo:add-screens   скриншоты → RAW, байт-в-байт
/mnemo:verify        проверить, что архив цел и соответствует стандарту

Зачем

Рабочий контекст разбирается руками и каждый раз чуть по-своему. Через месяц непонятно, что в архиве дословная цитата заказчика, а что чей-то конспект — а решения принимаются по обоим одинаково.

mnemo фиксирует это как формат:

  • RAW дословен и неизменен. Каждый файл учтён с sha256 — подмена видна.
  • Кто есть кто. Реестр людей связывает имя в мессенджере, логин в git и имя в разговоре; роль self отмечает того, кто ведёт архив.
  • Авторство отделено от текста. Telegram в копипасте подписывает пересланное сообщение тем, кто переслал. На живом чате это затронуло 16 сообщений из 21 — требования заказчика достались бы его руководителю. Поле attribution делает такую подмену видимой и запрещает цитировать по ложному автору.
  • Повторный импорт безопасен. Выгрузил чат заново — примется только новое, ничего не задвоится.
  • У каждого материала есть достоверность. verbatim, reconstructed, digest, placeholder. Конспект нельзя процитировать как чьи-то слова — это запрещено стандартом, а не оставлено на внимательность.
  • Пропуски видны. Не удалось достать оригинал — заводится запись, а не тишина. «Не добыт» и «утрачен» — разные вещи: первое задача, второе факт.
  • INDEX.md генерируется. Рукописный индекс молча расходится с содержимым; здесь он производный от манифеста, и разойтись не может.
  • Изъятия — часть формата. Что удалено, почему, обратимо ли, где лежит оригинал. Без этого архив нельзя показать.
  • Данные не уезжают в git. Каталог экспорта исключается из репозитория хост-проекта до того, как в нём появится первый файл.

Установка

git clone https://github.com/ZenonEl/mnemo ~/.claude/plugins/mnemo

Зависимостей нет — скрипты работают на голой стандартной библиотеке Python 3.

Как это выглядит

<export>/
├── INDEX.md                      производный: хронология, участники, хвосты
├── MANIFEST.json                 источник истины о содержимом
├── summaries/
│   ├── <дата>_chat-summary.md    о чём договорились
│   ├── attachments-summary.md    что решено в документах, на что сверяться
│   ├── conventions.md            правила работы + кто и когда их установил
│   ├── findings-log.md           проверенные факты и куда они донесены
│   └── redactions.md             производный: что изъято и почему
└── raw/
    ├── messages/     YYYY-MM-DD_<author>[_<label>].md
    ├── attachments/  оригиналы + _extracted-text/
    ├── screenshots/  оригиналы + from-docx/<doc>/
    └── voice/

Команды

Команда Что делает
/mnemo:init создать экспорт или принять существующий без потери содержимого
/mnemo:import выгрузка Telegram, буфер захвата herald или копипаста: авторство, вложения, дедупликация
/mnemo:add-text сообщение, заметка, транскрипт
/mnemo:add-files документы; из .docx/.xlsx достаётся текст и вшитые изображения
/mnemo:add-screens скриншоты без пересжатия
/mnemo:note проверенный факт в findings-log
/mnemo:rule рабочее правило в conventions
/mnemo:redact зарегистрировать изъятие
/mnemo:remove снять запись с учёта, не правя манифест руками
/mnemo:sync пересобрать производные из манифеста
/mnemo:req требование заказчика: дословно, с доказательством
/mnemo:ask открытый вопрос: что блокирует, кому задан
/mnemo:audit всё ли сделано, как хотел заказчик — с доказательствами
/mnemo:verify линтер: 20 правил стандарта
/mnemo:gaps чего не хватает и что утрачено
/mnemo:people реестр людей: связать имена одного человека из разных источников
/mnemo:publish публичный срез без рабочих данных

Стандарт

  • SPEC/STANDARD.md — раскладка, контракт item, правила; версия объявлена там
  • SPEC/PROVENANCE.md — модель достоверности и правила цитирования
  • SPEC/CITATION.md — формат ссылок ctx:<slug>#<id>
  • SPEC/QUERY.md — контракт чтения: как берут данные сторонние инструменты
  • SPEC/CHANGELOG.md — версии

Стандарт — источник истины. Навыки, команды и скрипты — его потребители; расхождение между ними и текстом стандарта считается дефектом инструмента.

Проверено на

Три реальных экспорта, сделанных руками до появления стандарта, — приняты без потери содержимого, линтер проходит на всех: рабочая переписка с приёмкой проекта (документы с вшитыми скринами), доска задач из группового чата, и реконструкция удалённой переписки из логов сессий с четырьмя уровнями достоверности в одном файле.

Приёмка нашла в стандарте два пробела, которых проектирование не заметило, — оба закрыты и описаны в SPEC/CHANGELOG.md.

Связка

mnemo — один из трёх инструментов вокруг рабочего контекста. Разделяются три опубликованных формата: ссылка ctx:<slug>#<id>, сам манифест и контракт чтения — все описаны в SPEC/ и версионированы. Ничего исполняемого не разделяется: ни библиотеки, ни процесса, ни базы. Потребитель вызывает команду и получает JSON — так же, как вызвал бы gh; зависимость идёт на опубликованный формат вывода, и mnemo о потребителе не знает.

Проект Роль
mnemo архив материала с провенансом; факты, решения, вопросы
ephemeris дейлики: состояние дня и синк в GitHub issues
herald канал наружу и захват рабочих чатов в буфер, откуда их берёт импорт

Дальше

BACKLOG.md — векторный поиск, MCP-сервер, расшифровка голосовых, парсер Telegram Desktop, автоматическая деперсонализация. Всё это ложится поверх стандарта и не требует его переписывания.

Общая картина, частью которой это является, — docs/VISION.md.

Правила работы над проектом

CONTRIBUTING.md — в том числе главное: примеры только обезличенные. Настоящие имена проектов, людей и организаций в репозиторий не попадают ни в каком виде.

Лицензии

Репозиторий лицензирован по частям:

Путь Лицензия
SPEC/ — текст стандарта CC BY-SA 4.0
всё остальное — навыки, команды, скрипты AGPL-3.0-or-later

Стандарт — текст, и вирусность нужна на его производные редакции. Код — под AGPL, потому что осмысленный сценарий развития (MCP-сервер поверх архива) иначе позволял бы поднять его как закрытый сервис.

About

Claude Code plugin and format for provenance-aware project archives with RAW evidence, generated indexes, and integrity checks

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages