前言¶
在 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 規則,可以提升中文網頁的排版質量。