前言¶
在 DeepSeek Harness(DSH)里写任务时,常见做法是先在输入框里打一句短需求,再指望模型自己补全结构。这样往往缺目标、约束和验收标准,首轮回复容易跑偏。另开对话专门「写提示词」又会多占上下文、多一次模型调用。
下面介绍社区插件 dsh-prompt-enhance(维护者 xiex16070-jpg):在会话输入框底部、模型选择器左侧注册一颗「增强」芯片,用当前会话已选的 provider/model 把草稿改写成更清晰、可执行的提示词,并写回输入框——不新发消息、不写入会话历史。
DSH 生态遵循「一切皆插件」;SkillHub 目录页 是社区站点,与 DeepSeek / 幻方无官方从属关系。安装前请自行查看 GitHub 源码 与 MIT 许可证;插件在 当前 dsh 进程权限 下运行,改写请求会经宿主调用 LLM。
这是什么¶
dsh-prompt-enhance 归类为「模型推理」相关插件(目录简介:One-click prompt enhancement for the DeepSeek Harness composer)。当前 npm 包版本 0.1.1,要求 DSH >=0.2.0-rc.1、Node >=22.19。
定位可以概括为:不是另开一个「提示词助手」对话,而是输入框内的编辑器——把你已经写下的意思补齐结构(目标、约束、上下文、交付物、验收标准),专有名词、路径、命令、版本号尽量逐字保留;模型自行补充的背景需标为「假设:…」。
核心功能¶
输入框旁的芯片与插槽¶
芯片通过 DSH 正式插槽 conversation.input.right 注册(会话作用域、列表型,可与其它插件共存),默认落在模型选择器左侧。若当前 shell 未声明该座位,插件会按优先级依次探测 conversation.composer.dock、conversation.input.left、conversation.input.dock,首个可用座位生效;控制台可看到类似 [prompt-enhance] chip seated in conversation.input.right 的日志。
三种触发方式¶
- 单击芯片「增强」:按当前默认模式改写输入框草稿并写回。
- 芯片右侧「▾」:选择模式后立即改写。README 列出的模式包括:结构化(structured)、精简(concise)、详尽(detailed)、译成英文(translate-en)、规格化(spec)。
- 斜杠命令:在会话中执行
/enhance <你的提示词>,结果以命令回复形式返回,不修改输入框,适合纯键盘操作。
改写成功后芯片短暂显示「已增强」,并提供一次「撤销」(原文仅保存在页面内存,刷新后消失)。失败时会展开面板说明原因,必要时提供复制。
宿主与浏览器分工¶
- 宿主半侧(
lib/index.js):注册 HTTP 路由prompt-enhance/*、调用ctx.llm.stream完成改写、读写配置、注册/enhance命令。 - 浏览器半侧(
lib/client.js):注册 UI 芯片、读取/写回输入框草稿;改写本身通过同源、文档相对路径POST prompt-enhance/rewrite完成(避免子路径部署时根绝对路径失效)。
改写使用 ctx.agentDefaultModel.currentSelection() 取得的当前模型,不额外配置 key、不切换计费模型。
配置(可选)¶
用户配置默认路径:~/.dsh/prompt-enhance/config.json(也可通过 $DSH_HOME 定位),每次请求重新读取,改完无需重启 DSH。常用字段包括:
| 键 | 默认 | 含义 |
|---|---|---|
enabled |
true |
关闭后改写返回 disabled |
mode |
structured |
默认改写模式 |
language |
auto |
auto / zh / en |
temperature |
0.3 |
改写任务温度 |
timeoutMs |
45000 |
单次超时 |
maxDraftChars |
8000 |
草稿超长则拒绝(不静默截断) |
maxOutputChars |
12000 |
输出超长则丢弃 |
示例:
{
"mode": "spec",
"language": "zh",
"temperature": 0.2,
"maxDraftChars": 4000
}
安装与启用¶
DSH 插件作为 npm 包装入 profile(默认目录 ~/.dsh/profiles/<名字>/,本机常用 profile 名为 desktop),并在 profile 的 dsh.profile.bundles 中登记。
推荐:官方命令从 GitHub 安装(README 提醒:npm registry 上同名包可能指向他人仓库,勿仅写包名安装):
# 从 GitHub 仓库安装(推荐)
dsh plugin --profile desktop add github:xiex16070-jpg/dsh-prompt-enhance
# 从本地目录安装(开发时用;本地开发宜用 file:,慎用 link:)
dsh plugin --profile desktop add file:~/code/dsh-prompt-enhance
# 卸载
dsh plugin --profile desktop remove dsh-prompt-enhance
dsh plugin add 会将包装入 profile 的 node_modules(内部走 pnpm),并写入 bundles。包的 cordis.patch.yml 会随 bundle 自动叠加,一般无需手改 profile 的 cordis.patch.yml。
装完后必须重启 DSH:宿主半侧在启动时注册路由,浏览器半侧在页面加载时注册插槽。
临时停用可在 ~/.dsh/profiles/desktop/cordis.patch.yml 中对对应 id 设置 disabled: true:
- id: prompt-enhance
disabled: true
典型用法¶
- 在 Composer 输入框写一句短需求,例如:
帮我写个爬虫,要快。 - 确认当前会话已选择可用的 provider/model。
- 点击「增强」,或先选「规格化」等模式再改写。
- 检查写回后的结构化提示词,满意后照常发送;若误改,点「撤销」恢复原文。
键盘流示例:直接输入 /enhance 帮我写个爬虫,在命令回复中查看改写结果,再自行粘贴或继续编辑。
验证是否加载成功(README 建议):
- 新会话输入框动作行是否出现「增强」芯片。
- 浏览器控制台执行:
fetch('prompt-enhance/health').then(r=>r.json()),期望{ok:true, value:{enabled:true, model:"…", llm:true}}一类响应。 - 试
/enhance 帮我写个爬虫,命令回复中应出现改写文本。
健康检查路由:GET prompt-enhance/health;改写:POST prompt-enhance/rewrite, body 形如 { draft, mode?, locale? }。
适用场景与注意¶
适合:已在 DSH 里用 Composer 写任务、希望发送前把草稿整理成结构化提示词,且愿意用当前会话模型多一次改写调用(仍不占用对话轮次、不写入历史)的开发者。
注意:
- 改写走宿主 LLM,受当前模型能力、超时(默认 45s)与草稿/输出长度上限约束;空草稿、含插件定界标记
<<<草稿开始>>>、无模型等情况会按 README 中的error.reason拒绝。 - 读写 Composer 草稿依赖 Lexical 编辑器的启发式适配(README「已知边界」一节有说明);极端 UI 或 DOM 结构变化可能导致「改写成功但写回失败」,此时结果会出现在错误面板供复制。
- 插件分类为模型推理,但本质是提示词编辑;安装、启用前请阅读源码与权限边界,勿在未审计的 profile 中盲目添加第三方 bundle。
结尾¶
dsh-prompt-enhance 把「随手一句需求」收敛成「可发送的结构化提示词」,集成在输入框与模型选择器旁,并用会话自有模型完成改写,避免污染上下文。需要详情与完整 API、错误码说明时,以仓库 README 为准。
- 目录页:https://www.skillhub.cn/plugins/xiex16070-jpg/dsh-prompt-enhance
- GitHub:https://github.com/xiex16070-jpg/dsh-prompt-enhance