DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

Loom Chat — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
L

dsh-loom-chat

Loom Chat

在 Loom 风格的画布上,以实时窗口形式与分支 DSH 会话交互

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

npx -y @deepseek-ai/dsh plugin --profile web add github:onenameneo/dsh-plugin-loom-chat#b4ad1b09871fae1d92c6e1d93ddc0c7927b5e72a
README兼容性版本

兼容性与来源证明

Loom Chat 以 dsh-loom-chat 发布,当前版本为 0.1.0-rc.4。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

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

版本

0.1.0-rc.4prerelease
2026/9/17
查看其余 3 个版本收起版本
0.1.0-rc.3prerelease
2026/9/3
0.1.0-rc.2prerelease
2026/8/31
0.1.0-rc.1prerelease
2026/8/31

相关插件

正在加载相关插件…

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

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profile用于 Agent Teams Remote 和 UI 插件的实验性 Web 配置层Client Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。Pet@linxin666/dsh-pet适用于 dsh Web GUI 的多宠物伴侣插件:由注册表驱动的浮动宠物,可响应模型活动,支持为每只宠物命名、抚摸/喂食互动以及亲密度评分

README

dsh-plugin-loom-chat

Loom Chat is a DSH Web client plugin that turns linear ordinary sessions into a pannable, zoomable Loom-style canvas for parallel exploration.

中文说明 · GitHub repository

Loom project

Loom is a local Agent workbench that turns AI conversations into an explorable space for thinking. It combines streamed conversations with a branching canvas, project-based files and sessions, deliberate context management, Agent tools, MCP servers, long-term memory, and local Agent activity tracking. A question can be split into multiple lines of investigation, arranged as a thought graph, and continued with the right context on each branch. Loom is designed for research, learning, writing, coding, and other work that benefits from sustained thinking and parallel exploration. This plugin brings Loom's branching-canvas experience to DSH Web as a lightweight companion.

Install

Loom Chat is available as an npm package with prebuilt browser code. Install it without a tag to receive the current latest release:

Latest release

dsh plugin --profile web add dsh-loom-chat
dsh web

Install from GitHub

Use the repository source when you need the latest unreleased commit:

dsh plugin --profile web add github:onenameneo/dsh-plugin-loom-chat
dsh web

GitHub installs build the package locally through its prepare script. If pnpm asks for permission to run the build, add the exact package name it reports to the profile's pnpm-workspace.yaml under allowBuilds, then run the install command again. Prefer the npm installation for normal use because it downloads prebuilt artifacts.

To update or remove the plugin:

dsh plugin --profile web update dsh-loom-chat
dsh plugin --profile web remove dsh-loom-chat

The plugin contributes to the web profile only; it does not modify the DSH native sidebar or replace the native conversation renderer.

What it does

It is designed for exploring several directions around one question: keep the main session as the context origin, fork new questions into independent sessions, and inspect the resulting paths together on the canvas.

  • Every Canvas window can read its transcript, edit its draft, send a message, and stop generation independently.
  • Canvas transcript rendering is owned by this plugin: it displays text/Markdown, code, reasoning, tool and status summaries, commands, context, attachment references, and readable fallbacks for unknown content shapes.
  • A message or text selection can start a branch. The child inherits the DSH context before the fork boundary, while selected text remains as a reference card at the top of the child session.
  • Child sessions are independent and can branch to unlimited depth. The plugin does not copy rendered messages or synchronize later messages automatically.
  • Use native single-session mode when you need the full host composer, including attachments, slash commands, model selection, or Plan controls.

Usage demo

Open Loom from the native DSH session header to pan and zoom across the canvas. Use the branch action on any session window to continue exploring from that context. Every branch keeps its own history, draft, and runtime state, so several lines of thought can move forward in parallel.

Opening Loom from a DSH session

Opening the Loom canvas from a native session.

Parallel sessions on the Loom canvas

Viewing related but independent conversations together on one canvas.

Why “Loom”

“Loom” is a weaving machine. A conversation can be thought of as a thread of reasoning: it starts from a main session, branches into different directions, and unfolds in parallel on the same canvas. Loom Chat is named for the way it weaves those separate lines of exploration into a visible, extensible conversation network instead of flattening them into a single linear record.

