Text hygiene as a dsh plugin: sanitize untrusted text, scan invisible characters, clean LLM formatting, and escape CSV formula injection.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:ylwl1997/noatmark-dsh-plugin
GitHub-sourced plugins run build scripts on your machine at install time. Only install sources you trust, and pin a commit (github:owner/repo#sha).
README
NoAtMark text hygiene as a DeepSeek Harness (dsh) plugin.
Everything-is-a-plugin: this plugin gives your dsh agent four text-hygiene tools, backed by the same deterministic engines behind noatmark.com.
Tools
| Tool | What it does |
|---|---|
sanitize_text |
Strip invisible/zero-width characters and flag prompt-injection + hidden-text signals. |
scan_text |
Report invisible characters (with code points + positions), injection patterns, and hidden text. |
clean_format |
Clean LLM formatting artifacts (blank lines, stray fences, trailing spaces) — meaning untouched. |
sanitize_csv |
Escape CSV formula injection (OWASP): = + - @ prefixes get a leading quote. |
All processing is deterministic and local — no data leaves your machine.
Install
Add this plugin to your dsh Web UI. If you're running from a source checkout, use a cordis.yml patch:
- insert:
- id: noatmark
name: noatmark-dsh-plugin
or point at the source directly (absolute path):
- insert:
- id: noatmark
name: '/path/to/noatmark-dsh-plugin/src/index.ts'
Start dsh with the patch:
npx @deepseek-ai/dsh web --patch ./cordis.yml
Usage
In a dsh session, ask the agent to use a tool, e.g.:
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.
Development
pnpm install
pnpm build # tsc -> dist/
Resources
- Web tools: https://noatmark.com/
- NoAtMark SDK (npm/PyPI):
noatmark-text-hygiene - DeepSeek Harness: https://github.com/deepseek-ai/deepseek-harness
- Official docs: https://deepseek-harness.github.io/deepseek-harness/
MIT
Links
More in this category
liustack/modlens★ 1199
Vision bridge for text-only models: paste an image, get structured JSON evidence (OCR, layout, semantics).
Anionex/dsh-vision-toolkit★ 308
Vision tasks for text-only models: intent-aware image Q&A, long-screenshot OCR, UI reproduction, grounding, and pixel diff.
zhaoolee/notes★ 138
Export DSH conversations as Smartisan Notes-style PNGs, or create and update Markdown notes in a configured account-scoped workspace.
liustack/modsearch★ 85
Web search bridge for text-only agents: ask the web or X, get structured JSON evidence (search, fetch, citations).
Lum1104/dsh-browser★ 80
Chrome sidebar extension that lets DSH operate your browser directly, no vision capabilities required.
taxueseek/argo★ 69
Search built for agents: multilingual coverage across web, academic, code, shopping, finance, news, and encyclopedias.