dsh-prompt-clarifier

uinpmMIT

Adds a prompt-refine button to the DSH composer and, when auto mode is on, refines the prompt before the agent starts by rewriting the text with recent session context through a side-channel model call, asks on the native question card when the rewrite cannot be decided, reports each stage as a comm

下载量 / Downloads
669

Install

dsh plugin --profile web add dsh-prompt-clarifier

Sandbox test

This plugin has not been tested yet. Submit a test →

README

dsh-prompt-clarifier

<p align="center">

<img src="docs/screenshots/show.png" alt="输入区里的提示词优化按钮">

</p>

<p align="center"><em>输入区实拍:<code>提示词优化·自动</code> 按钮就在模型选择器左侧。</em></p>

简体中文 | [English](README-en.md)

给 DeepSeek Harness 加一个「提示词优化」按钮:在你把消息发出去之前,先按会话上下文把提示词

改写得更明确;遇到「不确认就没法开工」的歧义时先向你提问,拿到答案再交给助手执行。

功能

  • 输入前改写:消息发出前做一次旁路分析,把含糊的输入补成明确的指令(目标、范围、验收标准)。

改写结果作为本轮指令交给助手,原始输入仍保留在对话里。

  • 歧义优先澄清:缺少决定性信息(改哪个按钮、用哪种策略、跑在哪个环境)就无法开工时,先弹出

提问卡片,选项可点选、也可自定义回答,答案并入本轮指令;超时无人作答则按假设继续,不卡回合。

  • 主对话里的一张小卡片:1/3 读取上下文 → 2/3 模型分析 → 3/3 澄清提问 → 结果 累积在

同一张工具卡片里,回合进行中直接可见;回合结束后它随该回合收进「思考过程」折叠区,展开即可查看。

它不打断对话流,也不占用模型上下文。

  • 失败不中断:模型报错、超时、返回内容无法解析时,只追加一行错误说明,本轮按原始输入继续。

截图

<p align="center">

<img src="docs/screenshots/button-auto.png" alt="提示词优化·自动 状态的按钮" width="169">

&nbsp;&nbsp;

<img src="docs/screenshots/button-off.png" alt="提示词优化·关闭 状态的按钮" width="169">

</p>

<p align="center"><em>左:<code>提示词优化·自动</code>(蓝色渐变底);右:<code>提示词优化·关闭</code>(整块置灰,右键切换)。</em></p>

<p align="center">

<img src="docs/screenshots/panel.png" alt="提示词优化面板" width="440">

</p>

<p align="center"><em>点击按钮后的面板:先给出优化后的提示词,再列出需要你确认的歧义点。</em></p>

