🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

侧边闲聊 Big-Smarty/dsh-btw-sidechat

DeepSeek Harness
Big-Smarty14 天前有提交已提供中文文档扫描:未发现敏感能力

用 /btw 分叉当前对话,在右侧栏只读追问

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/21 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Big-Smarty/dsh-btw-sidechat
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · browser
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 14 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

顺便说下 DeepSeek Harness 的侧边聊天:它是当前会话的只读分支,在 Codex 风格的右侧栏窗口里作答。

README

由 DeepSeek 最新模型翻译生成
BTW Side Chat 在 DeepSeek Harness 里问个题外话,不打断主任务。 /btw 会带着完整上下文分叉当前对话,在只读的侧边聊天里作答,再把答案打开到 Codex 风格的右侧栏窗口。 功能 - 完整继承上下文。 DSH 的会话日志就是唯一事实来源,所以 /btw 分叉的是当前对话里最近一个已完成轮次的前缀。子会话能看到父会话的用户消息、助手回答和工具结果——不需要再做一次摘要。 - 策略上只读。 子会话先固定为原生工具,再收窄到 read、read_image、glob、grep、web_search、web_fetch 和 skill。每个智能体有一道单调递增的守卫,拒绝其他所有工具,包括 run_code 和之后注册的任何工具。如果部署时在智能体作用域注册了工具(有些委派工具会这么做),该工具的 schema 仍可能显示出来;守卫会拒绝执行它。 - 侧边聊天系统提示词。 子会话会被告知:它是只读的侧边聊天;继承来的对话记录是上下文,不是要接着做的任务;这些是它能用的工具;它必须直接回答问题,不要反问。 - 真正的侧边窗口。 右侧栏会打开一个 dsh-resource://btwchat/... 标签页,里面是正常的 Conversation:继承的对话记录、流式回答、Markdown,以及用于追问的输入框。 - 紧凑的命令卡片。
展开完整文档(README 剩余 1 节)
BTW Side Chat

在 DeepSeek Harness 里问个题外话,不打断主任务。 /btw 会带着完整上下文分叉当前对话,在只读的侧边聊天里作答,再把答案打开到 Codex 风格的右侧栏窗口。

功能

- 完整继承上下文。 DSH 的会话日志就是唯一事实来源,所以 /btw 分叉的是当前对话里最近一个已完成轮次的前缀。子会话能看到父会话的用户消息、助手回答和工具结果——不需要再做一次摘要。
- 策略上只读。 子会话先固定为原生工具,再收窄到 read、read_image、glob、grep、web_search、web_fetch 和 skill。每个智能体有一道单调递增的守卫,拒绝其他所有工具,包括 run_code 和之后注册的任何工具。如果部署时在智能体作用域注册了工具(有些委派工具会这么做),该工具的 schema 仍可能显示出来;守卫会拒绝执行它。
- 侧边聊天系统提示词。 子会话会被告知:它是只读的侧边聊天;继承来的对话记录是上下文,不是要接着做的任务;这些是它能用的工具;它必须直接回答问题,不要反问。
- 真正的侧边窗口。 右侧栏会打开一个 dsh-resource://btwchat/... 标签页,里面是正常的 Conversation:继承的对话记录、流式回答、Markdown,以及用于追问的输入框。
- 紧凑的命令卡片。 原始资源地址藏在一张侧边聊天卡片后面,卡片上显示问题和 Open 按钮,之后可以从对话记录里重新打开这个标签页。
- 无需构建,无依赖。 纯 ESM 的 Host 代码加一个浏览器模块,使用宿主主题 token,界面文案有英文和中文。

安装

需要 DeepSeek Harness 0.2.1-rc.2,或附近版本,且具备右侧栏、Session Controller 和 /btw 命令支持。

从 GitHub 安装

1. 在 DSH 侧边栏打开 Plugins。
2. 选择 Add plugin → Install third-party plugin。
3. 输入仓库 URL:

https://github.com/Big-Smarty/dsh-btw-sidechat.git

本地克隆路径也可以,而且会保持检出目录链接,方便修改。
4. 安装并启用这个 bundle,然后刷新一次页面,让客户端那一半加载进来。

或者让 DSH 智能体用同一个 URL 安装这个 bundle。

本地克隆

git clone https://github.com/Big-Smarty/dsh-btw-sidechat.git
cd dsh-btw-sidechat
npm test

按上面的方式,通过 Plugins → Add plugin 安装克隆下来的目录。
全局 /btw 命令只能由一个插件提供。启用本插件前,请先禁用其他 /btw 插件(例如 @michengai/dsh-btw);两个同名全局命令会直接报加载错误,不会出现一个覆盖另一个的情况。

用法

| 操作 | 方式 |
| 提一个旁支问题 | /btw why does the retry test fail? |
| 查看回答 | 侧边聊天会自动在右侧边栏打开 |
| 继续追问 | 在侧边聊天的输入框里输入;同一个只读子会话负责回答 |
| 重新打开 | 在父会话记录里点击 /btw 卡片上的 Open |
| 关闭 | 关掉标签页;子会话仍留在会话列表中 |

侧边聊天是普通的 fork 会话,因此也会出现在工作区的会话列表里,重启后依然存在。恢复该会话时,会重新装上它的只读策略。

侧边聊天能看到什么

