前言¶
DeepSeek Harness(DSH)的 composer 里写提示词时,经常需要把一句模糊的草稿改写成结构更清晰、可执行的提示词。WorkBuddy 的 ✨ 按钮做了这件事,但它的增强模型是官方专用模型,第三方调用会被渠道校验挡掉。dsh-prompt-enhance 插件复用了 DSH 自己的 chat 模型,在 composer 输入框右侧(模型选择器左边)放一个 ✨ 按钮,点一下就把草稿原地改写,同时保留多层撤销和逐字差异对比。
功能¶
一键改写¶
在 composer 输入框右侧(模型选择器左边)会出现一个 ✨ 按钮。输入框有内容时按钮亮起,点击后插件通过宿主侧的 LLM 把草稿改写成更具体的提示词,原地替换原文本,不弹窗也不发送。
示例:
- 草稿「帮我写个周报」
↓ 点 ✨ - 草稿「请帮我撰写一份本周工作周报,要求:1) 分「本周进展 / 风险与阻塞 / 下周计划」三段…」
多层撤销¶
增强后的文本旁边会出现 ↺(撤销)按钮。点击 ↺ 可逐层回退,最多支持 8 层。对已增强的文本再点 ✨ 会压入新的一层,↺ 每次回退一层。退到栈空时撤销按钮消失,文本回到最初的状态。
逐字差异对比¶
增强完成后会自动弹出差异卡,显示新增和删除的文本。差异卡按换行切行渲染,新增部分带绿色底和底部绿线,删除部分带删除线。卡片底部有「新增 / 删除」色块图例,Escape 键可关闭。
差异卡锚定在输入卡上方,宽度为 min(560px, 100vw − 24px),高度按可用空间计算,超长时正文内部滚动。
跟随界面当前模型¶
客户端会从模型选择器读取当前的 provider、model 和 reasoningEffort,一起发送给宿主。宿主按白名单校验格式后透传给 ctx.llm.stream。如果读不到模型或格式非法,会回落到插件配置的默认模型。
宿主侧 LLM 调用¶
插件只在宿主侧调用 LLM,浏览器端不会直接看到 API key。HTTP 路由 POST /dsh-prompt-enhance/api/enhance 复用了 dsh-client-connection 的浏览器会话 Cookie 校验,因此通过隧道暴露的端口也需要这层认证栅栏。
结构¶
插件采用一个包、两个半边的结构:
| 半边 | 文件 | 职责 |
|---|---|---|
| 宿主 | lib/index.js |
注册 POST /dsh-prompt-enhance/api/enhance,校验浏览器会话,单轮调用 ctx.llm.stream(),无工具、不写会话历史 |
| 浏览器 | lib/client.js |
在 conversation.input.right 槽位渲染 ✨ 按钮,读写草稿、维护撤销点 |
| 提示词 | lib/prompt.mjs |
逐字复刻的 system prompt + user prompt 模板 + 输出清洗 |
安装¶
dsh plugin add github:wjf1/dsh-prompt-enhance
装完需要重启一次 DSH:宿主半的路由在插件图构建时注册。之后只改 lib/client.js 的话刷新页面即可生效。
卸载:
dsh plugin remove dsh-prompt-enhance
配置¶
cordis.patch.yml 里的行可以带 config,逐键覆盖 lib/index.js 的 DEFAULTS:
- insert:
- id: dsh-prompt-enhance
name: 'dsh-prompt-enhance'
config:
provider: acme # 客户端读不到界面模型时用它
model: cn:deepseek-v4.1-flash
reasoningEffort: '' # 空 = 不显式传推理档
maxInputChars: 20000
timeoutMs: 120000
systemPrompt: '' # 非空则整体替换内置 system prompt
典型用法¶
- 在 DSH composer 中输入草稿。
- 点击输入框右侧的 ✨ 按钮。
- 等待转圈,完成后文本原地改写,出现 ↺ 和 ⇄ 按钮。
- 点击 ⇄ 查看逐字差异。
- 点击 ↺ 逐层回退,或再次点击 ✨ 增加新的一层。
- Escape 关闭差异卡。
适用场景¶
适合在 DSH 中需要频繁把模糊提示词改写成结构化提示词的场景。与 WorkBuddy 的增强功能对齐,但不依赖官方客户端专用模型。
注意事项¶
- 插件以当前 DSH 进程权限运行,安装前应检查源码与许可证。
- 只做单轮增强,不带会话上下文;想要「结合历史」需要另设计。
- 撤销栈最多 8 层,且等待期间用户改动草稿会整栈作废。
- 差异高亮是词级 LCS(空白/单汉字/拉丁词/单字符切分),token 上限 800;超长草稿会退化成正文字符级对比。
- 客户端半改动刷新页面即生效;但如果刷新前 bundle 已被浏览器/服务端缓存,需要确认页面确实拿到了新文件。
总结¶
dsh-prompt-enhance 在 DSH composer 里放了一个 ✨ 按钮,通过 DSH 自己的 chat 模型把草稿改写成可执行的提示词,同时支持多层撤销和逐字差异对比。它复刻了 WorkBuddy 的增强提示词,但走的是 DSH 自己的 LLM,不依赖官方客户端专用模型。
插件目录页:https://www.skillhub.cn/plugins/wjf1/dsh-prompt-enhance
GitHub:https://github.com/wjf1/dsh-prompt-enhance