← Back to home@kee0012

dsh-prompt-optimizer

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

Stars
2
Language
JavaScript
Created
Sep 6, 2026
Updated
Oct 13, 2026
GitHub repo

Introduction

dsh-prompt-optimizer

DSH 提示词优化插件:在输入框工具栏放一个 ✨ 按钮,用当前会话所选模型优化草稿并直接写回。

简介

插件在输入框底部工具栏(模型选择左侧)注册一个紧凑的 ✨ 图标按钮。写好一段提示词草稿后点一下 ✨,插件会调用当前对话所选的大模型完成一次提示词优化,并把结果直接写回输入框——日常使用一键完成,无需先展开任何设置。

功能特性

  • 一键优化:点 ✨ 即可,自动读取当前草稿与当前模型,按生效设置优化并直接写回输入框。
  • 使用当前模型:跟随当前会话的模型选择(provider / model / reasoningEffort),无需单独配置。
  • 深度理解:系统提示词要求模型先分析字面意思、真实意图、角色、任务、上下文、受众、输入、约束、输出格式与歧义点,再动手改写。
  • 优化风格:精简 / 标准 / 详细 三选,在 ▾ 弹出层切换并跨会话记忆。
  • 还原原文:应用前会把原文备份到 localStorage,随时可一键还原(有备份时 ✨ 组右缘出现一个小圆点提示)。
  • 预览确认:可切到「预览确认」,先对照原文与优化结果,确认后再写入。
  • 防覆盖:直接应用时若请求期间草稿已被改动,自动降级为预览弹窗,不覆盖你正在输入的新内容。
  • 上下文感知:可开启「上下文」,让优化模型参考当前会话最近几条消息。
  • 稳定输出:服务端固定 temperature = 0.4,减少随机放飞。
  • 失败提示:请求失败或模型无返回时,按钮旁弹出错误 toast(数秒后自动消失),按钮 title 也会保留错误信息。
  • 紧凑常驻:只有一个 ✨ 图标 + 右侧小三角 ▾(合计约 50px),风格、上下文、还原等设置全部收进 ▾ 弹出层。

安装

插件托管在 GitHub(kee0012/dsh-prompt-optimizer,未发布到 npm),DSH 支持以 git 依赖方式直接安装:

# 从 GitHub 安装(推荐,日常使用;拉取默认分支最新提交)
dsh plugin --profile desktop add github:kee0012/dsh-prompt-optimizer

安装后需要重启 DSH,新的服务端代码与 client bundle 才会生效。

使用

  1. 在输入框输入或粘贴一段提示词草稿。
  2. 直接点击模型选择左侧的 ✨ 图标。
  3. 等待当前模型返回,优化结果自动写入输入框(原文已备份)。
  4. 想还原原文:点 ✨ 旁的小三角 ▾ → 「↩ 还原原文」。
  5. (可选)进阶:点 ▾ 展开设置,可切换优化风格(精简 / 标准 / 详细)、开启「上下文」、把应用方式改为「预览确认」,或恢复默认设置;这些选择会跨会话记忆。

兼容性

桌面版与 dsh web 均可用。

实现方式

  • 客户端:注册到 conversation.input.right 插槽,读取并写回输入框草稿,设置保存在 localStorage。
  • 服务端:注册同源 HTTP 路由 POST /dsh-prompt-optimizer/optimize,按风格拼接系统提示词,以 temperature = 0.4 调用 DSH 的 LLM 适配器并回传优化文本。
  • 该路由只接受本机 UI 发起的请求(同源校验,其它来源一律 403),请求体上限 1 MiB。
  • 插件只传递 provider、model、text、style 等必要字段,不接触凭据文件。

目录结构

dsh-prompt-optimizer/
├── package.json          # DSH bundle 清单 + client 注入声明
├── cordis.patch.yml      # 把插件插入 DSH 组合层
├── LICENSE               # MIT
├── README.md
├── src/index.js          # 服务端源码:HTTP 路由 + 调用 ctx.llm.stream()
├── client/client.js      # 客户端源码:✨ 按钮 + ▾ 设置弹出层 + 一键写回草稿
└── lib/                  # 构建产物(随仓库发布,安装时直接加载)
    ├── index.js
    └── client.js

src/ 与 client/ 是源码;lib/ 是构建产物,使用者无需自行构建。

已知限制

  • 优化结果的质量取决于当前所选模型,不同模型的表现差异明显。
  • 「还原原文」依赖 localStorage 备份,只在同一浏览器、同一会话内有效;清理站点数据或更换设备后无法还原。
  • 优化是一次完整的全文重写,草稿越长耗时越久;请求体上限为 1 MiB。

反馈与贡献

从源码构建

npm run build    # src/ 与 client/ → lib/(仅用 Node 内置模块,无构建工具链依赖)
npm run gates    # 产物一致性门禁
npm run check    # build + 语法检查 + gates,一条命令跑全链路

src/ 与 client/ 是唯一的手写来源,lib/ 由构建脚本生成,请不要手改 lib/。

许可证

MIT