zjcdkj
dsh-plugins
DeepSeek Harness (DSH) plugins. qwen-image gives a text-only coding model eyes: an image goes to a Qwen-VL route through ctx.llm and comes back as text, so DeepSeek keeps coding while Qwen looks. Pure ESM, no build permission at install. | DSH 插件集:qwen-image 让纯文本模型借千问 VL 读图,返回文本;纯 ESM,安装无需构建授权。
- Stars
- 1
- Language
- JavaScript
- Created
- Aug 16, 2026
- Updated
- Aug 16, 2026
Introduction
dsh-plugins
English | 中文
Plugins for DeepSeek Harness. Each package under packages/ is published to npm on its own and installs independently — nothing here requires the others.
Plugins
| Plugin | npm | What it does |
|---|---|---|
| qwen-image | dsh-plugin-qwen-image | Gives a text-only coding model eyes. A local image goes to a vision route through ctx.llm and comes back as text, so DeepSeek keeps driving the session while Qwen does the looking. It finds a vision route on its own, so a dsh that already reaches one needs no configuration. |
| session-resources | dsh-plugin-session-resources | A file panel beside the conversation: the session's workspace as a tree you can walk, the files this session produced pinned above it, and a dot on every row it touched. Click a file to open it; the conversation makes room rather than being covered. |
Install
Pick the package you want; the repository layout does not matter to the installer:
dsh plugin --profile web add -w dsh-plugin-qwen-image
Every plugin here ships with no build step, so no prepare script runs at install time and pnpm never asks you to allowlist a build. That allowance is permission to execute a package's code on your machine, and none of these packages need it.
A plugin that contributes browser UI also needs installing into each profile that should show it, the desktop shell included:
dsh plugin --profile desktop add -w dsh-plugin-session-resources
House rules
These hold for every package in this repository:
- Public seams only. Plugins touch
ctx.tools,ctx.llm,ctx.fs,ctx.attachmentsand friends — never harness internals. Installing one into a profile needs no change to the harness and no desktop rebuild. - No build step. Host halves are pure ESM, so the harness's own cordis instance is shared rather than duplicated. Browser halves are hand-written plain JS loaded through the app's own module loader, so shipping UI costs no bundler and no build authorization either.
- Peer range starts at
^0.1.0-rc.5. Plugins load on rc.5 and rc.6 alike, including desktop shells still pinned to rc.5. - Bilingual docs. Every package carries
README.mdandREADME.zh.md.
Development
git clone git@github.com:zjcdkj/dsh-plugins.git
cd dsh-plugins
Install a package straight from the checkout with the file: prefix — a bare path takes pnpm's link: semantics and breaks peer resolution:
dsh plugin --profile web add -w "file:$PWD/packages/qwen-image"
After editing a package, refresh that copy with dsh plugin --profile web install.