SideMind:在主对话旁开线程,不污染主上下文

前言

在 DeepSeek Harness(DSH)里做 Agent 开发时,主会话往往已经堆了长上下文:改一半的实现、未决的架构选择、临时想确认的细节。若把这些「旁路问题」都写进主线程,模型可见历史会变长,后续主任务也更容易被带偏。

常见做法是另开窗口、复制粘贴上下文,或让主 Agent 直接回答「顺便问一下」。前者操作成本高,后者则会把旁路问答永久写进主 scrollback。SideMind 是 Musdkar 维护的 DSH 实验性 Web/Desktop 插件,用两条斜杠命令在主界面内提供两种 ephemeral(关闭即销毁)旁路交互,并明确不把旁路答案自动写回主 Agent。

这是什么

SideMind(npm 包名 dsh-sidemind,当前版本 0.2.2,MIT 许可证)的定位是:Parallel conversations without polluting your main context——并行旁路提问与旁路多轮对话,而不污染主上下文。

仓库:https://github.com/Musdkar/dsh-sidemind
社区目录页:https://www.skillhub.cn/plugins/Musdkar/dsh-sidemind(独立站点,与 DeepSeek / 幻方无官方从属关系)

两条命令,两种交互模型

插件围绕两种刻意不同的模型设计:

/side [question]:右侧边栏多轮旁路线程

在 DSH 原生右侧边栏打开一条 ephemeral 多轮 side thread。它从最近一次已完成的主轮次分叉,支持一组保守的只读工具;对应标签页真正关闭时,线程被销毁。

0.2.x 的 Side 界面要点包括:原生 tab 内不再重复巨大 SideMind 头图;顶部有 From main thread · read-only · ephemeral 上下文条;继承的父历史对模型可见,但在 Side transcript 中隐藏;紧凑用户气泡与文档式助手 Markdown;在 DSH 提供 MarkdownText 时使用原生渲染并保留兼容回退;助手回复可「复制为 Markdown」;输入框自动聚焦、随内容增高;Enter 发送、Shift+Enter 换行。

带问题调用时,会先创建分支并立即发送首问,例如:

/side why is this implemented this way?

/btw <question>:输入框上方单次问答浮层

在主 composer 上方用紧凑 overlay 发起 ephemeral 单次旁路问题。它能看到当前已完成的对话上下文,不提供任何工具; dismiss 后销毁。

BTW 采用 Grok Build 风格的 bordered panel:顶边展示 /btw <question> 与始终可见的 [Esc] 提示;Loading / Done / Error 状态,无重复问题卡片或页脚;答案用 DSH Markdown 渲染;长回复内部滚动,完成后可用方向键/Page/Home/End 浏览;Esc 关闭并销毁子会话;故意不会把已关闭的 BTW 答案持久写进 Main scrollback。

示例:

/btw <question>

(将 <question> 替换为你要问的一句话。)

更完整的交互 rationale 见仓库内 docs/DESIGN.md。

隔离模型与主会话记录

SideMind 的隔离规则在 README 中写得很明确,使用时值得先过一遍:

  1. 两种界面都只在最新已完成的父轮次处继承,之后各自分叉。
  2. SideMind 不会把旁路答案自动发回父 Agent。
  3. Side 的 prompt 正文只存在于 ephemeral 子 Session。
  4. /btw 不暴露模型工具。
  5. /side 仅允许已知、保守的只读工具集;未知或自定义工具 fail closed。
  6. 关闭对应 UI 会 dispose 子 AgentHandle 并移除内存中的子 Session。
  7. 插件刻意不走 DSH 基于持久化的可续跑 subagent 路径,因此「关闭即销毁」。

父 Session 仍会记录普通 DSH 命令生命周期事件(命令准入)。SideMind 使用 recordInput: false,成功的内部控制调用在父命令记录中既不包含旁路 prompt 正文,也不包含旁路答案。

兼容性与运行环境

package.json 中声明:

  • DSH:>=0.1.0-rc.7
  • Node:>=22.19
  • 系统:macOS、Linux、Windows
  • Profile:web(客户端注入 DSH 右侧边栏、会话 UI、命令 UI 等模块)

DSH 仍处于快速变化的开发者预览。SideMind 为避免依赖较新的 sidebar close-handler API,改为监听 tab 的 AbortSignal,以适配当前测试过的 DSH Desktop 构建。浏览器端优先使用 DSH 原生 UI 原语,对 Desktop 暴露较小 client 模块面的版本保留兼容回退。

安装与启用

已抓取资料与社区目录页均未给出固定的 dsh plugin add … 安装命令原文,本文不凭仓库名拼接命令。请从 SkillHub 目录页 或 GitHub README 跟随当前 DSH 版本的插件安装方式;安装前请阅读源码与 MIT 许可证,并确认 Node / DSH 版本满足上述约束。

插件以当前 dsh 进程权限运行;旁路线程虽隔离上下文与写回行为,仍继承主会话可见信息与(在 /side 下)只读工具能力,安装前应对仓库与依赖有基本审查。

适用场景

  • 主线程在推进大改动时,用 /btw 快速核对定义、API 或「为什么这样写」,而不增加主 scrollback。
  • 需要就实现细节多轮追问、且可能用到只读工具(如读文件)时,用 /side 在右侧开短生命周期分支。
  • 希望旁路对话关闭即消失、且不自动污染主 Agent 上下文的 DSH Web/Desktop 用户。

注意:SideMind 标注为 experimental;0.2 系列是对 UI/交互的重写,行为以你安装的 0.2.2 及对应 DSH 构建为准。

结尾

SideMind 把「旁路提问」产品化为 /btw 与 /side 两种界面,并用子 Session、无自动写回、关闭销毁和有限的只读工具策略,减少主上下文被旁路对话拖长的常见痛点。若你在 DSH 生态里做插件或 Agent 工作流,可对照 docs/ARCHITECTURE.md 与 docs/DESIGN.md 理解其分叉与 UI 选择。

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

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

小夜