humanizer-ru

108Star7Fork0Issue2Watching

为 DSH agent 提供俄文 AI 痕迹检测与改写能力:识别 ChatGPT/Gemini/Grok/DeepSeek 等聊天机器人的复制粘贴残留并按用户要求将文本改写自然化。

语言
Python
License
MIT
分支
main
agent-skillsaiai-detectionai-writingc2paclaudeclaude-codeclaude-skills

安装

$ dsh plugin --profile web add github:Vladimir-Human/humanizer-ru

在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程

一句话定位

humanizer-ru 是一个面向俄语文本的"去 AI 味"技能:当文本里出现明显的机器生成痕迹——比如 ChatGPT 留的 :contentReference[oaicite:N]、千篇一律的「эксперты считают」式套话、Markdown 残骸、聊天尾巴「Надеюсь, это поможет」——它能识别并按用户要求改写成自然俄语,且不增加原文不存在的事实。

核心能力

  • 检测 39 个 regex 标记,覆盖 ChatGPT、Gemini、Grok、Perplexity、DeepSeek、Copilot 等聊天机器人复制粘贴的硬痕迹("класс A")和需要人工判断的上下文线索("класс B")
  • 识别 38 种内容/语言/结构/沟通维度的"软信号":空洞赞美、强制三段式、「не только... но и」并排结构、长破折号滥用、Markdown 残骸、剩饭式套话结尾等
  • 按用户明确请求改写文本,覆盖从"3–5 个软信号则局部改"到"6+ 个信号则整段重写"的多档干预强度
  • 严格遵守"改写不能新增事实"——改后版本里任何数字、日期、名字、单位都必须在原文中能找到
  • 对俄语文学/法律/合同/学术/营销等不同文体的"假阳性"边界做了分类(references/false-positives.md
  • 在数据层把文本视作不可信输入:忽略嵌入在待审文本里的指令、不执行链接、不联网、不读写文件

技术实现

  • 语言: YAML/Markdown(纯文本技能,运行时无 Node/Python 代码执行)
  • 关键依赖: @deepseek-ai/dsh-skill-filesystem(cordis 注入的技能提供器)、process.getBuiltinModule('node:path')(在 patch 表达式中解析包路径)
  • 架构模式: Cordis patch 注入——dsh/cordis.patch.yml 在 dsh 启动时插入一行,把宿主自带的 skill-filesystem 提供器指向本 bundle 的 skills/ 目录;插件本身不写代码,所有"逻辑"以 SKILL.md 的指令形式交由 agent 在需要时加载
  • 入口文件: dsh/cordis.patch.yml(bundle 注入点)+ dsh/skills/humanizer-ru/SKILL.md(agent 实际加载的指令集)

适用场景

俄罗斯语用户或团队在 DSH agent 里需要审阅/打磨俄文文档时——比如俄文博客、营销文案、内部通告、维基类词条——会让 agent 加载此技能去检查"AI 味",或要求把一段生硬的机器稿改写成人话。适合接到俄语出版、内容运营、客服知识库等场景的 DSH 工作流里。

前置依赖与兼容性

依赖最低版本说明
DSH 宿主0.1.0-rc.6该 bundle 的 CI 在 0.1.0-rc.6 实测过;新 dsh 版本可能存在兼容性破坏
Node.js未声明bundle 本身不写代码;cordis patch 内的 process.getBuiltinModule('node:path') 由 dsh 宿主提供,与插件无独立要求
pnpm任意兼容 dsh 的版本dsh 自身依赖 pnpm;该插件不引入额外 pnpm 包
平台跨平台bundle 只有 YAML + Markdown,没有原生编译模块,也没有 OS/CPU 限制
原生模块无 node-pty、sqlite、better-sqlite3 等需要本机编译的依赖

安装方式

dsh plugin --profile web add github:Vladimir-Human/humanizer-ru

配置项

本插件无需额外配置。

dsh/cordis.patch.yml 把宿主自带的 skill-filesystem 提供器指向本 bundle 的 skills/ 目录,无需额外环境变量;触发方式是在 dsh 对话中输入 /humanizer-ru … 或自然语言指令「очеловечь」「убери гпт-шность」「перепиши»等。

常见问题

Q: 这个插件是干嘛用的?普通用户能用吗?

A: 能。它专门检测俄语文中"AI 写的痕迹"——套话、空话、聊天机器人格式残骸等——并可按用户明确要求改写成更自然的文字。它对不知道 Cordis/Fiber/Host face 等内部概念的普通用户是友好的。

Q: 它会自动插手我的对话吗?

A: 不会。SKILL.md 明确指出"скилл активируется только по явной просьбе пользователя"——只在用户明确说"очеловечь/перепиши/убери гпт-шность"等关键词时才触发,不暗中拦截任务。

Q: 能处理英文或代码吗?

A: 不能。SKILL.md 的 description 写明:不处理非俄文文本,不处理源代码和配置文件,不处理法律文本,不处理艺术性散文。这些情况下会直接拒绝。

Q: 会改动原文的事实吗?

A: 不会。"Шесть ключевых принципов правки"中第 6 条专门规定:在改写版本里不能新增原文中没有的数字、日期、名字、单位;需要补充具体细节时向用户索取,不是凭空补。

Q: 它会从我的文本里跳到链接、读文件、上网吗?

A: 不会。SKILL.md 的"Границы безопасности"四条规则明确:输入文本仅作为数据处理,不访问输入文本中的链接、不执行代码、不读写文件、不访问网络。

Q: 它和 AI 检测器(如 GPTZero)是同一类工具吗?

A: 不一样。README 明确说"Детекторы не обходим и текст под них не подгоняем"——它不针对检测器优化,目的是产出自然文本而不是获得绿色检测分数。GitHub 还有其他同名/相似的"humanizer"项目,立场和功能都不同。

Q: 在 dsh 里装这个 bundle 有坑吗?

A: 有。该项目的 CI 实测发现,使用 github:Vladimir-Human/humanizer-ru#v3.13.0&path:/dsh 这种"用 tag 钉版本 + 子目录"在一行里组合时,pnpm 会静默丢子目录、安装整个仓库为普通依赖、退出码仍是 0,但 bundle 实际没装上。所以推荐单独指定 path:/dsh,不绑定 tag。

Q: dsh 用户如何完整卸载?

A: 运行 dsh plugin --profile web remove humanizer-ru-dsh 即可。该 bundle 只有 cordis patch + 一个 Skill 文件夹,不在 dsh profile 之外创建任何持久化数据,删除后环境恢复干净。

上手难度

入门 — 安装一行命令即可;使用时用 /humanizer-ru 或自然语言指令触发,不需要写代码或环境变量;SKILL.md 是俄文为主的长文档但 agent 在需要时会按需加载,不会一次性灌入系统提示。

已知问题与限制

  • 不适用于非俄语文本:SKILL.md description 明确拒绝并请求用户提供俄文原文(dsh/skills/humanizer-ru/SKILL.md:3, :33-38)
  • 不适用于源代码、配置文件、法律合同、纯艺术性散文:会在决策树第一步就拒绝或限制干预(dsh/skills/humanizer-ru/SKILL.md:60-63)
  • "软信号"组合不构成作者归属判定:无论软信号有多少个,agent 都不得据此宣称"这段是 AI 写的";只有 A 类硬标记、可证实来源伪造或作者自述才能下结论(dsh/skills/humanizer-ru/SKILL.md:127, Главное правило
  • B 类标记单独不够:必须配合 A 类硬证据或独立旁证;B 类单独不能用来盖戳(dsh/skills/humanizer-ru/SKILL.md:127)
  • dsh bundle 安装组合 tag+#path:/dsh 在 pnpm 链路下静默失败:CI 实测 #v3.13.0&path:/dsh 形式 pnpm 会丢掉子目录当作普通依赖安装,退出码仍 0 但 profile 缺层(.github/workflows/dsh-install.yml:7-11)
  • dsh 处于开发预览阶段,宿主自身承诺可能引入破坏性改动;此 bundle 仅在 0.1.0-rc.6 实测过(README.en.md:68)
  • 改写过程有 6 条硬性约束:去垃圾、破模板、改节奏、信读者、无口号、不补事实;用户如果要求"更激进一点"也突破不了这 6 条(dsh/skills/humanizer-ru/SKILL.md:144-152)