dsh-prompt-polish:在 DSH 输入框旁润色提示词,并保真校验改写结果

前言

在 DeepSeek Harness(DSH)里写提示词,常见做法是:先在输入框里堆一版草稿,再复制到外部工具里改写,或手动拆句、补约束。Draft 留在 composer 里,模型却看不到你「本来想说什么」;改写若改了版本号、路径或引号里的字面量,后面一轮对话就容易跑偏。

下面介绍社区插件 dsh-prompt-polish(维护者 CTX666666):在会话输入框右侧注入类似 Work Buddy 的「润色」控件,用当前会话已选的模型做单轮旁路调用,并在代码层对改写结果做保真校验,要求原文中的具体事实逐字保留。

这是什么

dsh-prompt-polish 是 DSH 的提示词润色插件,仓库 CTX666666/dsh-prompt-polish,许可证 MIT。它不做单独的模型选择器,也不把内容上传到插件自有服务;润色请求走你已配置的 llm 服务,与会话里选的 provider / model 一致(Host 侧按 Session 的 modelSelection、Client 上报的模型位、再到 profile 默认的顺序解析)。

插件通过 bundle 自带的 cordis.patch.yml(README 中亦写作 dsh.bundle.patch 语义)一次性注入 Host 行与 Client 脚本,无需本地构建步骤。

核心功能

输入框旁的润色与撤销

按钮位于 composer 尾部控件区——紧挨模型选择器之前,与 Work Buddy 同类位置。左键:把当前草稿改写成更清晰、更有效的 prompt;改写成功后按钮变为撤销箭头,一键恢复原文。若在结果上继续编辑,备份会被丢弃(因为已无法定义「撤销到哪一版」)。

状态 界面表现
草稿为空 按钮隐藏
草稿有文字 火花图标;悬停显示 tooltip 与当前风格
润色进行中 Spinner;再次点击可取消并恢复草稿
润色成功 撤销箭头;点击恢复原文
润色失败 草稿不变;原因出现在 tooltip
adjudicating / submitting 阶段 按钮禁用

四种风格(右键切换,刷新后记忆)

默认 Balanced;另三种为 Concise、Detailed、Code-oriented。右键打开风格菜单;也可用 Shift+F10 或上下文菜单键打开,点外部、Esc 或窗口失焦关闭。

保真校验(始终开启)

改写不得改动原文中的具体事实:数字、版本、路径、URL、引号内字符串、代码标识符等须原文逐字保留,且不得超出当前风格的长度预算。校验失败时 Host 仅再试一次 corrective 调用(在提示中点名缺失 token 与长度上限);仍失败则不用被拒绝的替换文本覆盖草稿。README 明确:失败的重试不会把拒稿内容返回给输入框。

会话上下文(始终开启)

Host 从 Session 日志读取最近几轮对话,便于解析「它」「上面那个」等指代。数据仅用于本次 llm 调用,README 未描述向第三方上报。

Host 调用链(便于排查)

  1. Client 向 POST /dsh-prompt-polish/polish 发送 JSON,字段包括 text、style,以及可选的 sessionId、provider、model、reasoningEffort。
  2. Host 组装 system / user prompt、风格指令与 recent-context 块。
  3. 一次 ctx.llm.stream(),temperature: 1;只累积 text-delta,finish 为 error 或 aborted 则视为失败。
  4. 清理输出(去掉多余围栏或外层引号)后跑保真校验;必要时 corrective 重试一次。
  5. 成功响应形如 { ok: true, text, provider, model, style, fidelity, contextUsed };失败为 { ok: false, code, error },code 包括 empty_input、no_model、llm_error、aborted、empty_result、fidelity_failed 等。

进行中若编辑草稿、切换会话或提交,进行中的结果会被作废;取消会断开 Host 请求并 abort 上游生成。初始调用与 corrective 重试共享 60 秒 deadline。

安装与启用

先从 GitHub 一条命令安装(无需 clone 整个仓库即可完成安装;README 亦提供 clone 后本地路径安装方式,此处仅列官方推荐的一行命令):

dsh plugin add github:CTX666666/dsh-prompt-polish

安装后 bundle 自行声明 patch,插入 Host 行与 Client bundle。下次 composer 渲染时按钮出现;无需 rebuild,无额外 runtime 依赖(Client 侧 react 由 Harness loader 提供;Host 的 src/index.js 不 import Harness 包)。

环境要求

  • DSH 的 composer 需暴露 conversation.input.right,并提供 llm 与 webServer 服务。
  • Client 注入 @deepseek-ai/dsh-client-ui-conversation 与 @deepseek-ai/dsh-client-locale;标准 Web/Desktop profile 通常已带这些包。

仓库内可用 npm run check 做语法、清单与回归测试(README 说明含 27 项 HTTP / 组件状态测试;不替代真实 Harness 与模型服务的端到端验收)。package.json 中版本为 1.0.1,Node >=20。

典型用法

  1. 在 composer 输入框写好草稿(空草稿时按钮不显示)。
  2. 左键火花按钮:按当前风格润色;等待 spinner 结束。
  3. 满意则直接发送;不满意则点撤销箭头恢复原文。
  4. 需要换风格:右键按钮选 Concise / Detailed / Code-oriented 等,再左键润色。
  5. 润色过程中若要保留原草稿,再点一次按钮取消。

行为细节与 verbatim 提示词、保真正则等完整契约见仓库 docs/IMPLEMENTATION.md(README 称可用于在其他 Host 上复刻插件;若只需单轮工具用的 prompt 文本,文档 §11 有说明)。

适用场景与注意

适合:经常在 DSH 里写长 prompt、希望就地改写且不想换模型或开外部编辑器;对路径、版本号、代码符号等字面量敏感、需要代码层约束的场景。

注意:

  • 插件以当前 DSH 进程的权限运行,安装前请阅读源码与 MIT LICENSE,确认可接受其行为(旁路 LLM 调用、读取 Session 最近轮次等)。
  • 社区目录 skillhub.cn 上的插件页 与 GitHub 仓库由社区维护,与 DeepSeek / 幻方无官方从属关系;DSH 生态本身是「一切皆插件」的扩展方式,本文不将其描述为官方应用商店条目。
  • 保真校验依赖 Host 侧规则;极端措辞或模型不服从指令时,仍可能润色失败并保留原草稿——此时 tooltip 会给出原因。

结尾

经过上面的步骤,你可以在 composer 内用当前会话模型润色草稿,并用一键撤销回到原文。dsh-prompt-polish 把「改写」收进输入框右侧,用 fidelity guard 把事实性字面量锁在原文里,减少「润色改坏了约束」的常见摩擦。

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

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

小夜