dsh-image-gen: an image studio plugin for DeepSeek Harness
AI image studio for DeepSeek Harness — generate, edit & compare images in chat, with 500+ prompts, gallery, multi-model workflows and ComfyUI.
At a glance
- What is it?
- dsh-image-gen adds text-to-image, editing, canvas, batch Studio, multi-model comparison and local ComfyUI workflows to DeepSeek Harness. It is an MIT-licensed TypeScript plugin installed through the DSH plugin command, and its usefulness depends on which provider you already pay for.
- Who is it for?
- Adopt dsh-image-gen if you already run DeepSeek Harness with Node.js ^22.19.0 or >= 24.0.0 and you want image generation inside the same chat instead of a separate tab. Skip it if you do not use DSH, or if your ComfyUI work depends on Studio and multi-model comparison, which the README says are not connected to ComfyUI yet.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 2 days ago.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What dsh-image-gen adds to a DeepSeek Harness session
DeepSeek Harness is a chat-driven agent environment. Its own surface is conversation, and an image request has nowhere obvious to land. dsh-image-gen fills that gap: it registers as a DSH plugin and adds five entry points, which the README lists as 对话 (chat), 画布 (canvas), 工作台 (Studio workbench), 灵感 (inspiration) and 图库 (gallery). Each one targets a different kind of work. Chat is for a quick idea expressed in a sentence. The canvas is for spatial composition, where you draw a rough sketch, place reference images and then ask the agent to turn that arrangement into a finished picture. Studio is for parameter control: multiple reference images, several candidates per run, explicit provider, model, aspect ratio and resolution. The gallery stores what you keep, isolated per workspace.
The audience is narrow and specific. You need a DeepSeek Harness installation, and the README states the environment requirement as a stable DSH version with Node.js ^22.19.0 or >= 24.0.0. If you do not run DSH, nothing here applies to you, because the plugin's UI injects into DSH client packages such as @deepseek-ai/dsh-client-ui-conversation and @deepseek-ai/dsh-client-ui-settings-plugins rather than shipping a standalone web app. The payoff for that coupling is that image work happens in the same thread as the rest of your agent work, with no copy-paste between tools.
How the provider layer, workspace isolation and ComfyUI bridge fit together
The plugin is a provider router. The README lists Gemini, OpenAI and compatible endpoints, Seedream, DashScope, Grok Imagine, GLM-Image and local ComfyUI as supported backends. Configuration happens in one place: 设置 → 插件 → 插件配置 → 图像生成, where you pick a provider, enter an API key, and adjust model, endpoint or base URL plus workspace save options. Two buttons do the discovery work. 测试连接 validates that the credentials and endpoint answer. 拉取模型 fetches the list of image models that the vendor exposes, so you do not have to read vendor documentation to find a model identifier.
Two mechanisms are worth separating. The first is the subscription path. The README states that if you already have a ChatGPT, Grok or Google subscription, you can log in through the corresponding subscription provider row in the browser and generate images without buying a separate API key. The second is ComfyUI. There, you point the plugin at a service address reachable from the DSH host and import an API Format Workflow JSON. Multiple named workflows can be registered, each with preset prompts and placeholders, and the agent selects one by name during a conversation. The README also notes a boundary: ComfyUI is not yet wired into Studio or multi-model comparison. So local GPU generation is a chat and canvas capability, not a batch one.
Storage is per workspace. The gallery section of the README says saved images from chat and Studio are managed together and isolated by workspace, with search, filtering, favourites, download, re-edit, regeneration and bulk operations. The inspiration library is separate and local: 500+ prompt cases cached on disk, and the README states that browsing or copying them consumes no tokens or generation quota.
Installing dsh-image-gen and generating a first image
Installation goes through the DSH plugin command, run from the root of your DeepSeek Harness project. The README gives this as the primary form:
pnpm dsh plugin --profile web add dsh-image-gen@latestIf dsh is available as a global command on your system, the README shows the shorter variant without the pnpm prefix:
dsh plugin --profile web add dsh-image-gen@latestThere are also documented alternatives for installing from the GitHub repository directly or from a local clone:
pnpm dsh plugin --profile web add git+https://github.com/shanliuling/dsh-image-gen.git
git clone https://github.com/shanliuling/dsh-image-gen.git
pnpm dsh plugin --profile web add ./dsh-image-genAfter installation you restart DSH and open 设置 → 插件 → 插件配置 → 图像生成. Choose a provider, paste your API key, and optionally adjust the model, endpoint and workspace save options. The README suggests clicking 测试连接 to verify the credentials, or 拉取模型 to retrieve the vendor's image model list. If you are using a ChatGPT, Grok or Google subscription instead of an API key, expand that provider row and click 登录 to complete authorization in the browser.
With a provider configured, generation happens in the chat box. The README gives this example prompt:
画一张雨夜霓虹街头的赛博朋克猫咪,电影感光线,16:9。For editing, you upload a reference image and describe the change. The README's example keeps the character and composition intact and asks for sunglasses:
保持角色与构图不变,给猫咪戴上一副黑色墨镜。What you should see is a generated image card in the conversation. The README describes editing the original prompt to regenerate in place and switching between historical versions inside the same card. For finer control, the 画廊 entry at the top of the session opens 图库, 工作台, 灵感 and 收藏.
Where dsh-image-gen stops: ComfyUI gaps and the DSH dependency
The clearest limitation is stated by the project itself. ComfyUI is not connected to Studio or to multi-model comparison. If your workflow is local-first and batch-oriented, you will configure named workflows and drive them from chat, but you cannot fan out a single prompt across several ComfyUI workflows in the comparison view. Cloud providers get that capability; local GPU does not, at least at the version documented here.
The second constraint is structural. This is a plugin, not an application. Every entry point is injected into DSH client packages, and the package declares those injections explicitly in package.json under dsh.client.inject, listing modules such as @deepseek-ai/dsh-client-connection and @deepseek-ai/dsh-client-ui-tool. That means the plugin tracks DSH's client interfaces. The README carries a version warning telling existing users to update to the latest version because the release changed a lot, which is a signal that upgrades are not always drop-in. If you pin an older DSH build, expect friction.
The third is the Node.js floor: ^22.19.0 or >= 24.0.0. Projects on Node 20 or on a Node 22 release below 22.19.0 cannot install it as documented. That is a real gate for teams whose runtime is frozen by other tooling.
How it differs from calling an image API directly or running ComfyUI alone
The honest alternative is not another plugin. It is the combination most teams already use: a vendor's image API called from a script, plus a standalone ComfyUI instance with its own web UI. That setup has no dependency on DSH, no Node version floor imposed by a plugin, and no coupling to a host application's client interfaces. You call the API, you get bytes back, you write them wherever you want.
The difference in approach is where the orchestration lives. With direct API calls, the prompt, the model choice, the reference images and the storage policy are your code's responsibility. dsh-image-gen moves that into a configuration panel and a conversation. Provider selection, model listing, connection testing, workspace-scoped storage and version history inside an image card are handled by the plugin. The trade is control for convenience: you accept the DSH runtime and the plugin's release cadence in exchange for not writing the glue.
There is one capability that is harder to replicate with a bare script: multi-model comparison. The README describes sending the same prompt and reference images to several models concurrently and comparing results on one canvas before saving. Doing that by hand means parallel API calls, normalising responses, and building a viewer. The plugin already has the viewer. ComfyUI's own UI, by contrast, is strong at local workflow authoring and weak at cross-vendor comparison, which is roughly the inverse of this plugin's shape.
Maintenance status, licence and upgrade cost
The repository is not archived, and the last push was on 2026-09-14. The release list is dense around that date: v0.6.5 on 2026-09-14, v0.6.7 the same day, and v0.6.8 also on 2026-09-14, with v0.6.8 titled 订阅渠道图生图. The changelog titles suggest the subscription path was still being extended in that window, which fits the README's own warning that the version changed substantially and existing users should update.
The licence is MIT, declared in the LICENSE file and shown in the README badge. MIT is permissive: it allows use, modification and redistribution with the licence and copyright notice retained. That matters here because the plugin bundles a client-side UI and a cordis.patch.yml patch file, both of which ship inside the published package. What MIT does not do is grant you anything regarding the image providers themselves. Your Gemini, OpenAI, Seedream, DashScope, Grok or GLM usage remains governed by that vendor's terms, and the subscription login path is an authorization against the vendor's account, not a licence from this project. Read those terms separately; this article is not legal advice.
Upgrade cost is the practical question. Because the plugin injects into DSH client packages and ships a bundle patch, a DSH upgrade and a plugin upgrade are coupled events. The package exposes a typecheck, build and test script set (tsc, tsdown, vitest), so the project does test itself, but the README's warning about a large version change is the thing to plan around: read the release notes for the version you are moving to before you restart DSH.
Editorial conclusion
Adopt dsh-image-gen if you already run DeepSeek Harness with Node.js ^22.19.0 or >= 24.0.0 and you want image generation inside the same chat instead of a separate tab. Skip it if you do not use DSH, or if your ComfyUI work depends on Studio and multi-model comparison, which the README says are not connected to ComfyUI yet. Before configuring anything, check the Provider list in 设置 → 插件 → 插件配置 → 图像生成 and confirm which of your existing subscriptions appears there, because the login flow only helps for providers the plugin actually lists.
Frequently asked questions
How do I install dsh-image-gen in DeepSeek Harness?
Run pnpm dsh plugin --profile web add dsh-image-gen@latest from your DeepSeek Harness project root, then restart DSH. If dsh is installed as a global command, the README also shows the form without the pnpm prefix. Installation requires Node.js ^22.19.0 or >= 24.0.0.
Can dsh-image-gen generate images without an API key?
Yes, for providers where you already hold a subscription. The README states that if you have a ChatGPT, Grok or Google subscription you can expand the corresponding subscription provider row, click 登录, and authorize in the browser to start text-to-image and image-to-image work without buying a separate API key.
Does dsh-image-gen support local ComfyUI, and what are its limits?
It does. You register the service address reachable from the DSH host and import an API Format Workflow JSON, and multiple named workflows with preset prompts and placeholders can be managed. The README states that ComfyUI is not yet connected to Studio or multi-model comparison, so batch and comparison views are limited to cloud providers.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/shanliuling-dsh-image-gen)