前言¶
在 DSH(DeepSeek Harness)里写任务说明时,常见做法是自己在脑子里补全「目标、约束、验收」再粘贴进输入框,或者反复改同一段草稿。社区插件 dsh-prompt-expander(维护者 hzys7)把这一步做成输入框旁的一个按钮:点一下把短草稿扩成可核对的规格,再点一下可恢复原文;发送后按钮自动复位,下一条草稿无需先点「恢复」。
下面介绍它做什么、如何安装,以及使用时需要知道的限制。
这是什么¶
dsh-prompt-expander 是 DSH 的 Web 客户端插件:在对话输入框右下角、模型选择器左侧 增加一颗 ✨ 按钮。它读取当前草稿,调用你配置的默认模型扩写后写回输入框,并把原文保存在内存里,便于一键还原。
插件托管在 GitHub:hzys7/dsh-prompt-expander。社区目录页:skillhub.cn/plugins/hzys7/dsh-prompt-expander(独立站点,与 DeepSeek / 幻方无官方从属关系)。当前 package 版本 0.1.1,许可证 MIT。
核心功能¶
一键扩写与还原¶
- 待增强(灰色 ✨):输入框有草稿时,点按钮发起扩写。
- 正在增强:按钮呼吸闪烁,宿主侧调用 LLM 聚合流式结果。
- 已增强(蓝色 ✨,悬停提示「恢复原提示词」):结果已写回输入框;再点一次恢复扩写前的原文。
- 出错(红色 ✨):悬停显示具体原因。
扩写结果的形式(默认模式):一行目标 + 3–6 条可核对的编号要求。若草稿涉及已有数据、文件或流程,扩写逻辑会倾向补上「先检查再改、保住不能丢的、完成后验证、汇报改动」类约束——这是 expand 模式的设计意图,可能包含原文未写明的验收项。
原文在内存中保留;增强后的提示词一旦发送或排队,按钮会立刻回到「待增强」,下一条草稿可直接再点增强,不必先恢复。若你在增强后手动改过输入框文字,再点增强不会覆盖你的编辑,插件会忘掉旧原文并重新对待当前内容为草稿。
增强力度(mode)¶
默认 expand(扩写)。另有:
| mode | 含义 |
|---|---|
standard |
忠实精修,不加内容 |
concise |
压缩到更短 |
通过宿主路由请求体指定(mode 省略时等于 expand):
POST /prompt-expander/enhance
{ "text": "你好", "mode": "standard" } // mode 省略 = expand
不想要推断出的额外验收标准时,用 standard。
与输入框状态同步¶
插件订阅输入框 shell 的状态(shell.state),而不只依赖按钮点击:草稿若不再是插件写入的那份(例如发送清空、用户编辑),会丢弃原文记忆并重置为「待增强」。插件自身 setDraft 触发的同步不会误清记忆。
推理内容不混入正文¶
对 prepareCall 传入 reasoningEffort: 'off',DeepSeek 适配器会禁用 thinking,避免 deepseek-flash 等模型把思考过程写进扩写结果;另有 finalizeText() 作兜底清洗。
安装与启用¶
需要 DSH 0.2.x(README 注明在 0.2.1-rc.2 上验证)。package.json 中 engines.dsh 为 >=0.2.0-rc.1 <0.3.0-0,Node >=22.12.0。
CLI 安装(profile 名按你的环境替换):
# web profile
dsh plugin --profile web add dsh-prompt-expander
# 其他 profile 换成对应名字
dsh plugin --profile <name> add dsh-prompt-expander
DSH Desktop 可在应用内 设置 → 插件 或插件市场安装。
安装后需重启 DSH(宿主插件需重启才会加载)。
安装前建议自行查看仓库源码与 MIT 许可证;插件在当前 DSH 进程权限下运行,与其它 DSH 插件相同。
典型用法¶
- 在 composer 里用一行或短段描述任务草稿(例如「给 README 加安装小节」)。
- 点输入框右下、模型选择器左侧的 ✨,等待变为蓝色「已增强」。
- 核对扩写后的目标与编号要求,按需微调后发送。
- 若扩写偏离意图,在已增强状态下再点一次按钮恢复原文,或改用
standard模式(需通过调用POST /prompt-expander/enhance的集成方式;日常 UI 默认走 expand)。
问候、感谢、纯确认等不含任何请求的草稿会原样返回,并提示「没有需要扩写的内容」,不会凭空生成任务。
工作原理(简要)¶
与 DSH 插件约定一致,分两层:
- 宿主
lib/index.js:注册POST /prompt-expander/enhance,用ctx.llm.prepareCall(...)调默认模型并聚合流式输出。 - 浏览器
lib/client.js:挂到conversation.input.right插槽,通过conversation.input.for(actx)取输入 shell,用draftSnapshot读、setDraft写。
适用场景与注意¶
适合:经常在 DSH 里写 agent 任务、希望快速把 bullet 草稿变成可核对规格,且接受默认模型扩写质量的开发者。
注意:
- 依赖 DSH 客户端内部 API(
conversation.input.for、draftSnapshot),大版本升级可能失效;已锁定dsh<0.3.0。 - 扩写质量取决于默认模型配置。
- 长草稿上限 32 KB,单次调用超时 90 秒。
- 按钮报「拿不到输入框」时,诊断日志在
~/.dsh/prompt-expander-diag.log(挂载/点击/状态复位各一行 JSON)。
结尾¶
dsh-prompt-expander 把「草稿 → 规格 → 可还原」收进 composer 旁的一个按钮,并和发送、编辑行为对齐复位逻辑。需要细节或提 issue 时,见 GitHub 仓库 与 SkillHub 目录页。