前言¶
在 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,修改前端代码后刷新页面即可生效。
核心功能¶
该插件主要提供以下功能:
- 优化按钮:在输入框工具行(发送按钮左侧)新增 ✨优化 按钮。
- 智能判断:点击后,插件会先判断草稿是否缺关键信息。
- 若缺关键信息,会触发 dsh 原生提问(
ask_user_question),提供选项或允许手动输入,答完后自动继续生成。 - 若信息足够,直接进行优化改写,不打断用户。
- 若缺关键信息,会触发 dsh 原生提问(
- 撤回机制:优化后的内容写回输入框后,会出现 ↩ 撤回 按钮,可一键恢复优化前的原始内容。
- 错误处理:如果发生错误,输入框会出现 ! 标记,悬停即可查看错误详情。
- 设置界面:在 DSH 设置中进入“提示词优化”页面,可以直接查看和编辑优化方向的 Skill 文档,支持保存、取消和重置为默认,且未保存时会进行二次确认。
使用方法¶
使用流程非常直观,分为以下几步:
- 在输入框中输入一段内容(支持任意语言和粗糙草稿)。
- 点击 ✨优化。
- 情况 A(缺信息):输入区会切换为 dsh 原生提问界面(每题有选项,也可手动输入,最多
clarifyMaxQuestions个),用户回答后自动继续生成。 - 情况 B(信息足):直接生成优化后的提示词。
- 情况 A(缺信息):输入区会切换为 dsh 原生提问界面(每题有选项,也可手动输入,最多
- 输入框内容被替换为优化结果。若不满意,可点击 ↩ 撤回 恢复原文,或直接手动编辑。
- 确认无误后,点击发送。
编辑优化方向(Skill)¶
优化方向并非写死的,而是来源于一个 Skill 文档(SKILL.md)。
默认位置¶
首次加载时,该文件会自动生成在 ~/.dsh/skills/better-prompt/SKILL.md。
编辑方式¶
有两种主要方式来修改优化逻辑:
-
设置界面(推荐):
进入 DSH 设置 -> 提示词优化。这里会显示当前文件路径及状态。修改后点击保存,下一次点击 ✨优化 时即可立即生效,无需重启。 -
直接编辑文件:
文件位置为~/.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 仓库。