🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

说清楚点 BAIYE0303/dsh-ask-first

DeepSeek Harness
BAIYE03033 天前有提交已提供中文文档扫描:未发现敏感能力

先复述你的意思并追问,再改写成可开工的需求

30.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add BAIYE0303/dsh-ask-first
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 3 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-slots
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

一个先询问再写入的 composer 按钮。

README

由 DeepSeek 最新模型翻译生成
dsh-ask-first · 说清楚点 DeepSeek Harness 输入框里的一个澄清按钮:先问你什么意思,再动笔改写。 English · 源码 大多数「优化提示词」的插件都假设你已经能把自己的想法讲明白,它们只负责把措辞修整齐。 这个插件的假设正好相反:草稿之所以含糊,是因为人还没想清楚、或者不会说。所以它先复述一遍听懂了什么,再问两三个点一下就能答的问题,最后才重写——重写成一条 agent 能直接开工、不必回头再问的需求。 澄清面板:先复述,再问几道带可点选项的问题 它先说它认为你想要什么,再问真会改变结果的那几点,最后交给你的是一条带目标、约束和完成标准的需求。 安装 dsh plugin --profile web add dsh-ask-first 或者打开 GUI:插件 → 添加插件,填 dsh-ask-first。 插件带浏览器半边,装完需要重启宿主。之后按钮就在输入框左下角、发送那一行的左侧。 没有配置项,也没有 key 要填。 拿一句含糊的话试一遍 1. 写三个字,点「说清楚点」 在输入框里随便写一句,哪怕只是「帮我做个页面」,然后在发送之前点左下角的 说清楚点。 按钮的悬停提示是:不用会描述:点几下选项,我替你把需求问清楚。 发送前,输入框左下角的那个按钮 面板打开时标题是 说清楚点,下面一行是 先问清楚,再发送。
展开完整文档(README 剩余 1 节)
dsh-ask-first · 说清楚点

DeepSeek Harness 输入框里的一个澄清按钮:先问你什么意思,再动笔改写。

English · 源码

大多数「优化提示词」的插件都假设你已经能把自己的想法讲明白,它们只负责把措辞修整齐。
这个插件的假设正好相反:草稿之所以含糊,是因为人还没想清楚、或者不会说。所以它先复述一遍听懂了什么,再问两三个点一下就能答的问题,最后才重写——重写成一条 agent 能直接开工、不必回头再问的需求。

澄清面板:先复述,再问几道带可点选项的问题

它先说它认为你想要什么,再问真会改变结果的那几点,最后交给你的是一条带目标、约束和完成标准的需求。

安装

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

或者打开 GUI:插件 → 添加插件,填 dsh-ask-first。

插件带浏览器半边,装完需要重启宿主。之后按钮就在输入框左下角、发送那一行的左侧。
没有配置项,也没有 key 要填。

拿一句含糊的话试一遍

1. 写三个字,点「说清楚点」

在输入框里随便写一句,哪怕只是「帮我做个页面」,然后在发送之前点左下角的 说清楚点。
按钮的悬停提示是:不用会描述:点几下选项,我替你把需求问清楚。

发送前,输入框左下角的那个按钮

面板打开时标题是 说清楚点,下面一行是 先问清楚,再发送。你原来那句话一个字没动,也什么都没发出去。

2. 先看复述,再点着答

面板最上面单独一块,标签是 我理解你想要的是,一句话,用模型自己的话复述它从你草稿里读到了什么。
这句话是判断它有没有听懂的唯一依据,所以它单独成块,而不是被揉进重写结果里。

下面一行是 理解对了吗?下面几问点一下就行,不用打字。 再往下是两三个问题,挑的都是「答案会改变结果」的那几点。每个问题都带可点选项,并且每个问题的最后一项固定是 我不知道,你替我定——答不上来的人也有路可走。

全程打字都是可选的。每道题下面还有一行自由输入,标签是 或者自己写一个答法(可留空),面板上也说清楚了:不想答的留空就行;一个都不选也能直接重写。

3. 把重写结果拿回输入框

点 按这些重写,先看到 正在按你的选择重写……,然后是结果,配一句 觉得可以就直接填回输入框;还能再改。,以及字数。

重写后的需求,可以直接填回输入框

结果是能直接开工的一条需求:先说清目标,再列关键约束,最后写什么算完成。它真不知道的信息不会瞎编,会留成看得见的 [待补充:…] 占位。三个按钮:填回输入框、重新问一遍、关掉。

它从不替你发送。 把草稿写回输入框是它做的最后一件事,发送键始终在你手上。

