前言¶
在 DeepSeek Harness(DSH)里写任务说明,常见做法是先在输入框里打几句草稿,再手动补全目标、范围、验收条件。会话里若已有几轮讨论,还要自己把上下文揉进同一条提示里。草稿短、信息散时,模型往往只能猜你的意图。
下面介绍社区插件 dsh-composer-prompt-optimizer(GitHub 仓库 subisle/dsh-prompt-optimizer)。它在聊天输入框工具栏增加一键改写:结合当前会话里最近几轮用户发言,并用你已在界面选中的模型,把草稿整理成结构更清晰的提示词,再写回输入框。
这是什么¶
dsh-composer-prompt-optimizer 是 maintainer subisle 发布的 DSH 插件,npm 包名与插件行中的 name 均为 dsh-composer-prompt-optimizer(与 GitHub 仓库名 dsh-prompt-optimizer 不同,是因为 npm 上 dsh-prompt-optimizer 已被他人占用,以 package.json 的 name 为准)。当前版本 0.2.0,许可证 MIT,分类上属于 模型推理 类能力:通过一次辅助 LLM 调用来改写提示,而不是直接替你执行任务。
插件在 Composer 上挂载工具栏按钮。点击后读取当前草稿,调用宿主侧的优化逻辑,用结果替换草稿;若优化过程中草稿已被修改,会提示冲突而不是静默覆盖。
核心功能¶
一键改写与零副作用¶
优化过程是单次辅助 LLM 调用(purpose: 'compaction'):按 README 说明,不会写入会话日志、不会激活 Agent,可用 Esc 取消。优化进行中按钮变暗并禁用,无 spinner、无布局跳动,并带有合适的 aria-label。
会话上下文¶
会从聊天快照中取最近若干轮用户发言作为参考(默认最多 6 轮,每轮上下文有字符上限)。@path 类提及会原样保留。
注入安全与输出形态¶
草稿与上下文包在 <draft-evidence> 等证据标记中,声明为数据而非指令;标记冲突会转义,避免草稿里类似「忽略所有规则」的文本劫持优化器。
优化器按「目标 → 范围 → 要求 → 交付物 → 验收」重组内容,不做 persona 卡片,不编造事实。短草稿会按扩展策略补全(例如 README 示例:审计项目看一下目前有啥问题 可扩展为带范围、要求、交付与验收的审计说明);长草稿则主要重组、去重、补缺口。输出会自动去掉多余代码围栏或包裹引号。
模型路由¶
优化调用复用当前会话的模型,解析顺序为:
- 会话
modelSelection投影中的待选模型(刚切换的那个) - 投影中上次使用的路由
- 会话日志
requestHeader中记录的路由 - 部署配置的
agentDefaultModel回退
安装与启用¶
推荐从 npm 安装到指定 profile(将 <name> 换成你的 profile 名):
dsh plugin --profile <name> add dsh-composer-prompt-optimizer
也可从 release 包、本地目录或 GitHub 安装(README 原文):
curl -LO https://github.com/subisle/dsh-prompt-optimizer/releases/download/v0.2.0/dsh-composer-prompt-optimizer-0.2.0.tgz
dsh plugin --profile <name> add ./dsh-composer-prompt-optimizer-0.2.0.tgz
dsh plugin --profile <name> add /path/to/prompt-optimizer
dsh plugin --profile <name> add github:subisle/dsh-prompt-optimizer
安装后可用下面命令确认 profile 中已 compose 该插件:
dsh --profile <name> --dump-config | grep -A1 prompt-optimizer
在 DSH Desktop 中,README 要求安装到 ~/.dsh/profiles/desktop 并重启应用:客户端条目可 HMR 热更新,宿主侧需重启后才生效。
插件声明对 DSH 相关 peer 为 ^0.2.0-rc.2;compose 时会做 semver 校验,宿主版本不在范围内时 profile 会跳过该 bundle。
典型用法¶
- 在 Composer 输入框里输入简短任务草稿(甚至几个词即可)。
- 确认输入框旁模型选择与你期望用于优化的路由一致(优化会使用该会话模型)。
- 点击工具栏上的优化按钮,等待草稿被替换为结构化提示。
- 对比改写前后,按需微调后再发送正式请求。
README 建议的最快验证方式:打几个字、点优化按钮、直接对比前后差异。
配置(可选)¶
在 profile 的插件行中,id 为 prompt-optimizer,name 为 dsh-composer-prompt-optimizer。字段均可选;非法值会导致插件加载失败并报 schema 错误,不会静默回退默认值。
- id: prompt-optimizer
name: dsh-composer-prompt-optimizer
config:
maxOutputTokens: 4096
timeoutMs: 120000
| 字段 | 默认 | 说明 |
|---|---|---|
maxDraftChars |
8000 |
草稿最大字符数,超出报 draft-too-large |
maxContextTurns |
6 |
带入的最近用户轮数 |
maxContextChars |
600 |
每轮上下文截断上限 |
maxOutputTokens |
2048 |
辅助调用输出 token 上限 |
timeoutMs |
60000 |
端到端超时(prompt-optimizer/timeout) |
适用场景与注意¶
适合:经常在 DSH Composer 里写 coding-agent 任务说明、草稿偏短或结构混乱、希望把最近几轮用户上下文一并纳入提示的开发者。
注意:
- 插件在当前 dsh 进程权限下运行,优化会发起一次 LLM 调用;安装前请自行查看 GitHub 源码 与 MIT 许可证,确认符合你的安全与合规要求。
- 社区目录 SkillHub 插件页 与 GitHub 为独立信息源,与 DeepSeek / 幻方无官方从属关系;DSH 生态强调「一切皆插件」,本文事实以仓库 README 与
package.json为准。
结尾¶
dsh-composer-prompt-optimizer 把「补全任务说明」收成输入框里的一步:上下文感知、用当前选中模型、结构化输出且尽量不污染会话日志。若你在用 DSH 写 Agent 任务,可在 profile 里按上文命令安装后试用。