В офисной работе существуют сценарии, где таблицу Excel нужно подготовить к пересылке, согласованию или загрузке в другую систему, но перед этим в ней необходимо скрыть чувствительные числовые значения. Для этого нужен простой сценарий, в котором пользователь копирует данные и вставляет их обратно, уже получая замаскированный вариант таблицы, без реальных чисел.
Аннотация: Проект предлагает решение этой задачи в виде фоновой утилиты на Python. Она автоматически отслеживает табличный текст в буфере обмена после копирования диапазонов из Excel, распознаёт числовые значения и подменяет их на безопасные по заданным диапазонам. Это позволяет снизить риск утечек при сохранении привычного пользовательского сценария работы с Ctrl+C / Ctrl+V.
- Шаблон кейса/чата:
CHAT_USE_CASE_TEMPLATE.md - Папка с карточками‑скриншотами:
cards-screenshots/
- Маскирование чисел по диапазонам (до 10k / до 100k / >100k)
- Обработка табличного текста из буфера обмена (TSV/строки с табами)
- Anti‑loop на основе хэша, чтобы избежать повторной переработки
- Запуск в режиме демона с логированием и корректной остановкой
- Минимальный набор unit‑тестов для критичных функций
- Пользователь копирует диапазон в Excel — в буфере появляется TSV‑текст.
- Фоновый процесс читает буфер, находит числа и маскирует их по правилам.
- При вставке пользователь получает уже безопасные значения.
Важно: используется polling (опрос буфера), без системных хуков.
src/cipher_engine.py: алгоритм маскирования чисел по диапазонам (до 10k / до 100k / >100k)src/clipboard_handler.py: polling буфера, эвристика “похоже на таблицу”, маскирование и anti-loop по MD5src/daemon.py: запуск “как демон” (лог + корректная остановка по Ctrl+C)src/main.py: CLI‑входная точкаtests/: минимальные unit‑тесты
python -m venv .venv
# Windows PowerShell:
.venv\Scripts\Activate.ps1
pip install -r requirements.txtpython src/main.pyСкопируйте диапазон в Excel (Ctrl+C) → вставьте куда‑нибудь (Ctrl+V) и проверьте, что числа подменились.
python src/main.py --daemonЛоги пишутся в clipboard_daemon.log (и в stdout).
Проект содержит тесты на unittest:
python -m unittest discover -s tests -vТакже в src/main.py есть флаг:
python src/main.py --testCHAT_USE_CASE_TEMPLATE.mdсодержит формализованный сценарий постановки задачи, декомпозиции, подготовки промптов и фиксации решений.- Папка
cards-screenshots/включает карточки‑правила, которые использовались для стандартизации запросов к LLM.