前言¶
写提示词常遇到「能跑但不够好」的情况:结构松散、验收标准模糊、可执行性差。DSH 提供了插件化架构,把这类能力沉淀成插件。Prompt Forge 就是一个在输入框旁加一个按钮的插件,点击后按一套可替换的「提示词心法」把草稿改写成更可执行的结构,结果按行返回供你选择。
插件定位¶
- 名称:Prompt Forge(dsh-prompt-forge)
- 维护者:wlllyj
- 解决的问题:把口语化的草稿改写成「目标 + 可外部验证的验收标准」的结构,避免「不要啰嗦」这类形容词式约束,改用可逐条核对的判据。
- 类型:DSH 插件,归类为模型推理。
核心功能¶
插件只做一件事:把你在输入框里写的草稿改写成一个更结构化的提示词。改写结果不会自动覆盖草稿,而是按行返回,你可以勾选「替换草稿」「追加到末尾」或直接关闭。
改写¶
在输入框左侧会出现一个 ✦ Prompt 按钮。点一下,面板在输入框上方弹出,同时自动开始改写。
改写稿会包含:
- 目标:复述你原本想做的事。
- 验收标准:可逐条核对的硬约束,例如数量、字段、格式、是否可直接使用等。
- 必要背景/交付格式:根据草稿复杂度自动补充。
改写稿的结构随任务复杂度变化,不套固定模板。
结果处理¶
结果按行返回,每行可以单独勾选:
- 取消勾选:不使用该行。
- 全选:使用所有返回行。
- 清空:清空选择。
底部有「重新改写」按钮,换一版后重新展示。
设置¶
面板内有两个页签:
- 改写:上面的改写功能。
- 设置:配置改写参数。
设置项包括:
- temperature:改写温度,范围 0–2,默认 1。值越高越敢替你补判据,也更容易出现措辞浮动。
- askFirst:布尔开关。开时改写稿要求对方先提出 3 个「内行必问」的问题再动手;关时改写成「我据此推断的前提 / 仍需确认的点」。
- doctrinePath:自定义规则文件路径,留空则使用仓库里的 doctrine.md,支持绝对路径或相对插件目录的路径。
设置保存后立即生效,写入你的 profile 的 cordis.patch.yml,无需重启。
机器复查¶
每条结果在服务端会先经过一次机器复查,检查节数、字数、条目数、形容词式判据、是否只复述目标、列点是否编号。不合格的结果会带着整改要求重写一次。
插件刻意不做的:
- 不向模型暴露任何工具,agent 不会自动调用它。
- 不写会话记录、不落盘草稿,草稿只发给你在 DSH 里配置的模型服务商。
- 不替你决定用哪个模型,改写永远跟随当前对话的模型。
安装与启用¶
前置条件:
- DSH:
>= 0.2.1-rc.1 < 0.3.0(在0.2.1-rc.3上验证)。需要conversation.input.left/conversation.input.dock插槽与configEditor服务。 - Node.js:
^22.19.0或>= 24.0.0(在24.21.0上验证)。 - pnpm:任意近期版本。
- git:任意近期版本。
插件目前未发布到 npm,需要从源码目录或打包后的 .tgz 装入你的 DSH profile。
方式 A:从源码目录安装(推荐)¶
git clone https://github.com/wlllyj/dsh-prompt-forge.git
cd dsh-prompt-forge
pnpm install
然后在 DSH 里把这个目录装成插件。在 DSH 桌面版/Web 版中,插件安装由插件管理器完成,等价于 agent 侧工具 plugin_manager 的 install_bundle:
在 DSH 会话里对 agent 说:
把 <你克隆下来的 dsh-prompt-forge 目录绝对路径> 用 plugin_manager install_bundle 装成插件
装完刷新页面(F5),输入框左侧会出现 ✦ Prompt。
方式 B:打包成 tgz 再装¶
git clone https://github.com/wlllyj/dsh-prompt-forge.git
cd dsh-prompt-forge
pnpm install
pnpm pack # 生成 dsh-prompt-forge-<version>.tgz
把生成的 .tgz 路径交给 plugin_manager install_bundle,同样刷新页面。
方式 C:直接装预构建的 tgz(不用装 Node/pnpm)¶
每次发版都会把打好包的 tgz 挂在 GitHub Release 上:
curl -L -o dsh-prompt-forge-0.10.1.tgz \
https://github.com/wlllyj/dsh-prompt-forge/releases/download/v0.10.1/dsh-prompt-forge-0.10.1.tgz
把下载到的 .tgz 路径交给 plugin_manager install_bundle,然后刷新页面。
安装后自检¶
- 输入框左侧出现
✦ Prompt胶囊(与已有的其它输入框按钮并排)。 - 设置 → 插件里能看到
dsh-prompt-forge,状态为启用。 - 点击按钮 → 面板出现在输入框上方并立刻开始改写,两个页签可切换。
命令行自检(<port> 换成你 DSH Web 服务端口,桌面版常见为 31021):
curl -s http://127.0.0.1:<port>/promptforge/config
返回 {"ok":true,"value":{"values":{...},"defaults":{...}}} 即宿主半边已就位。
典型用法¶
- 在输入框写下草稿(哪怕一句话也行)。
- 点
✦ Prompt:面板弹出来,同时自动开始改写(没有「生成改写」按钮,点按钮就是开始)。 - 等结果按行列出来;不想要的取消勾选,想保留多条就全选。右下角
重新改写可以换一版。 - 点
替换草稿(用选中的行覆盖草稿)或追加到末尾(保留原草稿,把选中内容接在后面),或直接关闭。
切到「设置」页签不会丢掉当前改写结果;再点一次 ✦ Prompt 关闭面板。
示例¶
草稿(21 字):
把这段会议记录整理成三条待办,明天发群里。
点「改写提示词」后(127 字、2 节,实测会在 130–180 字间浮动):
目标¶
把这段会议记录整理成三条待办,明天发群里。
验收标准¶
- 先只向我提三个「内行必问」的问题;我回答后,你再动手。
- 恰好三条,每条一行,包含:动作、负责人、截止时间。
- 记录里没写明的负责人或时间,标「【待补】」,不要猜测。
直接调接口(脚本/自动化用)¶
printf '%s' '{"text":"把这段会议记录整理成三条待办,明天发群里。"}' > body.json
curl -s -X POST http://127.0.0.1:<port>/promptforge/optimize \
-H 'content-type: application/json' --data-binary @body.json
返回:
{"ok":true,"value":{"text":"…","parts":[{"heading":"目标","body":"…"}],"provider":"<provider>","model":"<model>"}}
配置说明¶
全部配置都在面板的「设置」页签里,改完点 保存 即生效。
| 字段 | 默认 | 范围 | 说明 |
|---|---|---|---|
temperature |
1 |
0–2 |
改写温度;越高越敢替你补判据,也更容易出现措辞浮动 |
askFirst |
true |
布尔 | 开=改写稿要求对方先问 3 个问题再动手;关=改成写出「我据此推断的前提 / 仍需确认的点」 |
doctrinePath |
"" |
路径 | 自定义规则文件;留空用仓库里的 doctrine.md,支持绝对路径或相对插件目录的路径 |
模型不可配置:改写永远使用当前对话的模型(宿主 agentDefaultModel.currentSelection()),避免同一份提示词在不同模型下改出两套风格。
篇幅预算(自动,不占配置项):
| 草稿字数 | 改写上限 |
|---|---|
| < 40 字(tiny) | ≤ 150 字、≤ 2 节 |
| < 200 字(small) | ≤ 240 字、≤ 3 节 |
| < 800 字(normal) | ≤ 900 字、≤ 4 节 |
| ≥ 800 字(large) | ≤ 字数 × 1.4、≤ 5 节 |
规则文件:把 doctrine.md 整份替换成团队规范即可;也可以只把 doctrinePath 指向另一个文件(比如放在共享盘上),插件每次请求都会重新读取,不需要重启或重装。规则文件缺失或读不到时回退到内置副本。
适用场景与注意¶
适合:
- 需要把口语化草稿结构化的人。
- 希望提示词包含可外部验证的验收标准的人。
- 想要按行选择、决定用哪些改写结果的人。
注意:
- 插件以当前 DSH 进程权限运行,安装前建议查看源码与许可证(MIT)。
- 改写依赖当前对话的模型,模型不可用或超时会导致改写失败。
- 规则文件是中文写的,英文草稿的产出语言请根据实际情况测试。
结语¶
Prompt Forge 是一个在输入框旁加一个按钮、把草稿按提示词心法改写并按行返回的工具。它不自动覆盖草稿,而是让你在面板里按行选择替换或追加,同时提供了温度、先问再答开关、自定义规则文件路径等配置项,改写结果还会经过机器复查。如果你需要把口语化的提示词草稿改写成更可执行的结构,可以在 DSH 里安装这个插件。
- 目录页:https://www.skillhub.cn/plugins/wlllyj/dsh-prompt-forge
- GitHub:https://github.com/wlllyj/dsh-prompt-forge