前言¶
在 DeepSeek Harness(DSH)里和模型对话时,输入框里往往是一句口语化的需求:目标、约束和输出期望混在一行里。自己手工拆成「目标 / 约束 / 输出要求」既费时间,又容易漏掉「不要第三方库」这类否定约束。社区插件 dsh-prompt-optimizer(维护者 Misakiy1333,分类:客户端)在 Composer 输入框右下角增加「优化提示词」按钮:点一下,用当前会话的模型(或本地规则回退)重写草稿,结果直接填回输入框,不会替你发送。
这是什么¶
dsh-prompt-optimizer 是面向 DSH 的 Composer 按钮插件。简介原文:A composer button for DeepSeek Harness: rewrites your draft into a structured prompt and puts it back in the input box. Local rules, zero runtime dependencies, never sends.
它解决的是「草稿太散、结构不清晰」的问题,而不是替你在 Harness 里发消息。插件以当前 DSH 进程权限运行;安装前请自行查看 GitHub 仓库 源码与 MIT 许可证。社区目录页:skillhub.cn 插件条目(独立社区站点,与 DeepSeek / 幻方无官方从属关系)。
核心功能¶
改写结果长什么样¶
你写一句粗略需求,点按钮后,草稿会被整理为带 目标、约束、输出要求 的结构化提示词。README 中的示例如下(改写前后对比):
帮我写一个登录页。要有记住密码。还要适配手机。不要用第三方库。
↓ 点「优化提示词」
## 目标
帮我写一个登录页。
## 约束
- 要有记住密码。
- 还要适配手机。
- 不要用第三方库。
## 输出要求
- 直接给出可用的结果,不要复述本提示词
- 结论先行,必要的推理过程放在结论之后
- 完整可运行/可直接使用,不要留 TODO 占位
- 不确定的地方明确标注,不要编造
约束类句子(「要有…」「不要…」「必须…」)会从普通要求里拆出,单独成段。
三种意图分支¶
插件会按句式判断意图,并在 输出要求 段做差异处理:
| 意图 | 判断依据 | 输出要求差异 |
|---|---|---|
| 任务 task | 出现「写 / 做 / 生成 / 实现 / 重构」等动词 | 完整可运行、不留 TODO |
| 提问 question | 出现「为什么 / 怎么 / 如何 / 是否」等疑问词 | 先答问题、展开理由、给出依据 |
| 开放 open | 两者都不匹配 | 先确认理解、多方案列取舍 |
模型调用与本地规则回退¶
默认路径是真实模型调用,不是模板拼接。 点击按钮时,由当前会话正在使用的模型重写草稿:保留原意、拆约束、按任务性质补输出要求。调用走 Harness 的 llm 服务,使用你已在用的 provider 和 model,不需要额外配置 API key。一次调用大约几秒,期间按钮转圈并禁用。
若会话没有模型路由、模型调用报错或超时,插件自动退回本地规则引擎:按句式特征切分和意图分类,产出结构化提示词,按钮上会提示「已用本地规则」。回退不理解语义,但能整理结构。
闲聊输入不改动¶
ok、好的、嗯、收到、继续、thanks 等纯确认词不会被套模板。按钮会提示「这句太短,像答复而不是指令」,草稿保持不动。
安装与启用¶
资料中的安装步骤如下。先在插件目录执行依赖安装(主要为 Host 半边所需的 zod):
cd dsh-prompt-optimizer
pnpm install
然后在 Harness 里安装本地目录(将路径换成你机器上的绝对路径):
plugin_manager({
action: "install_bundle",
target: "<absolute-path-to>/dsh-prompt-optimizer"
})
也可在 DSH 界面:设置 → 插件 → 从本地目录安装,选择该目录。
装完必须重启 DSH(不只是刷新页面):Host 半边变更后,HMR 只热替换客户端。
安装后按钮出现在 conversation.input.right 槽位,order 30,位于模型选择器左侧。package.json 中版本为 1.1.0,要求 Node >=20。
典型用法¶
- 在 Composer 输入框写好草稿(任务、提问或开放描述均可)。
- 点击输入框右下角 优化提示词。
- 等待数秒;若模型不可用,会看到本地规则回退提示。
- 检查填回输入框的结构化内容,按需微调后再自行发送。
不要在未核对改写结果的情况下直接发送;插件只整理提示词,不代替你的业务判断。
适用场景与注意¶
适合谁: 经常在 DSH 里写长需求、希望统一「目标 / 约束 / 输出要求」格式的开发者;希望在模型不可用时仍能靠规则做基础整理的用户。
兼容性(来自 README):
- 需要 Harness 提供
conversation.input.right槽位(@deepseek-ai/dsh-client-ui-conversation)。 - 需要
remote客户端服务与typert注册表;缺失时按钮仍显示,但会提示无路由。 - 已在 DeepSeek Harness Desktop(Windows)上实测。
已知限制(节选):
- 模型路径:超时上限 90 秒;输出上限 1600 字符(超出按行截断);使用会话当前模型路由,未选模型时回退 catalog 默认。
- 回退引擎:句子切分基于标点;草稿上限 6000 字符;中英混排时语言判断可能不准。
插件依赖边界:zod 声明在插件 dependencies 中;Remote 为手写 Typert 贡献,Client 经 ctx.remote.promptOptimizer.optimize 调用 Host 的 PromptOptimizerService。
结尾¶
dsh-prompt-optimizer 把「散句草稿 → 结构化提示词」做成 Composer 上的一键操作,默认走你已在用的模型,失败时仍有本地规则兜底,且从不自动发送。需要详情与 issue 时见 GitHub:Misakiy1333/dsh-prompt-optimizer;目录介绍见 skillhub.cn。