omdsh-dev/dsh-sidechain 预览 preview

omdsh-dev/dsh-sidechain

Plugin插件 Native原生 ⭐ 15 BSD-3-Clause Sessions & Context会话与上下文

DSH 侧会话插件:/side 持续性侧会话(Codex 风格)与 /btw 一次性侧问(Claude 风格)——在临时 fork 中运行、不写入主会话历史;Web UI 右侧链面板内嵌对话,主会话保持不变

Project Overview项目介绍

dsh-sidechain is a native plugin built exclusively for DeepSeek Harness (DSH) that enables isolated side conversations by forking the existing main session. It lets users ask quick questions or explore alternative conversation threads without interrupting or altering the context of the ongoing main session. To install the plugin, users run the command dsh plugin --profile web add github:omdsh-dev/dsh-sidechain, and must add the plugin key to their Web profile's pnpm-workspace.yaml if they use pnpm 10 or above, then restart the dsh web process and refresh the browser page.

This plugin is designed for DSH users who want to keep their main conversation focused while exploring tangential questions or side ideas. When you need to verify a fact, test an approach, or explore a related topic without adding extra clutter to your main session context, you can use one of the plugin’s three core commands. For one-off quick questions, use /btw, which runs a single round of response and leaves your main session ready for continued work; for longer, ongoing side conversations, use /side to create a persistent thread you can return to.

dsh-sidechain is released under the permissive BSD-3-Clause open source license, and depends on three official DSH packages that are already included by default in DSH's standard Web profile. It has several documented limitations: /btw only supports single-turn responses, /side requires an initial question to create a thread, and forked side sessions do not include any incomplete rounds from the parent main session. The resizable side panel, which can be toggled with the keyboard shortcut Ctrl/Cmd+Shift+E, displays full details of all active side sessions.

这是专为DeepSeek Harness(DSH)打造的原生侧会话插件,可通过分叉当前会话创建独立的子会话,让用户无需中断主线对话就能发起一次性问题或是持续对话。插件提供三条核心命令:/btw用于发起一次性侧问,/side用于创建可持续追问的侧会话,/side list用于列出当前会话的直接子代理,目前适配从0.0.1-rc.5到0.1.1-rc.2的多个公开版DSH。

当用户在主会话推进过程中,需要临时查询信息、验证思路或是探索分支方案,又不想打乱主会话的上下文和推进节奏时,就可以使用这个插件。侧会话会继承主会话已完成的对话作为参考上下文,但拥有独立的消息记录和执行流程,所有内容不会混入主会话的模型上下文,适合需要保持主线对话整洁有序的开发人员使用。

该插件采用BSD-3-Clause开源许可,依赖DSH官方提供的三个核心包,默认Web配置文件已包含这些依赖,可通过dsh plugin命令直接安装,安装后需要重启DSH并刷新页面。它存在几个明确限制:/btw仅支持单轮对话,/side必须附带初始问题,分叉不会包含父会话正在进行的回合。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 note1 项提示
  • 15 stars - an early-stage project星标 15,属于早期项目
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:omdsh-dev/dsh-sidechain

把 omdsh-dev/dsh-sidechain 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-sidechain

DSH 侧会话插件。它通过 fork 当前会话创建隔离子会话,让用户在不中断主线程的情况下发起一次性问题或持续对话。

当前版本适配公开版 DSH npm 0.0.1-rc.5、0.1.0-rc.6、0.1.0-rc.7、0.1.0-rc.8、0.1.1-rc.1 和 0.1.1-rc.2。在已验证的 0.1.1-rc.2 中,/side 与 /btw 会转发命令输入中的图片附件,并在侧栏显示持久化图片。

命令 用途
/btw <问题> 发起一次性侧问,适合快速确认信息
/side <问题> 创建可持续追问的侧会话
/side list 列出当前会话的直接子代理

侧会话继承主会话已经完成的回合作为参考上下文,但拥有独立的消息记录和执行过程。侧会话的提示、思考、工具调用和回答不会进入主会话的模型上下文。

