ALIve114514awa/dsh-prompt-optimizer ↗★ 0
dsh-prompt-optimizer
Preview and improve your DeepSeek Harness draft with Harness AI or Codex. 适合需要在发送前润色提示词、澄清需求并支持TUI快捷键的用户。
같은 패키지 이름의 다른 저장소
설치
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:ALIve114514awa/dsh-prompt-optimizer使用
- 选择一个聊天会话,打开“优化提示词”。在独立页面填写需求,或点击“带入输入框草稿”。
- 选择 Harness AI / Codex,以及智能优化、扩写或精简。
- 点击“澄清需求”,回答或跳过最多三个问题,再明确点击生成;也可以直接生成。
- 在预览中编辑或复制结果,点击“应用到输入框”填回当前对话,再自行发送。
上下文默认关闭。手动开启后,只附带最近一轮已结束的用户输入和 AI 回复,不使用正在生成的回合,也不自动附带工作区文件或附件。
生成期间可以取消。同一会话的问答和预览可保留;点击返回会取消当前请求。草稿、草稿版本、会话或引用附件变化后,旧结果不能覆盖新草稿,需要重新确认。
TUI 快捷键
| 按键 | 操作 |
|---|---|
Ctrl+G | 澄清需求,或根据已填答案生成;空答案视为跳过 |
Ctrl+R | 直接生成 |
Ctrl+N/P | 切换输入栏 |
Tab | 切换优化方式 |
Ctrl+B | 切换 AI 提供方 |
Ctrl+X | 开关上一轮上下文 |
两次 Ctrl+S | 确认将编辑后的预览追加到当前草稿 |
Esc | 生成时取消,其余时候关闭面板并保留预览 |
在同一会话运行空参数 /prompt-optimize 可以重新打开面板。TUI 的公开追加接口没有接收回执,成功提示表示请求已写出,请检查主输入框后自行发送。追加失败时保留预览,不自动重试。已有原稿保留尚未完成实际验收,见已知限制。
配置专用 Codex 模型
官方 provider 的原生 model 固定在实例配置中。本插件通过 codexProviderName 选择一个专用实例,可与已有 codex provider 共存。
在目标 Profile 的 overlay 中加入以下 patch。将模型名改为该 Host 原生运行时和账号可用的模型;示例使用 gpt-5.6-luna:
- insert:
- id: prompt-optimizer-codex
name: '@deepseek-ai/dsh-subagent-codex'
config:
providerName: prompt-optimizer-codex
model: gpt-5.6-luna
permissionMode: never
- id: prompt-optimizer
config:
codexProviderName: prompt-optimizer-codex
服务行的 id 应与目标 Profile 一致。insert 用于新增 provider;后面的条目用于更新已有优化服务。Desktop 的 Electron Host 还需在专用 provider 的 config 中加入:
env:
ELECTRON_RUN_AS_NODE: '1'
这使官方 Node wrapper 正常运行。permissionMode: never 控制审批方式,并继承原生沙箱配置。模型应从配套原生运行时的 model/list 选择,再通过真实生成检查账号可用性;Codex App 展示的别名不一定与该运行时相同。
目标 provider 未注册时会显示不可用,不回退到其他实例。原生模型或请求被拒绝时,界面显示固定的配置提示,保留预览,不复制原生错误正文。
插件配置
Host 导出 Config schema,可在 Harness 插件配置界面调整:
| 字段 | 默认值 | 用途 |
|---|---|---|
timeoutMs | 120000 | 每次优化最多等待 120 秒 |
maxInputChars | 20000 | 原始需求字符上限 |
maxContextChars | 16000 | 上一完整回合的上下文字符上限 |
maxOutputTokens | 4096 | Harness AI 最大输出 token 数 |
harnessProvider | 未设置 | 固定使用某个已注册提供方 |
harnessModel | 未设置 | 固定使用该提供方的模型 |
codexProviderName | codex | 目标 Profile 中注册的官方 Codex 实例 |
默认使用当前聊天模型。固定 Harness 模型时,harnessProvider 与 harnessModel 必须同时填写。