前言¶
DeepSeek Harness(DSH)在桌面端提供插件扩展能力。当你在输入框中编写提示词草稿时,如果希望在不丢失原意的前提下,让当前默认模型帮忙把草稿变得更完整、更清晰,可以直接调用模型能力进行优化,而不是反复手动改写。DSH Draft Optimizer 插件提供了这个能力:点击一个按钮,用当前默认模型优化草稿,并原地替换——绝不自动发送。
这是什么¶
DSH Draft Optimizer 是一个为 DeepSeek Harness(DSH)客户端打造的输入框草稿优化插件,由 xiong356 维护。它通过在输入框下方添加一个 ✦ 按钮,让用户一键用当前默认模型优化提示词草稿,优化结果原地替换,需要用户检查后再手动发送。插件的核心价值在于:在保持原意与话题方向的前提下,提升草稿的表达质量与可执行性。
核心功能¶
- 一键优化:在输入框下方显示 ✦ 按钮,点击后用当前默认模型优化当前草稿。
- 原地替换:优化完成后直接替换输入框中的文本,不自动发送。
- 保持原意:优化结果保持原有的中文/英文语言风格与话题方向。
- 状态反馈:支持忙碌 spinner、空草稿禁用、成功 ✓、失败保留原稿并提示、草稿冲突不覆盖。
- 指令嵌入:优化指令直接嵌入消息本体,不依赖
system字段是否被转发。 - 自适应文案:中英文案根据
navigator.language自适应,浅色/深色主题根据--dsw-alias-*token 自适应。
安装与启用¶
在桌面端完成安装后,重启 DSH 即可生效(宿主代码在启动时加载)。
从源码目录安装(开发模式,junction 链接,改源码立即生效,仅需重启宿主):
dsh plugin --profile desktop add dsh-draft-optimizer@link:D:/path/to/dsh-draft-optimizer
或通过支持本地 bundle 安装的插件管理器界面,选择本仓库根目录安装。
源码树内需要一个可解析的
zod(Node 按 JS 文件的真实路径解析依赖):本地开发请在插件目录执行pnpm install,或在 profile 依赖中声明 zod(与dsh-cost-meter相同的模式)。
典型用法¶
- 在输入框输入提示词草稿(不要发送)。
- 点击输入框下方的 ✦ 按钮。
- 草稿被原地替换为优化后的提示词,检查后手动发送。
无配置项。优化调用消耗你当前配置的默认模型额度。
工作机制¶
- 客户端(
lib/client.js):注册conversation.composer.dock插槽条目(iddraft-optimizer,order 90),点击时读取草稿 → 经 Typert RPC 调用宿主 → 成功后inputActions.setDraft()原地替换。 - 宿主(
lib/index.js):promptOptimizer服务(现draftOptimizer),读取agentDefaultModel.currentSelection(),经llm.stream()流式生成;Typert 清单在lib/typert.host.js。 - 优化请求仅含一条 system + 一条 user(指令 + 三引号包裹的草稿),不携带会话历史。
隐私与限制¶
- 草稿文本会发送至你自己配置的 LLM 提供商(这是功能本质)。
- 不参考对话历史 / 附件 / 变量占位符;指代不明(如“按刚才的方案”)需先在草稿中补全。
- 无遥测、无任何网络回传,仅本地 RPC。
- 当前版本刻意不整合上下文,避免模型把历史当成任务背景去“回答”而非“优化”。
开发与安全¶
- 语法检查:
node --check lib/*.js。 - 测试:
npm test/node tests/manifest.test.mjs。 - 修改宿主侧逻辑后必须重启 DSH 才生效;客户端逻辑修改在支持 HMR 的页面刷新后生效。
插件遵循 MIT 许可证。欢迎提交 Issue 与 PR,请阅读 CONTRIBUTING.md。
适用场景与注意¶
- 适合需要快速打磨提示词、提升表达质量的 DSH 桌面端用户。
- 插件以当前 dsh 进程权限运行,安装前建议查看源码与许可证。
结尾¶
DSH Draft Optimizer 让你用默认模型原地优化草稿,减少反复改写的成本,同时保持对输出的完全控制。访问 GitHub 了解更多。