DSH 插件生态通常用于扩展 DeepSeek Harness 的能力。在语音转写场景下,转录文本往往包含大量填充词、重复内容以及礼貌用语,这会占用较多 Token 并影响上下文理解。dsh-voice-prompt-compressor 旨在解决这一痛点,提供一种确定性的本地化文本压缩方案。
定位¶
该插件由开发者 yuzh1090 维护,采用 MIT 许可证。它是一个 DeepSeek Harness (DSH) 插件,核心功能是将冗长的语音转写文本压缩为 Token 高效的提示词,整个过程完全在本地运行,不产生网络请求,也不消耗 LLM Token。
核心功能¶
- 本地确定性压缩:通过归一化、去除填充词、去除礼貌用语、去重等步骤进行压缩。整个过程不联网,不调用 LLM,不消耗 Token。
- 双语词库:内置中英文填充词、犹豫词和礼貌用语词表;支持通过 CJK 字符比例自动检测语言。
- 工具与技能:注册了
compress_voice_text工具和voice-prompt-compressor技能。Agent 可以直接调用工具,或通过技能自动触发。 - 配置可调:支持通过配置项调整压缩模式(
mode)和是否保留礼貌用语(keepPoliteness)。
安装¶
使用官方安装命令:
dsh plugin --profile web add dsh-voice-prompt-compressor
注意:源码仓库中的 dist/ 目录未提交,安装前需先克隆仓库并构建:
npm install
npm run build
安装完成后,刷新 Web 页面即可。插件在新的会话中即可生效。
用法¶
技能模式(推荐)¶
用户在聊天中粘贴长篇大论的语音转写文本。Agent 会自动加载 voice-prompt-compressor 技能,调用 compress_voice_text,并将压缩后的文本组织为四个部分的结构化提示词(Context / Goal / Constraints / Deliverables)。
工具模式¶
Agent 可以直接调用 compress_voice_text 工具,传入以下参数:
text(string, 必填):待压缩的语音转写文本。language(string, 可选):词库语言,默认auto(通过 CJK 比例检测)。mode(string, 可选):压缩强度,默认为配置项。可选值:light、balanced、aggressive。keepPoliteness(boolean, 可选):是否保留礼貌用语,默认为配置项。
返回结果示例:
{
"compressed": "…",
"originalLength": 512,
"compressedLength": 210,
"estimatedTokensSaved": 76,
"ratio": 0.59,
"removedCategories": {
"fillers": 18,
"repeats": 3,
"politeness": 2
}
}
技术细节¶
插件采用纯机械、确定性的处理管道:
- 归一化:全角字符转半角,统一空白字符。
- 去填充词:移除填充词和话语标记(如“嗯”、“那个”、“就是说”、“um”、“like”等)。在
balanced模式下,有歧义的代词仅在标点或空格旁移除;在aggressive模式下会移除更多代词及犹豫词(如“说实话”)。 - 去礼貌用语:移除礼貌性填充(如“麻烦你”、“please”、“thanks”等),除非配置中设置了保留。
- 去重:合并相邻的重复内容(如“不对不对” → “不对”)。
压缩过程仅做文本处理,不重写原意,技术要求、约束条件和业务规则均会逐字保留。
开发¶
插件依赖 Node.js 环境(>= 18)。主要依赖包括 @deepseek-ai/schemastery 和 yaml。开发涉及构建 TypeScript 项目,使用 npm install 安装依赖,使用 npm run build 构建产物,并使用 npm test 进行测试。