dsh-regen:在 DeepSeek Harness 里一键「重新生成」同一提问

前言

在 DeepSeek Harness(DSH)里做智能体对话时,经常需要对同一轮用户提问再跑一遍:模型回答不满意、限流或网关中断导致该回合没有助手消息、或者只想在不动原会话的前提下换一条分支。社区里已有一些「重新生成」类插件,但 README 说明它们在部分当前 DSH 构建上无法加载——有的依赖已不存在的客户端包,有的被主机的 peer-dependency 校验拒绝。dsh-regen 由 Mark54s 维护,是一个体量很小的自包含 bundle,只走公开插槽与主机服务,并在上述场景之外,专门覆盖生成失败或中断的回合(日志里没有 assistant/message、官方助手图标行不渲染时,仍能在回合末尾点到重新生成)。

下面介绍插件定位、能力与安装用法;事实以 GitHub 仓库 README 为准。

这是什么

dsh-regen 给 DSH 对话界面加上类似 ChatGPT 的「重新生成」箭头(↻)。点击后不会改写源会话,而是分叉出新会话:历史保留到该提问之前(不含该轮),再用同一个用户 prompt 重跑;谱系通过 parentSession 保留,原会话保持不动。

维护者与仓库:Mark54s / github.com/Mark54s/dsh-regen。社区目录页:skillhub.cn/plugins/Mark54s/dsh-regen(独立站点,与 DeepSeek / 幻方无官方从属关系)。许可证:MIT。package 版本为 0.1.0;README 记载在 DeepSeek Harness 0.2.0-rc.2(desktop 与 web profile)上做过端到端验证。

核心功能

界面与交互

  • 箭头 ↻ 出现在左下角功能键一行,与复制、分支等并列:仅图标、无文字标签,悬停有原生 tooltip。
  • 箭头自身有 busy / done / failed 状态;失败回合上箭头会短暂标红。
  • 对已有助手回复的正常回合,箭头在图标行;对失败或中断的回合,箭头画在该回合末尾(turnTail 插槽),并用 :has() 规则保证同一回合只显示一个箭头。

分叉与上下文

  • 重新生成通过 fork 实现:新会话 = 该 prompt 之前的历史 + 同一 prompt 再执行一次。
  • 新会话沿用源会话的 cwd、工作区归属与该回合的模型路由;不 patch 引擎内部,主机侧使用 sessionQuery、agents、sessions、workspaceRegistry、webServer 等公开能力,客户端只注册 conversation.chat.assistant-actions 与 conversation.chat.turnTail 两个插槽条目。

HTTP 接口(主机半)

同域 POST /regen,请求体示例:

{ "sessionId": "session-…", "turn": 6 }
{ "sessionId": "session-…", "messageId": "…" }
{ "sessionId": "session-…" }

最后一行表示默认针对「最后一个带用户 prompt 的回合」。响应侧会返回新会话相关信息(含 parentSessionId、turn、hadAssistantReply、cwd 等字段,见 README 示例)。

安装与启用

插件声明 dsh.bundle.patch,安装后会自动登记到 dsh.profile.bundles。README 给出的安装方式如下(desktop profile):

# 从 GitHub
dsh plugin --profile desktop add github:Mark54s/dsh-regen

# 从本地目录
dsh plugin --profile desktop add /path/to/dsh-regen

# 从 npm(README 注明需等首个 npm 发布)
dsh plugin --profile desktop add dsh-regen

中文说明里同样列出:

dsh plugin --profile desktop add dsh-regen
dsh plugin --profile desktop add github:Mark54s/dsh-regen

安装完成后需要重启 DSH。桌面版路径:菜单 应用 → 重启 DeepSeek Harness。

典型用法

  1. 安装并重启 DSH 后,打开任意会话。
  2. 将鼠标移到某一回合下方的功能键区域(含生成失败、没有助手消息的那一轮)。
  3. 点击 ↻;等待生成结束后,界面会自动切换到新分叉出的会话,原会话内容不被修改。

若该回合曾因上游 HTTP 429、网关熔断等原因失败,重试仍走该回合的模型路由;README 建议先等上游恢复再点重新生成。

适用场景与注意

适合谁: 需要在 DSH 里对同一提问多次采样、或要在失败回合上直接重试、且希望保留原会话与分叉谱系的开发者与用户。

兼容性: README 写明在 0.2.0-rc.2 上验证可启动且无缺失依赖;插件通过 dsh.compatibility.dshReleases 声明兼容信息,其他构建请以列表提示为准。客户端 peer 依赖 @deepseek-ai/dsh-client-ui-primitives(>=0.1.5-rc.1)。

安全与权限: 插件随当前 DSH 进程权限运行,安装前请自行查看 源码 与 MIT 许可证,确认符合你的环境策略。

结尾

dsh-regen 用很小的 bundle 补上当前 DSH 上「重新生成」插件的加载缺口,并把失败回合也纳入可点击范围;行为是 fork 而非覆盖,适合作为日常对话里的轻量重试工具。

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

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

Xiaoye