前言¶
DeepSeek Harness(DSH)的插件化設計允許在模型推理流程中插入自定義邏輯。在構建智能體或進行模型調優時,模型輸出往往帶有過於刻板的“AI味”,例如高頻使用“賦能”、“閉環”等空轉詞彙,或使用過於完美的排比結構。dsh-humanizer 插件提供了一套解決方案:在生成前通過 System Prompt 注入具體的寫作約束,同時在生成後通過純代碼邏輯對文本進行“AI味”檢測與打分。
插件簡介¶
dsh-humanizer 是一個運行在 DSH 中的 Bundle 插件,由開發者 liuwenji007 維護。
它通過 dsh.bundle.patch 機制將風格注入邏輯集成到 DSH 的 Profile 中,並利用 dsh.profile.bundles 實現配置的層疊與複用。該插件不依賴外部 LLM 進行檢測,而是通過本地正則匹配和統計邏輯完成,因此具備“零 token”消耗和“結果可復現”的特點。
核心功能¶
1. 生成前風格約束注入¶
當插件啓用時,它會向模型的 System Prompt 中注入一段正向寫作規則。這些規則旨在打破 AI 常見的模板化輸出:
* 要求內容具體,避免空洞。
* 強調觀點明確,不進行無意義的結論昇華。
* 禁止使用 Emoji 裝飾。
* 保持句子長短錯落,避免機械的排比結構。
2. AI 味檢測報告¶
插件提供了一個基於純代碼的檢測工具。它通過分析文本中的特定模式,判斷內容的“AI味”濃度。檢測結果是確定性的,不涉及任何猜測或模糊判斷。
3. 工具複用¶
除了在 DSH 上下文中自動生效,開發者也可以直接在 Node.js 環境中複用其核心檢測邏輯。
安裝與啓用¶
這是一個 Bundle 插件,安裝後會自動進入 Profile 的 Bundles 鏈路。
安裝命令:
dsh plugin --profile <profile名> add link:/abs/path/to/dsh-humanizer
注意:npm 倉庫中的
dsh-humanizer包名已被其他作者佔用(僅做寫作潤色)。本插件尚未發佈到公共 npm,目前推薦通過上述本地或源碼路徑安裝。發佈後包名將使用作用域名@liuwenji007/dsh-humanizer。
配置¶
在 Profile 的 cordis.patch.yml 中配置 dsh-humanizer,默認開啓風格注入:
- id: dsh-humanizer
config:
enabled: true # 是否注入人味風格 system prompt(默認 true)
domain: copywriting # 寫作域:copywriting / general(默認 copywriting)
voice: '' # 可選:提供 2~3 段寫作樣本,用於「聲音校準」
| 字段 | 類型 | 默認值 | 說明 |
|---|---|---|---|
enabled |
boolean | true |
設爲 false 時僅禁用風格注入,detect_ai_flavor 工具仍可使用。 |
domain |
string | copywriting |
決定注入的定位語風格。 |
voice |
string | '' |
填入非空字符串時,會將樣本掛入 Prompt,模仿特定寫作節奏。 |
使用方式¶
1. 自動生效(風格注入)¶
當 enabled 爲 true 時,每次模型生成前都會自動附帶上述風格約束。這種方式是在生成階段控制質量,而非生成後改寫。
2. 手動檢測(對話式)¶
在 DSH 會話中直接調用檢測工具。對模型說:“幫我測測這段文字有沒有 AI 味”。系統會返回類似以下的報告:
AI 味分數: 100/100 — 明顯 AI 味(高密度模式命中)
命中模式: 6 條
· 空轉詞彙 ×3 "賦能" "閉環"
· Emoji 裝飾 ×2 "🚀" "💡"
· 總結腔 ×2 "總的來說" "未來可期"
3. 直接複用檢測邏輯(代碼級)¶
不通過 DSH 交互,直接在代碼中引入檢測邏輯:
import { detectAiFlavor } from 'dsh-humanizer/lib/patterns.js';
const r = detectAiFlavor('你的文本');
// 返回值示例:
// {
// score: 85,
// verdict: 'ai', // 'human' | 'mild' | 'ai'
// hits: [
// { name: '空轉詞彙', count: 3, samples: ['賦能', '抓手'] }
// ]
// }
檢測規則與判定邏輯¶
插件內置了 22 條可枚舉規則(含 10 條中文和 12 條英文),包括:
* 空轉詞彙:如“賦能”、“閉環”、“抓手”。
* 空洞套話:如“值得注意的是”、“綜上所述”。
* 拔高措辭:如“意義深遠”、“pivotal”。
* 時代背景腔、否定平行結構、導覽腔(“讓我們/Let’s dive in”)、總結腔、排比三連、Emoji 裝飾、公文腔等。
分數計算與判定:
* 每條規則有權重(1–3),累加 count × weight 得到原始分。
* 按文本長度進行密度歸一化到 0–100 分。
* 80 字下限:少於 80 字的文本按 80 字計密度,避免單次命中直接導致分數爆表。
* 判定閾值:
* ai:分數 ≥40,或 命中≥4 條且 ≥25。
* mild:分數 ≥15,或 命中≥2 條。
* human:其餘情況。
邊界與侷限¶
插件基於字面匹配,本質是一把“尺子”而非“裁判”,使用時需注意以下侷限:
- 引用與用詞混淆:分不清用戶是在“使用”這些詞,還是在“引用/舉例”它們。
- 正則無法完全區分:無法區分列舉/排比結構是自然的修辭還是套話,存在一定程度的誤報(例如英文中的三連形容詞)。
- 密度導向:分數對文本密度敏感。雖然已加入 80 字下限緩解,但在超短文本中,單項命中仍可能導致分數偏高。
建議將其作爲輔助參考,而非絕對標準。
總結¶
dsh-humanizer 將“風格”交給 System Prompt(生成前約束),將“判斷”交給代碼(檢測工具)。它適用於需要控制輸出語調、進行 AI 味度分析或構建特定人設的 DSH 用戶。安裝前建議檢查源碼與許可證,確保符合本地環境要求。
- 目錄頁: dsh-humanizer
- GitHub: liuwenji007/dsh-humanizer