dsh-message-handoff:DeepSeek Harness 消息级会话移交插件

前言

在 DeepSeek Harness 中使用 Fork 功能,会切断当前会话并创建一个新的空白会话。如果需要在对话的中间某个节点继续,新的会话无法获知该节点之后发生了什么。dsh-message-handoff 解决了这个问题。它为每条已确认的助手消息添加了一个手柄,允许用户在该点进行“移交”操作:复制该点之前的对话历史,同时让 LLM 总结该点之后发生的内容,从而 fork 出一个带有上下文的新会话。

插件介绍

dsh-message-handoff 是一个为 DeepSeek Harness 设计的插件,用于实现消息级的会话移交。

  • 核心功能:在助手消息旁提供手柄,点击后 fork 新会话。
  • 维护者:antonkoatl。
  • 开源协议:MIT。
  • 技术特点:零运行时依赖,源码由人工维护,无需构建步骤。

安装与启用

安装过程无需构建环境,lib/client.js 已预编译。

dsh plugin --profile web add /path/to/dsh-message-handoff
dsh web

安装后,可通过以下命令确认插件已加载:

dsh --profile web --dump-config | grep message-handoff

核心功能

该插件提供以下能力:

  1. 消息级移交:在每条已确认的助手消息旁,渲染 copy · ✋ handoff · fork 控制组。
  2. 历史复制与总结:点击手柄后,将选定消息之前的 verbatim(逐字)历史复制到新会话;同时调用 LLM 仅总结选定消息之后的对话内容。
  3. 结构化文档注入:在 fork 出的新会话中,注入包含“任务目标”、“当前进度”、“关键决策”、“文件列表”、“下一步计划”和“未解决问题”的结构化文档。
  4. 自动会话管理:将子会话附加到源会话的工作区,自动重命名标题并打开新会话。

配置

插件支持在 cordis.yml 中配置 config: 参数,以控制总结请求的输入输出限制:

- id: message-handoff
  name: dsh-message-handoff
  config:
    maxInputBytes: 24000   # 总结输入的字节上限(UTF-8),超时则丢弃最旧条目
    maxTokens: 10000       # 总结输出的 Token 预算
    timeoutMs: 120000      # 总结请求的超时时间(毫秒)

总结所使用的模型,默认取自源会话的最新请求路由,若不可用则回退到部署的默认模型。

使用流程

  1. 在 Web 界面中,找到一条已确认的助手消息。
  2. 点击该消息行右侧的 Handoff 图标(位于 Copy 和 Fork 按钮之间)。
  3. 系统会自动执行:
    • 复制直至该消息的 verbatim 历史到新会话。
    • 发送请求给 LLM 总结该消息之后的内容。
    • 将结构化总结文档注入新会话。
  4. 新会话会自动打开,源会话保持不变。

注意事项与限制

  • 隐私:为了生成总结,选定消息之后的所有对话文本会被发送到配置的模型中。
  • 触发限制:该手柄仅渲染在已确认的助手消息上,用户消息不支持此操作。
  • 无持久化文件:目前不会在文件系统中生成 HANDOFF.md,总结仅存在于会话日志中。
  • 文本限制:总结仅处理文本内容,不包含工具调用和附件。
  • 预设继承:fork 出的子会话继承的是源会话创建时的预设配置,而非创建时的最新预设。

总结

dsh-message-handoff 是一个实用的工具,旨在解决 DSH 中 fork 会话上下文丢失的问题。它通过自动化的历史复制和 LLM 总结,让开发者能够从任意节点继续对话,而无需手动复制粘贴。对于需要长期维护多轮对话或需要频繁从中间切入的开发场景,该插件提供了明确的路径。

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

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

小夜