dsh-side-chat:Codex 式侧边聊天的强化版

前言

在 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

典型用法

选中内容提问

  1. 在主对话中选中某条消息的部分文本。
  2. 点击浮出的「在侧边聊天中提问」,或选择「继续在激活的侧边聊天中提问」。
  3. 右侧面板打开(或展开),选中文本已带入输入框。
  4. 按需调整模型 / 思考难度、权限,以及「需要时从工作区 / 主会话查信息」开关。
  5. 发送。回复流式返回,带 Markdown 渲染,需要时显示「思考」折叠行。
  6. 拖动面板左边缘调整宽度,或使用收起 / 展开控件。

默认 sendImmediately 开启时,选中内容会立即发送,并附加设置的默认提示词。在设置里关闭后,选中内容先作为附件放入输入框,由你确认编辑后再发送。

带回主会话

  1. 在侧边聊天中选中 AI 回复片段,选择「直接带回」或「摘要后带回」;或点击回复下方的两个按钮一键带回整段。
  2. 根据 bringMode 设置,内容追加进主会话输入框草稿,或注入为折叠提示行。

针对问题弹框

  1. 主会话弹出问题弹框时,面板关闭状态下弹框标题旁会出现浮动入口,点击打开面板。
  2. 对每个问题「带入全部」,或对每个选项「带入」,选择继续已有或新建侧边聊天。
  3. 在侧边聊天中让 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 仓库

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