DSH Side Chat:工作会话旁的只读旁聊线程

前言

在 DeepSeek Harness(DSH)里,主会话往往承担「执行任务」:工具调用、改文件、跑命令会占满 transcript,也把上下文预算花在当前任务上。若在同一轮里穿插「帮我理一下思路」「只看一下这个文件别动它」,既容易污染工作流,又有误改仓库的风险。社区插件 dsh-side-chat(仓库 Uzumaku13/DSH-side-chat-advisor)在 Web UI 右侧边栏增加独立聊天页签:与会话并行、可读可搜、默认不写盘、不执行 shell。

这是什么

  • 定位:DSH 右侧面板里的第二个对话线程,独立于主 agent 会话,继承当前工作目录以便读项目,工具面限制为只读。
  • 维护者:GitHub 用户 Uzumaku13(package.json 作者为 Ivan Belyaev)。
  • 分类:客户端插件(注入 Web 侧边栏与会话相关 UI 模块)。
  • 当前版本:1.3.1(MIT 许可证)。
  • 目录页:skillhub.cn 条目。

一句话对比主会话:主会话是「干活用的 chat」;Side Chat 是「旁路琢磨用的 chat」,两者 session 分离,互不污染。

核心功能

独立线程与界面

能力 说明
Separate thread 独立 agent 会话,重载与重启后仍可持续
Right-panel tab 在右侧与主会话并列,不替代主会话
Streaming 流式输出,回答过程中可用 Stop 中止
Clean transcript 展示对话内容,不展示 agent 内部独白

只读工具集

预设与主机侧 tools.restrict 双重限制。允许的工具包括:read、glob、grep、read_image、web_search、web_fetch;不包含 write、edit、shell。

推理档位、语音与图片

  • Reasoning level:off / low / high / max,在 Settings → Plugins → Side chat 配置,按线程生效;默认 Off。
  • 语音:录制麦克风,经主机注册的 speech provider 转写(README 提及曾在本地 GigaAM provider 上测试);未配置 provider 时界面会提示无可用项。
  • 图片:可附带截图,作为 prompt 内容部分发送。

线程历史与绑定

  • free:默认;用面板头「+」新建的自由线程,不属于某一主 session,在各 session 历史中可见。
  • bound:在历史列表用 pin 钉到当前主 session,回到该 session 时面板可再次打开同一线程。
  • 「+」不删除旧线程,仅切换使用;从列表移除条目不删除磁盘上的 DSH session 日志(位于 $DSH_HOME/sessions/<id>)。

捆绑的 agent preset

一次安装会注册 两行:插件本体与其运行的 sidechat preset。该 preset 挂载面向聊天的 persona、读工具、Web 访问与 compaction,不包含 agent-instructions、tool-skill 或 MCP,避免继承编码 preset 下的 AGENTS.md、项目规则与整本 skill 目录。

环境要求

  • DeepSeek Harness 0.2.x,且启用 Web UI(@deepseek-ai/dsh-web-app)。
  • 已配置模型 provider(插件使用主机默认路由)。
  • 语音功能依赖主机内已注册的 speech provider。

安装与启用

在已取得插件目录的绝对路径后(目录内为 bundle 根,含 cordis.patch.yml 等),任选其一安装。

在 DSH 会话中通过 plugin_manager:

plugin_manager
  action: install_bundle
  target: /absolute/path/to/dsh-side-chat

CLI 等价命令:

dsh plugin --profile <profile> add /absolute/path/to/dsh-side-chat

一个 bundle 即完成插件与 preset,无需第二步。

启用步骤:

  1. 重启 DSH,或在 Settings → Plugins 中关闭再打开该插件;
  2. 刷新浏览器页面(F5),客户端以浏览器模块形式加载。

卸载 bundle:

plugin_manager
  action: remove_bundle
  target: dsh-side-chat

安装前请自行审阅仓库源码与 MIT 许可证;插件以当前 DSH 进程权限运行,具备其声明的只读工具与 Web 能力,不代表对主机外系统的额外隔离。

典型用法

打开面板

在会话标题栏右侧、与会话工具相邻处,点击 speech-bubble 按钮;右栏 tab 引导中也可进入 Side Chat。

发送与附件

  • 输入后 Enter 发送;Shift+Enter 换行。
  • 麦克风:录制后再次点击停止,转写结果追加到草稿,可改字再发。
  • Picture:可一次附加多张图片。
  • 回答进行中 Stop 替代 Send。
  • 面板头 +:开始新线程;旧线程仍在历史中。

历史与时钟按钮

面板头时钟按钮打开历史:Bound to this session 与 Free。点击行切换线程;pin 绑定或解绑当前 session;× 仅从列表移除(不删磁盘会话)。

设置项

Settings → Plugins → Side chat(插件列表卡片亦可)。

  • Reasoning level:按模型目录提供的档位选择;插件通过 GET /x-side-chat/models.json 等与主机协作,并在变更后恢复主会话的默认推理档位,避免影响编码会话。
  • Hide the Claude Migration button(可选,默认关):若安装了 dsh-claude-move,可用 CSS 隐藏其浮动入口;偏好存在浏览器 localStorage。

主机侧 HTTP 路由(便于无浏览器调试)包括例如 POST /x-side-chat/thread、POST /x-side-chat/say 等,详见仓库 README How it works。

适用场景与注意

适合:

  • 需要在同一项目上下文中问问题、读文件、搜代码或查 Web,但不想让主会话 transcript 塞满旁支讨论;
  • 希望「只看不动」的探索性对话,降低误编辑风险;
  • 需要语音速记、贴图讨论,且接受独立 preset 的聊天风格。

注意:

  • 只读是工具掩码与 preset 共同约束,仍应把敏感仓库与凭据按组织规范处理;
  • 线程 id 存于浏览器 localStorage(dsh.side-chat.thread.v2)与 $DSH_HOME/side-chat/threads.json;
  • 社区目录 skillhub.cn 与 GitHub 仓库由社区维护,与 DeepSeek / 幻方无官方从属关系;DSH 生态原则是「一切皆插件」,按需选用即可。

结尾

dsh-side-chat 把「浏览器里另开一页问 AI」搬进 DSH 右侧:独立会话、项目目录可读、工具面不写 shell。若你常在工作流中间插入纯讨论,可对照 README 安装 bundle 并在设置里调好推理档位。

  • 目录页:https://www.skillhub.cn/plugins/Uzumaku13/DSH-side-chat-advisor
  • 源码与文档:https://github.com/Uzumaku13/DSH-side-chat-advisor
羽毛球分组比赛记分
小程序二维码

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

小夜