前言¶
在 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。
典型用法¶
- 安装并重启 DSH 后,打开任意会话。
- 将鼠标移到某一回合下方的功能键区域(含生成失败、没有助手消息的那一轮)。
- 点击
↻;等待生成结束后,界面会自动切换到新分叉出的会话,原会话内容不被修改。
若该回合曾因上游 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 而非覆盖,适合作为日常对话里的轻量重试工具。