前言¶
在構建基於 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