前言¶
在构建基于 DeepSeek Harness (DSH) 的智能体时,处理文本是一项基础但容易出错的任务。外部输入的文本可能包含不可见的 Unicode 字符、隐藏的格式干扰,甚至包含 CSV 公式注入的风险。noatmark-dsh-plugin 解决了这些问题,它将 noatmark.com 的文本清洗能力封装为 DSH 插件,提供确定性的本地处理方案。
插件介绍¶
这是一个 DeepSeek Harness (dsh) 插件,旨在为 DSH 代理提供四项文本卫生工具。插件由 ylwl1997 维护,核心价值在于对不可信文本进行清洗、扫描不可见字符、清理 LLM 格式残留,以及转义 CSV 注入风险。
核心功能¶
插件提供了四个具体的工具,每个工具解决一类文本问题:
sanitize_text:清洗不可见字符(包括零宽字符),同时标记提示注入和隐藏文本信号。scan_text:报告文本中的不可见字符(包含代码点和位置信息)、注入模式以及隐藏文本内容。clean_format:清理 LLM 输出中常见的格式残留,如空行、多余的代码块 fences 和尾随空格。sanitize_csv:转义 OWASP CSV 注入风险。当文本包含= + - @等开头的公式时,插件会在其前添加引号。
安装与启用¶
安装过程需要修改 DSH 的配置文件 cordis.yml,然后通过补丁命令启动。
- 编辑
cordis.yml,添加以下配置:
- insert:
- id: noatmark
name: noatmark-dsh-plugin
或者直接指向源码路径(如果是本地开发):
- insert:
- id: noatmark
name: '/path/to/noatmark-dsh-plugin/src/index.ts'
- 使用
--patch参数启动 dsh Web UI:
npx @deepseek-ai/dsh web --patch ./cordis.yml
典型用法¶
在 DSH 的对话会话中,可以直接通过自然语言调用上述工具。以下是几种典型场景的指令示例:
- “Sanitize this pasted text before you summarize it.”
- “Scan this file for invisible characters.”
- “Clean the formatting of this AI output.”
- “Escape this CSV before saving it.”
技术细节与注意¶
- 本地运行:所有处理均在本地进行,不涉及数据上传,确保隐私安全。
- 确定性处理:插件基于确定性引擎,相同的输入会产生相同的输出。
- 依赖环境:插件依赖
noatmark-text-hygiene、@deepseek-ai/cordis和@deepseek-ai/dsh-tools等库。 - 许可证:插件采用 MIT 许可证。
资源¶
- 插件目录:https://www.skillhub.cn/plugins/ylwl1997/noatmark-dsh-plugin
- 源码仓库:https://github.com/ylwl1997/noatmark-dsh-plugin