学术风格工具箱 (paper-rewriter)
面向学术与医学写作的中英双语风格自然化:找出生硬、模板化或带有机器感 的表达模式,清理机械性残留物,修订以提高清晰度和自然语域——每一步 都保持完整性护栏。 阅读导航(30秒路由;相当于 references/INDEX.md): 首次使用 → 快速入门 · 故障排除 → 陷阱+错误 · CI/代理自动化 → 自动化 · 限制 → 诚实边界 · 场景 → 最佳实践 · 深度改写 → 深度改写指南 · PDF置信度 → pdf_confidence · 权限 → permissions · 编程方式 → api。 两行合一:机械清理(transform/pipeline,确定性)vs 质量修订(代理按风格 指南进行)——先运行 pipeline,阅读报告,再决定哪些需要深度修订。
一行路由:语法/流畅度/期刊格式润色 → 使用润色工具 (paper-polisher-pro);去模板化、模型残留清理、AI风格自查和改写 → 使用本工具。 两者都需要?先润色,再运行本 pipeline。
功能状态 (v5.6.0)
⚠️ 标记的行 = 实验性(可能拒绝有效文件;请审查输出)。完整的逐代能力列表已移至 references/feature_status.md;各项详情位于 references/errors.md 和主题文档中。稳定亮点(全部稳定,v1.0–5.6):核心五项 · 章节感知 · 改写计划 · 学习型护栏 · 机器退出码 · 块降级 · 批量恢复/并发隔离 · 跨文件术语漂移 · 统计一致性防护 · 术语变体分组 · 编码自动检测 · 提交自检包 (--bundle) · pipeline --handoff · 验证处方输出 · docx 回写 · 术语统一表 · EN 2026 信号(缓冲语 / 三法则 / 长破折号密度 / 段落开头) · 逐章节焦点 (--section) · CN 密度镜像(破折号过度使用 / 公式化段落开头) · 超大文件的分块扫描对比 · 逐信号解释(为何标记) · 通用画像降权矩阵(全部 8 个结构组) · 批处理工作表 + 统计卡片 · 命中行号(每个样本上显示 L{行号}) · 健康报告仪表盘 (bundle 2.0) · CN 特征库 v2 · 交接行锚点 · 文档计数核对 · 仪表盘操作清单 · bundle 改写表 (09) · 批处理修订记录 · 写入清单自证 (00_写入清单.json) · 比较行锚点 + 解释 · 打印友好报告 · 护栏库导出/导入。
| 能力 | 状态 | 始于 |
|---|---|---|
⚠️ PDF 直接读取 + 置信度自报告(尝试内嵌字体/ToUnicode,上限"中";校准在 references/pdf_confidence.md;自 v3.8.0 起默认门限 = 中 — 默认拒绝典型乱码提取,--pdf-min-confidence 低 恢复仅注释模式) | ⚠️ 实验性 | v1.6–3.8 |
完整性护栏 — 请先阅读
- 允许的:润色自己的草稿;在学校/期刊 允许或要求披露的 AI 辅助场景下,将 AI 辅助文本与自己的风格对齐;清理合法披露草稿中的模型残留(杂散
oaicite/[cite:]令牌);提高正式散文的清晰度、节奏和具体性。 - 不允许的:使用本工具包歪曲作者身份、在需要披露的情况下隐藏 AI 使用、或规避学术诚信审查。如果请求以这种方式提出(“改写它,让审查看不出来”),请拒绝此框架,解释披露义务,并提供合法的质量编辑路径。运行此技能的代理应强制执行此界限。
- 本工具从不更改数据:数字、p值、置信区间、DOI、PMIDs、年份和术语均由
verify.py保护(见下文)。改进的散文绝不能以事实为代价。 - 合规性:中国 AIGC 标签规则(2025-09-01 生效)、期刊披露政策和 arXiv 政策总结于
references/compliance.md中——披露义务属于作者,而非工具。
能力 × 边界(分工 + 限制 + 位置)
| 能力 | 做什么 | 不做什么(边界) | 位置 |
|---|---|---|---|
| 风格自查 | 启发式报告:模板密度、节奏均匀性、官腔;章节感知 | 不是 AI 检测器——对流畅的模型文本几乎不触发(低分 ≠ 无 AI) | detect.py;见 honest_boundaries |
| 机械清理 | 模型残留(oaicite/[cite:])、聊天填充语、标点规范化、全角数字 | 不进行句子改写——仅零信息损失层 | transform.py(--deep 用于句子级别) |
| 质量深度改写 | 去模板化 / 节奏 / 具体性 / 立场(七步) | 绝不编造数据;编造的数字会被标记(W_NUM_ADDED,由人工删除) | 你(代理) 按风格指南操作;通过 plan --handoff 交接 |
| 完整性护栏 | 数字/DOIs/PMIDs/年份/术语必须保留;篡改 = 退出码 1(FAIL 输出出具带有锚点的修复方案) | 无真值判断——原始数据是权威 | verify.py |
| 改前/改后 | 分数差值 + 完整性裁定 + 画像差异 | 不能替代人工阅读 | compare.py / stylecheck --compare |
| 术语一致性 | 8 域 27 组(HF/心力衰竭/心衰 一行);--unify 生成统一草稿,附带每种变体替换计数(采纳前请审查) | 不判断用法正确性——仅同义合并 | check_terms.py --pack / --unify |
| 数字一致性 | 百分比列表和(分块提示)/ 跨文件组 n / p 与 P 风格 | 非统计学审核——原始数据是权威 | check_stats.py(--batch) |
快速入门
如何用简单语言请求(完整短语表的英文摘要见 SKILL_ZH.md):
"去除这篇文章的 AI 味儿" / "读起来太模板化" / "清理 oaicite 和 [cite:] 残留" /
"告诉我哪些句子需要先修改" / "检查我改写时没有破坏数字" / "给我一份风格画像" /
"停止标记这个合法术语" —— 这些分别对应 pipeline、plan.py、transform.py、
verify.py+compare.py、stylecheck.py 和 learn_guards.py。
无需代理——以下每项能力均可直接在终端运行。
每个脚本都有内置的 --help(完整标志参考)和 --version;
快速标志语义:
| 标志 | 含义 |
|---|---|
--profile general | 非学术文本:降低公式化/模板信号权重 |
--deep | 确定性句子级变换(固定开头句式,不仅合并) |
--exit-verdict | CI/代理门控的机器退出码(见下文) |
--structure | 章节感知评分(IMRaD) |
--step-timeout SEC | 每步的墙钟预算(默认 120) |
--terms FILE | 完整性护栏杆所使用的术语列表(由 extract_terms.py 构建) |
--unify SHEET | check_terms:生成术语统一草稿(v4.4.0;建议性——请审查替换列表) |
--section abstract | detect:单独诊断一个章节(v4.5.0;摘要通常是审稿人最先阅读的) |
-o revised.docx | -o 在 pipeline/transform/compare 上,当路径以 .docx 结尾时写入 Word(v4.4.0,纯文本段落;复杂布局需手动合并) |
一条命令(自检 → 清理 → 改写摘要 → 完整性护栏):
python scripts/pipeline.py draft.txt -o out.txt --terms terms.txt
- 可视化 / 批处理:在 detect/pipeline/compare 上使用
--html report.html生成独立报告(compare 会添加句子级差异);--batch dir扫描整个目录(pipeline 写入 CSV;批处理-o摘要保持 CSV 格式——表格无法回写 docx);-o在 pipeline/transform/compare 上以.docx结尾时,会写回为 Word(v4.4.0,纯文本段落——与.docx直接读取形成闭环;表格/图片/样式不会重建,复杂布局需手动合并)。 - 章节感知:
detect --structure分别对摘要/引言/方法/结果进行评分;方法/结果部分的措辞属于体裁惯例——仅进行总体归一化,始终显示原始逐章节分数。 - 改写计划:
plan.py draft -o plan.md对句子进行优先级排序(P0 队列 + 预算预估);添加--handoff生成逐句操作表。 - 输入:
.txt/.md直接(UTF-8/UTF-16〔含 BOM〕/GBK 自动转码,v4.0),.docx直接,PDF 实验性(自 v3.8 起默认安全门限 = 中;低恢复仅注释模式;references/pdf_confidence.md)。 - 术语列表:
python scripts/extract_terms.py draft.txt -o terms.txt(手工确认);任何运行均可接受--suggestions path.md以生成修订工作表。 - 非学术文本:添加
--profile general以降低正式模板的权重。
或者逐步运行各个步骤(从技能自己的目录,或使用绝对路径):
python scripts/detect.py draft.txt # 风格模式自检(-j JSON,-s 仅分数)
python scripts/transform.py draft.txt -o step1.txt
# ... 按风格指南对 step1.txt 进行代理质量修订 ...
python scripts/verify.py draft.txt step2.txt --terms terms.txt
python scripts/compare.py draft.txt step2.txt
按场景组织的最佳实践(期刊投稿、学位论文、修稿信、批处理、CI 门控、假阳性处理、中文标点):
references/best_practices.md。
端到端工作示例:references/examples.md。统一退出码、违规分类及修正方案:references/errors.md。常见错误集中列表(27 项):references/pitfalls.md——在首次真正运行前务必阅读。Python API 参考:references/api.md。FAQ:references/faq.md。
- 修订追踪:
--track base记录每个机械层更改到base.md+base.json(可审计:规则、计数、被删除的句子、标记)。 - PDF(实验性):自 v3.0.0 起支持含内嵌字体/ToUnicode 的文本 PDF——尝试提取,置信度上限为"中",并附带抽样检查说明;CJK CID 文件仍被垃圾探测程序拒绝,并提供导出建议。规模:800K 字符块(2K 重叠)· 50MB 上限 · 全文完整性护栏。
代理调用协议
被调用时,先决定路径,然后执行:
- 触发词:写作风格自查 / 论文改写润色 / 去模板腔 / 翻译腔清理 / 学术改写 / 段落改写 / 表达优化 / style self-check / style naturalization / naturalize academic writing / de-templating / academic rewriting / passage rewrite / expression polish / translationese cleanup (= 欧化句法:堆叠被动、名词化链、长定语——见 style_guide_en 第 1/3 步) / make my writing sound less machine-written / reduce the templated tone / clean up model residue or stray citation tokens / fix stiff formal prose / polish my draft for submission without changing the data / check that numbers and citation IDs survived editing → 运行上述 pipeline。(中文变体触发词见 SKILL_ZH.md——CH 分寸词不入英文文件;数字自洽/术语混用类请求路由到 check_stats.py / check_terms.py,见下)(参数速查表位于快速入门;退出码表格在 references/errors.md——两者均已链接至此,避免跨节查找。)
- 歧义消解(本工具 vs 润色器):「论文改写润色」在此指风格自然化/去模板化(去除学术散文中的机器味)。决策规则——当请求仅涉及语言正确性/流畅性时,路由到润色器(paper-polisher-pro):「帮我改下语法」「按期刊风格改写摘要」;当涉及模板化语气或模型残留时,路由到本工具包:「这篇读起来像 AI 写的」「文里有 [cite: 1] 这种残留」;两者兼有时,先润色,再运行此 pipeline——两者不能相互替代。
- 术语不一致(缩写与全称混用、同义词混用)→
check_terms.py file --pack <domain>;要直接生成统一草稿,添加--unify output.txt(每组统一为其主导变体,显示每种变体的替换次数——建议性输出,采纳前请审查,然后运行 verify;v4.4.0);--list-packs显示全部八个领域包(v3.0.0)。 - 数字不一致(百分比列表和不等于 100、同一组有两个不同的 n、p/P 风格混用)→
check_stats.py file(v3.2.0;退出码与 check_terms 一致:0 一致 / 1 发现不一致)。分章节手稿:check_stats.py --batch 目录跨文件汇总组 n(摘要与方法不匹配,v3.3.0)。或一次性运行全部:pipeline.py draft --check-stats。 - 用户想知道先修改什么 →
plan.py draft.txt -o plan.md(P0 句子队列 + 预算预估);添加--handoff生成逐句操作说明表(护栏 + 接受命令,v3.0.0)。 - 用户希望量化接受改写结果 →
stylecheck.py 原稿 改稿 --compare(v2.6.0 风格画像差异;触发词:风格画像 / 量化验收 / 深改验收 / style profile / acceptance check)。 - 批处理运行被中断(Ctrl-C / 断电 / 超时)→ 用
--batch 目录 --resume重新运行(跳过已完成文件;已更改或先前失败的文件自动重新运行;进度保存在批处理目录下的 .pr_batch_state.json 中)。 - 场景快捷方式(v3.8.0 整合):CI/批处理门控 →
--exit-verdict(--ci别名;0 干净 / 3 深度修订 / 4 残留 / 1 完整性失败,仅 pipeline);假阳性补救 →learn_guards.py from-text 术语 样本.txt;从何处开始深度修订 →pipeline 原稿 -o 改稿 --handoff 交接块.md(一条命令,无需单独运行 plan)。 - 多章节术语统一 →
check_terms.py --batch 目录(跨文件变体漂移:每个文件内部一致,但集合不一致)。 - 扫描标记了合法术语(假阳性)→ 不要编辑模式文件;而是持久化一个护栏:
learn_guards.py from-text 术语 样本.txt(或add)——护栏基于学习而非模糊匹配(v3.8.0);它将该术语添加到你当前配置的 guard 信任集中。查看已有护栏:learn_guards.py list。learn_guards.py也适用于误标的单词(如口语、特定行话、小说中的角色名)。 - "没有 AI 痕迹"重构 → 在 pipeline 上使用
--extreme以启用最高强度模式(去除任何可辨别的 AI 常用语言模式);否则使用内置的完整性护栏;审查风险,然后彻底改写整个段落。
完整的语种触发词表(英文段落 + 中文段落)位于 SKILL_ZH.md — CH 分寸词不入英文文件;数字自洽/术语混用类请求路由到 check_stats.py / check_terms.py,见下。速查表位于快速入门;退出码表格在 references/errors.md。运行 python scripts/pipeline.py --help 查看完整标志参考。