DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
C

dsh-comfyui-panel

Comfyui Panel

The real ComfyUI editor inside the DeepSeek Harness Web UI. The model can read, edit, and run the workflow.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:Natsubrei/dsh-comfyui-panel#ab9029d98d9fc283cddd6d471045d70ef2423c90
READMECompatibilityVersions

Compatibility and provenance

Comfyui Panel is published as dsh-comfyui-panel and currently resolves to version 0.9.1. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
11/4/2026

Versions

0.9.1stable
11/4/2026
0.9.0stable
11/4/2026
0.8.1stable
11/3/2026
Show 8 more versionsCollapse versions
0.8.0stable
11/3/2026
0.7.2stable
11/2/2026
0.7.1stable
10/31/2026
0.7.0stable
10/31/2026
0.6.11stable
10/31/2026
0.6.10stable
10/23/2026
0.6.7stable
10/23/2026
0.6.6stable
10/22/2026

Related plugins

Loading related plugins…

Latest
0.9.1
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 3
Weekly downloads
0
Last push
11/4/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in productivity-workflow.

Client Ui Task Board@linxin666/dsh-client-ui-task-boardHost-authoritative task board for the DSH Web GUI with real session execution, Host cron scheduling, and optional cross-platform idle-sleep protection; mounted without DSH source changes.Web All@linxin666/dsh-web-allDSH Web UI 全家桶聚合插件:一键安装全部功能插件(task-board / pet / web-ui-settings / skin-center / community-plugins / compat shim)。compat 桥接层已并入本包(src/client),无需独立 compat npm 包。Ds Harness Remoteds-harness-remoteEnd-to-end encrypted remote access to DeepSeek Harness and experimental Codex workspaces from desktop, web, and Android, with dsh-TUI Host support.Archive Manager@michengai/dsh-archive-manager归档、恢复、收藏和永久删除会话,并诊断损坏的会话日志。 · Archive, restore, favorite, and permanently delete sessions, and diagnose damaged session logs.

README

dsh-comfyui-panel

English · 简体中文

ComfyUI inside the DeepSeek Harness Web UI: the real editor in a right-side panel, a workflow the model can read and edit, and runs the model can start.

Contents

  • Install
  • Use
  • Capabilities
  • Configuration
  • Requirements
  • Limits

Install

In DSH, open Settings → Plugins → Discover → Add index source and paste:

https://raw.githubusercontent.com/Natsubrei/dsh-comfyui-panel/main/market/index.json

Install the ComfyUI Panel card. The index pins one commit per version, so the install matches a tested release. The plugin_market tool reads this same index.

Other wayCommandUse it when
CLIdsh plugin --profile <name> add 'git+https://github.com/Natsubrei/dsh-comfyui-panel.git#<commit>'You copy <commit> from the market card. An unpinned URL follows the default branch, which can be ahead of that release.
npmdsh plugin --profile <name> add dsh-comfyui-panelThe version does not matter. npm does not carry every indexed release.

Restart DSH if it was already running. Hard-refresh the browser after a bundle change.

Use

  1. Open the ComfyUI tab in the right sidebar. The tab belongs to this session and can go full screen.
  2. Leave the server at http://127.0.0.1:8188, or set another address under Configuration.
  3. If nothing is running, open Server in the panel, choose the folder that contains main.py, and press Start. A common location is detected. Start with DSH is remembered. A server that is already running is adopted, not started twice.
  4. Wait until the tab is connected. This session then gets the tools in the table below. Other sessions do not.

No ComfyUI yet: node test/mock-comfyui.mjs, open the tab, and wait for Connected. The mock is a one-node graph, and comfyui_run returns p1. Stop the mock before a real ComfyUI uses port 8188.

Contributors run npm test and npm run typecheck. What those cover is in CONTRIBUTING.md.

Capabilities

Tools exist only on a session that has synced a workflow. After a Host restart, a persisted session gets them back. A new session gets them on its first sync.

Open in the Panel column means the panel has to be open in that session. No means it can be closed.

Panel

CapabilityWhat you get
EditorThe real ComfyUI frontend at /comfyui/, over authenticated HTTP and WebSocket. The same-origin iframe keeps third-party node UIs. It does not use DSH theme tokens. A custom node UI runs as the DSH page. See SECURITY.md.
BridgeOnce window.comfyAPI.app.app exists, the panel syncs about once a second while the tab is visible. It sends the UI workflow, a read-only projection, and the API prompt from graphToPrompt(). The UI workflow is canonical. Editor events (execution_start, executing, progress, executed, success, error, interrupted, and queue status) are relayed on the editor's own socket. That socket is the one a run is addressed to. The panel does not open a second ComfyUI socket.
DigestOne line, for example ComfyUI: rev 14 · "deepseek-chan-emoji" · 9 nodes · 9 links · selected 7 · panel open. The name appears only when the graph has one. More than one open tab adds the count and the active tab. Zoom, pan, and resize do not advance rev.
NameSaving or loading a named workflow names the session and the bar. When <name>.json exists in ComfyUI's user data, the editor tab is renamed to match.
StorageDomain dsh_comfyui. A Host restart keeps the graph. The record is sessionId -> { workflow, prompt, semantic, revision, name, nameSource } for the 20 most recently updated sessions. nameSource is file or tool. The model sees the projection and its own edit results. A storage failure stays in memory and does not block the bridge. Named workflows live in the workflows table.
ProcessServer starts, stops, and restarts ComfyUI. The command comes from the checkout (.venv/bin/python on Unix, .venv/Scripts/python.exe on Windows, otherwise python3 or python) and the upstream port. It is not an arbitrary command. The directory and Start with DSH are stored in dsh_comfyui, not in the DSH profile.

Model tools

