humanizer-ru 是一个开源工具集,专门用于检测和规范化俄语文本中由聊天界面复制粘贴产生的痕迹,并可选支持英语文本。项目强调“可验证的卫生”,即通过确定性的规则和公开的基准数据来清理插入痕迹,但不做出作者身份判断。
用途 该工具主要面向需要检查文本是否含有机器生成痕迹的编辑、教师、开发者和 AI 助手用户。它可以帮助在发布前扫描文本、在 CI 流程中设置检查门禁,或在代理环境中通过 MCP 集成使用。其核心目标不是判断作者身份,而是识别并清理复制粘贴带来的伪影。
主要能力
- humanizer-markers:扫描文本中的痕迹,输出位置和类别(A 类为硬性复制粘贴伪影,B 类为上下文指示符,如不可见字符和隐藏布局)。返回码 rc=1 表示发现痕迹,rc=0 表示无痕迹,rc=2 表示输入不可读。
- humanizer-clean:安全清理文本,支持 --in-place 原地清理并保留 .bak 备份,可移除 A 类不可见标记和受保护区域(代码、frontmatter、URL、HTML 属性、ZWJ 表情符号簇)之外的可见伪影。不重写风格和含义。
- humanizer-scan:评估机器写作的软性迹象,用于校准编辑工作量,不给出结论。
- humanizer-facts:比对清理前后的事实,如数字、日期、URL、名称、引文、否定和情态,确保 lost 和 changed 字段为空。
- humanizer-polish:规范化排版而不改变含义,支持 --preserve-markup 和 --typographic 模式用于标记文本。
- humanizer-report:生成清理报告,包含事实核对。
- 支持通过 --language en 或 --language auto 处理英语或混合语言输入;俄语配置文件仍为默认。
- 提供浏览器演示(无需安装,文本不离开浏览器)、MCP 集成(通过 uvx 或 pip install humanizer-ru)以及代理客户端技能安装。
使用方式 用户可以通过命令行工具操作,例如:humanizer-markers --scan 文件.md 扫描痕迹;humanizer-clean --in-place 文件.md 进行清理;humanizer-facts diff 之前.txt 之后.txt --no-additions 核对事实。项目还提供 MCP 配置、浏览器演示、Claude.ai 和 Claude Code 技能安装、以及支持 agentskills.io 的代理客户端(如 opencode、DeepSeek Harness)的文本包。详细命令和模式见 docs/USAGE.md。
适用场景
- 编辑和教师:在发布前检查文本中的插入痕迹。
- 开发和 CI:在流程中设置检查门禁,防止聊天界面插入的伪影进入代码库。
- AI 助手用户:在代理环境中进行相同检查,通过 MCP 集成。
- 需要处理俄语或英语文本,并希望保持文本风格和含义不变的场景。
限制
- 该工具不判断作者身份,仅检测痕迹。
- 对于改写文本、无痕迹的自然流畅机器文本、短文本、无水印的带水印文本等,检测存在理论上的限制,项目文档中有相关引用。
- 清理不会重写风格或含义,但用户需要手动检查结果。
- humanizer-polish 不能用于 Markdown 和标记文本,除非使用 --preserve-markup 模式。
- 项目明确不声称在同类工具中处于领先地位,并提供了基准测试和威胁模型文档。
- 同名项目存在,但本项目的验证方法不同,建议根据验证方式而非星标选择。
项目包含 40 个正则标记和 58 种机器写作模式,其中 38 个标记有证据记录。在 12314 个非承载文本上,A 类误报为 0,B 类误报为 8(0.00065),并提供了置信区间。工具完全离线运行,文本不会离开用户机器。