Skills Plugins MCP Prompt Model 导航 博客 资讯 我的中心
工具与能力 #ai#humanizer#nlp#russian#agent-skills#claude

humanizer-ru (dsh)

清理俄语文本中的 AI 痕迹:识别聊天机器人复制粘贴残留(ChatGPT、Gemini、Grok、Perplexity、DeepSeek),移除隐藏文本标记(零宽字符、隐形排版;影子扫描捕获被不可见字符拆分的标记),并按需求改写为自然行文;40 个正则标记,其中 38 个有完整证据登记;156 个门控,530 个测试;离线运行,纯文本 bundle(二进制元数据移除在 scripts/ 中)。

vladimir-human @vladimir-human ⬇ 2 ★ 126 main

安装

dsh plugin --profile web add github:vladimir-human/humanizer-ru
下载安装清单

需要可复现安装时,可在仓库后追加 #commit 固定提交。

清理俄语文本中的 AI 痕迹:识别聊天机器人复制粘贴残留(ChatGPT、Gemini、Grok、Perplexity、DeepSeek),移除隐藏文本标记(零宽字符、隐形排版;影子扫描捕获被不可见字符拆分的标记),并按需求改写为自然行文;40 个正则标记,其中 38 个有完整证据登记;156 个门控,530 个测试;离线运行,纯文本 bundle(二进制元数据移除在 scripts/ 中)。

该插件未提供要点说明,请参考仓库 README。

aihumanizernlprussianagent-skillsclaude
  1. 安装并启动 DeepSeek Harness:npx @deepseek-ai/dsh web
  2. 在终端执行上面的安装命令(CLI 会解析插件并核验来源)
  3. 用 dsh plugins list 确认已安装,必要时重启 Harness 生效

插件以当前 dsh 进程的权限运行,安装时可能执行代码。请先通读仓库源码与许可证,确认无破坏性命令与越权访问;本站只做索引,不对第三方插件安全性作担保。

代码仓库github.com/vladimir-human/humanizer-ru/tree/main/dsh
许可证MIT
主要语言main
下载量2
GitHub 星标126
最近推送2026-09-18
收录日期2026-09-19
分类工具与能力

事实信息来自公开插件目录快照(2026-10-04),介绍文案由本站再加工。

以下为插件仓库 README 全文(原始内容,由公开目录抓取整理)。

# humanizer-ru
Проверяемая гигиена вставки из чата для русского текста

