ChenRuoT/dsh-sidebar-qa
dsh-sidebar-qa
dsh-sidebar-qa is a community DeepSeek Harness plugin. Read the repository README before installing.
Install
npx @deepseek-ai/dsh plugin --profile web add dsh-sidebar-qaRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-sidebar-qa)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from ChenRuoT/dsh-sidebar-qa, cleaned of badges and images.
dsh-sidebar-qa
<b style="font-size: 1.15em;">划选即问,侧边栏内嵌问答</b><br /><br />
<code>划选提问</code> <code>添加到对话</code> <code>上下文摘要</code> <code>嵌套追问</code> <code>追问记录</code> <code>零打断</code> <code>中英双语</code><br /><br />
<b>DeepSeek Harness(DSH)Web 插件</b>:在对话里<b>划选任意文本 → 点击「提问」→ 右侧面板问答</b>——<br />
自动创建<b>同工作区的独立 DSH 会话</b>,主对话零打断。实现类 codex 侧边提问 / Claude Code /btw 功能。
🌏 <a href="./README.md"><b>中文</b></a> · <a href="./README_EN.md">English</a>
✨ 功能一览
- 📝 划选提问:对话中划选任意文本 → 浮层「提问」→ 右侧面板内嵌问答,全程不跳转大窗口;侧边栏面板收起时也会自动展开,「提问」永远有可见反馈
- 💬 添加到对话:同一个浮层的另一个按钮,把划选文本以
>引用块追加进当前会话的主输入框并聚焦(光标落在引用块下方),不新建会话、不打开侧边栏——想就地接着说的时候用它(issue #11) - 🧠 智能摘要:快速无思考模型把主对话上下文压缩成小摘要,与划选引文一起注入首条消息
- 🔀 三种上下文策略:每次提问可在「全量继承(fork+缓存命中)/ 压缩 / 机械裁切」间切换,面板内选择器 + 配置默认值双入口
- 🔗 独立会话:自动创建同工作区独立 DSH 会话(
❓<主题>),可继续、可归档,主对话零打断 - 🪆 嵌套追问:在追问对话里再划选提问,生成子追问,层层嵌套
- 🗂️ 追问记录:按根(主)会话分层树展示;限定当前工作区;节点可折叠、显示最近访问时间;点击跳转后追问记录 tab 保持开启;已归档/已删除的追问置灰标记状态,可一键从记录中移除(连同整棵子树清理映射,不影响 DSH 侧会话)
- 🏷️ 两段式命名:划选首行占位命名 → 首次回答完成后基于「问题 + 回答」自动提炼 ≤15 字最终标题
- ⚙️ 可配置:摘要/回答模型渠道、思考模式、上下文窗口与预算全部可调——入口是 DSH 设置页 → 左侧导航「追问」(面板注册为
settings.section);同一份配置也可以直接写进插件自己的 profile 行(cordis.patch.yml里id: sidebar-qa的config:),两条路写的是同一份配置 - 🌏 中英双语:界面文案与模型侧提示词跟随 DSH 语言设置实时切换(无需刷新,包括已打开 tab 的标题);回答语言跟随你提问/划选的内容,不被界面语言绑架
🔌 只注册进 DSH 自带右侧栏:DSH 0.1.5-alpha.1 及以上自带右侧栏(
@deepseek-ai/dsh-client-ui-sidebar-right),本插件直接注册进它(ctx.sidebarRightTabs/ctx.sidebarRight服务 +sidebar.right.pane.tab与sidebar.right.pane.tab.title席位),无任何额外依赖。dsh-better-sidebar兼容已在 1.0.0 彻底移除。更早的 DSH 上插件仍然激活:划选浮层与「添加到对话」照常可用,只是不注册侧边栏 tab(并记一条console.warn)。
📦 更新记录
1.2.1 - 2026-10-19
修 DSH 0.2.1 上的两个 P0:局域网 / --trusted-host 访问 /sidebarqa/api 恒 403;追问面板不再流式、失败轮次没有任何提示。
- 信任围栏迁移到
webStartup(host 半,需重启宿主):DSH0.2.1-alpha.1删除了webRuntime服务,插件回退读到未求值的!!js表达式,围栏静默退化为 loopback-only。现按webStartup.trustedHosts→ 旧webRuntime→ loader 字面量读取,并像 DSH 自己的/api围栏一样接受监听 bind IP、按 http(s) 规范化默认端口。回归:tests/trust-fence.spec.ts+tests/host-route.spec.ts。 - 恢复流式 + 轮次失败可见(client 半,硬刷新):0.2.x 不再写持久化
assistant/chunk,实时增量需要follow({ assistantStream: true });插件此前没接,回答只在结束时整段出现、报错时永久停在「生成中…」。现在逐段渲染 live 文本,失败/中断轮次显示「本轮回答失败:<原因>」(assistant/attempt的 compact stream 也会折叠)。回归:tests/answer.spec.ts+tests/session-wire.spec.ts。 - 类型桩升到
0.2.1-rc.2,装载闸测试改为两代语义(0.2.0 读 peer、0.2.1-alpha.3+ 只读engines.dsh),新增package.json↔dsh.plugin.json的 version / engines 同步守卫。升级需重新pnpm install。
1.2.0 - 2026-10-15
修 issue #21「设置保存失败」:配置改为声明在插件自己的 Config schema 上、并按 profile 条目 id 寻址,DSH ≥ 0.1.7(含 0.2.x)上「追问」设置页从「只读默认值」变成可保存。
[email protected]起不再有命名空间注册:可编辑字段从插件自报的Configschema 派生(只认标了volatile()的字段),describe/update按 profile 条目 id(cordis.patch.yml里那一行的id)寻址。1.1.0 的接缝只会注册命名空间,于是这类宿主上每次保存都回 503;现在 host 半导出Config(12 字段全部volatile())、按条目 id 打开同一个 revision 守卫的面,插件读运行期就地更新的活引用(不重挂)。老宿主(≤ 0.1.6)走原来的sidebarqa命名空间,行为不变。- 顺手用
settings.configure({ auto: false })抑制宿主按 schema 自动生成的表单(本插件自己有一整页设置卡);拒绝原因细分为no-entry/no-form并各自有具体 503 文案。 - 依赖换成
@deepseek-ai/[email protected](devDependency 精确钉,volatile()只存在于 DSH 这个分叉),构建期打包进lib/index.js,运行期不依赖宿主那一份。升级需重新pnpm install;host 半改动,需重启dsh web。
1.1.0 - 2026-09-29
…