ToolDoesPanel
comfyui_statusUpstream, panel, workflow summary, storage, supervisor, and the latest run. diagnostics has one row per layer (upstream, frontend, panel, commandChannel, storage, supervisor, workflow) with ok, a one-sentence detail, and an action when a next step exists. warn: true with ok: true means working but degraded, such as an unreported frontend version.No
comfyui_graph_readPer node: id, type, title, mode, widgets (name -> value), and inputs (name -> "<sourceNodeId>:<slot>"). layout=true adds canvas boxes and an overlap verdict. full=true adds the raw UI workflow and API prompt.No
comfyui_runSubmits the synced API prompt and returns prompt_id. The Host keeps tracking the run after the call returns, with or without the panel. The output PNG carries the UI workflow, so dragging it back into ComfyUI restores the graph. wait=true returns up to four type: 'output' images, 20 MB each. Without an attachment service, or when the model route does not accept images, the result names the files instead.No
comfyui_cancelRemoves a queued prompt (action: "deleted") or interrupts a running one (action: "interrupted"). A prompt that already finished is a no-op. Copying output files to a chosen path is not a tool yet.No
comfyui_progressPanel events (current node, step progress, errors), the run record, the live /queue, and hostRun (terminal status and output file names). hostRun continues after the panel closes. Step progress does not.No
comfyui_editAdds, removes, moves, and reconnects nodes, and sets widget values, in one ordered batch. The result includes the node and link counts left behind, so a half-applied edit is visible. It does not validate graph semantics. ComfyUI rejects a bad edit when it converts the graph to a prompt.

comfyui_workflow_save, comfyui_workflow_list, comfyui_workflow_export, and comfyui_workflow_import work with the panel closed only after this session has already synced or restored a workflow.

Configuration

Default upstream is http://127.0.0.1:8188. Prefer a loopback address. To change it, override this plugin's row in the profile cordis.patch.yml by the same id. A patch replaces the whole config, so repeat prefix. prefix is fixed at /comfyui. Any other value fails the plugin load.

- insert:
    - id: dsh-comfyui-panel
      name: dsh-comfyui-panel
      config:
        upstream: http://127.0.0.1:8188
        prefix: /comfyui

The proxy strips the DSH session cookie (dsh-auth-…) and still forwards every other cookie and Authorization. Point upstream only at a server you trust. See SECURITY.md.

Starting ComfyUI from the panel needs no profile configuration. A supervise block on the plugin row overrides that setup at startup. Its fields, the required cwd, and the defaults are in docs/supervise.md.

Requirements

  • A ComfyUI whose frontend is the standard comfyui-frontend-package build (relative ./assets/..., api_base derived from the path). The panel was last verified against frontend 1.57.1. Another reported version shows a notice and still loads. A server that omits the version is left alone.
  • The panel uses window.comfyAPI.app.app, a legacy shim, not a stable API. What it actually touches, and how to re-check it after an upgrade, is in docs/comfyui-bridge.md.
  • The DSH Web profile has storage, storage-json, and storage-domain mounted. The default profile does. Without them, workflows stay in memory.
  • Adopting an already-running ComfyUI, so Stop and Restart still work after a reload, needs Linux /proc or lsof. Without either, that server stays external. Starting one from the panel needs neither. Adoption is retried when the panel or comfyui_status sees a healthy upstream. A listener whose working directory is not the configured checkout stays external, with its pid reported and Stop/Restart unavailable. Windows can start a checkout from the panel. An already-running server there stays external.

Limits

  • ComfyUI user workflows are read from workflows/ through /userdata, one JSON file per load. A name is the path below workflows/ without .json, so it is case-sensitive and a subfolder stays in the name. Only .json files are listed. The plugin never writes or moves those files. Loading one changes the panel canvas only.
  • Previews, per-node progress, elapsed time, and the bar's Cancel exist only while the panel is mounted. A run the Queue button started gets a hostRun watch from its first execution event. A run that started before this panel attached has no hostRun and no step progress. The Host stops watching after 30 minutes and reports lost, which means the end was not observed, not that the run failed.
  • A ComfyUI the plugin only adopted keeps running when the plugin unloads. The plugin did not start that process, and after a reload it cannot tell that process from one you started by hand. Stop it from the panel first if you want it gone. A child the plugin spawned is stopped on unload.
  • The process manager cannot tell a hung ComfyUI from a long generation that stops answering /system_stats. Tune health restarts per workload.

License

MIT.

Open
comfyui_screenshotWrites the editor canvas to a PNG and returns the path. Open it with read_image.Open
comfyui_node_infoCached /object_info lookup for class types and input names.No
comfyui_workflow_saveStores the synced workflow under a name. The same name replaces that slot. There is no merge, undo, or per-slot history.No
comfyui_workflow_listSaved slots (node and link counts, write time) plus .json files in ComfyUI's user workflows/ directory (size, modification time). source is slot or comfyui. The slot this session is editing is marked current. A failed ComfyUI read leaves the slots and sets warning.No
comfyui_workflow_loadReplaces the open graph with a saved slot or a ComfyUI user workflow, then syncs. A slot wins over a ComfyUI file of the same name unless source says which.Open
comfyui_workflow_exportWrites a UI workflow JSON from a saved slot or the session graph. The path stays inside the session workspace.No
comfyui_workflow_importReads a UI workflow JSON into a slot. The path stays inside the session workspace.No
comfyui_workflow_switchSwitches to another open tab by name, or by path when two tabs share a label, and keeps that tab's unsaved edits.Open
comfyui_workflow_closeCloses one open tab. It requires confirm: true and expects the user to have asked. An unsaved file tab opens ComfyUI's own save dialog. A temporary tab with unsaved changes is refused.Open