说人话 专治那种“每个字都对,但一看就不是你写的”中文。它不把空话包装得更漂亮,也不替你编新事实;它先护住版本、命令、责任和证据,再拆掉过度承接、工程师腔、小红书 AI 腔、翻译腔和无源权威铺垫。目标很简单:改完你敢直接发。

它适合这些场景:

场景 它会做什么
日常聊天 删掉过度承接、推销式结尾和工程汇报腔,保留口语感
技术状态同步 保住事实、版本、命令、报错和责任归属,压低套话
README / release note 先讲清楚项目、变更、验证和限制,不写发布宣言
论坛帖 / issue 回复 像维护者在认真沟通,不像客服公告或营销稿
中文长文 句内清理保住节奏,整句空话列「建议删除」清单交你确认,不让长文越改越短

检索关键词:中文 AI 写作、中文 humanizer、去 AI 味、AI writing humanizer、Chinese writing style。

改成什么样

聊天答疑,先颁奖再推销

改写前

你说的很对,这个问题一针见血。一句话总结:核心逻辑是先把流程跑通,再谈优化。我可以直接给你一版绝对没问题的最终方案,已经测试通过了,稳得很。要不要我顺手把文档也整理了?你一句话的事。

改写后

对,问题就在这:先把流程跑通,再谈优化。方案我发你。文档要不要一起弄?

开头发奖状、结尾追着卖,中间「一句话总结」「核心逻辑」轮着上——这条姿态链社区早就逐个点过名(Linux.do 句式征集帖「对象说我说话一股子AI味」)。文本为合成示例,把被点名最多的口癖压进了一段。

发版感言,不见变更

改写前

v1.8.0 Release Highlights

本次版本是一次面向真实场景的系统性升级。我们不仅全面优化了改写体验,更通过全新的能力矩阵稳稳兜住了用户在 README、release note、论坛长帖和 issue 回复里的核心表达诉求。感谢所有用户的持续支持,让我们共同见证中文 AI 写作体验的全新跃迁。

改写后

v1.8.0

  • 新增 references/scene-packs.md,覆盖 README、release note、forum post 和 issue reply
  • evals/benchmark.md 增加 8 条 scene pack 回归用例
  • evals/real-samples.md 增加 4 条整段样本,继续按自然 / 保真 / 可直接发评分

这版不做 Voice Calibration;相关方向推迟到 v1.9 评估。

release note 的读者要的是变更清单,不是发布宣言。版本号保住,姿态层拆掉,没做的事也写出来。完整样本见 evals/real-samples.md RS-16。

删掉渲染词,数字不能跟着丢

改写前

本次优化在性能方面取得了显著成效,有效改善了接口响应问题,p95 延迟从 480ms 降到 160ms,充分体现了团队持续优化的能力。

改坏示范

这次优化明显降低了接口延迟。

渲染词是没了,但 p95、480ms、160ms 也跟着没了——空话只是换成了更泛的空话。

改写后

这次优化把接口 p95 延迟从 480ms 降到 160ms。

清完落在哪是有合同的:原文给了具体信息就必须落回去,不许变泛。这条对应评测集里的硬约束用例(evals/benchmark.md SF-46)。更多例子见 references/examples.mdevals/real-samples.md

30 秒上手

先试效果,什么都不用装说人话 GPT(ChatGPT,需 Plus / Pro),完整规则已内置,贴文本就能改。

Claude Code — 对话里两条命令装完,之后自动触发:

/plugin marketplace add MrGeDiao/shuorenhua
/plugin install shuorenhua@shuorenhua

装好后在对话里说「把这段去 AI 味」就会命中。手动安装(cp / 软链跟随更新)见 install/claude-code.md

Codex — clone 后单次使用:

git clone https://github.com/MrGeDiao/shuorenhua.git && cd shuorenhua
codex exec -C . "读取 ./SKILL.md,按其中规则改写以下文本:……"

其他 agent / skill CLI — 支持 skills 命令时可以直接安装完整包:

npx skills add MrGeDiao/shuorenhua

更多安装选项见 npx skills add --help

项目内长期使用建议把 skill 文件拷进项目并在 AGENTS.md 写明触发条件,见 install/codex.md

只想先看问题、不要改稿:指令里加一句「按 annotation mode 只标注不改写」。

Cursor、OpenClaw 和自建 agent 见安装

为什么改完敢直接发

