NoAtMark 文本清洗插件:DSH 下的文本卫生工具集

前言

在构建基于 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,然后通过补丁命令启动。

  1. 编辑 cordis.yml,添加以下配置:
    - insert:
        - id: noatmark
          name: noatmark-dsh-plugin
或者直接指向源码路径(如果是本地开发):
    - insert:
        - id: noatmark
          name: '/path/to/noatmark-dsh-plugin/src/index.ts'
  1. 使用 --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
羽毛球分组比赛记分
小程序二维码

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

小夜