前言¶
在 DeepSeek Harness (DSH) 插件生态中,处理中文网页文案时,排版问题常被忽视。显式断行错误(如孤字行)或缺少 CSS 保护规则,会导致页面在浏览器中显示不佳。cn-linebreak 是一个针对这类问题的审查与修复工具。
这是什么¶
cn-linebreak 是一个中文网页文案断行审查与修复工具。它由 chiang21fcb 维护,是一个零依赖、纯 JavaScript(需 Node >= 18)的静态 HTML 审计器。该工具将《中文网页文案断行修复指南》中的规则转化为可执行的检查,旨在解决显式断行错误及高风险写法。
核心功能¶
该插件提供以下核心能力:
- 审查显式断行错误:检查孤字行、标点符号规则违规(如行首/行尾出现禁则标点)、缺少
word-break: keep-all、覆盖文本元素的全局white-space: nowrap、保护词被换行拆开等。 - 自动修复:在自然停顿处(如
,。;:、)自动插入<wbr>标签。修复模式会跳过脚本、样式、预格式化文本区域以及.no-break保护区域。 - 代理工具:安装后,DSH 代理可直接调用
cn_linebreak_audit工具。 - 静态审计:支持对静态 HTML 进行全面检查。
安装与启用¶
安装该插件包(它也是 DeepSeek Harness 的标准插件包):
dsh plugin --profile <name> add cn-linebreak
安装完成后,插件会注册 cn_linebreak_audit 工具,供代理调用。该工具支持通过配置文件覆盖 protectedPhrases(保护词典)等参数。
典型用法¶
以下是该工具在命令行和代码中的典型用法:
# 审查一个文件
npx cn-linebreak page.html
# 审查并输出修复版 HTML(stdout),摘要走 stderr
npx cn-linebreak --fix page.html > page.fixed.html
# 完整 JSON 报告
npx cn-linebreak --json page.html
在 JavaScript 环境中,可以通过 CommonJS 引入:
const { auditHtml } = require('cn-linebreak')
const report = auditHtml('<p>读产品手册,提取事实,输出文档。</p>', { mode: 'fix' })
console.log(report.issues)
适用场景与注意¶
该工具适合需要对中文网页断行进行规范化检查的开发者。
需要注意以下几点:
* 静态检查局限:工具只能看到 HTML 中已明确存在的 <br>/<wbr> 和文本/CSS 结构,无法感知浏览器按真实字号、容器宽度渲染后的实际换行结果。
* 修复模式保守:修复模式是机械插入,任何语义边界(如产品名)都需要人工复核。
* 人工复核:不能识别浏览器渲染后的孤字行(该功能在路线图 v0.4.0 中规划)。
结语¶
cn-linebreak 提供了一套标准化的中文断行检查方案,适合集成到 DSH 工作流中。通过明确的断行标记(<wbr>)和 CSS 规则,可以提升中文网页的排版质量。