前言¶
在 DSH(DeepSeek Harness)里写请求,常见做法是先在输入框打一段短草稿,再指望模型自己补全意图。草稿越短,歧义越多;路径、版本号、约束若写不全,下一轮对话就要来回澄清。自己逐句扩写也可以,但和「改提示词」是同一类重复劳动。
下面介绍社区插件 dsh-composer-enhance(维护者 GraptK):在发送键左侧增加一个「增强提示词」按钮,用一次模型调用把当前草稿改写成更清晰、更具体的提示词并写回输入框。按钮只做改写、不替用户执行任务,也不改变原意;过程中可取消,写回后可一键回退。包名自 v0.4.0 由 dsh-enhance-prompt 改为 dsh-composer-enhance(原名在 npm 已被占用)。
这是什么¶
dsh-composer-enhance 是 DSH 的客户端 + 宿主双半插件:浏览器半在 conversation.input.right 槽注册魔法棒按钮;宿主半注册 session 命令,读取默认模型(或配置覆盖)、可选的会话历史语境,经 llm.stream() 输出后再经保真闸、长度闸与清洗,把结果返回浏览器写回草稿。仓库里的 .js 即为发布产物,无单独构建步骤;界面文案中英双语,随 DSH 语言切换。
当前版本 0.4.1(见仓库 package.json),许可证 MIT。插件在 SkillHub 目录 可检索;源码与说明见 GitHub。
核心功能¶
整段增强与回退¶
- 在输入框写好草稿(中文、英文或混排均可)。
- 点击魔法棒:按钮进入加载态,草稿被改写成可直接发送的提示词。
- 加载中再点一次即取消。
- 写回后按钮变为回退箭头,点一下恢复原文;若你手动改过结果,回退箭头会自动消失。
空草稿时不显示按钮。
局部增强(Ctrl / Cmd + 点击)¶
选中输入框中的一段文字,再 Ctrl+点击(macOS 为 Cmd+点击),只把选中片段发给模型,结果只替换该段;未选中时行为与普通点击相同,仍是整段增强。写回通过编辑器的一次独立撤销操作完成,也可用 Ctrl+Z 退回,不必依赖回退箭头。
修饰键与预览¶
| 操作 | 行为 |
|---|---|
| 普通点击 | 整段增强,写回后可回退 |
| 增强中再点 | 取消 |
| Ctrl / Cmd + 点击 | 仅增强选区 |
| Alt + 点击 | 本次不带会话历史 |
| Shift + 点击 | 本次带全部历史轮次 |
| Alt + Shift + 点击(v0.4.0) | 只预览、不写回;输入框下方出现预览卡(标题、字符差、正文、「采用 / 放弃」) |
Alt / Shift 可与 Ctrl 叠加。预览模式下采用结果后仍可用回退箭头回到原文。
会话历史语境(v0.2.0 起)¶
改写时默认带上本会话已提交的最近对话(不含当前未发送的草稿),便于处理「再详细一点」「换个说法」这类依赖上下文的草稿。历史只进入模型输入,不会写进草稿;读历史失败时记宿主日志并继续只改草稿,不阻断功能。
范围与预算可在配置中调整(见下文);无历史时静默降级为「只改草稿」,行为与早期版本一致。
保真闸与长度闸(v0.4.0)¶
模型容易改坏路径、URL、版本号、反引号代码片段。保真闸要求改写结果逐字保留草稿中提取的硬事实(反引号片段、http(s):// URL、带扩展名的路径/文件名、语义化版本号等,去重后最多 40 条);缺一条则整次失败、不写回,按钮进入失败态并提示缺失项(最多展示 5 条)。
长度闸:草稿不少于 80 字符时,若输出超过原文的 maxExpansionRatio 倍(默认 2.5,可配 1–6)则拒绝写回。闸门为硬失败;若仍想自行判断被拒结果,可用 Alt+Shift 预览模式。
引用 chip 保护(v0.4.0)¶
草稿中含 @文件 等引用 chip 时按钮会被禁用(悬停说明原因),避免整段改写把 chip 抹成纯文本。
其它行为说明¶
- 宿主侧单次调用超时默认 60s(另有 65s 客户端兜底);超时或失败时按钮进入失败态,原因写入
title与aria-label。 - 每次调用有
req=关联 ID,宿主日志与浏览器 console 可对齐排查。 - 按钮不抢输入焦点,避免打断中文输入法组词。
- 切换会话会中止上一会话未完成的请求;等待期间若继续输入,增强结果不会覆盖新内容,需重试。
- 增强在聊天流中会留下 log-only 的 session 命令节点(
recordInput:false,草稿原文不进命令参数),不进模型历史、不额外占对话 token。
安装与启用¶
宿主要求:DSH >=0.2.0-rc.2 <1.0.0(声明于 package.json 的 engines.dsh),Node ≥ 20。
在 DSH 插件市场搜索 dsh-composer-enhance 一键安装;或让 Agent 执行:
plugin_manager action=install_bundle target=dsh-composer-enhance
安装后刷新页面,发送键左侧即出现魔法棒按钮。
从 GitHub 或本地目录以 link: 安装时,在 profile 的 package.json 中指向仓库路径,并把包名加入 dsh.profile.bundles:
"dependencies": { "dsh-composer-enhance": "link:E:/path/to/dsh-composer-enhance" }
link: 会带上整棵源码树,仓库根目录须保留 LICENSE;改源码后刷新即生效,无需构建。
典型用法¶
经过上面的安装步骤,可按下面顺序试一遍完整流程:
- 在输入框写一句短草稿,例如「帮我把这段逻辑 refactor 一下,别动 API」。
- 点魔法棒,等待写回;若结果满意直接发送,不满意点回退箭头恢复原文。
- 若只想改其中一句:选中该句,Ctrl+点击(macOS Cmd+点击)魔法棒。
- 若草稿里含路径或版本号、担心被改坏:保持默认保真闸;若结果被拒,看按钮失败提示或宿主日志中的
reason=fidelity。 - 想先看再决定:Alt+Shift+点击,在输入框下方预览卡中点「采用」或「放弃」。
想确认本次带了几轮历史,可在宿主日志中查找类似行:
[dsh-composer-enhance] history: 3/5 turns, 286 chars dropped 2 oldest turn(s)
配置项(cordis.patch.yml / Config)¶
插件管理器或 Config Inspect 可编辑下列项(类型须正确,否则插件可能激活失败):
| 键 | 默认 | 作用 |
|---|---|---|
enabled |
true |
总开关 |
temperature |
0.3 |
采样温度(0–2) |
maxTokens |
2048 |
输出预算 |
timeoutMs |
60000 |
宿主侧超时 |
history |
true |
是否带最近对话 |
historyTurns |
3 |
最近几轮(1–12) |
historyMaxChars |
3000 |
历史总字符预算 |
historyPerMessageChars |
800 |
单条历史裁剪长度 |
fidelity |
true |
保真闸 |
maxExpansionRatio |
2.5 |
长度闸倍数(1–6) |
provider / model |
'' |
仅本插件用的模型覆盖;两个都填才生效 |
适用场景与注意¶
适合经常在 DSH 输入框里写短指令、又希望发送前自动补全约束与表述的开发者。与「直接发送短句」相比,多一次模型调用与短暂等待;与手工写长提示词相比,省的是重复扩写时间,并可通过回退、预览、局部增强控制改动范围。
安装前建议自行查看 GitHub 仓库 源码与 MIT 许可证。DSH 生态遵循「一切皆插件」;SkillHub 为社区目录,与 DeepSeek / 幻方无官方从属关系。插件以当前 DSH 进程权限运行,安装第三方包前应确认来源与代码内容。
结尾¶
dsh-composer-enhance 把「发送前改提示词」收成输入框旁的一键操作:可取消、可回退、可选预览,并用保真闸、长度闸和 chip 保护降低改坏硬事实的风险。需要安装或配置细节时,以仓库 README 为准。
- 目录页:https://www.skillhub.cn/plugins/GraptK/dsh-composer-enhance
- GitHub:https://github.com/GraptK/dsh-composer-enhance