soundshuman
让 AI 垃圾内容远离你的文章和代码仓库。
这是当前反垃圾工具最佳部分的合并:一个像细心人类编辑一样重写文本的技能、一个机器可执行的规则包,以及一个零依赖的 CLI,用于审计整个代码库并接入 CI。目标不是击败 AI 检测器,而是一个你可以检查的工作流程:可见的规则、可解释的分数、可审查的差异。
各部分来源
| 来源 | 贡献内容 |
|---|---|
| blader/humanizer | 重写技能的主干:源自 Wikipedia 的句式模式目录、根据写作样本进行语音校准、不捏造事实规则、误报防护栏、草稿-审计-终稿循环,以及插件打包。 |
| hardikpandya/stop-slop | 其他工具遗漏的结构性反模式(虚假主体性、远距离叙述者、二元对比、负面列表、懒惰极端、副词堆砌)、交付前检查清单,以及精简的技能加参考资料布局。 |
| brandonwise/humanizer | 工具链思路:分级词汇、统计特征(突发性、类型-符号比、三元组重复)、可解释的 0-100 评分、全仓库扫描与 CI 门禁,以及扫描器的测试套件。 |
| Aider | 编辑工作流:重写以 git diff 形式落在干净的工作树上,你像审查代码一样审查它们,撤销就是 git checkout,而不是一句道歉。 |
| ast-grep / OpenRewrite | 规则即数据。检测逻辑位于版本化的 JSON 规则包中,而非代码中,因此一条内部规则就是一个可审查的单行 diff。 |
| Biome / Semgrep | 编辑后的护栏:一个 pre-commit 钩子和一个 CI 任务,用来捕捉会话中遗漏的问题。 |
此处所有代码均基于 MIT 许可;上游版权保留在 LICENSE 中。
组成部分
SKILL.md 是 humanizer 技能:涵盖内容、语言、风格、沟通、填充词和修辞的 41 个模式,加上统计特征、语音校准和四种调用模式(粘贴文本、文件、仓库审计、嵌入)。它是纯 Markdown,因此可以在任何读取技能文件代理中运行。
rules/slop-rules.json 是机器可读的规则包:三个词汇层级、短语修正,以及带有权重和注释的正则检测器。bin/sloplint.js 是读取该规则包的扫描器。零依赖,Node 18+。
长文材料位于 references/: 词汇、短语、结构、风格指南、清单和示例。docs/WORKFLOW.md 逐步解释了各部分如何协同工作。
安装
作为技能,适用于任何读取 Markdown 技能的环境:
cp -r . /path/to/your/skills/soundshuman
作为 Claude Code 插件:
/plugin marketplace add aashaexo/soundshuman
/plugin install soundshuman@soundshuman
CLI 只需要 Node:
node bin/sloplint.js --help
或全局链接:
npm install -g .
使用
给任何文本评分(0 到 100,分数越高表示 AI 味道越重,目标低于 25):
echo "This serves as a testament to our seamless approach." | sloplint score
查看具体原因,包括行号和触发的规则:
sloplint analyze draft.md
应用安全的机械修复(填充短语、长破折号、弯引号):
sloplint fix draft.md -w
审计整个文档文件夹,最差的排在最前:
sloplint scan docs/
门控 CI:
sloplint scan docs/ --fail-above 50
安装 pre-commit 钩子:
scripts/install-git-hook.sh 50
如需完整的重写处理,请在代理中调用该技能(“humanize this”(让它更人性化),“humanize docs/launch-post.md”,或“audit our docs for slop”(审计我们的文档中的 AI 垃圾))。该技能会起草、审计自己的草稿,并交付最终重写版本,且不捏造任何事实。先给它两段你自己的写作,它会匹配你的语气,而不是生成千篇一律的干净输出。
常开模式
预防优于清理。若要让代理默认这样写作,将以下简短版本添加到你的系统提示或 CLAUDE.md:
像人一样写作,而不是像新闻稿。使用“is”和“has”,不要用"serves as"
或"boasts"。绝不使用:delve、tapestry、vibrant、crucial、robust、seamless、
groundbreaking、pivotal、testament、leverage、empower、realm。不要长破折号。
不要"It's not just X, it's Y"。不要"Great question!"或"I hope this helps"。
每个论点最多一个修饰语。变换句子长度。以具体事实结尾,而不是"未来一片光明"。
绝不捏造事实、名称、数字或引用。
然后用 sloplint score 验证代理的输出。
评分简介
每 100 个单词的模式密度,按对数曲线计算(70%),与统计均匀性混合:突发性、类型-符号比和三元组重复(30%)。广度和类别多样性有加分。短样本会获得置信度折扣,而不是自信的错误答案。每一个分数都可追溯到一条你能阅读、质疑或从规则包中删除的具体发现。
开发
npm test
测试固定了评分器的行为:AI 样本得分高,人类样本得分低,代码块被忽略,修复是安全的。如果你添加一条规则,就添加一个对应的测试。