Локальный Streamlit-сервис для структурного сравнения двух версий документации в формате DOCX.
Проект ориентирован на технических писателей, редакторов и аналитиков, которым нужен понятный журнал изменений без ручного построчного просмотра документов.
- сравнение заголовков и разделов;
- поиск добавленного, удалённого и изменённого текста;
- сравнение маркированных и нумерованных списков;
- сравнение таблиц по строкам и ячейкам;
- группировка изменений по разделам;
- фильтрация по типу изменения и типу элемента;
- подробный просмотр «Предыдущая версия / Новая версия»;
- выгрузка полного отчёта в TXT;
- предупреждение при загрузке одинаковых файлов.
- Python 3.13;
- Streamlit;
- python-docx;
- difflib из стандартной библиотеки Python.
python -m venv .venv
source .venv/Scripts/activate
python -m pip install -r requirements.txt
streamlit run app.pypython -m venv .venv
.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt
streamlit run app.pyПосле запуска приложение откроется по адресу:
http://localhost:8501
- Загрузите предыдущую версию DOCX.
- Загрузите новую версию DOCX.
- Нажмите «Сравнить документы».
- Изучите статистику и подробный журнал изменений.
- При необходимости скачайте TXT-отчёт.
doc-version-comparator/
├── .streamlit/
│ └── config.toml
├── assets/
│ ├── app-preview.png
│ ├── app-preview-full.png
│ └── report-download.png
├── .gitignore
├── CHANGELOG.md
├── README.md
├── app.py
└── requirements.txt
Сервис пока не сравнивает:
- изображения;
- колонтитулы;
- комментарии и режим исправлений Word;
- шрифты, цвета и другое форматирование;
- сложные объединённые таблицы;
- автоматическую нумерацию Word во всех возможных конфигурациях;
- перемещение разделов как отдельный тип изменения.
Таблицы сравниваются по позиции строк и ячеек. При серьёзной перестройке таблицы результат может потребовать ручной проверки.
Не добавляйте в публичный репозиторий рабочие документы, внутреннюю документацию, персональные данные, пароли, токены и API-ключи. Файл .gitignore исключает DOCX по умолчанию.
- поддержка Markdown;
- более точное сопоставление перемещённых блоков;
- экспорт отчёта в DOCX и XLSX;
- сравнение форматирования;
- тесты и модульная архитектура;
- публикация демоверсии в Streamlit Community Cloud.


