prompt-optimizer
A DeepSeek Harness (DSH) dynamic plugin that adds an ✨ optimize-prompt button to the chat composer. Rewrites the draft with an LLM — context-aware, with model fallback and visible errors.
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗✨ Prompt Optimizer
一个用于 DeepSeek Harness (DSH) 的插件:在聊天输入框(发送按钮左侧)添加一个 ✨ 按钮,用大模型把当前草稿提示词改写得更清晰、更具体、更有效,并把优化结果写回输入框供确认后发送。支持静态配置(重启自动加载)与动态加载(快速试用)两种方式。
功能特性
- 一键优化:在输入框工具行放置一个 28×28 圆形按钮(单色 ✨ 闪光星图标,与 Harness 浅色外观统一),点击即可用大模型改写当前提示词。
- 上下文感知:优化时自动携带最近 8 条对话(用户 + 助手),让模型先理解你的真实意图再改写,避免优化结果偏离需求;新会话没有上下文时,则直接基于提示词本身优化。
- 模型回退链:优先使用配置的默认模型(
agentDefaultModel.currentSelection());若未配置或不可用,自动回退到第一个已注册 provider 的第一个可用模型(llm.listProviders()+llm.listModels())。 - 可见的错误提示:失败原因不再只藏在
title里——同时输出到浏览器控制台、显示在悬停提示与aria-label中(如优化失败:no-model)。 - 写回确认:优化结果通过
inputActions.setDraft()写回输入框,你可以检查、编辑后再发送,不会直接发出。 - 忙碌状态:优化过程中按钮切换为沙漏图标并禁用,防止重复点击。
- 零调试残留:
console.error仅用于真实错误上报,正常路径无任何日志噪音。
工作原理
插件分为两半:
| 文件 | 运行环境 | 职责 |
|---|---|---|
host.js / static/lib/index.js | DSH Node.js 进程(Host) | 解析模型路由(含回退)、构造优化提示、流式调用 llm.stream() 并返回结果 |
client.js / static/lib/client.js | 浏览器页面(Client) | 在 conversation.input.right 插槽注册按钮,读取草稿与对话上下文,调用 Host,写回优化结果 |
- 动态版(根目录
host.js/client.js):Host 注册prompt.optimizeRPC,Client 用host.call调用; - 静态版(
static/):Host 注册promptOptimizerTypert Remote 服务,Client 用ctx.remote.promptOptimizer.optimize调用。
安装方式
本插件支持两种加载方式,推荐静态配置(重启后自动加载):