Introduction¶
When building agents based on DeepSeek Harness (DSH), handling text is a fundamental but error-prone task. Externally supplied text may contain invisible Unicode characters, hidden formatting artifacts, and even CSV formula injection risks. noatmark-dsh-plugin addresses these issues by encapsulating the text cleaning capabilities of noatmark.com into a DSH plugin, providing a deterministic local processing solution.
Plugin Introduction¶
This is a DeepSeek Harness (dsh) plugin that provides four text hygiene tools for DSH agents. The plugin is maintained by ylwl1997. Its core value lies in sanitizing untrusted text, scanning for invisible characters, cleaning LLM formatting residue, and escaping CSV injection risks.
Core Features¶
The plugin provides four concrete tools, each addressing a different kind of text problem:
sanitize_text: Removes invisible characters (including zero-width characters) and flags prompt injection and hidden text signals.scan_text: Reports invisible characters in text (including code points and position information), injection patterns, and hidden text content.clean_format: Cleans common formatting residue from LLM output, such as blank lines, extra code block fences, and trailing spaces.sanitize_csv: Escapes OWASP CSV injection risks. When text contains formulas starting with= + - @, the plugin adds quotation marks before them.
Installation and Enablement¶
Installation requires modifying the DSH configuration file cordis.yml, then launching with a patch command.
- Edit
cordis.ymland add the following configuration:
- insert:
- id: noatmark
name: noatmark-dsh-plugin
Or point directly to the source path (for local development):
- insert:
- id: noatmark
name: '/path/to/noatmark-dsh-plugin/src/index.ts'
- Launch the dsh Web UI using the
--patchargument:
npx @deepseek-ai/dsh web --patch ./cordis.yml
Typical Usage¶
In a DSH conversational session, you can directly invoke the tools above with natural language. The following are example instructions for several typical scenarios:
- “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.”
Technical Details and Notes¶
- Local execution: All processing is performed locally; no data is uploaded, ensuring privacy and security.
- Deterministic processing: The plugin is based on a deterministic engine, so the same input produces the same output.
- Dependencies: The plugin depends on libraries such as
noatmark-text-hygiene,@deepseek-ai/cordis, and@deepseek-ai/dsh-tools. - License: The plugin is licensed under the MIT License.
Resources¶
- Plugin directory: https://www.skillhub.cn/plugins/ylwl1997/noatmark-dsh-plugin
- Source repository: https://github.com/ylwl1997/noatmark-dsh-plugin