功能

  • /btw 在后台完成单轮问答,主会话可以继续使用。
  • /side 创建可续聊线程,可直接在侧栏中发送后续消息。
  • 右侧面板显示用户消息、上下文、思考、工具调用与回答。
  • 运行中的会话实时更新,并在列表中显示活动摘要。
  • 子会话历史持久化,重启 DSH 后仍可查看。
  • 面板支持拖拽调宽、展开、手动刷新和 Ctrl/Cmd+Shift+E 快捷开关。

安装与卸载

依赖 DSH 提供的 @deepseek-ai/dsh-subagent、@deepseek-ai/dsh-subagent-fork-in-process 和 @deepseek-ai/dsh-commands。默认 Web profile 已包含这些依赖。

安装

dsh plugin --profile web add github:omdsh-dev/dsh-sidechain

pnpm 10 及以上首次安装会提示允许 Git 依赖执行 prepare。按命令输出把插件键加入 Web profile 的 pnpm-workspace.yaml,然后重新执行安装命令。

插件会向 Web profile 添加以下配置:

- insert:
    - id: dsh-sidechain
      name: '@dsh-external/dsh-sidechain'

安装或更新插件代码后,重启 dsh web 并刷新页面。

卸载

dsh plugin --profile web remove @dsh-external/dsh-sidechain

该命令会同时移除 profile 依赖和插件配置层。完成后重启 dsh web 并刷新页面。

配置

配置项 默认值 说明
providerName fork 用于创建子会话的 subagent provider
persona 内置侧会话 persona 侧会话的行为约束;空字符串表示沿用部署 persona
readOnlyTools 未设置 可选工具 allow-list,例如 ['read', 'grep', 'glob']

配置示例:

- insert:
    - id: dsh-sidechain
      name: '@dsh-external/dsh-sidechain'
      config:
        providerName: fork
        readOnlyTools:
          - read
          - grep
          - glob

使用

一次性侧问:

/btw 这个目录下哪个文件最大?

命令立即返回,侧链面板自动打开并显示执行过程和答案。/btw 只运行一轮,不能继续追问。

持续侧会话:

/side 分析一下当前插件的事件流

侧链面板会打开新线程。在线程底部输入消息并按 Enter,即可继续对话。

查看子代理列表:

/side list

/side 和 /btw 都必须提供问题。

侧链面板

会话标题栏中的侧链按钮用于打开右侧面板。面板列表包含当前会话的直接子代理,并显示其类型、标题、运行状态和活动摘要。

选择一个线程后,面板显示该子会话的完整时间线:

  • 用户消息与模型回答
  • 上下文注入与模型思考
  • 工具调用、结果和错误
  • Markdown、代码块、表格与公式

/side 线程带输入框,可持续对话;/btw 线程不可继续发送消息。面板只读取子会话日志,不会切换或激活主会话中的当前对话。

会话隔离

fork 只继承父会话已经完成的回合。继承内容仅作为参考,boundary 之后的消息才是侧会话的当前任务。

每个侧会话拥有独立日志。侧会话的消息、工具活动和回答留在子会话中,不会作为用户消息或子代理通知进入主会话。主会话只保留创建侧会话的命令结果。

默认 persona 允许非破坏性探索,不会主动修改文件、请求提权、创建子代理或向父会话报告。用户在侧会话中明确要求修改时,实际权限仍由 DSH 的 sandbox 和工具配置决定。

限制

  • fork 不包含父会话正在进行的回合。
  • /btw 只运行一轮;需要继续追问时使用 /side。
  • /side list 和侧栏列出当前会话的全部直接子代理,不限于本插件创建的线程。
  • /side 必须带首个问题;当前 subagent API 不支持创建后等待首次输入的空线程。

开发

pnpm install
pnpm check

pnpm check 依次执行类型检查、测试和构建。开发依赖固定到最新验证版 DSH 0.1.1-rc.2,不需要本机存在 DSH 源码 checkout。

← 上一个 Prev awesome-dsh-plugin 下一个 Next dsh_plugin_swift_cycle →