meliodascz89
deepseek-harness-plugins
Community plugins for DeepSeek Harness: local-vision (Ollama image description) and claude-to-dsh (Claude Code migration). MIT and Repetition guard and content cleaner plug-in.
- Stars
- 1
- Language
- Python
- Created
- Aug 14, 2026
- Updated
- Aug 15, 2026
Introduction
deepseek-harness-plugins
Community plugins for DeepSeek Harness (DSH).
Each directory is an installable Cordis plugin bundle for a dsh profile.
A DSH plugin is an npm package that declares a dsh.bundle.patch and exports a
Cordis plugin (apply / inject / name). Installed plugins register model-facing
tools and appear under Settings → Plugins → Plugin list after a session restart.
Plugins
| Plugin | Tool | What it does |
|---|---|---|
dsh-local-vision | local_vision | Describe images with a local vision model through Ollama — no cloud, the image never leaves your machine. Two tiers: fast (text/colors/summary) and detailed (full description). |
dsh-claude-to-dsh | claude_to_dsh | Migrate a Claude Code project into DeepSeek Harness (skills, commands, subagents, rules, memory) non-destructively. |
dsh-context-clean | context_clean | Compress a conversation/thinking transcript: deduplicate repeated words, repeated lines, and repeated paragraphs while keeping numbers, paths, code, and decisions. |
dsh-repetition-guard | (automatic) | Stop a model from looping on a repeated word (wait wait wait / počkat počkat …) in reasoning or visible text, so it stops burning tokens. |
The published plugins are licensed under MIT.
Install
The public plugins are published on npm, so the easiest install is a single
command (no clone needed). Requires dsh on PATH — install it globally first if
you do not have it:
npm install -g @deepseek-ai/dsh
# from npm (recommended)
dsh plugin --profile web add dsh-local-vision
dsh plugin --profile web add dsh-claude-to-dsh
dsh plugin --profile web add dsh-context-clean
dsh plugin --profile web add dsh-repetition-guard
If you prefer to build from this repository instead:
# from a local clone (use `file:` so @deepseek-ai/dsh-tools resolves)
dsh plugin --profile web add file:/path/to/deepseek-harness-plugins/dsh-local-vision
Then restart the DSH session so the new bundle is composed.
--profile <name>is required bydsh plugin; use the profile you run (webfor the browser UI,headlessfor one-shot runs, or your custom profile).npm: dsh-local-vision · dsh-claude-to-dsh · dsh-context-clean · dsh-repetition-guard
Usage
Once installed and the session restarted, the model can call:
local_vision(image: "/abs/path/screenshot.png", mode: "detailed")
local_vision(image: "screen", mode: "fast") # capture the display (macOS)
claude_to_dsh(project: "/abs/path/to/claude-project", write: true)
context_clean(text: "<transcript...>") # compress, keep the important bits
context_clean(path: "/abs/path/to/transcript.txt") # or clean a file
dsh-repetition-guard registers no tool — it runs automatically on every
streamed model call and stops repeated-word loops as they happen.
See each plugin's README for configuration and full details.
Repository layout
deepseek-harness-plugins/
├── dsh-local-vision/ # local image description via Ollama
├── dsh-claude-to-dsh/ # Claude Code -> DeepSeek Harness migration tool
├── dsh-context-clean/ # transcript compressor (dedup words/lines/paragraphs)
└── dsh-repetition-guard/ # stops repeated-word loops in reasoning / visible text
Each plugin is a standalone package: package.json, cordis.patch.yml,
lib/index.js, README.md, LICENSE.