前言¶
在 DSH 主会话里跑智能体时,常见两类打断:一是想针对某段对话追问,却得切出去另开窗口或手动复制粘贴;二是智能体弹出「问题弹框」等你作答,整条流程会停在原地。Codex 式侧边聊天解决了前者——在主会话旁开一个继承配置的独立聊天,再把结果带回。heartmove 维护的 dsh-side-chat 在此基础上,把问题弹框也纳入侧边聊天,让你先想清楚再回答,主会话不必中断。
这是什么¶
dsh-side-chat(heartmove/dsh-side-chat)是一个 DSH 网页端(web profile) 客户端插件,当前版本 0.2.0,许可证 MIT。它在右侧面板提供按主会话隔离的独立聊天:每个侧边聊天是隐藏的普通 DSH 会话(通过 meta.parentSession 关联主会话并归档,不出现在主会话列表),继承主会话的工具集、模型、思考难度与权限预设,能感知工作目录。选中对话内容即可提问,AI 回复可带回主会话;当主会话弹出问题弹框时,问题和选项会自动列在侧边面板,可带入侧边聊天分析后再把答案带回。
插件信息可在 SkillHub 目录页 与 GitHub 仓库 查阅。SkillHub 是独立的 DSH 插件社区目录,与 DeepSeek / 幻方无官方从属关系。
核心功能¶
选中内容 → 侧边提问¶
选中任意消息文本后,浮出「在侧边聊天中提问」按钮;若当前会话已有侧边聊天,还会出现「继续在激活的侧边聊天中提问」。选中的内容自动带入右侧面板输入框。
继承主会话配置,可按聊天独立调整¶
侧边聊天默认继承主会话的工具集、模型、思考难度、权限预设与工作目录,可像主会话一样作用于同一工作区。二级模型菜单(服务商 → 模型 → 思考难度)与权限菜单从主会话复刻,每个侧边聊天可单独调整。另有「需要时从工作区 / 主会话查信息」开关(默认关闭),开启后可在需要时读取工作区文件与主会话记录。
AI 回复带回主会话¶
侧边聊天里的每条 AI 回复均可带回当前主会话(不会立即发送):
- 鼠标选中回复片段,在浮出菜单中选择「直接带回」或「摘要后带回」。
- 每条回复正文下方有「直接带回」「摘要后带回」按钮,一键带回整段或其摘要。
「摘要后带回」使用侧边聊天继承的模型先生成摘要再带回。落地方式可在设置中选择:写入输入框草稿(draft),或注入为折叠提示行(context,作为上下文、不写草稿、不发送)。
问题弹框不打断流程¶
主会话弹出「问题弹框」时,侧边面板自动列出问题和各个选项,无需手动选中文字。每个问题可「带入全部」,每个选项可「带入」,均支持继续已有侧边聊天或新建侧边聊天。列表可折叠 / 展开,可删除单个或全部(删除后不再出现)。主会话静静等待弹框回答,流程不被打断。
面板与其他能力¶
- 拖拽左边缘调整宽度(280–720 px),宽度自动钳制在窗口约 40% 以内,窗口尺寸变化时重新适配,宽度跨刷新记忆。
- 可收起 / 展开,无关闭按钮。
- Markdown 回复、思考过程展示、图片附件(粘贴 / 拖拽)、发送 / 停止、思考时长显示,复用主会话同款 UI。
- 侧边聊天列表支持单条删除与「删除全部」。
- 界面跟随 DSH 语言设置(中文 / 英文)。
安装与启用¶
环境要求¶
- Node.js ≥ 20
- pnpm
- DSH ≥
0.1.0-rc.6
从 GitHub 安装¶
官方安装命令如下:
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:heartmove/dsh-side-chat
dsh plugin 将命令转发到 ~/.dsh/profiles/web/ 下的 pnpm,并把 bundle 对账进 profile 的 dsh.profile.bundles 层列表。git 安装拉取源码后,pnpm 会运行包的 prepare 脚本(tsdown)从 src/ 构建 lib/。
pnpm ≥ 10 首次 add 可能因未白名单 prepare 脚本而失败,提示「Ignored build scripts」。将 pnpm 打印的包名键写入 ~/.dsh/profiles/web/pnpm-workspace.yaml:
allowBuilds:
dsh-side-chat: true
然后重新执行 add。该白名单表示允许该包在安装时于本机运行代码——只放行你信任源码的包,并建议固定 commit(github:heartmove/dsh-side-chat#<sha>),避免后续推送悄悄改变实际运行的代码。
安装完成后重启 dsh web,在浏览器中强制刷新(Ctrl/Cmd+Shift+R)。
从本地 checkout 安装¶
在包含项目 checkout 的目录下执行:
npx -p @deepseek-ai/dsh dsh plugin --profile web add ./dsh-side-chat
典型用法¶
选中内容提问¶
- 在主对话中选中某条消息的部分文本。
- 点击浮出的「在侧边聊天中提问」,或选择「继续在激活的侧边聊天中提问」。
- 右侧面板打开(或展开),选中文本已带入输入框。
- 按需调整模型 / 思考难度、权限,以及「需要时从工作区 / 主会话查信息」开关。
- 发送。回复流式返回,带 Markdown 渲染,需要时显示「思考」折叠行。
- 拖动面板左边缘调整宽度,或使用收起 / 展开控件。
默认 sendImmediately 开启时,选中内容会立即发送,并附加设置的默认提示词。在设置里关闭后,选中内容先作为附件放入输入框,由你确认编辑后再发送。
带回主会话¶
- 在侧边聊天中选中 AI 回复片段,选择「直接带回」或「摘要后带回」;或点击回复下方的两个按钮一键带回整段。
- 根据
bringMode设置,内容追加进主会话输入框草稿,或注入为折叠提示行。
针对问题弹框¶
- 主会话弹出问题弹框时,面板关闭状态下弹框标题旁会出现浮动入口,点击打开面板。
- 对每个问题「带入全部」,或对每个选项「带入」,选择继续已有或新建侧边聊天。
- 在侧边聊天中让 AI 分析,把答案带回主会话,再回答弹框。
设置项¶
打开 DSH 设置 → 侧边聊天(Side chat):
| 设置项 | 默认值 | 说明 |
|---|---|---|
lookupDefault |
关 | 新建侧边聊天时「需要时从工作区 / 主会话查信息」是否默认开启 |
sendImmediately |
开 | 选中内容后立即发送,还是先作为附件放入输入框 |
defaultPrompt |
空 | sendImmediately 开启时附加在选中内容后的提示词 |
bringMode |
draft |
带回方式:draft 写入草稿,context 注入折叠提示行 |
偏好保存在 DSH 设置命名空间 dsh-side-chat 下。
适用场景与注意¶
适合谁: 经常在 DSH 主会话中跑智能体、需要旁路追问对话片段或问题弹框选项的开发者。难任务可把侧边聊天切到更强模型,不影响主会话配置。
安全注意: 插件以当前 dsh 进程的权限运行。git 安装会拉取源码并在本机执行 prepare 构建脚本;allowBuilds 白名单即允许该代码在安装时运行。安装前应阅读 GitHub 源码 与 MIT 许可证,只安装你信任的包,并建议固定 commit。
局限: 仅适用于 DSH web profile,需 DSH ≥ 0.1.0-rc.6。侧边聊天是隐藏会话,依赖 meta.parentSession 与归档机制,与主会话列表隔离。
结尾¶
dsh-side-chat 把 Codex 式侧边聊天与问题弹框答疑合在一起:继承主会话的智能体能力,选中即问、分析完再带回,主流程不必为追问或弹框作答而中断。更多信息见 SkillHub 目录页 与 GitHub 仓库。