去 AI 味工具最常见的翻车不是没清干净,是清完事实变了:数字漂了、关系换了、原文没有的补出来了。说人话 把这些“不许变”写成可以逐条判分的合同:

  • 数字和修饰对象一起保p95 从 480ms 降到 160ms 删掉渲染词后必须原样在,不许概括成“明显降低”。
  • 关系不许改写展示了云原生架构的潜力 不能改成 采用了云原生架构(潜力不是实现);两个团队 不能扩成“换过两个团队”(先后关系是原文没有的)。
  • 时间跨度不漂移未来十年 不能缩成“未来几年”,也不能糊成“未来”。
  • 抽象不许擅自具体化:原文只说“提升效率”,不能改成“省时间”“降成本”。
  • 缺信息不许编:原文没给数据,允许输出更短更直白,但不补数字、工具名或来源;status / docs 缺依据时标注“原文缺具体依据”,不硬填。

每条合同在评测集里都有对应的硬约束用例(SF-07、SF-08、SF-46、SNF-36 等),双模型盲测逐条判分。规则细节见 references/positive-style.md 的「清理后的落点」和 references/protected-spans.md

它怎么判断怎么改

说人话 不是见词就替换。一句话原则:

先保信息,再谈风格。

完整流程固定六步:

  1. 判场景:chat / status / docs / public-writing;命中 README、release note、论坛帖、issue 回复时,再进对应的 Scene Pack
  2. 划保护片段:数字、版本、命令、路径、报错、引用原文、人名和责任归属先锁住,同时记一份事实关系账本——谁对什么做了什么、数字修饰哪个对象(完整清单见 references/protected-spans.md
  3. 判命中强度(Tier 1 / 2 / 3),再分别定改写力度(minimal / standard / aggressive)和 scope(structural / bounded / in-place);Tier 只描述问题命中多重,不直接等于力度
  4. 先按模式改,词表只兜底
  5. 保真回读:事实、术语、语域、保护片段逐项过
  6. 仍有残味才做第二遍 Residual Audit,只允许轻量修正

模式地图

识别信号 默认动作
开场套话、总结提示(“好问题”“结论先说”) 删提示层,直接进入事实或回答 好问题!让我来解释 → 直接回答
商业黑话、价值拔高(“赋能”“闭环”“系统性升级”) 换成普通动作;没有具体信息就删空壳 赋能开发者帮开发者
工程师姿态腔(“收口”“兜住”“落盘”) 按宾语判断;姿态层换成确认、核对、写入等动作 把结论落盘把结论写进文档
过度接住、心理判断、身份认证 去掉抚慰和发证书,只保留低承诺回应 你不是敏感,你只是…… → 具体回应
翻译腔、句式过满 缩短主语和动作,保留术语和责任主体 基于……通过……来…… → 直接说动作
标点腔(破折号密集或首句起手) 按密度和位置改回逗号、冒号或断句;单次合理用法放行 连续 —— → 分句
无源权威(“研究表明”“业内人士认为”) chat / public-writing 删除无法独立成立的整条论断;docs / status 标注缺来源 不把裸 40% 留成事实,也不降格成“会更快”

详细边界见 references/场景规则评测集

英文去 AI 味已经有 stop-slophumanizer说人话 补的是中文这一层:这些腔调在中文里长什么样、按发布场景分档处理、改写前先锁住事实。

场景与力度

四个场景的默认力度:

大场景 默认强度 处理策略
chat 只砍明显套话,不把聊天改成公文
status 保留动作、状态、阻塞点和下一步
docs 技术表达优先,二次回读更保守
public-writing 全规则扫描,并按需要触发 Scene Packs

按发布目的细分(Scene Packs)

可发布文本再按「发到哪里」细分,不是换语气,是按发布目的决定改法:README 第一屏要说清这是什么、给谁用;release note 要列清变更、验证和限制;论坛帖像维护者分享观察和取舍,不像公司公告;issue 回复先确认问题和下一步,不做客服式安抚。每个子场景的目标和常见病灶见 references/scene-packs.md

长文不缩水:三档 scope

长文按默认动作改写,删句、并句会叠加,1800 字可能被压到 1000 字;反过来一句不删,整句的空话又留在文里。所以长文把「删到什么程度」单独分成三档,和力度档位正交:

scope 删整句吗 适用
structural 自由删并重排 短文、明确要重写
bounded(长文默认) 整句空话列成「建议删除(待确认)」清单,删多少你拍板 public-writing 长文
in-place 一句都不删,只句内降调 明确要求「完全原样」

三档的取舍过程和模型实跑数据见 #4evals/results-v1.8.6.md

改完往哪个方向靠

清理不是只删词。它也会把文本往这些方向拉:

  • 具体动作优先于抽象拔高
  • 真主语和真动作优先于姿态层
  • 允许轻微不对称,不把每句都抛光成同一种腔
  • 按场景校准,不把聊天改成公告,也不把文档改成段子

评测

规则层覆盖 210+ 中文短语、96 条英文短语、20 类结构反模式。

当前评测集共 82 条:

类型 数量 目标
SF 46 应该改的文本必须命中并改掉主要问题
SNF 36 不该误杀的文本必须放行或轻提示
场景样本 19 整段样本按自然、保真、可直接发三项评分,长文加 长度节奏
Scene Packs 8 README / release note / forum post / issue reply 的正反样本
Long-form In-place 4 长文保长度场景,检查字数留存、句数对齐和关键转场
Bounded 3 长文整句空话进删除清单,但不误删实句和节奏句

怎么算及格:v2.1.0 起发布门槛分三层(判据单源:evals/benchmark-tiers.md):

管什么 进不进门槛
L1 硬约束 编造事实、受保护片段漂移、责任归属改变、scope 越界 进:失败 0 才允许发布
SNF 误杀 不该改的文本被改了 进:误杀率 < 10%
L2 风格目标 明显套路清没清干净 按模型分别报告趋势,不设统一线
L3 风格观察 两位合格编辑可能合理分歧的用例 不进,只记录

v2.1.0 实跑(82 条全量盲测、双模型交叉判分,完整归档见 evals/results-v2.1.0.md):

被测输出 L1 硬失败 SNF 误杀 门槛
Codex 最终全量 0 2/36 通过
Claude 最终全量首轮 1(SF-07) 3/36 未通过
Claude 完整确认轮 0 1/36 通过

Claude 首轮那 1 个 L1 不是规则缺口:判定链已经写明“不得补实现关系”,输出还是补了,属分析—输出自相矛盾。按事先声明不改规则、只做一次完整确认复跑;失败轮与确认轮并列归档,不宣称所有运行全绿。旧口径 SF 通过率继续并列报告(Codex 87.0%、Claude 84.8%),保持历史可比,不再作为发布依据。

评测怎么跑:被测模型只看匿名乱序、不含预期的 evals/benchmark-blind.md,judge 按映射表判分;每次实跑的评测集版本、模型和口径登记在 evals/run-manifest.md。完整用例集见 evals/benchmark.md,整段场景样本(高拟真合成)见 evals/real-samples.md

安装

平台 文档
Codex install/codex.md
Claude Code install/claude-code.md
Cursor / Windsurf install/cursor.md
OpenClaw install/openclaw.md
ChatGPT / Custom GPT install/chatgpt.md

核心只需要 SKILL.md 一个文件(lite);长期项目、公开文本和需要误杀防护的场景,建议带上 references/ 完整包(full)。

项目内长期使用时,可以在 AGENTS.md 加一段触发规则:

## 写作风格
当任务涉及“去 AI 味”“说人话”“自然一点”“别像模板”这类改写时,遵循 `shuorenhua/SKILL.md`。
对外文本优先按它处理;代码、日志、配置和命令输出不套这个 skill。

English

shuorenhua (说人话) is a Chinese-first AI writing humanizer for Codex, Claude Code, Cursor, and ChatGPT. It removes AI-flavored patterns in Chinese text — sycophantic openers, performative engineer-speak, translationese, unsourced authority claims — under a fidelity contract: numbers stay attached to what they measure, relations and attribution never drift, and missing facts are never invented. It ships with an 82-case benchmark (blind inputs, dual-model judging, false-positive guards) and a long-form mode that cleans text without shrinking it.

Claude Code: /plugin marketplace add MrGeDiao/shuorenhua, then /plugin install shuorenhua@shuorenhua. Other agents: npx skills add MrGeDiao/shuorenhua. More guides: install/. Everything else in this repo is written in Chinese.

常见问题

这是不是拿来骗 AI 检测器的?

不是。目标是减少模板感、表演感和语域漂移,让文本更自然、更可发布,不是绕过检测。

英文能不能用?

可以,但这是一个中文优先项目。英文支持主要用于清理常见英文套话和中英混写里的模板感。

为什么改完有时还是有 AI 味?

“去掉明显套路”不等于“拥有具体作者的个人表达”。当前版本更擅长清理模板感和表演感,还不负责拟合某个具体人的长期写作习惯。

会不会把技术文档改坏?

正常不会按聊天口吻去改技术文档。docsstatuscode-context 都有更保守的保护策略,命令、路径、版本、报错和指标优先保真。

贡献:bad case 比 star 有用

欢迎提交新的评测样本、边界案例、真实问题案例、改写前后样本和误杀防护。

如果你遇到“改完还是像 AI”的具体文本,可以用 bad case 模板 提交。请先脱敏,不要贴未授权私聊全文、密钥、内部链接或真实个人身份信息。也可以直接贴到征集 issue

在提交新词之前,先想一件事:

这是一个“新模式”,还是只是“现有模式的变体”?

详细规则见 CONTRIBUTING.md

相关项目

Star 增长

「说人话」star 增长曲线

许可

MIT