2031814001yuyue-tech/dsh-side-chat

dsh 插件

Project Overview项目介绍

This is a native DSH plugin that adds a parallel side chat feature to DeepSeek Harness. It lets users spin up independent agent sessions alongside the main conversation, each with its own isolated context that does not pollute the main chat history. It supports two installation methods: you can load it as a dynamic Cordis plugin directly within DSH with no build step required, or install it as an npm package for persistent use across DSH restarts. Both installation methods can coexist without conflicts, and they use the same source code so behavior is identical.

Each side chat inherits the full configuration from the main session, including tool registrations, prompt segments, model routing, and working directory, but keeps its own conversation history. Users can switch between active side chats easily via the sidebar panel, drag the left edge to resize the panel between 300 and 900 pixels, or minimize it to a capsule in the bottom-right corner to keep working on the main interface. You can also quickly create a new side chat by running the /side command directly from the main chat input. There is a hard limit of 8 concurrent side chats per main session, which is enough for most common parallel task workflows.

The plugin is written entirely in JavaScript and released under the permissive MIT open source license, with no external dependencies required to run it. Side chats are archived upon creation so they do not clutter up your main session list, and the only way to access them is through the side chat panel. If you restart DSH, side chat data remains saved on disk but does not get restored to the in-memory registry, so you will need to recreate any side chats you want to access after a restart. If you try to bring a side chat summary back while the main chat is busy, you will get a prompt to try again later instead of interrupting the current work.

这是专为 DeepSeek Harness (DSH) 开发的原生侧边对话插件,支持在主对话之外开启独立的并行 agent 会话。这些侧对话拥有独立上下文,共享同一工作区,结束后可将结论摘要带回主对话,不会污染主对话的上下文。插件提供两种安装方式:既可作为 DSH 动态 Cordis 插件免构建加载,也可作为 npm 包安装跨重启持久使用。

侧对话会继承主会话的所有配置,包括工具注册、提示段、模型路由和工作目录,但不共享对话历史。用户可通过侧边面板自由切换不同侧对话,支持拖拽调整面板宽度、最小化到右下角不遮挡主界面,还能通过 /side 命令快速新建侧对话。每个主会话最多支持 8 个并发侧对话,满足多数并行任务场景需求。

插件纯 JavaScript 开发,遵循 MIT 开源许可,无额外依赖。侧对话创建后即归档,不会出现在主会话列表中,仅通过侧边面板访问。DSH 重启后侧对话数据仍保留在磁盘,但不会恢复注册表记录,如需使用需重新创建。主对话忙碌时无法带回摘要,会提示用户稍后重试。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • Only 3 stars - very few users, little community feedback星标只有 3,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add github:2031814001yuyue-tech/dsh-side-chat

把 2031814001yuyue-tech/dsh-side-chat 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-side-chat

DSH 侧边对话插件 —— 并行侧边对话:在主对话之外开一条真实并行 agent 会话(独立上下文、共享工作区),结束后把结论摘要带回主对话,主对话上下文不被污染。

纯 JavaScript、MIT 许可。一份源码两种加载方式:既可作为 DSH 动态 Cordis 插件即时加载(免构建),也可作为 npm 包正式安装(跨重启持久)。

特性

  • 真实并行 agent 会话:每条侧对话是一个独立的 DSH Session + Agent,继承主会话的完整组合(同一 preset 组合:同工具注册、同 prompt 段、同模型路由、同工作目录),但不共享对话历史。
  • 上下文隔离:侧对话的提问、工具调用不会进入主对话上下文。
  • 自由切换:侧边面板列出所有侧对话,点击即切换,互不串扰。
  • 摘要带回主对话:一键让侧 agent 总结自己的对话,摘要以折叠提示行注入主会话(主对话只多一行小字,点击展开全文;主 agent 下一轮即可看到完整结论;总结请求不会出现在侧对话消息流里)。
  • 干净的对话流:面板只显示真实对话——系统注入(runtime context、技能目录等)自动过滤。
  • 消息 Markdown 渲染:标题、粗斜体、行内代码、代码块、列表、引用、链接、分隔线(纯 React 元素构建,防 XSS)。
  • 可调宽:面板左边缘拖拽调宽(300–900px),双击复位。
  • 可最小化:面板缩为右下角小胶囊,对话继续后台运行,点击恢复——不挡主界面。
  • 智能自动滚动:新消息到达时跟随到底部,向上翻阅历史不会被拽回。
  • 会话列表零污染:侧对话创建即归档,不出现在会话列表/搜索中;面板是唯一入口,关闭后 agent 停止、会话数据仍在磁盘。
  • /side 命令:/side 你的问题 直接开一条侧对话(Web 面板自动打开)。

设计要点

设计要点 本插件实现
/side 斜杠命令 /side [消息] 命令 + 面板「+ 新建」
独立上下文窗口 独立 Session + Agent(继承主会话组合、同工作区)
线程自由切换 面板会话列表点击切换
summarize & bring back side agent 自总结 → 折叠提示行注入主会话
ephemeral / 丢弃 关闭即停止 agent;创建即归档(列表隐藏),注册表内存态不跨重启

完整设计见 docs/design.md,验收记录见 docs/verification.md。

安装

方式一:动态 Cordis 插件(开发调试,即改即生效)

通过 DSH 动态 Cordis 插件流程加载(免构建、免 npm 依赖):

  1. 在 DSH Web 会话中打开动态插件定义界面(cordis 插件工具)。
  2. 新建插件:
    • Host 半体:粘贴 src/host.js 的完整内容。
    • Client 半体:粘贴 src/client.js 的完整内容。
    • idPrefix 建议 side,名称 DSH Side Chat。
  3. 运行该插件,在浏览器中批准 Client 半体授权。
  4. 刷新页面:会话标题栏右侧出现「⤳」入口。

方式二:npm 包安装(正式,跨重启持久)

  1. 在 DSH profiles 目录安装包(与 web/headless profile 共享的 node_modules):

    cd "$DSH_HOME/profiles"        # 例如 C:\Users\Lenovo\.dsh\profiles
    npm install dsh-side-chat
    
  2. 把包注册为 bundle(与官方 client 插件、dsh-vision 同款机制):在目标 profile 的 package.json(如 profiles/web/package.json)的 dsh.profile.bundles 里加一项:

    "dsh": {
      "profile": {
        "bundles": ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "dsh-side-chat"]
      }
    }
    

    包内自带的 cordis.patch.yml 会在启动时自动插入加载行——不要再往 profile 的 cordis.patch.yml 里手动加行,否则重复注册会崩溃。

  3. 重启 DSH 即生效。

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev dsh-ui-concise 下一个 Next agent-plaza →