DSH Plugins Marketplace

DSH Plugins

Plugins

/

Workflow & Automation

/

dsh-prompt-optimizer

W

dsh-prompt-optimizer

Manifest valid★ 109

DSH Web Plugin: When you press Enter in the input box, the "Messenger AI" first rewrites your message into a command ready to be sent directly to the working AI — with adjustable tiers, permissions, and context — and automatically determines the orchestration intensity based on task difficulty, then sends it after confirmation.

UI (client)hasBundlePatch

dsh-prompt-optimizer v0.4.3-beta.1 · 提示词优化器(DSH Web 插件)

⚠️ 请务必注意:本插件针对 PTC 模式 进行优化

建议在 PTC 模式下使用本插件;否则可能无法实现明显的效果提升,不排除在其他模式下出现倒退的可能性。

0.4 与 0.1 的区别(一页看懂)

0.1 = 改写器:把用户的话改通顺(病句、错别字、标点、指代),输出仍是那句话的润色版——它不补内容,用户没写到的部分,下游 AI 照样不知道。

0.4 = 需求补全器:用户通常只说一句(10–200 字),它把这句话补成一份完整、具体的要求说明——对象落到具体文件/界面/模块、结果是什么样子、在哪些使用情形下要成立(双击打开/离线/窄窗口/换语言主题)、边界怎么处理、范围到哪里。 不写流程、不写步骤、不写验收清单、不写验证纪律、不写禁止事项——这些是下游 AI 自己的能力;写进去只会占它的注意力预算、收束它的解法空间。

实测(同一句 20 字请求):系统提示词 515 字符(0.3.x 为 6478),产出 422 字符(0.4→0.4.1→0.4.3:4588→2164→422),管理性文字 全 0。 管理性文字是有代价的:旧策略要求"逐步验证并贴证据",把下游程序撑爆,10/24 格被判预算截断而白扔。

🌐 Read this in English →

跳到英文文档(英文文档顶部同样有回到中文的按钮)

中文 | English

界面语言跟随 DSH:DSH 设成中文则全中文,设成英文则全英文(不再只支持中文)。当前版本适用于 dsh-0.1.6-alpha.1(0.1.5-rc.1 亦可运行)。


⚠️ 请先读这五点(作者郑重声明)

  1. 本插件目的是优化提示词,节省因为书写提示词而消耗的时间,并帮助用户更准确地传达意思;本质上是让 AI 可以多一步自我规划、约束。
  2. 本插件在 DeepSeek-V4.1-Flash 这种能力较强、但发挥受提示词影响严重的大模型上有明显作用。
  3. 本人仅使用此插件测试过部分 OneShot 类型的任务。本 README 第七节给出的实测数字,都是特定测试题 + 特定评分卡上的结果,不代表你的任务也一定提升;建议对此插件的实际作用持保守意见。
  4. 本插件完全开源,支持任何人、任何形式使用并修改此插件,也欢迎提出建议,以及各种测试。
  5. 语言与兼容性:界面已支持中文与英文(跟随 DSH「设置 → 通用 → 语言」,zh / en 即时切换);当前此插件版本(v0.4.3-beta.1)适用于 dsh-0.1.6-alpha.1。升级 DSH 前请先看 DSH-COMPAT.md;该文档记录了接口核对、升级步骤与升级后的逐项验收结果。

