前言¶
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