dsh-side-chat
Manifest valid★ 1Codex-style /side side conversations for DeepSeek Harness: a temporary fork of the current chat in a floating panel, inheriting context without interrupting the main task.
@zhuchenglong/dsh-side-chat
English: README_EN.md
Codex 风格的 /side 侧边对话插件(DeepSeek Harness Web GUI)。
在运行中的主对话旁边打开一个临时分叉对话:继承主线已完成的上下文、不打断主任务、不污染主线程的模型上下文。适合"边跑边问"——在主线任务运行的同时,侧边问一句"这里为什么这么写?"、"这个报错是什么意思?"。
功能
/side命令:在当前会话旁开一个侧边对话(继承主线截至最后一个turn/end的完整上下文)。- 浮动侧边面板:右下角「💬 侧聊」按钮开关;面板内可新建、切换、关闭侧边对话。
- 实时问答:侧聊会话走与主对话相同的消息通道(
session.prompt),流式渲染、可停止。 - Markdown 渲染:侧聊回复用与主对话同款的
MarkdownText(标题/代码块/表格/公式),流式跟随滚动。 - 并发不中断:侧聊 agent 与主 agent 同进程并发运行,主任务不被打断。
- 关闭即移除:关闭侧聊时 dispose agent 并归档会话,从面板与侧边栏一并消失。
- 不污染主线:
/side只在主线程日志里留一条命令卡片,不进入模型上下文。
安装
dsh plugin --profile web add @zhuchenglong/dsh-side-chat
或从 GitHub 安装:
dsh plugin --profile web add github:zclDragon/dsh-side-chat#main
重启 dsh web(或刷新浏览器)后生效。
使用
- 在浏览器中打开 GUI(默认 http://127.0.0.1:3080)。
- 点右下角「💬 侧聊」,或直接输入
/side。 - 在面板里点「+ 新建」开一个侧边对话,然后输入问题。
工作原理
- Host 半(
src/index.ts):注册/side-chat路由(open/list/close)与/side命令。open复用 DSH 的 fork 语义——以父会话「最后一个turn/end起、延伸到下一个turn/start之前」的完整日志前缀为种子,通过ctx.agents.create创建子 agent,并继承父会话的 agent preset 组合与模型选择。 - Client 半(
src/client/):通过ctx.sessions绑定侧聊会话、打开其事件窗口(session.open()),订阅实时会话快照渲染紧凑 transcript;消息经session.prompt()投递。 - 注册表:进程内
Map<sideSessionId, parentSessionId>记录分组;进程重启后侧聊会话仍在(普通持久化),但分组关系需后续迭代用ctx.storageDomain持久化。
开发
pnpm install
pnpm typecheck # tsc --noEmit
pnpm test # vitest(host 9 + client 4)
pnpm build # tsc 声明 + tsdown 产物(lib/index.js + lib/client.js)
pnpm pack # 发布用 tarball
已知限制(后续迭代)
- 进程重启后侧聊的「分组关系」暂不持久化(会话本身持久化)。
- 面板列表用 3s 轮询刷新(
/side命令新开的侧聊最长 3s 后出现)。 - 侧聊继承上下文截至最后一个
turn/end(与 DSH fork 一致),进行中的 turn 无法继承。
Compatibility
Versions
| Latest version | Published | Size |
|---|---|---|
| 0.0.6 | — | — |
| 0.0.7 | — | — |
| 0.0.8 | — | — |
| 0.0.9 | — | — |
Comments
Loading…
Similar plugins
by AHGGG
Codex-style Side Chat for DeepSeek Harness — select text, ask follow-up questions in a focused side conversation, and keep the main chat uninterrupted.
★ 14
↓ 178/wk
MIT
JavaScript
Oct 26, 2026
dsh plugin --profile web add @ahggg/dsh-side-chatby flyer103
Side chat for the DeepSeek Harness Web GUI: fork the current session into an ephemeral conversation that can really edit files, without polluting the main transcript.
★ 0
MIT
JavaScript
Oct 20, 2026
dsh plugin --profile web add @flyer103/dsh-side-chatby daodishisha28
Open a persistent side conversation from any DeepSeek Harness session to investigate questions, clarify requirements, or explore alternatives without polluting the main task’s context, then review and
★ 3
MIT
TypeScript
Oct 14, 2026
dsh plugin --profile web add dsh-sidechat-pluginSide conversations forked from the main session, with native conversation rendering, selection annotations and handback.
★ 0
dsh plugin --profile web add dsh-sidechatby omdsh-dev
DSH 侧会话插件:/side 持续性侧会话(Codex 风格)与 /btw 一次性侧问(Claude 风格)——在临时 fork 中运行、不写入主会话历史;Web UI 右侧链面板内嵌对话,主会话保持不变
★ 14
BSD-3-Clause
TypeScript
Oct 28, 2026
dsh plugin --profile web add @dsh-external/dsh-sidechainby JujiuYey
Select a fragment of a DeepSeek Harness chat and explain it in a temporary side conversation — without touching the main session.
★ 0
MIT
JavaScript
Oct 21, 2026
dsh plugin --profile web add dsh-quick-explain