dsh-prompt-optimizer:在 DSH 输入框旁一键优化提示词

前言

在 DeepSeek Harness 里给智能体写提示词,常见做法是先在别处打磨好再贴进输入框,或者在 DSH 里反复手改草稿。这两条路都能用,但都会把「写草稿」和「把草稿改清楚」拆成两段操作。

Nyco1d/dsh-prompt-optimizer 把优化步骤放进对话输入区:在输入框旁增加魔法棒按钮,把当前草稿送去模型改写,结果在浮层里与原文左右对比;只有你点「采用」才会写回输入框。下面介绍它的定位、安装方式和日常使用。

这是什么

插件在 DSH 会话输入框左侧挂接按钮,通过 Host 侧路由调用你已配置的模型通道做提示词优化,不依赖本机安装独立的 Prompt Optimizer 桌面应用,也不需要额外 API key。

核心功能

依据项目 README,当前版本(package.json 标注 0.2.0)提供这些能力:

  1. 一键优化:左键点魔法棒,将当前草稿送去优化,浮层内并排显示原文与结果。
  2. 不自动覆盖:优化结果不会直接替换草稿;可「采用」写回、「再优化一次」或「丢弃」。
  3. 两种内置模式:消息优化(大致保持一句话长度)、结构化重写(扩写成角色设定类文本)。
  4. 模型可控:默认跟随 DSH 当前选中的默认模型;也可在设置面板里指定任意已配置模型。
  5. 零配置启动:走 DSH 自有模型通道,一般无需单独配置密钥。
  6. 自定义模式:可在配置文件 customModes 中追加自己的 system 模板(见下文)。

交互形态上受 linshenkx/prompt-optimizer 启发,但本仓库代码与内置模板为独立实现(MIT);未内嵌第三方 AGPL 项目的官方模板原文。

安装与启用

DeepSeek Harness 采用插件扩展能力;可在应用内插件市场搜索,或使用 README 中的安装命令。

市场安装:在 DSH 插件市场里搜索 prompt-optimizer 安装。

从 GitHub 安装(将 <profile> 换成你的 profile 名):

# 从 GitHub 仓库安装(会取默认分支最新代码)
dsh plugin --profile <profile> add Nyco1d/dsh-prompt-optimizer

# 或装一个打好的发布包
dsh plugin --profile <profile> add https://github.com/Nyco1d/dsh-prompt-optimizer/releases/download/v0.2.0/dsh-prompt-optimizer-nyco1d-0.2.0.tgz

桌面端请在应用内 设置 → 插件 里安装,不要用命令行(profile 由应用管理)。

运行环境(engines 声明):

  • DeepSeek Harness >=0.2.0-rc.1
  • Node.js ^22.19.0 || >=24.0.0

安装前建议浏览仓库源码与 LICENSE(MIT)。插件在 DSH 进程权限下运行,与其他 DSH 插件相同。

典型用法

装好并启用后,在对话输入框旁使用魔法棒:

操作 效果
左键点魔法棒 优化当前草稿,弹出左右对比浮层
Shift + 左键点魔法棒 直接打开设置面板
右键点魔法棒 打开设置面板(模式 / 模型)

设置面板里可切换优化模式、搜索并指定模型;选择立刻生效,无需重启 DSH。

配置默认写在 ~/.dsh/prompt-optimizer.json(根目录可由环境变量 DSH_HOME 改变)。多数情况下用设置面板即可,不必手改文件。

若需自定义模板,在 customModes 中追加条目,例如:

{
  "mode": "context-message-optimize",
  "provider": "",
  "model": "",
  "customModes": [
    {
      "id": "my-mode",
      "name": "我的模板",
      "description": "一句话说明这个模板干什么",
      "system": "你负责……(这里写 system prompt)"
    }
  ]
}

字段要求:id 必填且勿与内置模式重名;system 必填;name / description 仅用于界面。改完后在设置面板里重新打开一次即可看到新模式(Host 侧每次请求会重读配置)。若修改仓库内 templates/builtin.js 的内置模板,需重启 DSH 才生效。

工作原理(简要)

README 中的结构如下,便于排查问题:

浏览器(client.js)
  ├─ 挂到 conversation.input.left 的魔法棒按钮
  ├─ 用 slot props 的 useInput 读草稿、inputActions.setDraft 写回
  └─ fetch 到 Host 的 /prompt-opt/*
Host(index.js)
  ├─ ctx.webServer 注册四条 JSON 路由
  └─ ctx.llm.stream 用 DSH 已配置的模型跑优化

无进程外依赖、无外部服务、无遥测;改 client.js 界面后刷新页面即可。

适用场景与注意

适合:常在 DSH 里写 Agent / 对话提示词,希望在同一界面完成「草稿 → 优化 → 对比 → 采纳」的开发者;已配置好 DSH 模型通道、希望复用同一套推理资源的情况。

注意:

  • 与「仅重整原始提示词」的简单逻辑不同,本插件通过模型按模式改写内容,会产生 token 消耗。
  • 内置模板与 linshenkx 官方 AGPL 模板不是同一份文本;若要官方模板体系与更多桌面端能力,应直接使用原项目,或通过 customModes 自行导入(属个人使用行为)。
  • 社区目录星标等元数据以站点展示为准;仓库当前 README 侧重功能与安装,未附带用户案例或性能数据,本文不另作补充。

结尾

dsh-prompt-optimizer 把提示词优化嵌进 DeepSeek Harness 输入流程:对比后再采纳,模式与模型可在设置面板中调整,并支持 customModes 扩展。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye