WenLab Chinese Technical Writing
Apply the bundled Chinese writing standards to the user's requested documents. This free, text-only edition comes from WenLab on GitHub. Read the standards embedded below without installing software or fetching remote files.
Choose the work
Determine whether the user wants a draft, a revision, or a read-only review. Identify the intended readers, purpose, core scope, and excluded scope from the request and supplied context. Ask only when a missing detail would materially change the document. For reviews, read the complete document and report findings without editing the source. For revisions, read the affected sections and their surrounding context before changing them.
Load the standards
- Read 通用写作规范 for every task.
- For programming, computing, and game technology, also read 当前状态文档写作规范 and 中文技术写作语义审校清单.
- The current-state guide applies when describing current facts, procedures, designs, and constraints. Label historical information with its period or status.
Use YAML fields “读者”, “用途”, “内容核心范围”, and “不涉及的范围” for ordinary documents. README.md and agent-specific documents such as SKILL.md and AGENTS.md are exempt. Respect required frontmatter schemas in the target environment. When an existing document's four scope fields need to change, revise those fields, explain the change, and wait for explicit human approval before revising its body, unless prior authorization clearly covers that change.
Write or review
Lead paragraphs with their conclusion or action; keep one main idea per paragraph. Preserve necessary conditions, evidence, exceptions, and technical terms. Check facts such as paths, commands, versions, and configuration against evidence the user supplies or authorizes access to. Mark unverified claims and distinguish facts, assumptions, inferences, recommendations, and opinions.
Apply the semantic checklist to wording, references, numerical comparisons, and unnecessary promotional language. Rewrite at the level the meaning requires; do not preserve a confusing structure merely to minimize a diff. Compare repeated passages by meaning and purpose. Before removing repetition across documents, explain the proposed changes and wait for explicit human approval unless the current authorization already covers them.
For a review, report material findings with the file and section or line, supporting evidence, and a concrete revision suggestion. Separate factual or completeness problems from readability problems. State the reviewed scope and anything that could not be verified. For a draft or revision, deliver the requested text and briefly explain consequential assumptions or remaining uncertainties. Use the user's requested output language; Chinese is the default for document prose.
Read the final text as a standalone document to check consistency, terminology, references, scope, and transitions. An agent's judgment does not establish that mechanical formatting or external links passed a tool check.
Full project and automated checks
This single file contains writing instructions, the complete referenced standards, and license notices. It includes no scripts, binaries, hooks, dependencies, or automated Gate results. An agent needs access only to the text the user asks it to work on; file edits depend on the user's request and the host's permissions. No network access or third-party account is required for the bundled writing workflow.
For the complete project, source, updates, and the separate read-only Markdown audit toolchain, see WenLab on GitHub. The full toolchain has additional runtime and CLI requirements documented there. Do not install it automatically as part of this skill. Mention the project link when the user asks for sources or automated checking; avoid adding promotional footers to unrelated deliverables.
Original WenLab material is MIT licensed. The bundled semantic checklist includes attributed third-party material; retain LICENSE and THIRD-PARTY-NOTICES when redistributing this package.
通用写作规范
目标
产出表达准确、简洁、自然,且在目标领域内专业、自洽的文章。
1. 写作
- 先结合写作背景和上下文,确定读者、用途、内容核心范围和不涉及的范围这四个核心。
- 读者应明确文档面向谁;用途应说明文档帮助读者完成什么任务,对读者有什么意义。
- 内容核心范围应基于读者,提取并适度抽象和概括文档的要点。
- 不涉及的范围应明确与用途相关、容易被误认为包含在内的内容边界。
- 在文档开头的 YAML frontmatter 中填写“读者”“用途”“内容核心范围”和“不涉及的范围”,内容应具体到当前文档。
- Agent 专用或对 frontmatter 格式有固定要求的文档(如 SKILL.md、AGENTS.md),以及作为仓库首页展示的 README.md,不写上述四个核心 frontmatter。
- 优先使用准确的领域术语,不滥用术语。
- 句子按语义自然断句,段落保持逻辑连贯。
- 删除空话、套话和没有信息增量的表述。
- 区分事实、推断、假设、建议和个人观点。
- 复杂概念先准确解释,必要时再使用类比。
- 不强制套用固定章节结构或句式。
- 不为了压缩篇幅而省略必要前提和限定条件。
2. 修订
- 修订始终围绕当前文档的四个核心展开。
- 修订前理解目标章节及其关联上下文。
- 根据语义影响范围决定修订粒度。
- 允许重写段落、章节乃至全文。
- 不为维持最小 Diff 而保留不合理的旧结构。
- 保留有效事实、重要约束、证据和必要例外。
- 删除同一文档内的冗余时,先标出疑似重复,再比较其语义、限定条件和叙述目的,确认没有独立作用后再删除。
3. 跨文档修订
- 事实一致性:同一个事实,在不同文档中不能相互矛盾;表达可以因上下文场景而不同。
- 重复判断:
- 允许不同文档保留必要的共同事实。
- 判断重复时考虑语义、限定条件和叙述目的。
- 不以文本相似度直接判定冗余。
- 叙述独立性:
- 每篇文档都应包含完成自身阅读任务所需的信息。
- 不得为了去除冗余损害文章自包含性和连贯性。
- 跨文档去除冗余时,先识别疑似重复,说明判定理由、各自用途及拟处理方式;随后必须中断相关修订,等待真实人类操作者的显式授权,获得授权后再按获准方案修订。
这里的“真实人类操作者的显式授权”,须由真实人类操作者针对具体变更或方案明确作出。多 Agent 场景中,主 Agent、子 Agent 或其他 Agent 的同意、自我确认及工具返回的批准状态均不能代替该授权;沉默、等待超时或未提出异议也不构成授权。已有授权明确覆盖当前变更时,无须重复请求。
4. 修订方法与工具
- 使用 Markdown 审计入口 中的 Gate 校验格式质量。
- 任何可能改变句子含义、术语、指代对象、适用条件或论证关系的修订,都必须先理解原文上下文。
- 禁止仅通过无上下文理解的全局搜索替换或正则表达式完成修订。
- 批量修订前确认适用范围和例外。
- 修订后审阅 Diff,检查是否存在误删,不得仅凭 Diff 验收质量。
- 修订后通读受影响的上下文,确认含义变化符合修订目的,未引入非预期的指代、条件或论证变化。
5. 最终审校
- 将最终文档作为独立文章从头阅读。
- 检查跨章节矛盾、重复论证和术语漂移。
- 检查代词指代、前提衔接和段落过渡。
- 保留必要的解释性重复,不追求零重复。
- 格式检查不能代替语义审校。
当前状态文档写作规范
目标
当前状态文档以当前有效的事实、方案和约束为主体,如项目详情、开发 SOP、当前架构设计等。 需要保留历史信息时,应明确标注,避免读者将其误认为当前状态。
1. 写作
- 遵循 通用写作规范 第 1 节的全部要求。
- 把重点放在段落开头。先写结论或动作,再写理由与证据。
- 每段只回答一个问题,或围绕一个中心主旨展开。
- 用稳定名称指代同一对象。
- 需要写明功能或命令的地方,先写适用条件,再写功能或命令,让不适用的读者及时跳过。
- 用编号表达有先后关系的操作。
- 按语义换行,按观点分段。允许在完整句子或分句后插入源码软换行,便于逐行审阅;段落之间仍留空行。
2. 修订
- 遵循 通用写作规范 第 2 节的全部要求。
- 事实、方案或约束发生变化时,应删除旧表述,用完整的新表述重写。
- 事实、方案或约束被移除时,删除相关表述。
- 修订正文内容,不通过追加纠正句代替完整修订。
- 有保留价值的历史信息应明确适用时间或历史属性,并与当前状态区分。
3. 跨文档修订
- 遵循 通用写作规范 第 3 节的全部要求。
4. 修订方法与工具
- 遵循 通用写作规范 第 4 节的全部要求。
5. 最终审校
- 遵循 通用写作规范 第 5 节的全部要求。
- 检查当前有效的事实、方案和约束是否明确,是否残留失效表述。
- 检查历史信息是否有清晰标注,是否可能被误读为当前状态;不以文档修订时间代替时效性核验。
中文技术写作语义审校清单
本文列出 Markdown 审计入口 中的 Gate 无法机械检查的中文技术写作规则,审阅文档时应逐条核对。可以机械检查的规则已写入 Gate,本文不再重复。
规则按来源分为三部分:
- 整理自阮一峰《中文技术文档的写作规范》、需要按语义判断的规则。
- 改编自 Humanizer-zh、适用于技术文档的空话与模板化表达检查项。
- 本项目自有的路径与引用规范,不来自上述第三方仓库。
本文与 当前状态文档写作规范 配合使用:当前状态文档写作规范在通用写作规范之上补充文档结构与时效性要求,本文列出句子和用词层面的具体核对项。
来自阮一峰写作规范的规则
本部分整理自阮一峰《中文技术文档的写作规范》,只收录其中需要按语义判断的规则。
- 句子:
| 规则 | 反例 | 改写或核对要点 | | ---------------------------------- | ------------------------------------ | -------------------------------------- | | 尽量使用简单句和并列句,避免复合句 | 那个昨天生病的人没有参加会议。 | 他昨天生病了,没有参加会议。 | | 同一个意思,尽量用肯定句表达 | 请确认没有接通装置的电源。 | 请确认装置的电源已关闭。 | | 避免双重否定 | 没有删除权限的用户,不能删除此文件。 | 用户必须拥有删除权限,才能删除此文件。 |
- 写作风格:
| 规则 | 反例 | 改写或核对要点 | | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------- | | 尽量使用主动语态,不用被动语态 | 假如此软件尚未被安装,…… | 假如尚未安装这个软件,…… | | 不使用非正式的语言风格 | 这个功能真是酷毙了,太给力了! | 这个功能显著提升了处理速度。 | | 不使用冷僻、生造或文言词语,使用现代汉语的常用表达 | 这是唯二的快速启动方法。 | 这是仅有的两种快速启动方法。 | | 正确使用“的”“地”“得”:形容词加“的”修饰名词,副词加“地”修饰动词,动词加“得”引出补语 | 她开心的笑了。 | 她开心地笑了。 | | 代词(如“其”“该”“此”“这”)的指代必须明确,只有一种理解 | 从管理系统可以监视中继系统和受其直接控制的分配系统。 | 从管理系统可以监视两个系统:中继系统和受中继系统直接控制的分配系统。 | | 名词前不堆叠过多的形容词 | 此设备的使用必须在接受过本公司举办的正式的设备培训的技师的指导下进行。 | 此设备必须在技师的指导下使用,且指导技师必须接受过本公司举办的正式设备培训。 |
- 英文处理:
| 规则 | 反例 | 改写或核对要点 | | ---------------------------------------------- | -------------------------------------- | ---------------------------------------- | | 英文原文使用复数时,译成中文后还原为单数 | 存储在随机存取存储器(RAMs)里的信息 | 存储在随机存取存储器(RAM)里的信息 | | 英文书名或电影名改用中文表达时,引号改为书名号 | 他发表了一篇名为“航空业的未来”的文章。 | 他发表了一篇名为《航空业的未来》的文章。 |
- 段落:
| 规则 | 反例 | 改写或核对要点 | | ------------------------------------------------------------------------------ | ------------------------------ | ---------------------------------- | | 一个段落只有一个主题,或一个中心句 | — | 一段讲了两件事时,拆成两段。 | | 中心句放在段首,概述全段内容;后面的句子为中心句服务 | — | 先写结论,再写理由与证据。 | | 段落使用陈述和肯定语气,避免感叹语气 | — | 把感叹句改为陈述句。 | | 引用第三方内容时注明出处;全篇转载时,在开头显著位置注明作者和出处,并链接原文 | 引用他人观点,但没有说明来源。 | 在引文后注明作者和来源。 | | 使用外部图片时,在图片下方或文末标明来源 | 插入外部图片,但没有说明来源。 | 在图片下方注明“图片来自维基百科”。 |
- 数值:
| 规则 | 反例 | 改写或核对要点 | | ------------------------------------------------------------------------------ | -------------------------------------------- | ---------------------------------------- | | 增加时,“增加了”表示增量,“增加到”表示定量;减少时,“降低了”与“降低到”同样区分 | 价格从 1 元涨到 2 元,写成“价格增加了两倍”。 | 价格增加到过去的两倍,或价格增加了一倍。 |
- 标点:
| 规则 | 反例 | 改写或核对要点 | | --------------------------------------------------------------------------- | ----------------------------------------------- | ---------------------------------------------------------------------------------------------------- | | 句子内部的并列词用顿号分隔,即使并列词是英文 | 我最欣赏的公司有 Google, Facebook, 腾讯和百度。 | 我最欣赏的公司有 Google、Facebook、腾讯和百度。 | | 并列词的最后一项,尽量用“和”连接 | 我最欣赏的公司有 Google、Facebook、腾讯、百度。 | 我最欣赏的公司有 Google、Facebook、腾讯和百度。 | | 分号用于复句内部并列分句之间的停顿 | — | 核对分号两侧是否为并列分句。 | | 冒号用在需要解释的词语后,引出解释和说明 | — | 核对冒号后的内容是否解释或说明冒号前的词语,如“请确认以下几项内容:时间、地点、活动名称和来宾数量。” | | 连接号与破折号按用途区分:两个名词的复合用连字符“-”,进一步解释用破折号“——” | 氧化——还原反应 | 氧化-还原反应 |
来自 Humanizer-zh 的空话与模板化表达
本部分改编自 op7418/Humanizer-zh 中适用于技术文档的检查项。 原作者为歸藏,采用 MIT 协议;完整版权与许可声明见第三方许可说明。
| 规则 | 反例 | 改写或核对要点 | | ------------------------------------------------------------ | -------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | | 不用“不是 X,而是 Y”“不仅是 X,更是 Y”的假对比抬高语气 | 这不仅是一个导出按钮,更是通往高效工作的全新入口。它可以导出 CSV。 | 改为:这个按钮可以导出 CSV。否定部分纠正真实误解时保留,如“错误发生在保存阶段,而不是上传阶段”。 | | 删除只预告下文的铺垫,如“让我们深入看看”“以下是你需要知道的” | 接下来让我们深入看看缓存的作用。缓存可以复用已经取得的结果。 | 改为:缓存可以复用已经取得的结果。删除后直接进入正文,不用新内容填补删掉的篇幅。 | | 不用“标志着……新时代”等套话拔高事件的意义 | 团队在周三开放了文件导出,标志着协作新时代的到来。离线编辑仍在开发。 | 改为:团队在周三开放了文件导出。离线编辑仍在开发。只删套话,同段中的计划、困难和时间节点保留。 | | 句尾不追加只重复赞美的补充,如“彰显了……”“体现了……” | 页面提供全文搜索,彰显了团队对创新的不懈追求。 | 改为:页面提供全文搜索。补充原因、目的或结果时保留,如“页面提供全文搜索,方便读者查找术语”。 | | 不用宣传语代替特征描述 | 该工具性能卓越、体验极佳,堪称开发者的必备神器。它支持增量构建。 | 改为:该工具支持增量构建。只保留原文给出的特征,没有测试数据时不补写性能参数;主观评价保留为评价,不改写成测试结论。 | | 独立文档中不写无内容的问候、夸奖和提议 | 好问题!这是导出功能的说明。它支持 CSV。希望这对您有帮助! | 改为:导出功能支持 CSV。邮件、书信和客服回复中的礼貌用语有实际用途,可以保留。 | | 标题后不写只复述标题的句子 | 标题“导出限制”下的首句:下面说明导出限制。单个文件最大为 10 MB。 | 改为:单个文件最大为 10 MB。标题后的条件、定义和数据即使与标题用词重复也要保留,如“仅支持导出当前页面”。 |
本项目规范:路径与引用
本部分是 wenlab 自有的规范,不来自阮一峰或 Humanizer-zh 的仓库。
| 规则 | 反例 | 改写或核对要点 |
| ---------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 文件和目录引用以相对路径为第一优先级,适用于正文、链接、命令示例和配置示例 | 项目内文件写成 C:\Users\name\project\docs\guide.md。 | 能用相对路径准确表达时,改为 docs/guide.md 等写法;结合使用位置确定基准目录,避免照搬作者机器上的路径。 |
| 必须使用本地绝对路径时,在上下文中说明例外原因和适用环境;常见用户目录及路径环境变量除外 | 只写“配置文件位于 /etc/app/config”,未说明环境和为何使用该位置。 | 固定系统位置、工具强制要求绝对路径、故障记录或教学反例等,需说明为何必须保留绝对路径,并交代操作系统及相关环境。例外原因可以在段落或章节中统一说明,无须逐次重复。 |
| 按上下文识别文件系统路径、命令和 API 路由,不按斜杠形式统一分类 | 看到 /build 就判定为命令,看到 /api/users 就判定为 Linux 绝对路径。 | 结合所属工具、语法位置和操作对象判断:/build 可能是交互命令或目录;GET /api/users 中的是 API 路由;/usr/bin/env 可以是通过绝对路径调用的可执行文件。命令中的路径参数也需单独判断。 |
| 上下文不足时,先补充用途与环境,再判断是否需要改写 | 仅因字符串以 / 开头,就删除前导斜杠。 | 确认其实际含义后再修改。命令和 API 路由按各自语法保留;本地文件系统路径按相对路径优先和绝对路径例外规则处理。 |
| 引用同一文档中的具体章节时,使用文内锚点链接,链接文字写明目标标题 | 只写“见第 3 节”或“按前文要求执行”,要求读者自行查找。 | 写成 [格式质量](#3-格式质量) 等链接;必要时保留章节编号。锚点按发布环境的生成规则书写,标题改名或调整层级、编号后同步核对引用。目标章节是否与引用语义一致需人工判断。 |
许可证
MIT License
Copyright (c) 2026 basstal
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
第三方许可说明
Third-party materials and dependencies
Reviewed: 2026-10-26
Scope
-----
The root LICENSE applies to original contributions to wenlab. It does not
replace the licenses or copyright notices of third-party tools, dictionaries,
or source materials. Installing a dependency does not relicense it under MIT.
Core tools
----------
The repository invokes these tools or their APIs. Their upstream license
notices must be retained when distributing their code or binaries.
- AutoCorrect 2.16.3: MIT
https://github.com/huacnlee/autocorrect/blob/v2.16.3/LICENSE
- rumdl 0.3.0: MIT
https://github.com/rvben/rumdl/blob/v0.3.0/LICENSE
- CSpell 10.3.6: MIT
See tools/docs-audit/node_modules/cspell/LICENSE after installation.
- Prettier 3.9.9: MIT
See tools/docs-audit/node_modules/prettier/LICENSE after installation.
- Vale 3.24.0: MIT
https://github.com/vale-cli/vale/blob/v3.24.0/LICENSE
- lychee 0.24.2: Apache-2.0 OR MIT
https://github.com/lycheeverse/lychee/blob/lychee-v0.24.2/LICENSE-MIT
Transitive npm dependencies
--------------------------
tools/docs-audit/package-lock.json records the exact versions and declared
licenses of 109 dependency entries at the review date: MIT (101), ISC (4),
BSD-2-Clause (1), BSD-3-Clause (1), WTFPL (1), and CC BY-SA 4.0 (1).
In particular, @cspell/dict-en-common-misspellings 2.2.5 is distributed under
CC BY-SA 4.0. Its dictionary is not relicensed under the project's MIT
license. If distributing or adapting this material, retain its attribution
and license information and satisfy the applicable ShareAlike requirements.
See that package's LICENSE, README.md and package.json after installation.
node_modules and downloaded tool binaries are not part of the tracked source
distribution. Any future bundled distribution must include the applicable
upstream license texts, notices and attribution for the materials it ships;
this summary does not replace those texts.
Writing guidance sources
------------------------
docs/中文技术写作语义审校清单.md draws on ruanyf's document-style-guide.
Author: 阮一峰 (ruanyf) and contributors.
The upstream README declares the material public domain.
Source and license statement:
https://github.com/ruanyf/document-style-guide/blob/master/README.md
The "来自 Humanizer-zh 的空话与模板化表达" section of
docs/中文技术写作语义审校清单.md adapts rules and examples from
op7418/Humanizer-zh, authored by 歸藏 and licensed under MIT.
Source: https://github.com/op7418/Humanizer-zh/blob/main/SKILL.md
License: https://github.com/op7418/Humanizer-zh/blob/main/LICENSE
The upstream copyright and license notice is retained below for that material.
MIT License
Copyright (c) 2026 歸藏
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Runtime and optional software
-----------------------------
Git, PowerShell, Node.js and the optional Beyond Compare installation retain
their own licenses. The project's MIT license does not grant a license to
Beyond Compare or authorize redistribution of a third-party installation.
Scan to join WeChat group