fork 切在最近一个已完成的轮次上。父会话正在执行某一轮时发出的 /btw,不包含这一轮尚未完成的内容;如果对话里还没有任何已完成的轮次,会返回一条有用的错误提示,而不是创建一个空的子会话。

「只读」的含义

侧边聊天不能写文件、执行 shell 命令、改代码、改配置、创建目标或计划、派生子代理或工作流、发起阻塞式提问,也不能读取其他会话。它可以读取工作区内容和网页。它自己的对话是独立的 fork,因此追问的提示词和回答永远不会进入父会话的上下文。

工作原理

1. Host 命令调用 sessionController.fork({ sessionId }),创建一个 fork 子会话,继承父会话的事件前缀和预设。
2. 在第一次提示词之前,它把子会话固定为原生工具呈现方式,从 tools.schemas(child) 算出只读交集,装上 tools.restrict 和 tools.guard,并添加一段 btw:side-chat 系统提示词。
3. 它把子会话命名为 BTW · <question>,这个名字同时也是持久标记,冷恢复后靠它重新装上策略。
4. 它用 sessionController.prompt 提交问题,然后在命令结果里返回 dsh-resource://btwchat/session/<child>?parent=…&q=… 地址。
5. Client 注册 btwchat 资源服务商、右侧边栏的标签页类型和内容、键为 btw 的命令卡片,以及一个本地 command/executed 监听器。监听器刷新会话目录,然后打开标签页。
6. 标签页在子会话的 SessionProvider 里,以 embedded 模式渲染常规的 conversation.content 工厂。继承来的会话记录和输入框都是现成的那一套。

更多细节见 docs/ARCHITECTURE.md。

限制

- 仅限 Web/Desktop。 侧边窗口用的是右侧边栏,所以 Client 这一半需要 DSH Web 或 Desktop 配置档。Host 这一半在 TUI 主机上仍会创建子会话,但那里不会打开侧边窗口。
- command/executed 是本地事件。 自动打开只发生在提交 /btw 的那个浏览器标签页里。换一个标签页、刷新之后,或者在 Host 侧调用时,请用命令卡片上的 Open 按钮。
- 标题就是恢复标记。 重命名侧边会话会去掉 BTW · 前缀;运行中的进程仍保留限制,但之后冷恢复这个已重命名的会话时,它不再被识别为侧边会话。
- 不自动归档。 关闭标签页后,分叉出的会话仍留在会话列表里,跟普通分叉一样。
- 限定范围的工具 schema 可能仍然可见。 tools.restrict 过滤继承来的工具;直接注册在子代理 agent 作用域上的工具(例如预设添加的委派工具)仍留在 schema 列表里。守卫会拒绝执行它,侧边会话的提示词也写明只有列出的工具可用。
- 允许使用 Web 工具。 web_search 和 web_fetch 会把文本发给搜索服务商。如果继承的对话记录敏感,请从 index.js 的 READ_ONLY_TOOLS 中移除它们。

开发

npm test

测试使用 Node 内置的测试运行器,覆盖命令解析、标题与地址编解码、只读交集、策略文本、分叉/采纳/提示词流程、错误映射、根与子代理的工具呈现、恢复采纳,以及客户端模块结构。每次 push 和 pull request 都会跑 CI。

2026-10-20 的一次实时 Host 探测分叉了一个小型 fixture 会话,用 /btw Reply with exactly: BTW PROBE OK 提示子代理,观察到:

- 子代理标题为 BTW · Reply with exactly: BTW PROBE OK;
- 回答为 BTW PROBE OK;
- 子代理组装后的提示词里有 btw:side-chat 段;
- read、glob、grep、skill、read_image、web_search、web_fetch 可见;
- bash、write、edit、run_code 不可见(预设作用域下的 subagent schema 仍然可见,但会被守卫拒绝);
- 客户端解析到的命令结果地址。

实时客户端槽位树确认了右侧栏标签页主体、btw.conversation 子槽位和 btw 命令卡片。自动打开路径是客户端本地的;它通过注册和编解码测试验证,而不是驱动浏览器验证。

index.js Host half: /btw command, fork, read-only policy, resume adoption
client.js Client half: resource provider, sidebar tab, command card, auto-open
cordis.patch.yml Loads the bundle row
locale/ Plugin-inventory metadata (en, zh)
test/ Node tests for the pure helpers and the Host flow
docs/ Architecture and design notes

设计说明

btw 提示词改编自 oh-my-pi 的 /btw 侧边提问(Ephemeral side question for current interactive session. Answer briefly, directly; use conversation context already provided. NEVER use tools. NEVER ask follow-up questions.)。本插件保留直接回答的纪律,但改了两个前提:DSH 有可持久、可分叉的会话日志,用户要的是带自己工具的只读侧边会话。结果就是只读工具面和侧边窗口,而不是一次性浮层。

成本与安全

侧边聊天会基于继承的前缀额外发起一轮模型请求,之后每次追问再各发起一轮。插件以你的权限在进程内运行 Host 代码;只有信任来源时才安装。它无法扩大父级的权限,也不会绕过审批、沙箱策略、计划模式或工作区限制。

许可证

MIT。见 LICENSE。
预览分享卡片长什么样 ↓Big-Smarty/dsh-btw-sidechat
分享 · DeepSeek Harness Hub
Big-Smarty/dsh-btw-sidechat

用 /btw 分叉当前对话,在右侧栏只读追问

这是你的仓库?认领条目

回到顶部