DeepSeek Harness 提示词优化插件 (dsh-prompt-optimization-master)

前言

DeepSeek Harness(DSH)的插件生态允许用户扩展输入框的功能。提示词优化插件借鉴了腾讯 WorkBuddy 的 EnhancePrompt 机制,旨在解决草稿不够清晰的问题。该插件通过独立调用模型,将输入框中的未发送草稿改写为更具体的提示词,并提供一键还原功能。

安装

通过 DSH 的插件命令行工具安装,支持 Web 和桌面端(需注意 Origin 校验)。

dsh plugin --profile web add github:ruiyukirin/dsh-prompt-optimization-master

核心功能

插件在 DSH 输入框的工具栏右侧添加了一个提示词优化按钮。其行为由草稿状态和输入框状态共同决定。

  1. 按钮状态流转

    • 有草稿且空闲:显示 ✨ 按钮。点击后发送草稿给模型改写,结果直接替换输入框。
    • 优化中:显示 ⏳ 按钮。点击可取消请求并还原原文。
    • 已优化:显示 ↩️ 按钮。点击恢复到优化前的原文。
  2. 智能显示与隐藏

    • 空草稿隐藏:当草稿为空(包括零宽空格 U+200B)时,按钮自动隐藏。
    • 忙状态隐藏:当输入框处于提交(submitting)或仲裁(adjudicating)状态时,按钮隐藏,防止误操作。
  3. 会话与上下文管理

    • 独立调用:优化请求走独立的模型调用,不创建会话、不写入对话历史、不读取历史上下文。
    • 自动复位:切换会话后,上一个会话的备份与错误提示会自动清除,防止状态残留。

配置

在 DSH 的设置面板中找到「提示词优化」独立条目进行配置。

  • 启用 ✨ 按钮:开关按钮的显示。
  • 最少字符数:设置触发优化的最小草稿长度,留空则跟随宿主默认值。
  • 指定模型:默认跟随当前会话模型。勾选后可固定提供方与模型 ID,将优化请求路由到更便宜的模型上。

工作原理与限制

该插件使用独立的 HTTP 路由(POST /dsh-prompt-enhance/enhance)进行模型交互,而非 Remote。

  1. 提示词设计
    采用双层结构:System 层定义角色(提示词工程专家),User 层提供任务模板和少样本示例,重点锁定输出语言并压制元话术。

  2. 桌面版 Origin 校验
    桌面版界面运行在 dsh-app:// 协议上。Electron 会转发非静态资源请求,但强制要求请求头 Origin: dsh-app://app。宿主侧必须显式接受该 Origin 校验,否则桌面版会返回 403。

  3. 思考型模型预算问题
    实测发现,思考型模型(如 hy4-preview)会吃光输出预算,导致可见输出为 0。插件已修复此问题:

    • 动态分配输出预算:思考型模型分配 32768,普通模型分配 4096。
    • 使用 ctx.llm.resolveModelInfo() 判断模型是否开启思考,并按模型自身的 defaultMaxTokens 封顶。
    • 增加 60 秒硬超时,并针对截断错误提供自动重试机制。

开发与调试

插件的客户端和宿主端修改对热更新的影响不同。

  1. 修改规则

    • 客户端半改动:修改 client/client.js 等文件后,刷新页面即可生效。HMR 仅在模块首次加入时推送一次。
    • 宿主半改动:修改 dsh/index.js 等文件后,必须重启 DSH。Loader 会缓存进程内的模块。
  2. 离线测试
    插件包含完整的测试套件,可在不依赖 DSH 的情况下运行。

npm test        # 运行宿主半、客户端半与推理预算测试
  • 宿主半测试(test/smoke.mjs):覆盖路由注册、请求守卫、提示词组装等 45 项检查。
  • 客户端半测试(test/client.test.mjs):覆盖状态机与状态转换,共 57 项检查。
  • 推理预算测试(test/reasoning-budget.mjs):覆盖思考识别、上限封顶、截断重试,共 29 项检查。
羽毛球分组比赛记分
小程序二维码

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

小夜