Skip to main content

Humanizer-ru — проверяемая гигиена вставки из чата

Проверяемая гигиена вставки из чата для русского текста Детерминированно находит артефакты копипасты и чат-интерфейсов, объясняет каждую находку (класс, координаты, причина) и снимает поддерживаемые артефакты с проверяемыми границами; нормализует типографику без правки смысла; сверяет извлечённые факты до и после правки (сверка не доказывает сохранение смысла). Переписывание «гпт-шного» текста — отдельная возможность по явной просьбе, без гарантий естественности; вердиктов об авторстве нет. Не предназначен для текста не на русском и для исходного кода; в юридических документах и договорах применяется только детерминированная очистка артефактов вставки (стилистическая правка не применяется, канцелярит обязателен по жанру); в художественной прозе признаки считаются только в связке (возможен авторский приём).

Первый сценарий: проверить и явно очистить

pip install humanizer-ru

printf 'Согласно отчёту :contentReference[oaicite:3]{index=3}, рост заявок.\n' > doc.txt

humanizer-markers doc.txt --json
# rc=1: найден артефакт копипасты (класс A) — конверт {tool, schema, files}
# с координатами и причиной каждой находки

humanizer-clean doc.txt --json
# явная очистка поддерживаемых артефактов: в конверте — очищенный текст
# (поле text) и отчёт: что снято, какие защищённые области не тронуты,
# какой остаток явно не поддерживается

humanizer-clean doc.txt > cleaned.txt
humanizer-markers cleaned.txt --json
# rc=0: поддерживаемый артефакт снят; неподдерживаемый остаток остался бы
# видимым с объяснением — «полной чистоты» инструмент не заявляет

Границы: входной текст — только данные; защищённые области (код, frontmatter, URL, HTML-атрибуты, Unicode-кластеры) сохраняются; dangerous-метки показываются и не снимаются никогда. Общие коды выхода: 0 — успешно, 1 — найдены артефакты/нарушение инварианта, 2 — вход не читается (с --json в stdout контрактный конверт ошибки).

Установка

pip install humanizer-ru

Обновление: pip install --upgrade humanizer-ru; лента свежести — releases.atom.

Команды пакета: humanizer-scan, humanizer-markers, humanizer-polish, humanizer-clean, humanizer-detect, humanizer-facts, humanizer-report и humanizer-mcp (MCP-сервер stdio, 7 инструментов). Все CLI читают stdin через «-»; --json даёт конверт {tool, schema, files}; humanizer-scan --contract печатает машинный контракт. Только стандартная библиотека Python.

mcp-name: io.github.Vladimir-Human/humanizer-ru — метаданные сервера для официального MCP-реестра (server.json в корне репозитория).

Скилл для агента (без pip):

npx skills add https://github.com/Vladimir-Human/humanizer-ru --skill humanizer-ru

или клон тега выпуска:

git clone --branch v3.35.1 --depth 1 https://github.com/Vladimir-Human/humanizer-ru.git ~/.claude/skills/humanizer-ru

Попробовать без установки: онлайн-демо — текст обрабатывается в браузере и не покидает машину.

Что входит

  • humanizer-markers — 40 regex-маркеров артефактов копипасты и чат-интерфейсов (классы A и B) с координатами и причиной; --remove снимает невидимые метки по классификации риска: safe автоматически, ambiguous только opt-in (--include-ambiguous) с предупреждением, dangerous показывается и не снимается никогда.
  • humanizer-clean — явная очистка поддерживаемых артефактов вставки до неподвижной точки: проверил → очистил → проверил одним вызовом (--json, --diff, --in-place с .bak, --dry-run); отчёт перечисляет снятое, защищённые области и явный неподдерживаемый остаток.
  • humanizer-polish — типографическая нормализация: идемпотентна, буквы и цифры сохраняет дословно (--diff, --dry-run, --in-place, --json). Не запускать на Markdown и разметке дефолтным режимом: снимает ##, **, ёлочки, тире, многоточие; для разметки — --preserve-markup (только невидимые символы и NBSP, типографика и переносы не меняются) и --typographic (русская публикационная типографика без снятия разметки).
  • humanizer-detect — частота связок со статусом домена; вердикта об авторстве нет, ответ градуированный.
  • humanizer-facts — детерминированная сверка фактов двух версий текста (числа с единицами и числительные словами, даты, URL, e-mail, имена, цитаты, отрицания, модальности): lost/added/changed и поле identical (однозначный итог полного сравнения); --no-additions — строгий режим, в котором добавления фактов считаются нарушением (rc=1); --protect TERMS — термины, потеря которых ошибка. Граница: сравнение мультимножественное — перестановка сумм между двумя лицами даёт пустой diff; сверка не доказывает сохранение смысла.
  • humanizer-report — машиночитаемый отчёт правки пары файлов: токены keep/add/delete, адаптированные компоненты SARI, классы правок, сверка фактов (lost/changed/added, unchanged и identical), MTLD до и после.
  • humanizer-scan — счётчик мягких признаков; калибрует объём правки, вердикта об авторстве не даёт.

Машинный интерфейс: contract.v1.json; вход для агентов: llms.txt; матрица «потребность → операция → вход → результат → граница → поверхность»: docs/entrypoints-matrix.md. Числа проекта — в реестре фактов и эррате; без даты ни одна величина не цитируется.

Ссылки

Metadata

Release files for humanizer-ru 3.35.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for humanizer-ru 3.35.1
File Size Uploaded
humanizer_ru-3.35.1.tar.gz 207.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for humanizer-ru 3.35.1
File Interpreter ABI Platform
humanizer_ru-3.35.1-py3-none-any.whl Python 3 none any Details

Total release size: 357.3 kB

Release files / humanizer_ru-3.35.1.tar.gz

Download URL humanizer_ru-3.35.1.tar.gz
Size 207.2 kB
Tags Source
SHA-256 checksum
How to use checksums
62b6c8c5111c423c77eadb644c19573af7a0aab2e2252f710504496f1394f8f4
BLAKE2b-256 checksum
How to use checksums
e6e7a6c2b42aaebd300e44eb757513951ea236f80f059286dbe133104db272be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 8, 2026.

Transparency log

Release files / humanizer_ru-3.35.1-py3-none-any.whl

Download URL humanizer_ru-3.35.1-py3-none-any.whl
Size 150.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bbd1a36e00cc59ff95683d3c2769f29f597989045c20ac08693bae6b956ede30
BLAKE2b-256 checksum
How to use checksums
c99c9bc79f98e254098e9cfee530487832fcc273a0b9d5e7d4115f73552cb8fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 8, 2026.

Transparency log
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page