dsh-humanizer:生成前注入人味風格約束 + AI 味檢測報告

前言

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:其餘情況。

邊界與侷限

插件基於字面匹配,本質是一把“尺子”而非“裁判”,使用時需注意以下侷限:

  1. 引用與用詞混淆:分不清用戶是在“使用”這些詞,還是在“引用/舉例”它們。
  2. 正則無法完全區分:無法區分列舉/排比結構是自然的修辭還是套話,存在一定程度的誤報(例如英文中的三連形容詞)。
  3. 密度導向:分數對文本密度敏感。雖然已加入 80 字下限緩解,但在超短文本中,單項命中仍可能導致分數偏高。

建議將其作爲輔助參考,而非絕對標準。

總結

dsh-humanizer 將“風格”交給 System Prompt(生成前約束),將“判斷”交給代碼(檢測工具)。它適用於需要控制輸出語調、進行 AI 味度分析或構建特定人設的 DSH 用戶。安裝前建議檢查源碼與許可證,確保符合本地環境要求。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