Interaction model

  • Canvas mode: the default view shows the complete tree containing the current session (parents, sibling branches, and descendants). The canvas supports pan, zoom, node selection, and branching from any window.
  • Interactive windows: every visible session keeps its own projected transcript, draft, send action, stop action, and running/error state. Multiple sessions can run side by side without opening one over another. Deleting a window requires confirmation and archives its descendants together.
  • Single-session mode: opening a node returns to DSH's native conversation surface, including the native composer, tools, attachments, Plan, model selection, and projections.
  • Mode switching: clicking a window only selects it; the window's Chat action enters native focus mode. The native session header exposes a Loom entry action; returning to Canvas restores the selected node and the in-memory viewport for the current page.
  • Unlimited depth: Canvas recursively derives lineage from each session's parentId without a branch-depth limit.
  • Navigation and performance: Entering Canvas locates the current session. The toolbar provides locate-current and reset controls. Subtrees can be collapsed, existing nodes keep their slots while messages, titles, or status change, and cold histories load on demand near the viewport or selected node while offscreen sessions use lightweight cards.

Context inheritance

Topic branching uses DSH sessions.fork({ sessionId, atSeq, increaseTitle }). A child inherits the durable session history through the fork boundary and is independent from its parent and siblings afterward. For a text-selection branch, the first submitted prompt also carries the selected excerpt in a structured reference block, so the model receives both the inherited history and the exact selected text. The plugin never copies rendered messages or synchronizes future messages automatically.

The fork boundary must be a stable completed-turn boundary. Running sessions are not clipped. Selection-branch presentation state is restored by child session ID after a page reload, so the reference card remains visible while inherited messages before the boundary stay hidden. Sessions with origin: 'subagent' are excluded from the ordinary Loom topic graph.

The first non-empty continuation prompt in a Loom child becomes its normalized title, truncated to 30 Unicode characters with an ellipsis when needed. This works with both the fallback plugin composer and the host full Composer by observing the first user node after the fork boundary. It uses the public session rename operation, makes no auxiliary model request, and does not rename the child again for later prompts.

Canvas windows use the public DSH session and per-session input faces. They are intentionally a compact interaction surface for parallel work; use single-session mode for the host's full composer features such as attachments, slash commands, model selection, and Plan controls.

Canvas keeps the complete relationship graph separate from its presentation: collapsing and releasing offscreen windows do not change durable parent-child relationships or recursive archive behavior. Running, focused, composing, or dirty-input windows stay protected and resume with the same session input when they return.

DSH plugin assembly

The host entry exports Cordis apply; the browser entry declares the Web platform, injected dependencies, and exports["./client"] through dsh.client. dsh.bundle.patch points to a top-level array cordis.patch.yml, allowing a profile to load the plugin as an optional bundle.

The plugin consumes only public DSH session, runtime, conversation, workspace, and UI slot capabilities. New host capabilities should be exposed by DSH as public slots or services before a plugin consumes them; the plugin does not import private host components.

For the minimal Cordis plugin structure, see Your first plugin. For browser bundle assembly, see Client Modules.

Host boundary

The plugin does not modify DSH's native sidebar, ui-workspace, or the main conversation renderer. Canvas uses the public session/runtime APIs and shell.overlay; when a detached window is cold, the plugin temporarily stages it through ctx.sessions.open() to hydrate public history, serializes those requests, and restores the user's previous current session. Canvas never calls private host renderers or a per-window session.open() method. Single-session mode returns control to the host with ctx.sessions.open().

Canvas deliberately does not promise the host's full Composer inside every window. Attachments, slash commands, model selection, Plan controls, and other host-specific controls remain available after opening a window in native single-session mode.

Privacy & permissions

Based on its current runtime code, Loom Chat:

  • does not directly send data to third-party servers;
  • does not read API keys or environment variables;
  • does not execute shell commands;
  • uses DSH's public session, runtime, conversation, workspace, and UI APIs;
  • stores Loom branch presentation metadata, including derived titles and boundaries, in browser localStorage;
  • can open, fork, rename, cancel, and archive DSH sessions when requested through the plugin UI.

Compatibility

  • DSH Web profile with the public session, runtime, conversation, workspace, and UI slot APIs.
  • DSH package line 0.1.x, tested against the aligned 0.1.0-rc.7 public package set; the peer dependency range is <0.2.0.
  • The plugin follows the DSH developer-preview APIs; compatibility can change as DSH evolves.
  • Local development and package builds require Node.js ^22.19.0 or >=24.0.0 and pnpm 11.7.0.

Local development

pnpm install
pnpm test
pnpm typecheck
pnpm build
pnpm pack --pack-destination ./.artifacts

Test a packed plugin in a temporary profile:

DSH_HOME=/tmp/dsh-loom-chat-profile \
  dsh plugin --profile web add "$PWD/.artifacts/dsh-loom-chat-0.1.0-rc.4.tgz"

Publishing

Maintainers publish releases to the latest channel:

npm login
npm whoami
pnpm test
pnpm typecheck
pnpm build
pnpm run pack:verify
pnpm publish --tag latest

The prepare script builds lib/ before publishing, and files limits the published package to the runtime, type declarations, DSH patch, documentation, and license.