前言¶
在 DeepSeek Harness(DSH)里写 Composer 消息时,常见情况是输入框里只有几句草稿:意图有了,但约束、输出格式、边界条件还没写全。直接发送往往要多轮澄清;自己手工扩写又费时,还容易漏掉该先问清楚的问题。
下面介绍社区插件 dsh-prompt-enhancer(维护者 cosmoliu2002,分类:模型推理)。它用一次独立的模型调用,把草稿改写成可直接发送的结构化提示词,并在发送前列出「待确认」的信息缺口;默认跟随当前会话模型,也可在 profile 里钉死廉价模型做增强。
这是什么¶
dsh-prompt-enhancer 是 DSH 的双端插件:Host 半注册 slash 命令并执行 one-shot LLM 调用;Client 半在输入框旁提供 ✨ 按钮。增强不会创建会话轮次、也不写入模型对话历史,只消耗这一次调用的 token。
返回结果分两部分:
- 改写后的
prompt(可直接填入输入框发送); gaps:原稿里缺失、值得先确认的问题列表。
两个入口¶
| 入口 | 命令 | 返回 |
|---|---|---|
| ✨ 按钮(client.js) | /enhance-quiet <draft> |
JSON.stringify({prompt, gaps, added}),供按钮解析后回填输入框 |
| 手动 slash 命令 | /enhance <draft> |
纯文本:改写后的提示词;有缺口时追加 ## 待确认 / ## To confirm 列表 |
/enhance-quiet 供按钮内部使用,命令卡会被隐藏,不打扰会话流。增强成功后,输入框下方会出现诊断条:说明模型补充了什么、列出待确认缺口;点「撤销」可恢复原稿。发送消息后诊断条自动消失。
安装与启用¶
插件以当前 DSH 进程权限运行,安装前建议查看 GitHub 仓库 源码与 MIT 许可证。npm 上另有同名包 dsh-prompt-enhancer,与本插件无关,请勿用 dsh plugin add dsh-prompt-enhancer 安装。
从 GitHub 安装¶
dsh plugin --profile web add git+https://github.com/cosmoliu2002/dsh-prompt-enhancer.git
安装后刷新页面,输入框旁应出现 ✨ 按钮(Host 热加载 + Client bundle 热挂载)。
通过插件市场¶
- 内置「发现」标签页:将索引源
https://raw.githubusercontent.com/cosmoliu2002/dsh-prompt-enhancer/main/market/index.json添加后即可浏览安装。 - 社区目录 awesome-dsh-plugin 收录条目合并后,也可在 dsh-market 一键安装。
目录页:https://www.skillhub.cn/plugins/cosmoliu2002/dsh-prompt-enhancer
典型用法¶
- 在 Composer 输入框写下草稿(不必写完整提示词)。
- 点击 ✨,或手动执行
/enhance并在命令后附上草稿内容。 - 查看回填后的结构化提示词与诊断条中的「待确认」项;需要时先补全信息或点「撤销」恢复。
- 确认无误后正常发送消息。
手敲 /enhance-quiet 时,命令仍会出现在会话流里;按钮路径会隐藏对应命令卡。
配置(可选)¶
配置写在 profile 的 cordis.patch.yml 中该插件行的 config 下;全部可选,非法值回退默认。默认不钉模型,增强调用跟随当前会话模型。
| 键 | 默认 | 含义 |
|---|---|---|
commandName |
enhance |
文本命令名(需匹配 ^[a-z][a-z0-9_-]*$) |
quietCommandName |
enhance-quiet |
内部 JSON 命令名 |
provider |
空 | 模型 route;与 model 成对出现才生效 |
model |
空 | 模型 id;与 provider 成对 |
systemPrompt |
内置 | 要求模型只输出 {"prompt","gaps","added"} JSON |
template |
Draft:\n<<<\n{{draft}}\n>>> |
用户消息模板,{{draft}} 替换为草稿 |
maxInputChars |
4000 |
草稿字符上限 |
maxOutputTokens |
1024 |
单次输出 token 上限 |
timeoutMs |
60000 |
单次调用超时(毫秒) |
模型路由解析顺序(「跟随当前会话」对应第 2 步):
config.provider+config.model(成对显式指定,优先级最高);- 当前会话模型:
modelSelection中 pending 优先,其次为最近一次请求实际使用的模型; - 会话最近一次请求的 route(
session.requestHeader().config); - Agent 创建时的模型选项(
agent.options); ctx.agentDefaultModel.currentSelection()(设置里的默认模型)。
若均无法解析,命令返回双语错误提示,不会静默失败。主对话用强模型、增强想用廉价模型时,在该 profile 的 patch 里为插件行成对配置 provider 与 model 即可。
适用场景与注意¶
适合谁: 经常在 DSH Composer 里写任务说明、希望先得到结构化提示词和缺口清单再发送的开发者。
需要注意:
- 每次增强额外消耗一次模型调用;默认与会话同模型,强模型下会更慢、更贵。
- 两个命令都会在会话日志写入
command/run/command/done事件(生命周期记录)。 - 依赖可用模型路由;离线、未配置凭据或 provider 未注册时会返回错误文本。
- 模型输出不是合法 JSON 时不会报错,整段输出会作为
prompt兜底。
DSH 生态强调「一切皆插件」;SkillHub、awesome-dsh-plugin 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-prompt-enhancer 把「草稿 → 结构化提示词 + 待确认问题」做成输入框旁的一键操作或 /enhance 命令,并默认跟随当前会话模型。需要固定增强用哪条模型路由时,在 profile 的 cordis.patch.yml 里配置即可。