glh5835/dsh-prompt-refiner ↗★ 1
dsh-prompt-refiner
一键将模糊草稿改写为结构化提示词并统计用量 适合需要快速优化输入、提升模型回复质量的提示词编写者。
安裝
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:glh5835/dsh-prompt-refiner說明文件
閱讀完整 README ↗配置
配置文件 $DSH_HOME/prompt-refiner/config.json(默认 ~/.dsh/prompt-refiner/config.json),优先级:cordis 条目 config > config.json > 内置默认。
{
"model": "deepseek-v4-flash", // 优化器模型;null = 跟随会话当前模型(省钱的关键开关)
"provider": null, // null = 跟随会话当前 provider
"reasoningEffort": "off", // 思考档位:'off'|'low'|'high'|'max';null = 跟随模型默认
"maxTokens": 2048,
"temperature": 0.3,
"minChars": 0, // 手动模式不设下限;Phase A 自动模式建议 8
"maxChars": 8000,
"resultMaxChars": 4000, // 结果长度护栏:超过视为混入思考内容
"cacheMax": 200,
"cacheTtlMs": 86400000,
"metrics": true // 统计落盘开关
}
成本:为什么 reasoningEffort 默认 off
DeepSeek 适配器把模型的 thinking token 计在 outputTokens 里(TokenUsage.reasoningTokens 不单列)。
不显式指定档位时,适配器默认走 connection.defaults.reasoningEffort ?? 'high',于是「一键精炼」
每次都会先生成上千 token 的思考内容——这部分照样计费,却完全不进结果。实测同一会话下
137 字的草稿会产出 471 字结果 + 1624 output token,其中绝大部分是思考。
因此插件默认下发 reasoningEffort: 'off':精炼是改写任务,不需要思考链。下发前会先用
llm.resolveModelInfo(provider, model) 读该模型声明的档位(每个 provider/model 只查一次并缓存):
- 请求的档位受支持 → 原样下发;
- 不受支持 → 自动回退到该模型支持的最省档位(契约规定不支持的档位会在 provider I/O 之前 reject);
- 模型未声明任何档位 / 能力查询失败 → 不下发该参数,避免硬报错。
面板信息行会显示实际生效的档位(如 思考 off,被回退时显示 思考 off(请求 max))。
另外 finish.reason.kind === 'max-tokens'(结果被截断)会被判为失败并丢弃,绝不会把
半截提示词当成功结果应用回输入框——思考阶段吃满配额导致正文为空时也会给出可操作的提示。