dsh-ask-first:Composer 里先问清楚再改写的澄清按钮

前言

在 DeepSeek Harness(DSH)里给智能体写需求时,输入框里往往只有几个词或一句很笼统的话。很多「润色 / 改写 prompt」类插件默认你已经能说清目标,只是把措辞整理得更顺。若问题其实是「还没想清楚要什么」,直接改写只会把模糊原样包装成更长的一段模糊。

dsh-ask-first 走相反假设:草稿含糊,是因为人暂时还说不完整。它先用模型复述它理解到的意图,再用两三条可点选的问题补关键信息,最后才把输入框内容改写成带目标、约束和完成标准的请求——且不会替你点发送。

这是什么

维护者 BAIYE0303 在 GitHub 开源的客户端插件(dsh-ask-first,当前 package 版本 1.0.1,MIT 许可证)。官方简介:A composer button that asks first, then writes. 中文界面里按钮叫 说清楚点,tooltip 为 不用会描述:点几下选项,我替你把需求问清楚。

插件分 host 与 browser 两半:host 注册本地 loopback API 并调用 ctx.llm.stream;browser 在 Composer 发送行左下角注入按钮与面板,结果通过 inputActions.setDraft() 写回输入框。无需配置项、无需单独填 API Key,模型与 Composer 角标里当前选中的 provider / model 一致。

核心功能

先复述,再提问

面板标题 说清楚点,副标题 先问清楚,再发送。打开时不会改动草稿,也不会发送消息。第一块 我理解你想要的是 单独展示模型对你草稿的一句话理解,便于在答题前发现误读。

以点选为主,打字可选

理解对了吗?下面几问点一下就行,不用打字。 下面通常有两到三个问题,选项由当前草稿生成,每题末尾固定有 我不知道,你替我定。也可在 或者自己写一个答法(可留空) 里补一句;说明里写:不想答的留空就行;一个都不选也能直接重写。 Host 侧会在模型漏选项或漏「替我定」时补全,不依赖 prompt 自觉。

重写后填回,从不发送

点 按这些重写 后出现 正在按你的选择重写……,结果在 觉得可以就直接填回输入框;还能再改。 下展示,结构为:目标、约束、完成定义。模型确实不知道的内容保留为可见的 [待补充:…],不编造参数。三个操作:填回输入框、重新问一遍、关掉。整个流程结束于写回输入框,发送键仍由你控制。

与其它改写类插件的差异(README 归纳)

  • 误读会在提问前暴露(独立复述块)。
  • 问题与选项随草稿变化,不是固定问卷。
  • 未知项用占位符,不瞎填。
  • 一次完整点击通常消耗 两次 模型调用(ask + rewrite),计费走当前会话配置的服务。
  • 若 host 未接 LLM,面板会说明无法连到本地 rewriter,而不是伪造结果。
  • JSON 解析失败时,原始回复当作复述并直接进入重写路径,不当作硬错误。

安装与启用

命令行(资料原文):

dsh plugin --profile web add dsh-ask-first

或在 GUI:Plugins → Add plugin,粘贴 dsh-ask-first。

插件包含 browser 端代码,安装后需重启 host。按钮出现在 Composer 左下角发送行。无 settings 页、无 key 要粘贴。

package.json 声明 dsh 与 @deepseek-ai/dsh-client-ui-conversation / @deepseek-ai/dsh-client-ui-slots 的 peer 版本范围;Node 引擎为 ^22.19.0 || >=24.0.0。插件以当前 DSH 进程权限运行,安装前可在 仓库 查看源码与 LICENSE。

典型用法

下面步骤来自 README 的「Try it on one vague draft」,可在本地复现。

1、输入短草稿并点「说清楚点」

在 Composer 里输入极短内容(例如 make me a page),发送前 点击 说清楚点。草稿保持原样,尚未发送。

2、看复述并点选答案

阅读 我理解你想要的是 是否与你的意图一致。对下面的问题点选选项,或使用 我不知道,你替我定 / 可选的自由文本行。

3、重写并填回

点击 按这些重写,确认生成文本后点 填回输入框。再自行编辑或直接发送——发送仍由你触发。

维护者在仓库提供离线自检(不依赖网络与 host 进程):

node test-offline.mjs

README 说明该脚本含 39 项检查,覆盖路由注册、请求校验、JSON 提取、选项规范化、跨站拒绝等。

适用场景与注意

适合: 需求还在脑子里、输入框只有片段时,用点选把「要什么、边界在哪、怎样算做完」补齐,再交给 agent 执行。

不必用:

  • 你已经能写清楚请求——每次点击多两次模型调用,收益有限。
  • 你希望 agent 立刻开干、少问多做——本插件设计就是「先问」。
  • 你只想同义改写、翻译或缩短语气——它改的是请求「是什么」,不是措辞微调。
  • Host 未配置可用 LLM 服务——无法完成 ask / rewrite。

实现要点(供排查): Host 仅接受 loopback 上的 POST:/api/dsh-ask-first/health、/ask、/rewrite;非 loopback 或跨站请求返回 403。无凭据、无遥测;对外网络仅上述本地路由,模型调用经 host 的 ctx.llm。

社区目录 skillhub.cn 上的 dsh-ask-first 页 与 GitHub 仓库由社区维护,与 DeepSeek / 幻方无官方从属关系;DSH 生态本身是「一切皆插件」的扩展方式。

结尾

dsh-ask-first 把 Composer 里一句含糊草稿,变成「复述 → 可点选澄清 → 结构化请求 → 填回输入框」的固定路径,且从不代发。需要安装命令、面板文案与 API 形状时,以 GitHub README 与 中文说明 README.zh.md 为准。

  • 目录页:https://www.skillhub.cn/plugins/BAIYE0303/dsh-ask-first
  • 源码:https://github.com/BAIYE0303/dsh-ask-first
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