dsh-prompt-optimizer
Prompt optimizer for DeepSeek Harness: a composer tool-row button that rewrites the draft into a structured prompt via the session's selected model, with one-click restore
安装
dsh plugin --profile web add github:zzy-cl/dsh-prompt-optimizer
需要可复现安装时,可在仓库后追加 #commit 固定提交。
Prompt optimizer for DeepSeek Harness: a composer tool-row button that rewrites the draft into a structured prompt via the session's selected model, with one-click restore
该插件未提供要点说明,请参考仓库 README。
- 安装并启动 DeepSeek Harness:
npx @deepseek-ai/dsh web - 在终端执行上面的安装命令(CLI 会解析插件并核验来源)
- 用 dsh plugins list 确认已安装,必要时重启 Harness 生效
插件以当前 dsh 进程的权限运行,安装时可能执行代码。请先通读仓库源码与许可证,确认无破坏性命令与越权访问;本站只做索引,不对第三方插件安全性作担保。
| 代码仓库 | github.com/zzy-cl/dsh-prompt-optimizer |
| 许可证 | MIT |
| 主要语言 | master |
| 下载量 | 2 |
| GitHub 星标 | 0 |
| 最近推送 | 2026-08-26 |
| 收录日期 | 2026-09-19 |
| 分类 | 会话与消息 |
事实信息来自公开插件目录快照(2026-10-01),介绍文案由本站再加工。
以下为插件仓库 README 全文(原始内容,由公开目录抓取整理)。
# dsh-prompt-optimizer 为 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)(`dsh`)提供输入框提示词优化能力:在聊天输入框工具行添加一个 ✨ 按钮,一键把草稿改写成结构化提示词(任务目标 / 功能需求 / 验收标准 / 假设…),再点一次还原原文。 - **跟随会话模型与思考强度**:优化调用使用输入框当前选中的模型与其思考强度设置(会话日志优先,退回部署默认),不改变任何会话状态;走你已配置的模型凭证,不引入任何新密钥。 - **官方通道**:按钮注册在官方 `conversation.input.right` 增量席位(发送按钮左侧);草稿读写走官方 `inputActions` 机器事务路径;图标与 Tooltip 复用官方 primitives 原语。 - **高质量改写**:内置经调研打磨的元提示词(意图忠实 > 适度增强 > 歧义消解,反膨胀长度旋钮,假设显式化),详见 [`research/meta-prompt.md`](research/meta-prompt.md)。 - **健壮交互**:NDJSON 流式进度反馈(悬浮提示实时显示「已推理 N 字 / 已生成 N 字」,推理阶段事件持续喂看门狗)、120s 总上限 + 45s 空闲看门狗(同时取消宿主侧模型调用)、并发编辑检测(优化用 draftRev、还原用内容比对)、会话切换竞态守卫、失败红显 3s 提示、宿主错误码中英双语映射、回环/同源请求围栏、点击不夺焦点、无障碍标签。 ## 兼容性 | 项 | 值 | | ---------------- | ------------------------------------- | | DeepSeek Harness | `>= 0.1.0-rc.8`(实测至 `0.1.1-rc.2`,web profile) | | Node.js | `>=20` | | 安装 | `dsh plugin --profile web add ...` | ## 工作原理 1. **Host 半部**:在 `webServer` HTTP 载体上注册精确路由 `POST /plugins/prompt-optimizer/api/optimize`。收到草稿后:解析会话当前模型选择与思考强度(原样跟随)→ `llm.resolveCallConfig` 校验路由 → `llm.stream` 一次性调用(元提示词作 system,temperature 0.4,maxTokens 随输入长度缩放)→ 以 NDJSON 事件流应答(`meta` → `progress`* → 终态 `done`|`error`),progress 同时上报可见文本与推理阶段的字数;只累积 `text-delta`(思维链增量永不混入结果)。 2. **Client 半部**:注册进输入框工具行席位;点击后同源 `fetch` 调用上述路由并**增量读取事件流**——悬浮提示实时显示「思考中…已推理 N 字 / 已生成 N 字」;终态 `done` 到达后经 draftRev 校验一次性原子替换草稿并进入"还原"态。还原前比对当前草稿与按钮写入的确切内容,手改过则拒绝覆盖。 3. 模型选择解析顺序与官方 api-proxy 一致:会话日志的请求配置优先,其次 `agentDefaultModel` 默认选择(在输入框切换模型时官方会同步保存默认,因此常规场景与界面显示一致)。 ## 安装 ### 方式 A:npm(推荐,发布后可用) ```sh dsh plugin --profile web add @zzy001/dsh-prompt-optimizer ``` ### 方式 B:本地目录(开发/自用) ```sh npm install npm run build dsh plugin --profile web add ./dsh-prompt-optimizer ``` ### 方式 C:GitHub ```sh dsh plugin --profile web add "github:zzy-cl/dsh-prompt-optimizer#" ``` pnpm ≥10 首次安装 git 依赖会要求授权构建脚本(`allowBuilds`),按 dsh 提示操作;npm 分发预构建产物则无需授权。 ### 方式 D:tarball(无构建授权) ```sh npm pack dsh plugin --profile web add ./zzy001-dsh-prompt-optimizer-0.1.0.tgz ``` > 所有 `dsh plugin add` 方式需要本机有 pnpm:`npm install -g pnpm` 或 `corepack enable pnpm`。 安装后重启一次 `dsh web`,输入框工具行右端(发送按钮左侧)出现 ✨ 图标。 ## 更新 > **两个坑**:①semver 里 `^0.1.x` 不匹配更高的 0.y 版本,普通 `update` 无法跨越;②pnpm ≥11 的供应链冷却策略可能让 `@latest` 静默解析回旧版(输出 "Already up to date" 但实际什么都没装)。**最稳妥的做法是始终用精确版本号**。 ```sh # npm 源安装的:精确版本号升级(推荐) dsh plugin --profile web add @zzy001/dsh-prompt-optimizer@0.2.1 # 本地目录安装的:先在插件目录 git pull,再重新 add(路径不变则原地覆盖) cd dsh-prompt-optimizer && git pull && cd .. dsh plugin --profile web add ./dsh-prompt-optimizer # GitHub 安装的:把钉住的 ref 前移到新 commit dsh plugin --profile web add "github:zzy-cl/dsh-prompt-optimizer#" ``` 然后**重启一次 `dsh web`**——profile 插件层在启动时装载,运行中不会热替换。 验证升级成功:输入框有草稿时点击 ✨,优化进行中悬浮提示实时显示「已生成 N 字」(0.1.x 只会转圈)即为 0.2.0。 回退到指定版本 / 卸载: ```sh dsh plugin --profile web add @zzy001/dsh-prompt-optimizer@0.1.0 # 回退 dsh plugin --profile web remove @zzy001/dsh-prompt-optimizer # 卸载(同样需重启) ``` ## 使用 1. 在输入框输入提示词(草稿为空时图标置灰)。 2. 点击 ✨ → 图标转圈 → 草稿被替换为结构化提示词,图标变为 ↩。 3. 点击 ↩ → 还原原始文本,图标变回 ✨。 4. 优化结果直接发送后按钮自动复位。 失败(超时 / 模型错误 / 等待或还原前手动改了草稿)时图标红显 3 秒并在悬浮提示中说明原因;还原前若草稿又被手动编辑过,插件拒绝覆盖并提示,绝不吞掉手改内容。 ## 与动态插件的关系 本仓库由同会话的动态 Cordis 插件(`prompt-1`)固化而来,功能一致、通道不同(动态版走包私有 RPC,仓库版走 webServer 路由)。**两者不要同时启用**:都注册 `conversation.input.right` 的 `prompt-optimizer` 席位,后激活者会覆盖前者。长期使用请安装本插件并停用动态插件。 ## 开发 ```sh npm install npm run check # tsc --noEmit npm run build # tsdown → lib/ + esbuild → client/client.js npm pack --dry-run ``` 结构: ``` src/ ├── index.ts # Host 半部:webServer 路由 + 模型选择解析 + llm 调用 ├── meta-prompt.ts # 优化元提示词(设计依据见 research/meta-prompt.md) └── client.ts # Client bundle 源码(构建为经典脚本) research/ # 元提示词与命名调研 review/ # 发布前评审报告 ``` ## 发布 ```sh npm login npm publish # prepare 自动构建,发布预构建 lib + client + cordis.patch.yml ``` 发布前用 `npm pack --dry-run` 复核产物。GitHub 仓库建议打 topics:`dsh-plugin`、`deepseek-harness`。 ## License MIT
数据来源:公开的 DeepSeek Harness 插件目录与各插件 GitHub 仓库。本站为独立第三方目录,与 DeepSeek、幻方(High-Flyer)及插件作者均无隶属或背书关系。