DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
C

dsh-comfyui-panel

Comfyui Panel

DeepSeek Harness Web UI 中真正的 ComfyUI 编辑器。模型可以读取、编辑和运行工作流。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:Natsubrei/dsh-comfyui-panel#ab9029d98d9fc283cddd6d471045d70ef2423c90
README兼容性版本

兼容性与来源证明

Comfyui Panel 以 dsh-comfyui-panel 发布,当前版本为 0.9.1。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/11/4

版本

0.9.1stable
2026/11/4
0.9.0stable
2026/11/4
0.8.1stable
2026/11/3
查看其余 8 个版本收起版本
0.8.0stable
2026/11/3
0.7.2stable
2026/11/2
0.7.1stable
2026/10/31
0.7.0stable
2026/10/31
0.6.11stable
2026/10/31
0.6.10stable
2026/10/23
0.6.7stable
2026/10/23
0.6.6stable
2026/10/22

相关插件

正在加载相关插件…

最新版
0.9.1
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 3
周下载
0
最近提交
2026/11/4
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 productivity-workflow 分类下经过校验的插件。

Client Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。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-remote通过桌面端、网页端和 Android 端,端到端加密远程访问 DeepSeek Harness 和实验性 Codex 工作区,并支持 dsh-TUI Host。Archive Manager@michengai/dsh-archive-manager归档、恢复、收藏和永久删除会话,并诊断损坏的会话日志。

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