🆕 更新介绍(What's new)

v0.4.3-beta.1 —— 本版:需求补全器(0.4 系列)

  • 策略换代:从"改写器"(0.1)改为"需求补全器"(0.4)——把用户一句 10–200 字的请求,补成一份完整具体的要求说明(对象、结果、使用情形、边界、范围)。
  • 不写流程:不写步骤、不写验收清单、不写验证纪律、不写禁令——这些是下游 AI 自己的能力;写进去只会占它的注意力预算、收束它的解法空间。
  • 体量:系统提示词 515 字符(0.3.x 为 6478);同一句请求的产出 422 字符(0.4 → 0.4.1 → 0.4.3:4588 → 2164 → 422),管理性文字全 0。
  • 推导与实测见 evidence/ARCHITECTURE-v5.md;更早版本的逐项变更见 CHANGELOG.md。

作者:啃轮胎的西狐 · 版本 0.4.3-beta.1 · 版本日期 2026/09/16(插件内 ? 面板最底部也有同样署名)

📦 下载:本仓库的 Releases 提供可安装的 .tgz 包(npm pack 产物,安装方式见下一节)。


一、安装

方式 A:像安装其它 DSH 插件一样(推荐)

两步:先把包装进 profile,再把包名登记为 bundle 层。

# 1) 装包(GitHub 仓库 / tarball / 本地目录都行)
#    推荐用 releases/latest 链接:它永远指向当前最新版(旧的预发布版不会顶掉它)
dsh plugin --profile web add https://github.com/WestFox-AwA/dsh-prompt-optimizer/releases/latest/download/dsh-external-dsh-prompt-optimizer.tgz
#    或指定版本(把 <版本> 换成 v0.4.3 之类)
dsh plugin --profile web add github:WestFox-AwA/dsh-prompt-optimizer#<版本>
dsh plugin --profile web add ./dsh-external-dsh-prompt-optimizer-0.4.3-beta.1.tgz

# 2) 在 ~/.dsh/profiles/web/package.json 的 dsh.profile.bundles 里加一行:
#      "@dsh-external/dsh-prompt-optimizer"

下载页:https://github.com/WestFox-AwA/dsh-prompt-optimizer/releases/latest —— 这一页永远是当前最新版; 要旧版请到 releases 列表里按 tag 找。

重启 DSH 即生效。为什么还要改 bundles:dsh plugin 只是把参数转发给 pnpm(只负责安装),而"哪些包作为 bundle 层参与装配"由 profile 的 dsh.profile.bundles 决定。本插件自带 cordis.patch.yml,会在装配时把自己的 entry 插进根条目表 —— 与 @dsh-external/dsh-super-injector、@dsh-external/dsh-graded-mode 完全同一写法。

方式 B:不动 bundles,用 profile patch 插入

不想改 dsh.profile.bundles 时,也可以直接在 profile 的补丁层插一条 entry:

# ~/.dsh/profiles/web/cordis.patch.yml (顶层 YAML 数组)
- insert:
    - id: prompt-optimizer
      name: '@dsh-external/dsh-prompt-optimizer'
      config: {}

包本身仍需可解析(dsh plugin add 装好,或手工放好 node_modules 软链/junction)。

⚠️ 方式 A 与方式 B 只能选一种:两种都做会让同一条 entry 插入两次,启动时报 duplicate loader entry id。

验证安装

dsh --dump-config --profile web | grep -A2 'id: prompt-optimizer'   # 装配树里有它,且只有一条
node -e "console.log(require.resolve('@dsh-external/dsh-prompt-optimizer',{paths:['<profile 目录>']}))"

运行要求

  • DSH Web(dsh web;本插件只在 web 平台提供 UI)。
  • 至少一条可用的 LLM 路由(优化默认跟随当前会话模型;也可在插件的模型胶囊里单独指定)。
  • 插件本身零运行时依赖、无需构建(lib/ 里就是可直接运行的 JavaScript)。

二、30 秒上手

  1. 在输入框正常打字,按 Enter(或点发送)。
  2. 消息被拦下,右下角弹出迷你窗,里面有两栏:思考(优化 AI 的推理过程,带本次思考 token 数)与产出(给你要发的那条命令)。
  3. 权限为 需要审查 时:可以直接编辑产出文本 → 点 确认提交 发出;不满意就 重新生成(会让你先填一个方向)。
  4. 权限为 自动输出 时:优化一完成就自动发出,无需操作。
  5. 不想优化了:点 ‹ 回退(停优化 + 关窗 + 不发消息 + 原文留在输入框),或点 放行本条 直接按原文发出。

输入框左侧的控件,从左到右是:优化档位(滑块)、优化权限(滑块)、上下文(滑块 + 右侧贴着「回合 / 全文」转化按钮)、优化模型(胶囊),再右边是 使用帮助(?)。点 ? 有同样的简明教程 + 署名。


三、控件怎么选

控件取值说明
优化档位关闭 / 普通 / 高级 / 极端(英文界面:Off / Low / High / Ultra)关闭=完全不拦截,恢复原生发送;普通=只把话说清楚(约 3 秒);高级=先自己把事推一遍,再把必要假设、步骤、边界与验收标准写成要求(约 20 秒);极端=读项目真实结构(只读,不写盘)+ 按难度决定是否建 goal/分阶段,命中不可逆/发布类信号才给多情况预案(约 20 秒)
优化权限需要审查 / 自动输出审查=产出可编辑,点「确认提交」才发;自动=优化完成即自动发出(失败也会按原文发出,绝不静默吞消息)
上下文回合 0~10 / 全文 关 / 开滑块右侧那枚按钮点一下换一态:回合=读入最近 0~10 回合,只带你的原话(工作 AI 的回复只留长度与工具次数,防止它的方案/口吻被当成你的意图),总预算 1.2 万字符;全文=把工作 AI 现在看到的完整上下文(双方全文)交给优化模型,只有关/开两档,总预算 6 万字符。两种模式超限都按整回合丢弃最早的,绝不截断单条约束。
优化模型任意 provider/模型只影响优化,不动对话模型;弹层里会标出「会话当前」模型;某家 provider 连不上会被标注「不可达」,不会拖慢整张列表
界面语言中文 / English跟随 DSH 设置里的语言,插件内不单独设置

想要发挥插件所有能力且自动化,建议【极端】+【自动】。

上下文要用哪种?平时用「回合 0~3」(省 token、够用);需要它理解"现在聊到哪了"时切「全文 → 开」(对齐工作 AI 的上下文,代价是每次多花几万字符)。


四、迷你窗

  • 可拖动:按住标题栏拖。
  • 可改尺寸:拖右下角手柄,尺寸会记住(下次开窗沿用)。
  • 不会跑丢:窗口缩小/切换会话后再打开,会自动夹回可见区域。
  • 按会话隔离:窗口属于触发它的那个会话。
  • 关键按钮永不消失:底部是常驻操作栏(确认提交 / 重新生成 / 回退 / 放行 / 重试),不随内容滚动,窗口再小也点得到;窗口很矮时会自动压缩内容区。
  • 思考 token 计数:状态行显示本次总用量(如 Σ 1.1k tok),「思考」标题右侧显示思考消耗的 token(provider 不上报时显示 — tok),「产出」标题右侧显示输出 token,旁边还有字数。

五、常见问题

现象原因 / 处理
按回车没反应,消息也没发出去说明已进入优化流程,看迷你窗的进度;若窗口不在视野,切到该会话即会出现
优化很慢高级/极端档需要 20 秒左右(极端档还会读项目结构)。想快就用普通档
提示"优化模型不可用 → 已按原文发出"所选模型连不上(例如本机 ollama 未启动)。插件会自动回退到会话默认模型,下次用默认模型
想临时不用把档位滑块拉到最左「关闭」
弹层里某家模型标「不可达」该 provider 当前不可用(未启动/无权限),不影响其它模型
界面能换英文吗能。跟随 DSH「设置 → 通用 → 语言」:选中文则全中文,选英文则全英文,切换即时生效(v0.2.2-beta.1 起)
点了「放行本条」/「确定回退」,消息却又自动发出了一条(在会话里显示成「排队发送」)这是 0.1.9 修掉的缺陷:放行/回退后,迟到的"优化完成"事件仍会走自动发送,补发了第二条。现在运行一旦被用户终结(放行/回退)就带终态标记,autoSend 与 done 分支都会跳过;放行时还会同时中止后端运行。请升级到 0.1.9beta1 及以上
命令里老是让我先建 goal / 列 todo,太啰嗦这是按难度判定的结果:只有多点改动或命中高危信号才会要求建目标/分阶段;单点小改应当只给一句命令 + 一句完成标志。若简单任务被过度编排,请把该条输出发我 —— 判定用例与规则见 PROMPT-OPTIMIZATION.md
命令里反问我"请确认用哪个文件",明明它自己查得到这是 v0.2.1-beta.2 修掉的缺陷(把"项目事实未知"误写成"停下等用户确认")。请升级;若仍出现,把该条输出发我

六、卸载

dsh plugin --profile web remove @dsh-external/dsh-prompt-optimizer

若用"方式 B"安装,请同时删除 cordis.patch.yml 里那条 insert。插件设置存在 ~/.dsh/prompt-optimizer.json(档位/权限/模型/上下文模式/迷你窗尺寸/按会话设置),如需彻底清理可一并删除。


七、实测数据与证明(不吹嘘)

测量方式(全部为宿主内一次性测量台,不进产品代码;脚本在 evidence/,可复现):

题目(用户原话) --relay 优化--> 命令 --solve 执行--> 执行 AI 的回答 --judge 评分--> 分数
  • 固定执行 AI 与固定评分卡,每道题跑同一批条件;判分时不给评分员看条件标签(盲评)。
  • 命令侧:优化器产出的命令本身注入了多少实质要求,每题满分 5 分。
  • 答案侧:执行 AI 回答质量,每题满分 10 分(严格 0/1/2 逐点评分)。
  • 单格噪声实测 ±1 分(命令侧)/ ±2 分(答案侧),所以关键结论用重复采样(n=2~4)并如实标注落在噪声内的差异。

命令侧(4 道题,满分 20)

条件高级档极端档
无优化(对照)4≈4
0.1.1 旧提示词1918.7(n=2~3)
0.1.9 退化版1615.3(n=2~4)
0.2.1 修复后(现版基线)1818
  • 退化是真实存在的(极端档 18.7 → 15.3),不是主观感受;修复后回到 0.1.1 水平或更好:极端档在 10/10 次配对比较中 ≥ 退化版(符号检验 p≈0.001)。
  • 四档都测过:关闭=无优化对照(4/20,说明优化确实带来变化);普通=按设计只做语言层修复、不新增需求,故不参与"实质注入"比较。

答案侧(3 道硬题,满分 10)

条件T5 条件概率陷阱T6 物理量级估算T4 工程题
无优化84~59
0.1.1 旧109 / 79
0.1.9 退化版8 / 109 / 94
0.2.1-beta.110 / 1010 / 94
0.3.1(先防后查)93.9%169/1809 胜 0 负 1 平

必须一起读的四条限制(否则会高估这些数字):

  1. 极端档 T4 的低分(1~6/10)是测量台局限,不是提示词缺陷:台里的执行 AI 没有文件系统/命令工具,而命令要求它"先扫工作目录",于是它只能停下。该命令本身经逐字检查是全场质量最高的,因此这一格不计入结论。
  2. 答案侧在强模型上会饱和:不少格"无优化"也能拿高分(例如 T4 的 9/10),所以答案侧的区分力弱于命令侧。
  3. 样本量有限:多数格 n=13,单格 12 分的差异属于噪声;本文只把"方向一致 + 活跃路径可见"的差异当作结论。
  4. 以上数字来自特定 4~7 道题(条件概率陷阱、量级估算、工程改造等),不能外推到你自己的任务。

复现入口:evidence/prompt-snapshot.cjs(导出任意版本的三档提示词快照)、evidence/prompt-invariants.cjs(约束闸门:30 条正向 + 4 条反向断言,含 v0.2.2 新增的「输出语言跟随用户原话」)、evidence/lab-build.cjs / lab-ans.cjs(测量台)、evidence/lab-ship.cjs(结果汇总)。改提示词前先跑闸门,失败即回退。

产物级验证(单文件 HTML,独立审计,不依赖浏览器):H1 法线盒体 / H2 操控 / H3 审计并修复反向面,两条件各 7 份产物 —— 发布版 5/7 = 71.4% · v0.3 5/7 = 71.4%(打平);H1、H2 两条件全部通过(独立审计 inwardFaces 全为 0),H3 各 2/4,四份失败全是"接口未暴露到全局"(属执行 AI 的接口一致性,命令侧 4/4 都已要求)。产物级目前不区分两个条件,有区分度的是命令侧。验证器自证:正确夹具 15/15 PASS、绕序反转夹具 FAIL 且 inwardFaces=12。一键复跑:node evidence/artifact-check.cjs。

产出语言跟随你(真跑实测,非模拟):走宿主生产路径各跑一条 —— 英文输入 Add a rate limiter to the login endpoint. → 产出全文 3511 字符、中日韩字符 0、首行 First locate the login endpoint: …;中文输入 给登录接口加一个限流。 → 1353 字符、中日韩 1037(占 0.766)、首行 任务:给登录接口加限流。(evidence/lang-probe.cjs + lang-probe.json,统计基于全文快照而非 4000 字截断)。


八、实现要点(给想改代码的人)

  • 两个半边:lib/index.js(宿主:提示词部件化组装与传话框架、只读工具循环、SSE 流式运行、模型目录、状态落盘、HTTP 路由)+ lib/client.js(浏览器:控件行、模型/帮助弹层、迷你窗、捕获阶段拦截回车与发送按钮)。
  • 提示词是部件化组装的:RELAY_IDENTITY → 实质优先 → 档位正文 → FACT_RULES → OUTPUT_CONTRACT → PROCESS_RULES,历史纪律按运行时的回合 or 全文模式二选一注入(buildSystem(tier, { historyMode }))——同一句规则只有一份,改一处全局生效。现版长度:普通 1405 / 高级 2424 / 极端 2422 字符。
  • i18n 实现:客户端读取 DSH 的 locale 服务(getSnapshot().active 为 zh / en)并订阅变化;文案表 EN_TEXT 以中文原文为键(179 条),查不到即原样返回中文,因此漏翻只会显示中文、不会显示空白;语言服务不可用时按中文兜底。
  • 拦截是捕获阶段在 window 上做的(早于 React 与编辑器自身处理):Shift+Enter 换行、/ 命令、空草稿、仅附件、输入卡片之外的回车一律放行。
  • 不改动官方发送链路:确认发送时用官方 inputActions.setDraft() + submit(),与手动发送完全同一条路。
  • 自检:evidence/ 下有可复现的自检(range-demo 滑块、help-demo 帮助面板在视口内、i18n-demo 强制 en/zh 双语断言);ACCEPTANCE.md 是逐格验收清单;evidence/*.jsonl 是机器留痕(客户端 beacon、遥测、对照数据)。

九、隐私与边界

  • 优化请求只发送你的输入文本,以及(高级/极端档)当前项目的目录树摘要与关键文件名;极端档的只读查证限定在项目根目录内,不写盘、不执行命令。
  • 上下文模式按你的设置读取本会话的历史:回合模式只带你的原话;全文模式带双方全文(受 6 万字符预算约束,超限整回合丢弃)。
  • 迷你窗默认不发送任何消息:只有「确认提交」/「自动输出」/「放行本条」三条路径会把内容交回官方发送链路。
  • 本插件为客户端 + 宿主本地插件,不引入任何第三方服务。

十、许可与协作

BSD-3-Clause。完全开源:任何人、任何形式使用与修改都欢迎;也欢迎提 Issue、提 PR、以及各种测试反馈。见 LICENSE 与 CHANGELOG.md。

Comments

Loading…

Similar plugins

dsh-quick-prompts

by lnyuqian

DSH Web 插件:输入框快捷输入(闪电笔),权限切换旁一键选预设提示词直接发送,提示词可增删改并持久化到项目根目录

Tools & CapabilitiesTerminal & ClientsSessions & MessagesManifest valid

★ 0

↓ 41/wk

MIT

JavaScript

Oct 17, 2026

dsh plugin --profile web add dsh-quick-prompts

by kee0012

DSH 提示词优化插件:输入框工具栏一键 ✨ 优化(直接写回可还原),风格/上下文/还原等设置收纳进 ▾ 弹出层。

Development & InfrastructureManifest valid

★ 2

↓ 356/wk

MIT

JavaScript

Oct 13, 2026

dsh plugin --profile web add dsh-prompt-optimizer

by tianyaojiudi-prog

DSH(DeepSeek Harness) 插件:把一段可在设置页随时改写的文字,作为全局系统提示词段注入到所有会话,含子代理与工作流内部子代理;文本与开关即时生效,无需重启。

Tools & CapabilitiesManifest valid

★ 9

MIT

JavaScript

Oct 4, 2026

dsh plugin --profile web add dsh-djy-xttsc

by 1250589385

DSH 快捷发送插件:在输入框下方、上下文进度旁提供可自定义的快捷指令按钮,一键把预设文字直接发送到当前对话,省去重复打字;每条指令的名称、字号、透明度、模块化形状与发送内容均可就地编辑,右键按钮组可拖动换位置。修复上下文进度与累计使用区域被挤压后无法点击的问题。

Terminal & ClientsManifest valid

★ 0

MIT

JavaScript

Oct 23, 2026

dsh plugin --profile web add dsh-quick-send

by better-er

DSH Web 暂停插件:agent 完成一轮工具交互、正要发出下一次模型请求之前在 agent/pre-step 处拉门暂停,保持 composer 输入框可用,人类在主输入框按回车放行,空草稿为无感继续、带字作为插话一并放行;此暂停不打断任何在途 API 调用,模型上下文完整、无感知。纯插件自包含,不改 DSH 源码。

Workflow & AutomationManifest valid

★ 26

↓ 231/wk

MIT

TypeScript

Oct 29, 2026

dsh plugin --profile web add dsh-pause

by sun04222

Adds an ✦ button to the DSH composer that rewrites the current draft into a clearer, more specific prompt in the same language, with one click to restore the original, plus an enhance_prompt tool the

UI & ExperienceDevelopment & InfrastructureManifest valid

★ 1

MIT

JavaScript

Oct 27, 2026

dsh plugin --profile web add dsh-prompt-enhance