Skills Plugins MCP Prompt Model 导航 博客 资讯 我的中心

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

zzy-cl @zzy-cl ⬇ 2 ★ 0 master

安装

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。

  1. 安装并启动 DeepSeek Harness:npx @deepseek-ai/dsh web
  2. 在终端执行上面的安装命令(CLI 会解析插件并核验来源)
  3. 用 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)及插件作者均无隶属或背书关系。

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。