DeepSeek Harness SideChat 插件

前言

DeepSeek Harness 采用插件化架构,旨在提供灵活的扩展能力。在进行长链路开发或复杂 Agent 编排时,往往需要将特定的上下文剥离出来,进行独立的澄清、验证或调试。DeepSeek Harness SideChat 插件为 DSH 提供了普通、持久化、可恢复的 SideChat 澄清会话。

安装与启用

在本地仓库根目录下执行以下命令进行安装:

dsh plugin --profile web add . --force

安装完成后,应确认配置输出中包含 sidechat-preset-root 和 sidechat。由于该插件仅对 DSH 0.1.2-alpha.1 做过完整核验,在升级 DSH 基线前,建议重新运行源码契约复核和真实 Web smoke 测试。

核心功能

会话创建与持久化

在任意 Session 中输入 /side 即可创建独立的 SideChat。该会话是一个正常的 DSH Session,拥有完整的会话页面、原生模型选择器和持久化的 transcript。即使卸载插件,已创建的 SideChat 仍保留在普通 Session 列表中,不会丢失。

Seed 策略

创建 SideChat 时需要选择 Seed 策略,用于决定传递给子会话的上下文内容。支持的策略包括 tail(默认为 tail:1,即最后一条直接文本)、task、summary、none、tail:2、tail:4、pick:1、pick:many、turn 和 selection。Seed 只保存直接文本,不复制 reasoning、工具调用或完整父 transcript,且与来源消息保存为不可变的 provenance。

权限模式

创建 SideChat 时需选择权限模式,所有权限由 Host 重新计算:

  • 只读模式(推荐):候选能力为 read、glob、grep、Shell、Web、Plan、用户提问、子代理和 workflow;沙箱固定为 read-only,审批固定为 never。
  • 继承:继承父会话创建时的 Agent preset、有效 sandbox、approval 和可见工具上限。

Fold 与引用

插件支持通过 /sidefold 生成结构化 Fold,支持预览、编辑和提交。提交成功后会自动返回父 Session。此外,支持 revision、增量 Fold、对比和软撤回;可以使用 /sidecite 把指定 assistant 回复无回复引用到父会话。

生命周期与追踪

SideChat 支持多种状态管理,包括 archive(归档)、restore(恢复)、abandon(放弃)和 orphaned(孤立)。通过 /sideusage 可以展示可验证的 token 用量,而不是估算值。

典型用法

创建 SideChat 并进行澄清对话的典型步骤如下:

  1. 在父 Session 的输入框中输入 /side。
  2. 使用方向键选择 Seed 策略,按 Enter 确认。
  3. 选择“只读模式”或“继承”,按 Enter 确认。
  4. 输入澄清问题:Enter 创建,Shift+Enter 换行,Esc 取消。
  5. 在完整 SideChat 页面继续多轮对话。
  6. 使用 /sidefold 生成 Fold;在预览中 Enter 提交、Shift+Enter 换行、Esc 取消。

注意事项

  • 环境依赖:当前只对 DSH 0.1.2-alpha.1 做过完整核验。外部 bundle 无法进入当前 DSH 的 generated Remote assembly,插件使用公开、认证的 connection.rpc.handle('/sidechat') 通道。
  • 卸载行为:卸载只移除插件 UI、Host service 和 SideChat 关系解释能力,不会删除已经创建的普通 Session 或 transcript。
  • 不可变性:Seed 内容与来源消息保存为不可变 provenance。
  • 权限控制:所有权限都由 Host 重新计算,浏览器提交的模式或 Session ID 不能直接获得授权。

总结

DeepSeek Harness SideChat 插件通过标准的 slash 命令提供了一套完整的持久化澄清会话方案。它利用 DSH 原生的 Session 机制,避免了临时浮层或 subagent 的复杂性,适合需要在主流程中剥离上下文进行独立验证的场景。

项目地址:GitHub

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

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

小夜