前言¶
在 DeepSeek Harness(DSH)生态中,插件化是其核心架构。当你在主 Agent 环境中运行长周期的任务时,随时插入一个简单的背景查询(例如确认端口号、定义差异)会打断当前的执行流,或污染上下文窗口。dsh-btw-plugin 为此场景提供了一个非阻塞的解决方案,允许你以独立窗口的形式并行处理侧边问题。
这是什么¶
dsh-btw-plugin 是一个由 WLV-ZEDD 维护的 DSH 侧边助手插件,提供 Instant Non-Blocking /btw Command。它的核心价值在于将背景查询与主 Agent 流程物理隔离,通过悬浮面板实时反馈结果,而无需中断当前进程。
核心功能¶
该插件提供以下已核实能力:
- 非阻塞执行:输入
/btw后,输入框会立即清空(0ms 延迟),查询在后台执行,不干扰主 Agent 的运行状态。 - 悬浮面板:结果以 Docked Floating Banner 形式显示在消息输入框上方。
- 量子均衡器可视化:生成过程中,五个药丸状的进度条以主题蓝色脉冲跳动。遇到自动重试时,进度条和状态徽章会变为琥珀色。
- 智能自动重试:针对瞬时模型错误,插件支持最多 5 步自动重试,间隔呈指数级增长(1s → 1.5s → 2s → 2.5s → 3s,总计约 10s)。
- 会话与上下文感知:自动继承当前活跃会话的模型,并提取最近的对话历史(
session.deriveMessages())和活跃工作区,确保侧边回答与主对话上下文一致。 - 准确性优先的 Prompt:内置一套系统提示词,旨在引导模型忠实还原名词、综合历史信息并直接回答,避免防御性约束导致的幻觉。
- 富文本渲染:支持 Markdown(粗体、斜体、行内代码、有序列表、无序列表)。
- 隔离存储:历史记录以 JSON 格式持久化存储在
~/.dsh/storages/btw-history,不影响其他插件。
安装与启用¶
推荐使用官方命令安装:
pnpm dsh plugin add @wlv-zedd/dsh-btw-plugin
若需手动配置,请先安装依赖:
pnpm add @wlv-zedd/dsh-btw-plugin
然后在 cordis.yml 中启用插件(或通过 cordis.patch.yml 补丁配置):
# cordis.yml
plugins:
@wlv-zedd/dsh-btw-plugin:
# 可选:指定专用模型,留空则自动继承当前会话模型
# model: deepseek:deepseek-chat
典型用法¶
在 Web 聊天界面中,直接输入 /btw 后跟问题即可。系统会在输入框上方弹出悬浮面板。
/btw What is the port number of PostgreSQL?
/btw What is the difference between TCP and UDP?
面板交互:
* 翻页:使用 < 和 > 键切换当前会话中的历史侧边问题(显示为 < 1/5 >)。
* 操作:支持复制答案、删除记录、折叠/展开内容以及关闭面板。
适用场景与注意¶
- 适用场景:需要在长对话流中快速查询技术细节、定义或事实性信息,且不希望打断主 Agent 思考的情况。
- 环境要求:
- Node.js:
>= 22.19.0 - DSH:
>= 0.2.0 - 依赖项:
@deepseek-ai/cordis,@deepseek-ai/schemastery
- Node.js:
- 权限注意:插件以当前 DSH 进程权限运行。安装前建议检查源码与许可证(MIT)。
结语¶
dsh-btw-plugin 通过将背景查询工具化、可视化,优化了 DSH 的工作流。对于需要频繁进行“主任务 + 侧边查证”的开发者,这是一个实用的辅助工具。