DeepSeek Harness 插件

deepseek-harness-prompt-optimizer

LLM-backed prompt optimization bundle for DeepSeek Harness(英文原文)

跳到安装方式

来源信息

GitHub 仓库
lizhecome/deepseek-harness-prompt-optimizer
最近更新
2026年8月15日
分类
工具与能力
GitHub stars
2
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/lizhecome/deepseek-harness-prompt-optimizer
插件名:deepseek-harness-prompt-optimizer
作者:lizhecome

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器4 个文件
README.zh.md来源说明 · 只读预览
README 语言

DeepSeek Harness 提示词优化插件

这是一个可安装的 DeepSeek Harness profile bundle。Web UI 会在发送按钮旁增加一个闪光按钮,宿主插件也可以在主 agent 请求前调用辅助 LLM 自动优化用户提示词。实现方式是使用 Harness 的客户端扩展槽和 Cordis 的协作式 agent/pre-step waterfall,不修改 agent loop。

English

安装

要求 DeepSeek Harness 0.1.0-rc.6 或更高版本。

gh repo clone lizhecome/deepseek-harness-prompt-optimizer
cd deepseek-harness-prompt-optimizer
dsh plugin --profile web add --ignore-workspace-root-check .

若要用于一次性任务,可将 web 改为 headless,此时只启用自动优化;输入框按钮仅在 web profile 中提供。DeepSeek Harness 会先把 add . 锚定到当前 checkout,再让 pnpm 切换到 profile 目录。包清单声明了 dsh.bundle patch 和 Web 客户端入口,因此安装后会自动挂载宿主优化器、invariant companion 和输入框控件。

卸载命令:

dsh plugin --profile web remove --ignore-workspace-root-check @lizhecome/dsh-prompt-optimizer

行为

输入框按钮

Web UI 会通过 conversation.input.right 扩展槽把闪光按钮放在正常发送控件之前。草稿为空或输入框正忙时按钮不可用。点击后会执行一次辅助模型请求,并用改写结果替换尚未发送的草稿。

应用结果前,按钮会同时比较草稿 revision 和完整文本。若用户在优化期间继续编辑,返回结果不会覆盖新内容,当前草稿会保留。网络、路由或模型失败时也不会改动草稿,错误会显示在按钮的无障碍状态和 tooltip 中。

宿主还提供 /optimize-prompt <prompt> 命令。按钮成功后会为该结果登记一次严格文本匹配:若原样发送,自动监听器不会再次优化;若先编辑再发送,文本不再匹配,发送时会按正常自动策略处理。

自动优化

监听器会先调用下游监听器,再检查最终的 PreStepDecision。它只优化来源为直接用户、全部内容块都是文本、且去除首尾空白后长度达到 minChars 的消息。插件上下文、工具结果、goal round、relay、图片和短提示词都会原样通过。

默认的 append 模式保留原始用户消息,并将优化结果作为单独标记来源的 notice 追加。两条消息都会在主请求前记录为 user/message 事件,因此回放内容与模型实际看到的内容一致。replace 模式保留原消息的 identity 和 source,但只记录并发送优化后的文本。

优化模型的路由优先级如下:

1. 配置中的 providermodel; 2. session 最近一次已路由的请求; 3. agent 显式配置的 provider/model。

若三者都不存在,优化会失败。默认 pass-through 策略会记录 warning 并保留原提示词;fail 会让拟进入的 step 失败。turn 的取消信号始终会继续传播。

配置

后应用的 profile patch 会整体替换一行的 config,因此需要重写所有希望保留的字段:

- id: prompt-optimizer
  config:
    provider: deepseek
    model: deepseek-chat
    maxTokens: 1024
    minChars: 20
    delivery: append
    failureMode: pass-through
    instruction: >-
      Rewrite the prompt for precise execution. Preserve every constraint and
      return only the rewritten prompt; do not solve the task.
字段默认值含义
provider''辅助模型 provider;必须与 model 一起设置,留空则跟随 agent 路由。
model''辅助模型;必须与 provider 一起设置,留空则跟随 agent 路由。
maxTokens1024优化输出的正整数 token 上限;达到上限的结果会被视为不完整并拒绝。
minChars20触发优化的非负字符数阈值。
deliveryappendappend 保留原文并追加有来源的 notice;replace 替换原文。
failureModepass-through运行失败后保留原提示词,或用 fail 让拟进入的 step 失败。
instruction内置辅助调用的 system instruction;空白值会在加载时被拒绝。

providermodel 是不可拆分的一对。只设置其中一项、使用非整数上限或空白 instruction 都会导致插件加载失败。

模型与成本影响

每条符合自动优化条件的提示词会增加一次独立模型请求。点击按钮也会增加一次请求,但原样发送按钮结果时会消耗一次性绕过标记,不会再增加一次优化请求;若发送前编辑了结果,则重新按自动条件判断。每次优化的输入是草稿或直接用户消息以及优化器 system instruction,输出受 maxTokens 限制。自动优化的 append 会让主请求同时包含原文和优化结果,因此 token 更多;replace 不重复主请求 token,但 durable history 中不再保留原文。辅助请求复用 session id 做路由,但不复用主会话前缀。

内置 instruction 要求优化器保留语言、事实、标识符、引用文本、约束和输出格式,减少歧义与冗余,不虚构需求,并且只返回改写后的提示词。

已知限制

  • 多模态或混合内容块的直接用户消息不会被优化。
  • 提示词优化本质上仍是模型生成,可能扭曲意图;需要审计性时应使用 append
  • 辅助模型交互不会作为单独的模型事件保存。按钮结果会记录在 durable command lifecycle 中,自动交付的结果则记录在主 turn 中。

开发

pnpm install
pnpm run check

测试会启动已发布的 Harness 服务和真实 agent loop,并使用确定性的进程内 LLM adapter,覆盖 durable append/replace、失败回退、短提示词绕过、命令执行、一次性去重、监听器 dispose、DOM 草稿替换和并发编辑保护。