dsh-message-forward:在 DSH 里把会话消息干净地转给另一条会话

前言

在 DeepSeek Harness(DSH)里做长任务时,同一条会话往往会堆满试错、检索、工具调用和折叠的思考链。要把上游的结论交给下游继续,常见做法要么整段继承上下文——噪声多、Token 贵、指令容易漂;要么手动复制粘贴、重传图片——费时且容易漏掉或带上不该带的过程文本。移动端更难:少并排窗口,在长回复里精确选字成本高。

下面介绍社区插件 dsh-message-forward(维护者 Domaki-co,分类为工作流)。它把「从一条或多条消息里取出正文与图片,再投递到目标会话或新会话」收成可复现的一键流程,并在提取规则上与 DSH 官方复制行为对齐,尽量只带走有效产出。

这是什么

dsh-message-forward 是 DSH 的跨会话消息转发插件:从当前会话提取用户提问或模型回复(含文字与图片),经可选编辑与模板加工后,发送到已有会话、新建空白会话,或填入目标会话草稿。包名 dsh-message-forward,当前 npm 版本 0.2.10,开源协议 MIT,要求 Node.js >= 20。

SkillHub 为社区插件目录,与 DeepSeek / 幻方无官方从属关系;安装前建议自行查看仓库源码与许可证。插件在 当前 DSH 进程权限 下运行,与宿主共用会话 API 与 Web UI 注入能力。

核心功能

单条提取与入口

  • 模型回复行尾动作栏、用户消息操作行、会话顶栏工具栏均可触发转发;输入框支持斜杠命令 /forward 打开转发面板。
  • 正文提取对齐官方逻辑:只取 assistant-step 行的正文,排除 Reasoning / Think、工具调用、过程分组标题(如「已思考 N 秒」)及误读的用户提问。

多选合并转发

在任意转发按钮上 长按 2 秒 进入多选模式;勾选顺序不影响结果,合并内容按对话时间线排序,文字与图片聚合成一次多模态载荷。底部悬浮条显示已选数量,支持全选、清空、Esc 退出与「合并转发」;点击计数器可展开抽屉清单(角色徽章、序号、摘要最多 150 字),便于在长会话里快速勾选。

发送前编辑、模板与引文边界

转发弹窗内可改文本,并内置快捷模板,例如「作为参考背景」「作为任务输入」「重置原文」「原文(不加标签)」「附带来源标记」(来源标记默认关闭)。可经「管理模板」自建 Chip 模板,本地持久化。

上游正文默认包在 <forwarded_context session="…" speaker="…">…</forwarded_context> 中,用于区分用户后续指令与引文素材;正文里出现的同名标签字面量会被转义,降低伪造边界的风险。标签不成对时界面只提示不阻断发送。

三种投递模式

模式 行为
发送并跳转 向目标会话 queue 投递 Prompt,并切换到该会话
静默发送 后台投递,Toast 反馈状态
填入草稿并跳转 切换到目标会话,文本与图片预填输入框,便于再编排

宿主侧通过 ctx.sessions.using 与 prompt(content, "queue") 投递;草稿模式由目标会话 overlay 调用 setDraft / addAttachments。

目标会话与工作区

目标列表可按工作区筛选(含「全部」「未分组」),再按标题与工作目录搜索;支持新建空白会话,新建时继承源会话 cwd,若已筛选工作区则落入该工作区。

图片与聊天流快捷操作

消息内图片转为 Base64 与文本一并投递;跨域或失效图片会跳过并 Toast 提示数量。草稿模式走官方附件管道。聊天流配图与大屏预览层右键菜单提供保存原图、复制图片、转发此图片。转发弹窗缩略图可单张删除,不影响其余附件;「重置原文」可恢复初始图片列表。

安装与启用

Web 侧安装(命令来自项目 README):

dsh plugin --profile web add dsh-message-forward

需要追踪 GitHub main 最新提交、尚未发版时:

dsh plugin --profile web add "github:Domaki-co/dsh-message-forward#main"

环境要求(package.json / README 一致):

  • Node.js:>= 20
  • DeepSeek Harness:>=0.2.0-rc.1 <0.2.1-0 || >=0.2.1-0 <0.3.0-0

插件经 cordis.patch.yml 注册,宿主入口 lib/index.js,Web UI 为 lib/client.js。

典型用法

  1. 打开任意会话,悬停模型回复或用户消息,点 转发(或点顶栏转发图标,或在输入框输入 /forward)。
  2. 在面板中校对内容、套用模板、选择目标会话与投递模式,确认发送。
  3. 若要合并多条:长按转发按钮 2 秒 进入多选,勾选后点「合并转发」。

适用场景与注意

适合:多会话分工(调研会话 → 实现会话)、需要把「干净结论 + 图片」交给新上下文、移动端少复制粘贴、静默往后台会话投喂任务。

注意:

  • 仅支持 README 写明的能力;已知限制以仓库「已知限制」章节为准(资料截断处未展开的细节请直接查 GitHub)。
  • 提取依赖 DSH 聊天流 DOM 契约(如 data-chat-flow-kind、assistant-step 与 groupPart 分流);宿主大版本升级后若 UI 结构变化,需关注插件兼容范围与更新。
  • 插件 UI 自研原语(dsh-mf- 前缀),不直接依赖 Harness Client 私有 UI 包,以降低升级踩坑风险。
  • 安装与使用前请阅读 MIT 许可证与源码;勿在未审阅的情况下假定其数据不会离开本机——转发行为本身会向所选会话写入内容。

结尾

dsh-message-forward 把跨会话交付从「整段上下文或手工复制」收成「按官方语义提取 + 可选引文边界 + 三种投递方式」,适合 DSH 工作流里需要阶段性 handoff 的场景。进一步了解可从 SkillHub 目录页 进入,完整功能、架构说明与测试方式见 GitHub 仓库 README。

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

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

小夜