前言¶
在 DSH 里和 Agent 对话时,输入框里的草稿往往口语化、缺步骤、路径和命令混在一起。直接发送也能跑,但模型更容易漏改文件、误解范围。常见做法是手动改写成「改哪、改成什么、怎么验证」;重复多了会占时间。dsh-smart-prompt 挂在 Composer 输入区,在发送前用一次模型调用把草稿整理成更清晰、便于执行的提示词,并尽量保留你写下的路径、标识符、数字、URL 和代码片段。插件由 Arrosam 维护,是 MIT 许可的 dsh-improve-prompt 个人 fork,在社区目录中归类为模型推理;当前 npm 包版本为 1.0.0,GitHub 仓库星标为 1。
这是什么¶
dsh-smart-prompt 是 DeepSeek Harness(DSH)插件:你在 Composer 里按平时说话的方式写需求,点发送旁左侧的 ✦ 按钮,几秒后草稿会被替换为更干净的版本。不需要单独配置 API Key,改写使用你在 DSH 里已配置的对话模型(也可在设置里指定专用模型)。
- 目录页:https://www.skillhub.cn/plugins/Arrosam/dsh-smart-prompt
- 源码与说明:https://github.com/Arrosam/dsh-smart-prompt
核心功能¶
一键改写与撤销重试¶
改写完成后,输入框上方会显示简短结果说明:保留了多少条「硬事实」、长度变化、耗时;若提供商上报 token,会显示 input(cached) - output 形式的用量。不满意可用 Revert 恢复原始草稿,或用 Retry 基于原始草稿再生成一版;在编辑或发送前这些按钮一直可用。改写进行中再次点 ✦ 可取消。若无可用模型、超时或网络错误,草稿不会被改动,并显示简短错误信息。
斜杠命令场景下,例如 /bugfix <text>,命令前缀保持不变,只改写后面的文本。
硬事实保护与缺口标注¶
改写前插件会列出草稿中的硬事实:文件路径、标识符、数字与版本、URL、代码块和 @ 提及。改写后会核对是否仍在文中;若模型漏掉,会再试一次;仍缺失则追加在文末 “Preserved original details” 下。模糊需求不会被编造细节,缺口以 (TBD: …) 标出。
Light 模式下改写结果长度不超过草稿的 2 倍且至少 600 字符;过长会尝试缩短,仍超标则丢弃改写、保留原草稿。Standard 模式默认无长度上限,可在高级配置里通过 standardMaxRatio 限制。
附件与会话上下文¶
Composer 中的图片和附件会随草稿发给改写模型,便于处理「按截图修错」「按附件规格实现」类需求。文本附件会读取内容,每个文件最多前 20,000 字符;其他类型仅传文件名。附件仍留在 Composer,发送给 Agent 时照常带上;点 ✦ 前需等上传完成。
当草稿不能独立理解(例如「对那个 endpoint 做同样的事」)时,插件可带上最近几轮对话:你的消息(含当时附带的图片)与助手的文本回复。若仍不够,可按 Session lookup rounds(默认 3,0 关闭)在会话中搜索、阅读更早消息;工具结果、注入上下文和 Agent 读过的源码不会发送。
追问与 Stardea(星念)¶
草稿缺只有你能定的信息(哪个 endpoint、上限、选项)时,会在输入区位置弹出追问面板,顶部仍显示你的原文。作答后再次改写并并入答案;选「我不知道」会让提示词要求 Agent 自行查明或给出选项后按合理默认继续。Skip 或留空则对应问题跳过,首版改写里用 (TBD: …) 标缺口;× 关闭面板并取消改写,不改草稿。
追问旁有 Stardea:可结合当前会话、模型自提议,以及在开启 Stardea web search 且 DSH 已配置网页搜索时做网络检索,每次最多给出 Stardea ideas per click 条建议(默认 4),并标注来源。可勾选建议并补充文字;再点 Stardea 会在下方追加不重复的新建议。每次点击最多进行 Stardea search rounds 轮检索(默认 1;为 0 时仅自提议,且默认不开启网页搜索)。
安装与启用¶
在 DSH 中打开 Plugins → Add plugin,输入 dsh-smart-prompt;或在终端执行:
dsh plugin --profile web add dsh-smart-prompt
重启 DSH 后,Composer 发送按钮左侧会出现 ✦。卸载:
dsh plugin --profile web remove dsh-smart-prompt
设置入口:Settings → Plugins → dsh-smart-prompt(需 DSH 0.2 或更高版本)。
| 设置项 | 说明 |
|---|---|
| Improvement method | Standard:重组草稿便于 Agent 直接执行;Light:仅去冗余、消歧义 |
| Model used to improve prompts | Conversation model 或 Dedicated model(可单独选模型与 reasoning effort) |
| Follow-up questions | 追问上限,默认 5 |
| Session lookup rounds | 会话内查找轮数,0–10,默认 3 |
| Stardea ideas per click | 每次 Stardea 新增建议数,1–8,默认 4 |
| Stardea search rounds | 每次 Stardea 的搜索轮数,0–10,默认 1 |
| Stardea web search | 是否允许 Stardea 使用 DSH 网页搜索,默认关闭 |
更多可选项在 profile 的 cordis.patch.yml 中,均为可选;详见仓库 README 的 Advanced / Configuration 小节。
典型用法¶
README 给出的示例如下。
- 在 Composer 输入草稿,例如:
can you change maxRatioFor in src/host/config.ts to 2.5 and check it with pnpm build - 点击 ✦,数秒后草稿可能变为:
Change maxRatioFor in src/host/config.ts to 2.5, then verify with pnpm build. - 查看输入框上方关于保留事实数、长度与耗时的说明,确认后发送;或 Revert / Retry 再调整。
适用场景与注意¶
适合经常在 DSH Composer 里写开发任务、希望发送前统一提示词结构、又不愿手工逐条改写的开发者。改写会调用你已配置的模型,可能产生 token 消耗;一次点击内的多次调用(改写、带答案的二次改写、修复、会话查找、Stardea)在同一会话链上延续,支持 prompt caching 的提供商可对重复输入计为缓存命中。
DSH 插件以当前 dsh 进程的权限运行,安装前请自行查看 GitHub 仓库 源码与 MIT 许可证。社区插件目录(如 SkillHub)为独立站点,与 DeepSeek / 幻方无官方从属关系,本文事实以仓库 README 与 package 元数据为准。
结尾¶
dsh-smart-prompt 把「口语草稿 → 可执行提示词」收进 Composer 里的一次点击,并强调硬事实不丢、缺口不瞎编、可撤销重试。需要安装说明与完整配置时,可看目录页 https://www.skillhub.cn/plugins/Arrosam/dsh-smart-prompt 与 https://github.com/Arrosam/dsh-smart-prompt 。