| name | humanize-chinese | ||||
|---|---|---|---|---|---|
| description | 中文去 AI 腔一整套(装完即用,零 API Key —— 装了本 skill 的 agent 自己就是那个 LLM)。 六个流程:① 生成即去 AI —— 写中文时按本 skill 的写作指南落笔,初稿就不带 AI 腔; ② 复查改写 —— 产出后对照本 skill 的清单再过一遍,定点拆模板句式; ③ Python 词语替换 —— ./humanize replace 按文体自动路由词表(学术 120+ 条 / 通用 220+ 条),只做短语级、只在子句边界替换,改完自动核对数字/专名/段落; ④ Claude 腔转中文 —— 把 Claude 助手腔的中文改写成平实中文, 规则提炼自 gvzdv/claudish-to-english 并本地化; ⑤ 去水印 —— ./humanize watermark 扫清零宽字符/双向控制符/同形替身, 并对照 guillaumemeyer/watermarks-remover 说明统计水印的边界; ⑥ 纠错顺句 —— 修错词、病句、标点,拗口和用词不准处轻手顺一顺;改动范围有硬校验。 另有检测(0-100 分)、风格转换、学术降重等 CLI。 Use when user says: "去AI味", "降AIGC", "人性化文本", "humanize chinese", "AI检测", "AIGC降重", "去除AI痕迹", "文本改写", "论文降重", "知网检测", "维普检测", "AI写作检测", "让文字更自然", "detect AI text", "humanize text", "make text human-like", "去ai化", "改成人话", "去机器味", "长文本改写", "小说改写", "写一篇", "claudish", "去claude腔", "助手腔", "去水印", "watermark remover", "remove watermark" | ||||
| allowed-tools |
|
一整套中文去 AI 腔流水线。装完直接用:你(agent)负责 ①②④⑥,Python 脚本负责 ③⑤。
| 流程 | 什么时候 | 怎么做 |
|---|---|---|
| ① 生成即去 AI | 用户让你写中文时 | 按下方「流程 ①:写作指南」落笔,初稿就不带 AI 腔 |
| ② 复查改写 | 拿到初稿(自己写的或用户给的) | 按下方「流程 ②:改写清单」定点过一遍,只动踩线的句子 |
| ③ 词语替换 | ② 完成后 | ./humanize replace 稿.txt -o 出稿.txt --compare —— 自动识别文体路由词表,离线 |
| ④ Claude 腔转中文 | 稿子带 Claude 助手腔(对话残留、客套、解释癖) | 读 skills/declaude-cn/SKILL.md 照做,规则来自 gvzdv/claudish-to-english 的中文本地化 |
| ⑤ 去水印 | 要清文本里的 AI 水印 | ./humanize watermark inspect/clean/survive,边界见「流程 ⑤」 |
| ⑥ 纠错顺句 | ③ 完成后 | 按下方「流程 ⑥:纠错清单」修错词、病句、标点,拗口处轻手顺一顺,其余不动 |
中文主线是 ①→②→③→⑥,顺序执行;稿子带 Claude 助手腔就在 ② 之后加跑 ④;⑤ 独立,需要时随时跑。 人味在 ① 产生,② 只能修不能补,③ 是机械替换,⑥ 纠错顺句、动作最轻。 为什么是这个顺序:实测从零写能把句长节奏做进人类区间(变异系数 0.62 vs 人类 0.52), 而事后改写只能到 0.31 —— 节奏补不回来,必须落笔时就有。
./humanize replace 文本.txt -o 改后.txt --compare # 流程 ③:按文体路由的词语替换(离线)
./humanize replace 论文.txt --scene academic # 显式指定文体(auto/general/academic/social/novel)
./humanize rewrite 文本.txt -o 改后.txt # 离线断句节奏
./humanize rewrite 文本.txt --llm -o 改后.txt # 用外部 API 跑 ②+③(可选,需 OPENROUTER_API_KEY)
./humanize write "写一篇讲复利的科普" -o 出稿.txt # 用外部 API 跑 ①→③(可选,需 key)
./humanize rewrite 文本.txt --legacy # 旧版全量改写器(降分多但会写病句)
# 检测与其它
./humanize detect 文本.txt -v # 检测 + 详细(分数怎么看见下方说明)
./humanize academic 论文.txt -o 改后.txt --compare # 学术降重
./humanize style 文本.txt --style xiaohongshu # 风格转换
./humanize compare 文本.txt -a # 前后对比
# 水印(两层是两回事,见下方说明)
./humanize watermark inspect 稿子.txt # 扫零宽字符/双向控制符/汉字同形替身
./humanize watermark clean 稿子.txt -o 干净.txt # 清掉,全角标点和首行缩进原样保留
./humanize watermark survive 原文.txt 改写后.txt # 采样水印还剩多少水印那两层别混。 看得见的载体(零宽字符、康熙部首冒充汉字之类)能删干净也能验证,
inspect 完 clean 完再 inspect 一遍就是证明。Claude 从 2026-08-02 起用的是另一层:
拿密钥和前 4 个字算哈希去偏置采样,信号在选词里,本地删不掉也证明不了删掉了。
survive 报的是能测的那部分 —— 原文的 5 字计分窗口在改写后还剩多少个原封不动。
实测本仓库自带的学术样本(288 字):replace 剩 73%,academic 剩 54%,
style 剩 44%,rewrite --llm 剩 42%。没有一档够。
真要去掉只有一条路:write,拿原文当素材重新写。跟用户说这件事的时候要说实话,
不要说「已经清干净了」——谁都没法验证这句。
离线那档很保守:只移动标点,去掉标点后前后文字必须一模一样,程序每次都校验。 找不到能安全断开的位置时它会直接说「没有可以安全修改的地方」并原样输出 —— 这是设计,不是失败。AI 写的句子结构均匀,硬断会产生残句。
需要 key 的两档走 OpenRouter:
secret exec OPENROUTER_API_KEY -- ./humanize rewrite 文件.txt --llm
所有脚本在 scripts/ 目录下,纯 Python,无依赖。
# 检测 AI 模式(20+ 规则维度 + 8 统计特征,0-100 分)
python scripts/detect_cn.py text.txt
python scripts/detect_cn.py text.txt -v # 详细 + 最可疑句子
python scripts/detect_cn.py text.txt -s # 仅评分
python scripts/detect_cn.py text.txt -j # JSON 输出
# 改写(默认 best-of-10,scene-aware)
python scripts/humanize_cn.py text.txt -o clean.txt
python scripts/humanize_cn.py text.txt --scene social -a # 社交 + 激进
python scripts/humanize_cn.py text.txt --quick # 18× 速度,纯替换
python scripts/humanize_cn.py text.txt --cilin # 启用 CiLin 同义词扩展
# 风格转换(先自动 humanize 再套风格)
python scripts/style_cn.py text.txt --style zhihu -o out.txt
# 前后对比
python scripts/compare_cn.py text.txt --scene tech -a
# 学术论文 AIGC 降重(10 学术维度 + scene-aware academic LR + 双评分)
python scripts/academic_cn.py paper.txt -o clean.txt --compare
python scripts/academic_cn.py paper.txt -o clean.txt -a --compare # 激进
python scripts/academic_cn.py paper.txt -o clean.txt --quick # 快速模式| 分数 | 等级 | 含义 |
|---|---|---|
| 0-24 | LOW | 基本像人写的 |
| 25-49 | MEDIUM | 有些 AI 痕迹 |
| 50-74 | HIGH | 大概率 AI 生成 |
| 75-100 | VERY HIGH | 几乎确定是 AI |
| 参数 | 说明 |
|---|---|
-v |
详细模式,显示可疑句子 |
-s |
仅评分 |
-j |
JSON 输出 |
-o |
输出文件 |
--scene(replace) |
auto / general / academic / social / novel,词表路由 |
--compare(replace) |
打印改写前后检测分 |
-a |
激进模式 |
--seed N |
固定随机种子 |
--scene |
general / academic / novel / auto(detect_cn)—— auto 按 ≥1500 字切 longform LR |
--style |
casual / zhihu / xiaohongshu / wechat / academic / literary / weibo / novel |
--best-of-n N |
humanize N 次取 LR 最低(默认 10) |
--compare |
前后对比(学术双评分) |
--quick |
快速模式(跳过统计优化 + best-of,18× 速度) |
--cilin |
启用 CiLin 同义词扩展(humanize,38873 词,含碰撞 blacklist) |
--no-humanize |
style 转换前不先去 AI 词 |
--rule-only |
detect 只用规则层(跳 LR 融合) |
--fullwidth-latin |
全角拉丁字母改半角(watermark clean,默认不动) |
--keep-bidi |
保留双向控制符(watermark clean,文里真夹了阿拉伯语时用) |
# ① 写:按「流程 ①:写作指南」产出 draft.txt(agent 自己完成,无命令)
# ② 改:按「流程 ②:改写清单」定点过一遍,存 revised.txt(agent 自己完成)
# ③ 词表替换:
./humanize replace revised.txt -o step3.txt --compare
# ⑥ 纠错(agent 按「流程 ⑥:纠错清单」自己完成;走 API 也可以: rewrite --llm 已含 ⑥)
# 可选:检测 / 转风格
./humanize detect final.txt -v
./humanize style final.txt --style zhihu -o styled.txt
# ④ Claude 腔转平实中文:agent 读 skills/declaude-cn/SKILL.md 直接改,无命令
# ⑤ 去水印(独立,随时可跑):
./humanize watermark inspect 稿子.txt
./humanize watermark clean 稿子.txt -o 干净.txt阈值基于 HC3-Chinese 300+300 人类/AI 样本的 Cohen's d 校准,scene-aware LR 在 500+500 训练:
- 句长变异系数 CV: d = 1.22(最强单信号)
- 短句占比 (< 10 字): d = 1.21
- 段落长度 CV: d = -1.49(v5 长文本新信号)
- 段内句长 CV: d = -2.08(v5 长文本最强信号)
- 跨段 trigram 重复: d = +1.13(v5 长文本新信号)
- 困惑度: d = 0.47
- GLTR top-10 bucket: d = 0.44
- DivEye skew / kurt: d = 0.41 / 0.29
- 逗号密度: d = -0.47
v6 实测(三模型通顺度评审 1-5 分;结果存疑时加跑一轮取并集):
仓库五份样例(刻意夸张的 AI 腔样本):
| 通顺度中位数 | 多数票病句 | |
|---|---|---|
| v6 三段流水线 | 4.0 - 5.0 | 未发现 |
| 旧版纯规则改写 | 2.0 | 5 - 17 处 |
2026-08 新语料里的真实模型产出(更接近实际输入): 社交 350 字 → 5.0 / 未发现;学术 736 字 → 5.0 / 未发现;科普 571 字 → 4.0 / 1 处。 写「未发现」不写「0 处」是有意的:评审对真实病句存在漏报,「未发现」只说这一轮没抓到,不承诺不存在。 三篇里两篇干净,样本太小不能当合格率,但真实文本确实比夸张样本难改。
旧版被三个评审各自独立点出的句子,例如「智能评估系统能够各个层面地评判学习者的综合素质」 「整合人工智能与教育教学已成为更好地推进的必由之路」—— 这些不是中文。
用户让你写中文时(而不是改现成的),先读 skills/write-cn/SKILL.md,照那份备忘落笔。它讲四件事:动笔前先凑齐真材料,带参照的数字、能点名的人事物、反直觉的事实、真场景、会有人不同意的判断,凑不齐就问用户要,材料必须是真的,宁可空泛不可捏造;有些话整套都不能说,按语姿绕开而不是按词躲;句长要有起伏、段落别等厚、用词从材料里取而不是顺着上一个词接;还有几条英文圈教条在中文里方向是反的,别照抄。写完自查一遍,再反着查有没有洗成白开水。
对 ① 的产出或用户给的任何稿子,读 skills/deai-rewrite/SKILL.md 照做。要领是定点修改不是重写:没踩线的句子一个字不碰,数字专名引文一个不动,原文没有的内容一个不加。见到抬轿子的句式就拆,贴金的词换成后果或删掉,空转的过渡直接删。改完过四道核对——事实、信息(排除关系不改成正面断言,相关不升级成因果,犹疑不改成确定)、通顺、反向查平庸化——一道不过就回滚。
扫描文本中的以下模式,按严重程度分类:
三段式套路:
- 首先…其次…最后
- 一方面…另一方面
- 第一…第二…第三
机械连接词: 值得注意的是、综上所述、不难发现、总而言之、与此同时、由此可见、不仅如此、换句话说、更重要的是、不可否认、显而易见、不言而喻、归根结底
空洞宏大词: 赋能、闭环、数字化转型、协同增效、降本增效、深度融合、全方位、多维度、系统性、高质量发展、新质生产力
AI 高频词: 助力、彰显、凸显、底层逻辑、抓手、触达、沉淀、复盘、迭代、破圈、颠覆
填充废话: 值得一提的是、众所周知、毫无疑问、具体来说、简而言之
模板句式:
- 随着…的不断发展
- 在当今…时代
- 在…的背景下
- 作为…的重要组成部分
- 这不仅…更是…
平衡论述套话: 虽然…但是…同时、既有…也有…更有
- 犹豫语过多(在一定程度上、某种程度上 出现 >5 次)
- 列举成瘾(动辄①②③④⑤)
- 标点滥用(大量分号、破折号)
- 修辞堆砌(排比对偶过多)
- 段落长度高度一致
- 句子长度单调
- 情感表达平淡
- 开头方式重复
- 信息熵低(用词可预测)
按以下顺序处理:
1. 砍掉三段式 把"首先…其次…最后"打散,用自然过渡代替。不是每个论点都要编号。
2. 替换 AI 套话
- 综上所述 → 总之 / 说到底 / (直接删掉)
- 值得注意的是 → (直接删掉,后面的话自己能说清楚)
- 赋能 → 帮助 / 支持 / 提升
- 数字化转型 → 信息化改造 / 技术升级
- 不难发现 → 可以看到 / (删掉)
- 助力 → 帮 / 推动
3. 句式重组
- 过短的句子合并("他很累。他决定休息。" → "他累了,干脆歇会儿。")
- 过长的句子拆开(在"但是""不过""同时"等转折处断开)
- 打破均匀节奏(长短句交替,不要每句差不多长)
4. 减少重复用词 同一个词出现 3 次以上就换同义词。比如"进行"可以换成"做""搞""开展""着手"。
5. 注入人味
- 加一两句口语化表达(场景允许的话)
- 用具体的例子代替抽象概括
- 偶尔加个反问或感叹
- 不要每段都总分总结构
6. 段落节奏 打破每段差不多长的格局。有的段落 2 句话,有的 5 句话,像人写东西时自然的长短变化。
当文本是学术论文时,改写规则不同——不能口语化,要保持学术严谨性:
学术专用检测维度:
- AI 学术措辞("本文旨在""具有重要意义""进行了深入分析")
- 被动句式过度("被广泛应用""被认为是")
- 段落结构过于整齐(每段总-分-总)
- 连接词密度异常
- 同义表达匮乏("研究"出现 8 次)
- 引用整合度低(每个引用都是"XX(2020)指出…")
- 数据论述模板化("从表中可以看出")
- 过度列举(①②③④ 频繁出现)
- 结论过于圆满(只说好不说局限)
- 语气过于确定("必然""毫无疑问")
学术改写策略:
-
替换 AI 学术套话(保持学术性):
- 本文旨在 → 本文尝试 / 本研究关注
- 具有重要意义 → 值得关注 / 有一定参考价值
- 研究表明 → 前人研究发现 / 已有文献显示 / 笔者观察到
- 进行了深入分析 → 做了初步探讨 / 展开了讨论
- 取得了显著成效 → 产生了一定效果 / 初见成效
-
减少被动句:
- 被广泛应用 → 得到较多运用 / 在多个领域有所应用
- 被认为是 → 通常被看作 / 一般认为
-
注入学术犹豫语(hedging): 在过于绝对的判断前加"可能""在一定程度上""就目前而言""初步来看"
-
增强作者主体性:
- 研究表明 → 笔者认为 / 本研究发现
- 可以认为 → 笔者倾向于认为
-
补充局限性: 如果结论段没有提到局限,补一句"当然,本研究也存在一定局限…"
-
打破结构均匀度: 调整段落长度,避免每段都一样。合并过短的段落,拆分过长的。
稿子带着 Claude 助手腔(对话残留、客套、解释癖)时,读 skills/declaude-cn/SKILL.md 照做。
要领:日常的词、短句子;事实、名字、数字、文件路径一个不动;代码块不碰;只输出改写后的正文。
和 ② 的分工:模板句式、套话归 ② 拆,助手腔归这段;稿子带助手腔就在 ② 之后加跑这段。
规则提炼自 gvzdv/claudish-to-english(2.4k star)
的内置改写 prompt —— 那个仓库本身是个 Claude Code 显示插件(把助手消息实时改写成平实文字显示),
我们借的是它的改写规则,本地化成中文,由 agent 直接执行,不装插件。
两层水印是两回事(详见上方 CLI 说明):
- 看得见的载体(零宽字符、双向控制符、汉字同形替身):
./humanize watermark inspect扫、clean清,清完再inspect一遍验证。这层能删干净。 - 统计水印(密钥 + 前文哈希偏置采样,信号在选词里):本地删不掉,也证明不了删掉了。
survive报的是能测的那部分。真要去掉只有一条路:write拿原文当素材重写。 跟用户说这件事要说实话,不说「已经清干净了」。
外部参照:guillaumemeyer/watermarks-remover
(1.9w star,小红书「Claude 水印被破解」那帖说的就是它)。它比我们多两块:多厂商统计水印
(Gemini SynthID-Text、OpenAI 溯源、开源绿名单/Aaronson 系)的改写式去除,和文件级溯源元数据
清理(C2PA / EXIF / XMP,覆盖 PNG/JPEG/PDF/DOCX/MP4 等)。文本里的零宽字符用自家
watermark clean 就够;用户要清文件元数据或对付多厂商统计水印时,指向那个仓库。
③ 跑完后把稿子再读一遍,修四类:错词/错别字(的地得、搭配错误)、
真病句(成分残缺、前后不接 —— 最小修复,改到通顺就停)、
标点(中文语境半角逗号句号、括号引号不配对、重复标点)、
拗口/语义不畅/用词不准(读出声会磕绊的,换一两个词、微调一处语序,好读即可)。
风格平淡不是错误;信息不许增删;句序段落不许动;本来就通顺的句子不碰。
判断口诀:错误要修;拗口要顺;通顺的再「可以更好」也不动。
完整版见 skills/proofread-cn/SKILL.md。实测参考:四份产出跑 ⑥,
两份零错误逐字原样返回,两份各修若干处标点和一处缺字病句,检测分不变。
中文主线四段(①②③⑥)过完,跑流程 ③ 收尾:
./humanize replace 稿.txt -o 出稿.txt --compare改写完成后先自己读一遍,逐条过:
- 事实核对:原文每一个数字、单位、年份、人名、地名、专有名词,改后还在吗? 少一个就把那句还原。
- 信息核对:原文说过的每件事,改后还说了吗?删掉的应该只有套话。
- 通顺核对:改动过的每一句单独读一遍。有搭配不当、成分残缺、前后不接的, 把那句还原。宁可不改,也不写病句。
- 平庸化核对(反向):段落是不是变薄了?句子是不是整体变短且变齐了? 原文里锋利的判断是不是被磨成了中性说明书?中了任意一条就回滚。
想看检测分可以跑,但不要把它当验收标准:
./humanize detect output.txt -s这个工具带一个 0-100 的检测分。不要以压低它为目标。 它的可用性分文体差别极大。
2026-08 实测:五个当前模型各 50-100 篇 vs 真人公开语料 50 篇,两侧长度对齐后算区分度 (随机取一篇模型的和一篇真人的,模型那篇分数更高的概率;0.5 是抛硬币):
| 文体 | 区分能力 | 怎么用 |
|---|---|---|
| 科普 / 新闻类短文 | 0.837 | 可以参考 |
| 社交笔记 | 0.771 | 可以参考 |
| 学术摘要 | 0.621 | 已经很弱,别当依据 |
| 小说 | 0.479 | 等于抛硬币,别用 |
| 长篇博客 | 0.155 | 方向是反的,用了会误判 |
| 职场汇报 | 无数据 | 没有可用的真人公开语料做对照 |
长文场景(博客 0.155、小说 0.479)不要用这个分数做判断。 博客那格的意思是:拿它挑「哪篇像 AI 写的」,它会更多地挑中真人写的。
另外:真人写的论文也会被判成 AI。 60 篇真实知网论文摘要(发表早于大模型), 平均 60 分,35% 落在「几乎确定是 AI」档。上面那张评分标准表的档位名称, 在学术和长文场景下不准。
外面的商用检测器也一样不稳:同一批文字有的工具给 0 分、有的给 99.9 分。
所以:把检测分当参考信号可以,当优化目标不行。 上一版为了压分去乱换同义词、 插入过渡句、打乱句序,分数确实降得多,代价是写出不是中文的句子。
所有检测模式和替换规则在 scripts/patterns_cn.json,可自定义:
- 添加新 AI 词汇
- 调整权重
- 增加替换规则
- 修改正则匹配
critical_patterns — 高权重检测(三段式、连接词、空洞词)
high_signal_patterns — 中权重检测(AI 高频词、模板句)
replacements — 替换词库(正则 + 纯文本)
academic_patterns — 学术专用检测与替换
scoring — 权重和阈值配置