它和其它提示词改写插件差在哪

- 先复述,再追问——面板第一块就是「我理解你想要的是……」,理解错了在花掉一次重写之前就能看见。
- 问题可以不打字就答完——选项是按这一句草稿现生成的,不是固定问卷;每问最后一项固定是 我不知道,你替我定。
- 零打字这条路由代码兜底——模型没给选项、或者忘了那个逃生项,Host 半边在面板渲染前补上;不指望提示词自觉。
- 不编参数——确实不知道的留成 [待补充:…],由你补或删。
- 从不替你发送——结果用 inputActions.setDraft() 写回输入框就停下。
- 用你当前的模型,零配置——不要 API key,不配 provider,没有设置页。
- 模型不听话不算故障——解析不出 JSON 时,原文直接当作复述,面板跳到重写。

什么时候别用它

- 你本来就会把话说清楚。 那每一次点击都是白花两次模型调用。
- 你希望 agent 立刻开工。 这个按钮的全部工作就是「先问」——和「别问了赶紧干」正好相反。
- 你只是想要另一种说法。 换语气、翻译、缩短是改写活儿;这个插件改的是「需求本身是什么」。
- 你的宿主没接 LLM 服务。 面板会直接说连不上本机改写服务,而不是编一个结果给你。

工作原理

两半,一个包。

| 文件 | 作用 |
| lib/index.js | Host 半边。注册三条只接受 loopback 的 POST 路由,所有模型调用都在这里(ctx.llm.stream)。 |
| lib/client.js | 浏览器半边。在 conversation.input.left 插槽注册按钮与面板,用 inputActions.setDraft() 回填输入框。 |
| cordis.patch.yml | 让宿主把这个包插进插件树。 |
| test-offline.mjs | 离线自检。不联网、不启宿主:node test-offline.mjs。 |

接口

| 方法 | 路径 | 请求体 | 响应 |
| POST | /api/dsh-ask-first/health | {} | { ok, value: { llm, provider?, model? } } |
| POST | /api/dsh-ask-first/ask | { draft } | { ok, value: { guess, questions: [{ id, question, hint, options[] }] } } |
| POST | /api/dsh-ask-first/rewrite | { draft, answers: [{ question, answer }] } | { ok, value: { text } } |

三条都只接受本机请求:socket 地址必须是 127.0.0.1、::1 或 ::ffff:127.0.0.1,Host 头必须是
loopback,Origin 指向别的宿主、或者带 sec-fetch-site: cross-site 的请求一律 403。

用哪个模型

不需要填 API key,不需要配 provider,没有设置页。插件调 ctx.llm.stream 时用的是
agentDefaultModel.currentSelection() 报的 provider / model——就是输入框右下角显示的那一个。
拿不到这个服务就整对省略,让宿主自己回退到最后一次用过的目标。

实话说的成本:点一次是两次模型调用——一次问,一次重写——算在你当前会话头上。

模型不听话时

向模型要的是严格 JSON,而模型不总听话。解析不出 JSON 不算错误:原文直接当作「我理解你想要的是」那句话,面板跳到重写步骤。问题最多三条、选项最多四个、过长字段截断,所以一次失控的回复弄不坏面板。

下面这些是给检查包的人看的,不是给决定要不要装的人看的。

自检

node test-offline.mjs

39 项,不联网、不起宿主:路由注册、请求校验、从围栏里抠 JSON、选项清洗、跨站拒绝,以及发给模型的请求体内容。

给评审的说明

- lib/client.js 是一个 window.__ModuleLoader__.load({ id, factory }) 包裹。这是 DeepSeek Harness 客户端插件的标准形态,不是打包产物:模块体是可读明文源码、没有压缩,唯一的 require 是 react 与 react-dom,两个都由宿主提供。
- 没有凭据、没有埋点、没有对外请求。唯一的网络调用就是上面那三条 loopback 路由,唯一的模型调用走宿主自己的 ctx.llm 服务。
- 没有安装期脚本。
- preview/shot.html 是 README 截图所用的页面。它把真实的 lib/client.js 加载进来,外面配一个假宿主和假后端,所以截出来的就是真面板。它不在发布包里(见 package.json 的 files);要重跑截图需要 preview/vendor/ 下有 React 的 UMD 构建,那个目录被 gitignore 了,从 jsDelivr 取即可。

许可

MIT
预览分享卡片长什么样 ↓BAIYE0303/dsh-ask-first
分享 · DeepSeek Harness Hub
BAIYE0303/dsh-ask-first

先复述你的意思并追问,再改写成可开工的需求

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部