dsh-better-prompt:将草稿重写为优质提示词的 DSH 插件

前言

在 DeepSeek Harness (DSH) 中,提示词(Prompt)的质量直接决定了智能体的表现。面对粗糙的草稿或逻辑不清的需求,手动打磨往往效率低下。dsh-better-prompt 插件解决了这一痛点:它利用 LLM 将输入框中的草稿重写为更规范的提示词,并写回输入框供确认。优化方向并非固定死板,而是基于一个可编辑的 Skill 文档,既灵活又可控。

安装与启用

使用官方提供的安装命令即可完成插件添加。

dsh plugin --profile web add git+https://github.com/Areium/dsh-better-prompt.git

安装完成后,需要重启 dsh web 进程(dsh web 或 dsh --profile web)以加载插件。浏览器插件端支持 HMR,修改前端代码后刷新页面即可生效。

核心功能

该插件主要提供以下功能:

  1. 优化按钮:在输入框工具行(发送按钮左侧)新增 ✨优化 按钮。
  2. 智能判断:点击后,插件会先判断草稿是否缺关键信息。
    • 若缺关键信息,会触发 dsh 原生提问(ask_user_question),提供选项或允许手动输入,答完后自动继续生成。
    • 若信息足够,直接进行优化改写,不打断用户。
  3. 撤回机制:优化后的内容写回输入框后,会出现 ↩ 撤回 按钮,可一键恢复优化前的原始内容。
  4. 错误处理:如果发生错误,输入框会出现 ! 标记,悬停即可查看错误详情。
  5. 设置界面:在 DSH 设置中进入“提示词优化”页面,可以直接查看和编辑优化方向的 Skill 文档,支持保存、取消和重置为默认,且未保存时会进行二次确认。

使用方法

使用流程非常直观,分为以下几步:

  1. 在输入框中输入一段内容(支持任意语言和粗糙草稿)。
  2. 点击 ✨优化。
    • 情况 A(缺信息):输入区会切换为 dsh 原生提问界面(每题有选项,也可手动输入,最多 clarifyMaxQuestions 个),用户回答后自动继续生成。
    • 情况 B(信息足):直接生成优化后的提示词。
  3. 输入框内容被替换为优化结果。若不满意,可点击 ↩ 撤回 恢复原文,或直接手动编辑。
  4. 确认无误后,点击发送。

编辑优化方向(Skill)

优化方向并非写死的,而是来源于一个 Skill 文档(SKILL.md)。

默认位置

首次加载时,该文件会自动生成在 ~/.dsh/skills/better-prompt/SKILL.md。

编辑方式

有两种主要方式来修改优化逻辑:

  1. 设置界面(推荐):
    进入 DSH 设置 -> 提示词优化。这里会显示当前文件路径及状态。修改后点击保存,下一次点击 ✨优化 时即可立即生效,无需重启。

  2. 直接编辑文件:
    文件位置为 ~/.dsh/skills/better-prompt/SKILL.md。文件包含 frontmatter(用于标识)和正文(定义优化原则,如角色、上下文、约束、输出形式等)。

容错机制

  • 如果删除该文件,插件下次读取时会自动生成捆绑的默认版本。
  • 如果文档为空,同样会回退到默认方向,不会导致崩溃。

配置项

插件支持通过 Profile 配置文件进行自定义。默认配置位于 ~/.dsh/profiles/web/cordis.patch.yml,需要以“覆盖整行 config”的方式修改。

字段 默认值 说明
skillDir $DSH_HOME/skills/better-prompt 优化方向技能目录(含 SKILL.md)
timeoutMs 120000 单次优化调用超时时间(毫秒)
maxInputChars 20000 输入草稿的最大字符数
maxTokens 8192 优化输出 Token 上限
clarifyMaxQuestions 3 追问时单次最多提出的问题数量(1–10)
askTimeoutMs 300000 等待用户回答原生提问的超时时间(毫秒)

开发与架构

该插件采用模块化设计,无构建步骤,纯 ESM。

  • Host 端(lib/index.js):负责处理 webServer 路由、文档读写、LLM 调用以及优化逻辑的判定。
  • Client 端(lib/client.js):负责浏览器端 UI,包括输入行按钮、设置页插槽的注入。
  • Skill 逻辑(lib/skill.js):提供纯函数支持,用于构建 system prompt、解析 frontmatter 和清洗结果。

开发时,修改 lib/client.js 后刷新浏览器即可(client-modules 会按内容 hash 缓存);修改 lib/index.js 则需要重启 dsh web。

结语

dsh-better-prompt 是一个轻量且实用的 DSH 插件,它通过 Skill 文档的形式让优化逻辑变得透明且可定制,帮助开发者快速将模糊的草稿转化为高质量的提示词。更多细节及源码,请访问 GitHub 仓库。

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

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

小夜