前言¶
在 DSH 里跑长任务时,主会话往往已经堆了不少上下文。中途若有个术语、某段输出想确认含义,直接在主输入框里插一句,回答会进入主会话记忆,可能打断当前任务节奏,也会让后续轮次带上未必需要的旁支信息。
下面介绍的 dsh-btw(npm 包名 dsh-btw-plugin)面向这类需求:在继承当前会话上下文的前提下,用独立浮窗做一次性旁问;回答默认只留在弹窗里,需要留痕时再经摘要预览后「送入主会话」。维护者为 yanzoro926,仓库 yanzoro926/dsh-btw,分类为客户端插件,许可证 MIT(见仓库 README)。
这是什么¶
一句话定位:btw(by the way)旁问——临时对话框,继承会话上下文,可选上下文范围与选中文本引用,旁问专用模型与参数;默认不把问答写回主会话,可选压缩摘要经确认后写入。
核心功能¶
以下能力均来自官方 README,安装前可在 GitHub README 对照界面截图。
打开方式与回答展示¶
- 输入框右侧 btw 按钮,或输入
/btw命令,打开独立浮窗。 - 回答流式显示,支持 Markdown;Enter 发送,Shift+Enter 换行。
继承会话上下文¶
- 自动携带当前会话模型可见历史。
- 上下文栏可在「自动 / 最近 40 条 / 最近 120 条 / 全部 / 全部但不含工具输出」之间切换,显示将发送条数与估算 token;超出上限时从旧到新裁剪并标出省略条数。
弹窗内追问与选区引用¶
- 同一弹窗可继续追问;前几轮问答作为上下文回传(有上限),仍不写回主会话。
- 先选中一段文字再点 btw,弹窗引用该段(最多 2000 字符);引用条右侧 × 可清除。
独立模型与交互¶
- 可为旁问单独选模型,并调温度、最大输出 tokens、推理强度;设置只作用于 btw。
- 每条回答显示本次 token 用量;失败可重试,可随时停止生成。
- 浮窗可拖动、缩放,双击标题栏最大化;位置与大小会记住。
- 切换会话时窗口自动隐藏,切回恢复;只有点 ×(或 Esc)才关闭并清空。
送入主会话¶
点弹窗头部「送入主会话」后:
- 用当前旁问模型生成四节压缩摘要(我问了什么 / 结论 / 关键细节 / 仍未解决,最多约 900 字;失败则用本地兜底摘要)。
- 在预览层检查、修改,点「确认送入」。
写入后,主会话下一轮请求会带上这条记录,DSH 显示为上下文/通知卡,不会立刻触发主会话回复,也不创建新 turn。摘要确认写入上限 8000 字,写入不可撤销;同一段对话写入后会显示「已送入 ✓」并禁用。
隐私(默认行为)¶
| 行为 | 会不会发生 |
|---|---|
| 向主会话追加消息 | 默认不会;只有「确认送入」才追加一条 user/message(source.kind='btw') |
| 创建 Agent / 子会话 / 会话文件 | 不会 |
| 写入标题、压缩、搜索索引、turn/step | 不会 |
| 插件自己持久化问题或回答 | 不会 |
| 调用模型 provider | 会——旁问即正常模型调用 |
弹窗内问答、引用和草稿只在页面内存;关闭即丢弃。
安装与启用¶
要求 DSH Desktop 0.2.1 或更新。
从 npm 安装(命令来自 README):
dsh plugin --profile desktop add dsh-btw-plugin
然后完全退出并重新打开 DSH Desktop(不是刷新页面)。打开任意会话,输入框右侧出现 btw 即表示安装成功。
插件以当前 DSH 进程权限运行;安装前建议阅读 源码与 LICENSE,确认符合你的环境与安全预期。社区目录 SkillHub 插件页 为独立站点,与 DeepSeek / 幻方无官方从属关系。
典型用法¶
- 点输入框右侧 btw,或输入
/btw后回车,打开弹窗。 - 输入问题,Enter 发送。
- 顶部「上下文」栏调整本次旁问携带多少会话历史,点「刷新」重新读取。
- 右侧模型下拉切换旁问专用模型;⚙ 可调温度、输出上限、推理强度和按钮显隐。
- 需要先问某段输出时:选中文字再打开 btw,引用会带进问题。
- 结论值得主会话记住时:「送入主会话」→ 等待摘要 → 预览修改 →「确认送入」。
配置与限制¶
可在 Cordis 插件配置里覆盖以下键(默认值见 lib/logic.js,完整表见 README):
| 键 | 默认 | 作用 |
|---|---|---|
enabled |
true |
关闭后不注册任何路由 |
maxParentMessages |
200 |
「自动」范围下最多携带父会话消息条数 |
maxRangeMessages |
1000 |
「全部」/「不含工具输出」硬上限 |
defaultRecentMessages |
40 |
「最近 N 条」默认值 |
maxPriorTurns |
20 |
弹窗内追问回传历史上限 |
maxQuestionChars |
8000 |
单次问题长度上限 |
requestTimeoutMs |
300000 |
单次旁问超时 |
summaryTimeoutMs |
60000 |
送入摘要生成超时 |
maxSummaryChars |
8000 |
确认写入时摘要长度上限 |
已知限制摘录:引用跨 shadow DOM 可能取不到选区;上下文栏 token 为粗估;浮窗偏好存 localStorage 不跨设备;目标会话正在生成时会拒绝写入摘要。package.json 当前版本 0.5.6,Node >=22.5。
结尾¶
dsh-btw 把「继承上下文的一次性旁问」和「可选、可编辑的摘要入主线」拆开:日常确认不打断主任务,需要时再让主会话看见结构化结论。