DocxMonster
DocxMonster — Умный обработчик документов
📋 Описание проекта
DocxMonster — это мощное приложение с графическим интерфейсом для автоматической обработки документов Word (.docx) с использованием искусственного интеллекта. Программа позволяет применять AI-обработку к выбранным абзацам документа и генерировать рефераты с нуля.
✨ Основной функционал
1. Обработка документов
- Загрузка документов Word (.docx)
- Выбор абзацев для обработки через регулярные выражения (regex)
- Применение AI-обработки к выбранным абзацам
- Сохранение структуры и форматирования исходного документа
- Поддержка пользовательских пресетов для часто используемых задач
2. Генерация рефератов
- Автоматическое создание рефератов по заданной теме
- Гибкая настройка объема реферата (количество символов)
- Генерация структурированного плана
- Создание связного текста по каждому разделу плана
- Сохранение результата в формате .docx
3. Работа с пресетами
- Сохранение и загрузка предустановленных настроек
- Быстрое переключение между задачами
- Удаление ненужных пресетов
- Автоматическое сохранение в JSON-файл
4. Современный интерфейс
- Светлая серая тема оформления
- Вкладки для переключения между режимами работы
- Прогресс-бар для отслеживания выполнения
- Подробный лог всех операций
- Контекстное меню с буфером обмена
🚀 Установка и запуск
🎯 Быстрый старт (Windows)
Проект имеет автоматизированную систему развертывания:
1. Установка (один раз):
setup.bat
Скрипт автоматически:
- Проверит наличие Python 3.8+
- Создаст виртуальное окружение
- Установит все зависимости
2. Запуск:
run.bat
💡 Подсказка: Просто дважды кликните на
setup.batдля первичной установки, затем используйтеrun.batдля запуска.
Требования
- Python 3.8 или выше (указано в
runtime.txt) - Windows / Linux / macOS
Установка зависимостей (альтернативный способ)
- Убедитесь, что Python установлен на вашем компьютере
- Откройте командную строку (терминал) в папке проекта
- Установите необходимые библиотеки:
pip install -r requirements.txt
Файл requirements.txt содержит все необходимые зависимости для работы программы:
python-docx— работа с документами Wordopenai— взаимодействие с AI API
Настройка API
Перед запуском необходимо получить API-ключ от сервиса Bothub.chat:
- Зарегистрируйтесь на bothub.chat
- Получите API-ключ
- Откройте файл
doc_processor_app3.py - Замените значение переменной
API_KEY(строка 12) на ваш ключ
Запуск программы
python doc_processor_app3.py
📖 Инструкция по использованию
Режим "Обработка документа"
-
Загрузите документ
- Нажмите кнопку "1. Загрузить документ"
- Выберите файл .docx
-
Настройте обработку
- Выберите существующий пресет из выпадающего списка ИЛИ
- Создайте новый:
- Укажите правило выбора абзацев (например:
regex: ^\d+\.) - Введите задание для AI (что нужно сделать с текстом)
- Введите имя пресета и нажмите "Сохранить"
- Укажите правило выбора абзацев (например:
-
Запустите обработку
- Нажмите "2. Обработать документ"
- Дождитесь завершения (прогресс отображается в нижней части окна)
-
Сохраните результат
- Нажмите "3. Сохранить результат"
- Выберите место для сохранения
Режим "Генерация реферата"
-
Укажите параметры
- Введите тему реферата
- Укажите желаемый объем в символах (по умолчанию 5000)
-
Сгенерируйте реферат
- Нажмите "2. Сгенерировать реферат"
- AI создаст структурированный план
- Затем напишет текст для каждого раздела
-
Сохраните результат
- Нажмите "3. Сохранить результат"
- Выберите место для сохранения .docx файла
📁 Структура проекта
DocxMonster/
├── doc_processor_app3.py # Основной исполняемый файл (последняя версия)
├── ai_presets.json # Файл с сохраненными пресетами
├── requirements.txt # Список зависимостей
└── README.md # Данная документация
⚙️ Примеры использования
Пример 1: Создание списка вопросов
Правило: regex: ^\d+\.
Задание: "Создай детальный ответ на этот вопрос в стиле учебника"
Пример 2: Перевод текста
Правило: regex: .+
Задание: "Переведи этот текст на английский язык"
Пример 3: Генерация реферата
Тема: "Искусственный интеллект в медицине"
Объем: 10000 символов
🔧 Технические детали
- Язык программирования: Python 3
- Библиотека GUI: Tkinter
- AI модель: Gemini 2.0 Flash (через Bothub.chat API)
- Формат документов: Microsoft Word (.docx)
⚠️ Возможные проблемы и решения
Проблема: Ошибка "ModuleNotFoundError"
Решение: Установите зависимости через pip install -r requirements.txt
Проблема: Ошибки API
Решение: Проверьте ваш API-ключ и подключение к интернету
Проблема: Не сохраняются пресеты
Решение: Проверьте права на запись в папке программы
📝 Версии файлов
В папке находятся несколько версий программы:
doc_processor_app.py— базовая версияdoc_processor_app1_8.py— промежуточная версияdoc_processor_app2.py— расширенная версияdoc_processor_app3.py— актуальная версия (с поддержкой вкладок и генерации рефератов)
Рекомендуется использовать doc_processor_app3.py
📄 Лицензия
Этот проект создан для личного использования.
👤 Автор
Разработано для автоматизации работы с документами
README_SETUP.md
Установка и запуск "Умный обработчик документов"
📋 Что нужно установить
1. Python (если не установлен)
Скачайте и установите Python 3.11 или выше с официального сайта:
- Сайт: https://www.python.org/downloads/
- При установке ОБЯЗАТЕЛЬНО поставьте галочку "Add Python to PATH"
2. Установка библиотек
После установки Python откройте командную строку (или PowerShell) в папке со скриптом и выполните:
pip install -r requirements.txt
Или установите вручную:
pip install python-docx openai
3. Использование
Способ 1: Двойной клик (рекомендуется)
Просто дважды щелкните по файлу doc_processor_app3.py
Способ 2: Через командную строку
cd d:\PycharmProjects\DocxMonster
python doc_processor_app3.py
🔧 Что нужно для запуска на разных компьютерах
Минимальные требования:
- Python 3.11+
- Интернет (для работы с AI API)
- Библиотеки:
python-docxиopenai
Что делать при первом запуске на новом компьютере:
# 1. Перейдите в папку со скриптом
cd путь\к\папке\DocxMonster
# 2. Установите зависимости
pip install -r requirements.txt
📦 Что я сделал для запуска двойным кликом
Проблема:
По умолчанию при двойном клике по .py файлу в Windows:
- Открывается консоль
- Скрипт выполняется
- Консоль сразу закрывается (даже при ошибках)
Решение — добавил в конец файла (строки 740-762):
if __name__ == "__main__":
try:
root = tk.Tk()
app = DocProcessorApp(root)
root.mainloop()
# Если приложение закрылось нормально
print("\nПриложение успешно завершено.")
print("Если вы видите это сообщение - всё работает корректно.")
input("\nНажмите Enter для выхода...") # ← ЭТА СТРОКА!
except Exception as e:
import traceback
error_msg = f"Критическая ошибка при запуске приложения:\n\n{e}\n\n{traceback.format_exc()}"
print(error_msg)
try:
root_temp = tk.Tk()
root_temp.withdraw()
messagebox.showerror("Ошибка запуска", error_msg)
root_temp.destroy()
except:
print("Не удалось показать графическое окно ошибки.")
input("Нажмите Enter для выхода...") # ← И ЭТА!
Как это работает:
input("Нажмите Enter для выхода...")— ждёт нажатия Enter перед закрытием консоли- Если есть ошибка — видно полный stack trace
- Если всё ок — сообщение "успешно завершено"
Без этой строки консоль закрывалась мгновенно, и вы не видели ошибки.
🎨 Новые изменения в интерфейсе:
- Светло-серая тема вместо тёмной
- Объёмные кнопки (relief=tk.RAISED) для 3D эффекта
- Меньшие вкладки (padding=[15,8] вместо [25,12])
- Подсветка при наведении (cursor="hand2")
⚠️ Возможные проблемы
"No module named 'docx'"
Решение: Выполните pip install python-docx
"Python is not recognized"
Решение: Установите Python и поставьте галочку "Add to PATH"
Скрипт открывается и сразу закрывается
Решение: Посмотрите ошибку в консоли — она там видна благодаря input() в конце
📝 Настройка API
Откройте doc_processor_app3.py и на строках 12-16 укажите свои данные:
API_KEY = "ваш_ключ_API"
BASE_URL = "https://bothub.chat/api/v2/openai/v1"
MODEL_NAME = "gemini-2.0-flash-001"
💡 Полезные команды
Проверить установку Python:
python --version
Проверить установленные библиотеки:
pip list
Обновить pip:
python -m pip install --upgrade pip