Back to home

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

PluginToolWhat it does
dsh-local-visionlocal_visionDescribe 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-dshclaude_to_dshMigrate a Claude Code project into DeepSeek Harness (skills, commands, subagents, rules, memory) non-destructively.
dsh-context-cleancontext_cleanCompress 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 by dsh plugin; use the profile you run (web for the browser UI, headless for 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.

License

MIT