按钮在输入区控制行里的位置见[用法](#用法)。进行中、主对话卡片、澄清提问三类截图补齐后一并放进

docs/screenshots/。

用法

按钮在输入区(输入框下方、模型选择器左侧):

  • 左键单击 = 立即分析当前输入(AUTO 开关不影响)。
  • 右键单击 = 切换 提示词优化·自动 ↔ 提示词优化·关闭,并吞掉浏览器右键菜单。
  • 悬停显示完整名称与状态:提示词优化(开启) / 提示词优化(关闭)。

按钮三态:

状态 · 按钮文案 · 含义

自动开启 · 提示词优化·自动 · 每条够长的消息都会在发送前自动分析

自动关闭 · 提示词优化·关闭 · 只在你主动触发时分析(按钮置灰)

进行中 · 提示词优化 + 三个呼吸圆点 · 正在分析;按钮临时禁用,结束后自动恢复

它在控制行里的位置:

<p align="center">

<img src="docs/screenshots/button-in-composer.png" alt="提示词优化按钮在输入区的位置">

</p>

<p align="center"><em>中间是插件按钮,右侧是模型选择器与发送键。</em></p>

自动模式

1. 正常输入并发送一条消息(默认要求 ≥ 10 字,见[配置](#配置))。

2. 消息发出前,插件按上下文分析并改写它;主对话里出现 提示词优化 卡片,依次累积三个阶段。

3. 没有歧义:改写稿作为本轮指令执行,面板里可查看「建议的优化版本」。

4. 有歧义:弹出提问卡片,选好后点确认,回答并入本轮指令。

面板

  • 查看「建议的优化版本」,一键替换草稿(写回输入框)或复制;写回失败时给出

「查看要粘贴的文本」兜底。

  • 有提问时选项可直接点选,也可以填「自定义回答…」。
  • 出错时显示原因,可点重试。

不会做的事

  • 不修改你已发送的历史消息;
  • 不把优化过程塞进模型上下文(进度只在界面上);
  • 不因分析失败中断你的回合;
  • 不在你还在输入时提前分析:消息真正发出后才进入「提示词优化」

(打字、换行、输入法组字都不算发送)。

安装

前置条件:已安装 DeepSeek Harness(桌面端或 Web GUI),Node.js ≥ 20。

本包是一个 DSH bundle:package.json 的 dsh.bundle.patch 指向 cordis.patch.yml,

安装后向 Host 插入一个 prompt-clarifier 插件行,并注册一个浏览器端 client

(网页端的按钮、面板都在这个 client 里)。

一键安装

# 装到当前 profile(`desktop` 换成 `web` / `tui` 即可)
dsh plugin --profile desktop add dsh-prompt-clarifier

也可以指定版本:dsh plugin --profile desktop add dsh-prompt-clarifier@0.3.6。

没有 dsh 命令行的环境(例如只装了桌面端),在 DSH 里让助手安装即可——助手用

plugin_manager 的 install_bundle 完成同样的安装与启用:

安装插件:dsh-prompt-clarifier

其实质与命令行一致:从 npm 取包、装进 profile、把 bundle 选中。按官方插件准则,

不要手工写 profile 的 package.json / cordis.patch.yml,也不要在 profile 目录里跑 pnpm。

安装后可在 设置 → 插件(Plugin list) 里启用/停用插件行,或移除 bundle(等价于

set_plugin / set_bundle / remove_bundle);标题与说明来自本包 locale/zh.json、

locale/en.json 的 meta。出现「页面本地同步失败」时按提示重试即可,不影响 Host 侧开关。

生效方式

  • Host 侧(index.js、cordis.patch.yml 的配置)改动 → 重启 Harness 才加载;
  • 客户端(client.js)改动 → 刷新页面即可,仍是旧界面再重启。

验证安装

1. 重启或刷新后,输入区出现 提示词优化·自动 按钮;

2. 右键点击切成 提示词优化·关闭 且按钮置灰,再右键切回;

3. 发一条够长的消息,主对话里出现 提示词优化 卡片并累积三个阶段。

配置

配置写在包的 cordis.patch.yml 里(安装后位于 profile 的 loader 层),改完重启 Harness 生效。

键 · 默认 · 说明

enabled · true · 插件总开关

auto · true · 默认是否自动优化(按钮的初始状态,可在界面上切换)

askBlocking · true · 发现歧义时是否阻塞提问;false = 只改写、不提问

minChars · 10 · 自动模式只处理不短于该长度的输入(手动触发不受限)

maxInputChars · 8000 · 超过则跳过分析(避免大段粘贴被误判)

contextItems · 5 · 采样最近多少条消息作为上下文

contextItemChars · 280 · 每条上下文最多取多少字符

timeoutMs · 45000 · 单次旁路分析的端到端上限

maxOutputTokens · 2048 · 分析用的输出预算(过小会让思考吃满预算导致空输出)

askTimeoutMs · 180000 · 提问卡片等待上限,超时按假设继续

showProgress · true · 卡片里是否显示 1/3、2/3、3/3 三条进度(关掉只留「结果」,错误行不受影响)

fastProvider / fastModel · '' · 手动快速路由(两项都填才生效);留空 = 用选择器选中的模型

autoFast · false · 自动模式那次逐条调用是否也走快速路由(默认质量优先)

timingLog · '' · 耗时打点落盘路径(排查用,留空关闭)

开发与内部文档

内部实现、修复记录与测试细节见 _docs/prompt-clarifier-internals.md(不随包发布)。

许可

MIT

Rendered from the README published on npm. Formatted only, not edited.

Versions

Published on npm::4,最后更新 2026-10-30

Links

GitHub · Homepage · npm

Same category