40 regex-маркеров артефактов вставки из чат-интерфейсов, у 38 из них полная
запись доказательств. Ложных срабатываний класса A на 12314 текстах-неносителях
ноль, класса B — 8, то есть 0.00065 (Wilson 95% CI от 0.0003 до 0.0013; замер
04.09.2026 по замороженной предрегистрации). Каждое число с датой и командой
воспроизведения — в разделе [«Цифры проекта»](#цифры-проекта).

Очистка артефактов вставки и сверка фактов доступны и для английского текста:
добавьте `--language en` к `humanizer-clean`, `humanizer-polish`,
`humanizer-facts` или `humanizer-report` (либо `--language auto`). Это не
включает русские стилевые эвристики и не даёт вердиктов об авторстве; профиль
сохраняет код, URL, Markdown и проверяемые факты. Русский профиль остаётся
значением по умолчанию для совместимости.

![Терминал humanizer-markers подсвечивает следы машинного текста и объясняет причину каждого флага](assets/hero.svg)

[![License: MIT](https://img.shields.io/github/license/Vladimir-Human/humanizer-ru)](LICENSE)
[![PyPI](https://img.shields.io/pypi/v/humanizer-ru?label=PyPI&color=blue)](https://pypi.org/project/humanizer-ru/)
[![CI](https://img.shields.io/github/actions/workflow/status/Vladimir-Human/humanizer-ru/regex-check.yml?branch=main&label=CI)](https://github.com/Vladimir-Human/humanizer-ru/actions/workflows/regex-check.yml?query=branch%3Amain)

## Кому это нужно

- Редактору и преподавателю: проверить текст перед публикацией: `humanizer-markers --scan файл.md`.
- Разработчику и CI: гейт вставки из чат-интерфейсов: [action и контракт](contract.v1.json).
- Пользователю ИИ-ассистента: та же проверка внутри агентной среды: [MCP одной конфигурацией](#mcp-одной-конфигурацией) или [демо](https://vladimir-human.github.io/humanizer-ru/).

## Попробовать за 30 секунд

- [Демо в браузере](https://vladimir-human.github.io/humanizer-ru/): ничего не устанавливать, текст не покидает браузер.
- Сообщить о проблеме или опыте использования: [issue в репозитории](https://github.com/Vladimir-Human/humanizer-ru/issues/new); пользовательский текст не передаётся автоматически ни демо, ни сборщиком обратной связи.
- Проверка конкретной вставки:

Самый короткий путь «нашёл → убрал → проверил»:

```text
pip install humanizer-ru
humanizer-markers --scan input.txt       # найти следы (rc=1 = находка)
humanizer-clean --in-place input.txt     # снять поддержанные артефакты
humanizer-markers --scan input.txt       # убедиться, что остатка нет (rc=0)
```

Для английского входа добавьте `--language en`; для смешанного — `--language auto`.
Очистка не переписывает стиль и смысл: проверьте результат вручную и используйте
`humanizer-facts diff до.txt после.txt --no-additions` после редакторской правки.

```text
python -c "open('primer.txt','w',encoding='utf-8').write('Согласно отчёту :contentReference[oaicite:3]{index=3}, рост заявок.\n')"
humanizer-markers --scan primer.txt; echo "rc=$?"
  primer.txt:1 [contentReference] Согласно отчёту :contentReference[oaicite:3]{index=3}, рост заявок.
  Найдено маркеров: 1.
  rc=1
```

rc=1 означает «найдены маркеры» — это ожидаемый результат проверки на
образце со следом вставки, а не ошибка; rc=0 — следов нет, rc=2 — вход не
читается (с --json конверт ошибки печатается в stdout).

### Полный сценарий: найти, безопасно очистить, сверить, сообщить

1. **Найти артефакт вставки.** `humanizer-markers --scan файл.md` печатает
   находки с координатами и классом: A — жёсткие артефакты копипасты из
   чат-интерфейсов, B — контекстные индикаторы вроде невидимых символов и
   скрытой раскладки; rc=1 означает находки.
   [Демо-страница](https://vladimir-human.github.io/humanizer-ru/) делает то
   же в браузере без установки и подсвечивает исходные диапазоны. Мягкие
   признаки машинного письма считает `humanizer-scan`: они калибруют объём
   правки и не дают вердикта.

2. **Безопасно очистить.** `humanizer-clean --in-place файл.md` одной
   командой выполняет проверку до, снятие поддерживаемых артефактов,
   проверку после и сверку фактов; оригинал остаётся в копии `.bak`.
   Снимаются невидимые метки слоя A и видимые артефакты класса A вне
   защищённых областей (код, frontmatter, URL, HTML-атрибуты, ZWJ-кластеры
   эмодзи). Стиль и смысл не переписываются; неподдерживаемые находки вроде
   класса B, вики-разметки и плейсхолдеров остаются явным остатком с кодом
   возврата 1, полная чистота не заявляется. При нарушении инвариантов
   защищённых областей результат не записывается. Невидимые символы
   снимаются и точечно, по классам риска из поля `invisible_classes` файла
   `markers.v1.json`: `humanizer-markers --remove файл.md` убирает safe
   автоматически, ambiguous — только с явным флагом `--include-ambiguous`,
   dangerous показывает и не снимает. Типографику без правки смысла
   нормализует `humanizer-polish`; на разметке используйте режимы
   `--preserve-markup` и `--typographic`.

3. **Проверить диф.** `humanizer-clean --diff файл.md` печатает
   унифицированный диф до и после без записи; конверт `--json` несёт сверку
   фактов и перечень остатка. После ручной правки сверьте факты отдельно:
   `humanizer-facts diff до.txt после.txt --no-additions` сравнит числа,
   даты, URL, имена, цитаты, отрицания и модальности; поля lost и changed
   обязаны быть пустыми, иначе верните факты в текст.

4. **Сообщить результат.** `humanizer-report до.txt после.txt` готовит отчёт
   о правке со сверкой фактов. Находку коллеге передаёт
   `humanizer-markers --scan --json файл.md`: пересылайте поля file, line,
   marker, class и fragment, а не весь документ. Находка класса A
   устанавливает факт вставки, а не автора: помечайте источник, на который
   указывал артефакт, как «требует проверки». Вердиктов об авторстве нет ни
   у инструментов, ни у скилла — это Главное правило SKILL.md.

Сценарий одним блоком:

```text
humanizer-markers --scan вставка.md              # 1: найти; rc=1 = находки есть
humanizer-clean --diff вставка.md                # 2: показать, что будет снято
humanizer-clean --in-place вставка.md            # 2: очистить; оригинал в .bak
humanizer-facts diff вставка.md.bak вставка.md --no-additions  # 3: сверить факты
humanizer-report вставка.md.bak вставка.md       # 4: отчёт о правке
```

Подробности команд и режимов — в [docs/USAGE.md](docs/USAGE.md#использование).

### MCP одной конфигурацией

```json
{
  "mcpServers": {
    "humanizer-ru": {
      "command": "uvx",
      "args": ["--from", "humanizer-ru==3.36.4", "humanizer-mcp"]
    }
  }
}
```

Форма `uvx` устанавливает закреплённый выпуск PyPI и запускает stdio-сервер.
При локальной установке эквивалентны `pip install humanizer-ru` и запуск
`humanizer-mcp`.

## Матрица проверенных возможностей и границ

Без заявлений о лидерстве: сопоставимого внешнего исследования в нише на
дату записи нет (см. LEADERBOARD.md). Строки — что фактически проверено
гейтами и тестами цикла; границы — что поверхность не делает.

| Поверхность | Проверка известных артефактов | Безопасная очистка | Сверка фактов | Машинный конверт | Граница |
|---|---|---|---|---|---|
| CLI (`humanizer-markers`, `-polish`, `-facts`, `-report`) | да, с координатами и классами A/B | режимы strip / --preserve-markup / --typographic с инвариантами сохранения | humanizer-facts (категории фактов) | --json, коды возврата по контракту | семантику не проверяет; вердиктов об авторстве нет |
| MCP (`humanizer-mcp`, набор инструментов contract.v1.json) | те же команды через stdio | те же режимы через humanizer_polish | humanizer_facts | JSON-RPC конверты, isError по контракту | текст не покидает процесс |
| Демо на Pages | да, подсветка исходных диапазонов в браузере | да, preview + явное Apply + Undo для поддержанных артефактов | нет | копирование отчёта из одного результата | офлайн в браузере, без установки |
| GitHub Action | гейт вставки + автофикс текстового пути (класс A) | action_fix вне fenced/кода | нет | rc гейта | фикс не трогает защищённые области |
| Текстовый скилл (SKILL.md) | процедуры агента по references | стилевая правка только по явной просьбе | нет | нет (проза скилла) | гарантий естественности и сохранности смысла нет |

## Что это НЕ делает

- Переписанный текст: теоретический потолок детекции при парафразе [bib:sadasivan2023]; парафраз обнуляет детекторы [bib:dipper2023].
- Нативно-гладкий машинный текст без артефактов: документная граница там же [bib:sadasivan2023]; популяционная детекция возможна только на больших выборках [bib:chakraborty2023], вердикт по документу не заявляется.
- Короткий текст: сигналов меньше, чем слов, водяной знак и статистика требуют длины [bib:anthropic2026wm], [bib:synthid2024].
- Водяные знаки без ключа: distortion-free знак не виден стороннему наблюдателю по построению [bib:kuditipudi2023]; криптографическая неотличимость без ключа [bib:cgz2023]; детектор SynthID-Text требует ключ разработчика [bib:synthid2024]; Anthropic подтверждает: без ключа знак не проверяется, детектор-API в закрытом preview [bib:anthropic2026wm].

- Ключи [bib:…] раскрыты в [research/BIBLIOGRAPHY.md](research/BIBLIOGRAPHY.md).
- polish не запускать на Markdown и разметке: снимает ##, **, ёлочки, тире; для разметки — режим --preserve-markup.

## Почему можно доверять

- [Методология и бенчмарк: числа с доверительными интервалами](research/F8-UMBRELLA-2026.md).
- [Публичный бенчмарк: таблица с CI, командами воспроизведения и колонкой «где мы хуже»](demo/benchmark/index.html).
- [Модель угроз и границы детектора](docs/THREAT-MODEL.md).
- [Парити-гейт Python и JS правил](.github/workflows/regex-check.yml).
- [Самоаудит: числа, статусы и эррата](eval/facts/self-audit.v1.json).
- Статус последнего успешного прогона и деплоя: [status.json на Pages](https://vladimir-human.github.io/humanizer-ru/status.json) (генерируется деплой-артефактом из точного SHA; обновляется только зелёным прогоном).

## Установка скилла в браузерные клиенты

- Демо работает без установки: https://vladimir-human.github.io/humanizer-ru/ — текст не покидает браузер.
- Claude.ai и Claude Code: добавьте скилл из каталога `dsh/skills/humanizer-ru` по инструкции установки в [docs/USAGE.md](docs/USAGE.md#установка-за-30-секунд).
- Агентные клиенты с поддержкой agentskills.io (opencode, DeepSeek Harness): распакуйте текстовый бандл из архива релиза.
- Браузерное расширение отклонено: новый поверхностный контур (permissions, store review) не окупается; очередь идей — [research/BACKLOG.md](research/BACKLOG.md).

Каталоги: [Glama MCP](https://glama.ai/mcp/servers/Vladimir-Human/humanizer-ru) · [skills.sh](https://www.skills.sh/vladimir-human/humanizer-ru/humanizer-ru).

## Одноимённые проекты

На GitHub есть скиллы с тем же именем и другим содержанием. Снимок 2026-09-11
(проверка: `gh repo view <владелец>/humanizer-ru --json stargazerCount`):

- [ilyautov/humanizer-ru](https://github.com/ilyautov/humanizer-ru) — 333 звезды: позиционирование «убирает признаки нейросети», публичного реестра чисел нет; приглашён к совместному публичному бенчмарку ([issue 220](https://github.com/Vladimir-Human/humanizer-ru/issues/220)).
- [smixs/humanizer-ru](https://github.com/smixs/humanizer-ru) — 154 звезды: детерминированный линтер; единственный тёзка, включённый в [LEADERBOARD.md](LEADERBOARD.md) как кандидат (парный прогон 2026-09-03).
- Этот проект — проверяемая гигиена вставки из чат-интерфейсов: каждое число из детерминированных снимков и [реестра фактов](eval/facts/facts.v1.json), границы — в [THREAT-MODEL](docs/THREAT-MODEL.md), ложные срабатывания — в [бенчмарке](demo/benchmark/index.html).

Пришли по имени — выбирайте по способу проверки, а не по звёздам.

## Цифры проекта

- 58 паттернов машинного письма и 40 regex-маркеров (классы A и B).
- Записи доказательств: 38 из 40 маркеров (реестр research/fixtures/marker-sources.json).
- Гейты: 156 гейтов полного check_all (145 в --quick); фикстуры в tests/fixtures/, документация сверяется check_docs.py, персона описана в PERSONA.md.

Почему так называется: имя унаследовано от первой функции, снимавшей
слой копипасты после чат-бота и возвращавшей тексту человеческий вид.
Вторая функция продукта: диагностика, подсветить машинные следы и
объяснить причину каждого флага, без вердиктов об авторстве. Обе
функции работают офлайн, текст не покидает вашу машину.

Классовая разбивка FP, exploratory, вне предрега F16: класс A: 0 случаев на 12314 текстов-неносителей; класс B: 8 случаев на 12314, то есть 0.00065, Wilson 95% CI от 0.0003 до 0.0013; контрольный набор 40 текстов: флагов 0; тяжёлый домен S4 legal и official, n=381, дефицит объёма зафиксирован в предреге: 18 случаев на 381, то есть 0.0472, Wilson 95% CI от 0.0301 до 0.0734; знаменатели: 12354 полный корпус F16, 12314 validation-страта.

## Подробнее

- [Что ему давать и как переписывать](docs/USAGE.md#что-ему-давать)
- [Установка вручную и использование](docs/USAGE.md#использование)
- [Архитектура и паттерны](docs/USAGE.md#архитектура)
- [Безопасность и отличия версий](docs/USAGE.md#безопасность)
- [Источники](docs/USAGE.md#источники)

## Regex-маркеры: классы A и B

Класс A — жёсткие артефакты копипасты: служебные ссылки и метки цитирования
чат-интерфейсов. Класс B — контекстные индикаторы: невидимые символы,
скрытая раскладка, placeholder-поля; одного совпадения B недостаточно.
Класс маркеров — `copypaste_artifacts`; ретайр маркера возможен только по
провалу на своём классе, статусы и даты — в `markers.v1.json`.

## История изменений

История изменений — в [CHANGELOG.md](CHANGELOG.md) и на [GitHub Releases](https://github.com/Vladimir-Human/humanizer-ru/releases).

## Лицензия

MIT

## Статус проекта
[![Версия](https://img.shields.io/github/v/release/Vladimir-Human/humanizer-ru?label=%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8F&color=blue)](https://github.com/Vladimir-Human/humanizer-ru/releases)
[![Skills.sh](https://img.shields.io/badge/skills.sh-%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3-blueviolet)](https://www.skills.sh/vladimir-human/humanizer-ru/humanizer-ru)
[![Догфудинг](https://img.shields.io/badge/%D1%81%D0%B2%D0%BE%D0%B8_%D0%B4%D0%B5%D1%82%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D1%8B-%D0%BE%D1%82%D1%87%D1%91%D1%82-brightgreen)](https://github.com/Vladimir-Human/humanizer-ru/blob/main/eval/facts/self-audit.v1.json)

Догфудинг — проект проверяет собственные тексты собственными правилами: порог маркеров стиля в файлах поставки сверяется гейтом `scripts/check_own_style.py` (текущий максимум выводится в его запуске).

数据来源:公开的 DeepSeek Harness 插件目录与各插件 GitHub 仓库。本站为独立第三方目录,与 DeepSeek、幻方(High-Flyer)及插件作者均无隶属或背书关系。

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。