DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

Sun-0306 /

Sun-0306/dsh-task-clarifier

Verified

Turn one sentence into a precise task brief through a short guided Q&A. · 一句话变成精准任务书:左侧栏任务澄清器,少问几轮、少烧 token。

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHubProject homepage
READMESource: main@87c6ed9a

dsh-task-clarifier · 任务澄清器

一句话进,一份精准任务书出。左侧栏「任务澄清」入口 + 中央双栏工作台:先用一句话 描述需求,再回答几个自适应问题,右侧实时组装出可直接发送的任务书。 澄清全程在浏览器本地完成,0 次模型调用、0 token。

  • 版本:0.1.0 · 许可:MIT · 形态:DSH 本地 bundle(纯 JavaScript,无构建、无第三方依赖)
  • 包名 / patch 行 id:dsh-task-clarifier / task-clarifier
  • 数据:只写入本机浏览器 localStorage,不上传

简介

给 DSH 发一句「帮我做个插件」这类模糊指令,通常要来回追问好几轮:目标是什么、给谁用、 范围多大、怎么算完成。每一轮追问都要花 token,猜错还要返工。

任务澄清器把澄清前移到发送之前:用一条短问答流程补齐关键信息,把模糊的一句话变成一份 结构化任务书,再交给对话执行。它不试图让模型更聪明,而是让第一次发出的指令就足够完整。

  • 一句话 → 几个关键问题 → 一份任务书
  • 任务书可直接复制,或点「开始执行」填入新对话的输入框(不会自动发送);澄清只做结构化 整理,不做语义理解(见「已知限制」)

为什么省 token

  1. 澄清不经过模型:意图分类、事实抽取、问题选择、任务书生成、token 估算全部是浏览器 里的确定性规则(正则 + 权重 + 固定问题库),没有任何 Host 请求或模型调用;页面右侧 指标区会显示「本页澄清 0 token」。
  2. 已经说过的不再问:从原句自动识别路径、URL、技术栈、篇幅、读者、风格、禁止项、 「当前目录」等,命中的维度直接写进任务书并跳过对应问题。
  3. 任务书自带执行约定:例如「信息不足时按最合理的默认直接执行,不要反问」「先给结果, 再给必要说明」「不要复述本任务书」,减少后续追问;该约定可在右侧切换。
  4. 两种长度按需选:标准版结构清晰,极简版更短更省;界面实时给出 token 与字数估算。
  5. 历史本地复用:完成过的任务自动留在本机,可查看或重新澄清,不用重问。

省下的是「澄清这一轮」的 token。真正执行任务的那次对话仍然正常消耗 token,任务书本身 也会作为输入的一部分——只是它比模糊指令更值得花。

入口与界面

  • 左侧栏:与「插件」「定时任务」等内置页面同一列的全局面板入口,标签为任务澄清, order: 40。点击切到澄清工作台,再点对话即切回。
  • 页面:标题「任务澄清器」;右上角是澄清深度切换(快速 / 标准 / 深度,悬停显示说明) 和「新任务」按钮。左侧约 58% 是输入 / 问答流,右侧约 42% 是任务书预览与操作区; 窄屏时自动改为上下堆叠(容器宽度断点,不依赖窗口尺寸)。
  • 起始页:一句话输入框、「开始澄清」「跳过提问,直接整理」、5 条示例、最近任务列表、 隐私脚注。
  • 问答页:进度条 +「直接生成任务书」;「已自动识别」chip 条;已答问题卡片(可「修改」); 当前问题卡(选项 / 文本框、跳过、上一个、下一步)或确认卡;完成后是完成卡。
  • 预览区:标准 / 极简切换、任务书实时渲染、信息不足时设置、指标行(≈tokens、字数、 本页澄清 0 token、信息完整度、预计少问轮数),以及「复制任务书」「开始执行」。
  • 崩溃边界:渲染异常时显示「任务澄清器出错了」、错误详情与「重试」(刷新页面),已保存 的进度仍在本机。

使用流程

  1. 起始页用一句话描述任务。Enter 开始澄清,Shift+Enter 换行;也可点示例填入,或点 「跳过提问,直接整理」只生成任务书。
  2. 插件分析这句话:识别语言、意图、领域,以及句中已有的事实。已识别内容以 chip 显示在 问答页顶部,对应提问自动跳过。
  3. 逐题回答。可选预设选项(编号键 1–9 或点击),有文本框的题目可以自己写;不确定就点 「跳过,你决定」,它会在任务书里留空而不是编造。已答问题可「修改」,也可「上一个」回退。
  4. 最后是确认卡「确认一下,我理解得对吗?」:逐行复述当前理解,有偏差可在输入框补充或 纠正(会写进任务书),点「对,生成任务书」完成,或「需要补充」聚焦输入。
  5. 右侧任务书随回答实时组装;可随时切换标准 / 极简与信息不足时的处理方式。
  6. 点「复制任务书」拿到 Markdown;或点「开始执行」,插件把任务书填入新对话的 composer 草稿并切到对话页,提示「已打开新对话并填入任务书,按 Enter 发送」——发送仍由你确认。
  7. 完成后是完成卡:若还有没问完的问题,会同时给出「继续回答(还剩 N 题)」和「继续补充」 (加一句备注,直接写进任务书)两个入口;「重新开始」换一句话。再次完成的同一任务会更新 历史里对应的一条记录。

环境缺少工作区 / 布局服务时,「开始执行」退化为复制;输入框已有草稿会被替换。

澄清引擎与问题库

引擎是纯函数式、确定性的:同一句话永远得到同一组问题,不随机、不联网。

  • 语言检测:按中文字符占比判断,比例 ≥ 0.22 视为中文,否则按英文处理。任务书语言 跟随原句语言;界面语言跟随 DSH 的 locale。
  • 意图分类(10 类):build 开发实现、fix 修复问题、analyze 分析评估、research 调研、 explain 解释说明、write 写作、artifact 制作成品、plan 做方案、operate 环境操作, 以及兜底的 general 完成任务。关键词按权重计分,强动词压过名词(如「修复插件报错」判为 fix 而非 build);低于阈值时落到 general。
  • 领域识别:code / data / document / design / research / ops / writing / learning,用于追加针对性执行约定(如代码类任务「只改相关文件,不做无关重构」)。
  • 事实抽取:HTTP(S) URL、文件路径(带扩展名或含 / 的路径)、17 类技术栈关键词、篇幅 (页 / 张 / 字 / 行 / 分钟等)、读者(「给/面向 …」等)、风格词、禁止项(「不要…」)、截止 时间、「当前目录」提示、参考/示例提示。路径、技术栈、篇幅、读者、风格、禁止项、URL 会 直接映射为任务书维度并跳过对应问题;当前意图会问的维度可点 chip 强制重开,其余已识别 信息以静态 chip 展示。否定子句不会当作正事实:「不要用 Python,改用 Node」只会把 Node 当作技术栈,同时把「不要用 Python」写进任务书的 avoid 行。
  • 问题库:55 个实质问题 + 1 张确认卡。每个意图有 4–7 道专属问题,另加一道共享的 「最看重哪一点」(速度 / 质量 / 最小改动)。题型含单选、多选、纯文本、确认四类,部分问题 有出现条件:成品为 Excel 时不问页数,结构/模板问题只在 Word / PPT / PDF 时出现。
  • 模式预算:每个模式的实质问题总上限是 3 / 5 / 8(含已回答的题)。已答问题永远保留 (切换深度不抹掉进度),超预算时不再新增;自动识别的维度不占预算、也不提问;点击 chip 重开的问题优先进入队列。每个模式最后都有一张确认卡,不计入上限;实际题数还受问题库大小 约束(例如「解释说明」只有 4 道专属问题 + 1 道共享题,不会凑满 8 题)。
模式 实质问题总上限(含已答) 适合场景 说明
快速 3 目标已经比较清楚,想尽快出发 只问权重最高的 3 个关键问题
标准(默认) 5 大多数任务 推荐;覆盖交付物、范围、验收与约束
深度 8 一次做对很重要、返工成本高 尽量问满该意图的专属问题

确认卡摘要由当前维度实时生成(「我理解你要:…」),只包含已有内容。任务书把回答、自动识别、 确认补充与备注合并成维度集合,空维度不输出。

标准与极简任务书

右侧预览同时给出两种长度,切换只改渲染,不改变内容。生成后仍是普通 Markdown。

标准版(默认)按固定章节输出,空章节自动省略:

# 任务
<你输入的那句话>

## 交付物
- 交付:…
## 验收标准
- 验收:…
## 执行约定
- 信息不足时按最合理的默认直接执行,不要反问。
- 回复先给结果,再给必要说明;不要复述本任务书。

极简版把同样信息压成一段以「任务:/ 交付:/ 范围:/ 约束:/ 验收:/ 背景:/ 约定:」 开头的紧凑文本,执行约定合并成一句,适合简单任务。

「信息不足时」三选一会改变任务书里的执行约定文本:

  • 按默认做(默认):按最合理的默认直接执行,不反问——最省 token。
  • 先列假设:先列出假设再执行,不反问。
  • 问我:关键不确定点停下来问,会多一轮往返。

另有按意图/领域追加的约定:代码类任务只改相关文件、调研分析类不编造来源、成品类把结果 写入工作目录并给出文件名。指标行的数值都是启发式估算,不是计费数据:token/字数按 中文字符约 0.9 token、其他字符约 1/3.8 token 估算;信息完整度是交付物、范围、验收、约束等 十个维度的加权覆盖度;「预计少问 ≈ N 轮」按已补齐维度粗估,最多 5 轮。

快捷操作

位置 按键 / 操作 行为
起始输入框 Enter 开始澄清(输入法组合状态下不会误触发)
起始输入框 Shift+Enter 换行
当前问题的选项 1–9 选中/取消第 n 项;多选题可连按。焦点在输入框内或带 ⌘/Ctrl/Alt 时忽略
问题 / 确认 / 补充文本框 ⌘/Ctrl+Enter 提交当前步骤
问答页顶部 「直接生成任务书」 跳过剩余问题,用已有答案生成(至少答过一题才可用)
已答卡片 / 可点的识别 chip 「修改」/ 点击 chip 重新打开该问题;chip 表示覆盖自动识别结果(静态 chip 不可点)
右侧「风格」 标准 / 极简 切换任务书长度
右侧 「复制任务书」 复制 Markdown;剪贴板不可用时降级并提示
右侧 「开始执行」 填入新对话草稿并切到对话,不自动发送

历史记录与本地存储

所有状态只写入当前浏览器(同一 origin)的 localStorage,没有 Host 路由、没有网络上传:

键 内容
dsh-task-clarifier.session.v1 当前任务进度:原句、阶段、模式、风格、答案、覆盖项、备注;刷新后自动恢复。
dsh-task-clarifier.history.v1 最近任务,最多 24 条,新的在前;每条含原句、标准/极简任务书、答案、模式、风格、假设策略、完整度与时间。
dsh-task-clarifier.settings.v1 上次使用的澄清深度、标准/极简、信息不足时策略。

历史区的操作:点击记录 = 查看任务书(恢复为完成态);↻ = 重新澄清(保留原句与设置, 清空答案重问);删除图标 = 删除单条;「清空历史」二次确认后清空全部。同一任务再次完成或 复制/开始执行时会更新原记录而不是新增;超过 24 条淘汰最旧。localStorage 被禁用或写满时 写入会静默失败,页面本身仍可用;清空站点数据、换浏览器或换配置文件后历史不会跟随。

安装·升级·卸载

本机已作为本地 bundle 装进 desktop profile:依赖声明为 link:/Users/sunchujun/Desktop/deepseek/dsh-task-clarifier,bundle 列表含 dsh-task-clarifier, patch 行 id 为 task-clarifier。安装不需要构建、不需要 npm install。

安装(其他机器或重装,传绝对路径):

plugin_manager action=install_bundle target=/Users/sunchujun/Desktop/deepseek/dsh-task-clarifier

也可用 Web GUI 的「插件 → 添加插件」选择本地目录。安装后重启 DSH 并刷新页面,左侧栏出现 「任务澄清」入口。它依赖 DSH Web 客户端的插槽、布局、工作区、侧栏与语言服务 (dsh.client.inject 已声明),标准 DSH Web / Desktop 组合均具备。

升级:本地 link 安装直接读取此目录。修改源码后需重启 DSH 应用才会加载新的 client 模块代际——只刷新浏览器页面不够;改 package.json、cordis.patch.yml 或 locale 同样重启 后生效。通过插件管理器重装后再重启亦可。

卸载:

plugin_manager action=remove_bundle target=dsh-task-clarifier

然后重启 DSH。浏览器里的历史/设置属于站点数据,卸载插件不会删除;需要时在浏览器站点设置 里清除。卸载后目录本身可以保留,便于以后重新安装。

文件结构

文件 说明
client.js 浏览器半(约 3200 行,无构建、无 JSX):语言/意图/领域/事实检测、问题库、计划与预算、任务书组装、统计、全部 UI、中英文字典、崩溃边界,以及 sidebar.panellist 行与 keyed main 页面注册。
index.js Host 半:空的 apply(),仅让 bundle 的 Loader 行生效并出现在插件清单里;不注册路由、不调用模型、没有网络代码。
package.json 包元数据与出口:dsh.bundle.patch 指向 patch 文件;dsh.client 声明 web 平台、immediately 与 5 个客户端服务注入。
cordis.patch.yml bundle patch:插入 id: task-clarifier 的插件行(名字即包名)。
locale/zh.json 插件管理器/插件列表里显示的中文标题与描述。
locale/en.json 同上,英文。
icon.svg 插件图标(渐变底、漏斗与勾);页面内的侧栏图标由 client.js 内联绘制,不依赖此文件。
tests/harness.mjs Node 加载 client.js 的桩环境:window.__ModuleLoader__、React 桩、localStorage、clipboard,并导出 module.__test。
tests/engine.test.mjs 引擎与注册的 node:test 测试,共 20 例(作者自测)。
tests/review.test.mjs 独立评审套件,46 例:真实 React + jsdom 挂载页面、DOM 级状态机、i18n/CSS/注册契约与回归缺陷。
tests/ssr-render.check.mjs 可选渲染冒烟检查(29 项):用真实 React 服务端渲染页面各状态,抓渲染期异常与 key 泄漏。
tests/interaction.check.mjs 可选端到端检查(45 项):jsdom 里真实点击走完整流程。
README.md 本文档。

测试

主套件只用 Node 内置测试框架,没有第三方依赖:

cd /Users/sunchujun/Desktop/deepseek/dsh-task-clarifier
node --test tests/engine.test.mjs tests/review.test.mjs

预期结果:tests 66 / pass 66 / fail 0(约 1–2 秒)。

  • tests/engine.test.mjs(20 例):注册与中英文字典键集合一致;语言检测、意图分类、事实抽取 (含否定子句);自动识别维度跳过、模式预算(3/5/8)、降档后已答不丢;问题定义合法性; 标准/极简任务书结构、英文输入、fix 症状与期望保留、跳过问题仍可生成、备注追加;三种假设 策略改写执行约定;token/字数/完整度/轮数统计与确认卡摘要。
  • tests/review.test.mjs(46 例,独立评审):真实 React + jsdom 挂载 main 页面,覆盖 DOM 级状态机(作答/跳过/回退/修改/确认/完成/历史/复制/交付对话草稿/缺服务降级/语言切换)、 渲染期不崩溃(含坏 localStorage)、i18n 键与占位符、CSS 作用域与主题 token、注册生命周期, 以及评审发现的缺陷回归用例。

两个可选的加强检查(需要本机 dsh-market 的 react / react-dom / jsdom,仅开发时用):

node tests/ssr-render.check.mjs     # 29 项渲染冒烟
node tests/interaction.check.mjs    # 45 项 DOM 端到端

tests/harness.mjs 用桩 React 在 Node 里加载真实的 client.js,通过模块暴露的 __test 句柄直接测纯函数;review.test.mjs 则复用真实 React 运行时。真正的浏览器视觉(深色主题、 窄屏布局、观感)仍无自动化(见下)。

已知限制

  • 纯本地规则,不做语义理解:意图靠关键词权重,长句、口语、多意图混写可能落到 general 或选错意图;开始澄清后原句不可编辑,需用「新任务 / 重新开始」换一种写法。否定识别也是 启发式的:「不要用 Python」「不要正式」这类简单否定会被排除并写进 avoid,多层否定或 「不要太正式但也别太随意」这类复杂表达可能识别不全,可在问题里补充说明。
  • 问题集固定:55 个问题覆盖常见任务,但不能自定义问题或新增意图;扩展需改 client.js。
  • 任务书语言跟随输入,界面语言跟随 DSH:中英混排且中文占比低于阈值时会生成英文任务书。
  • 「开始执行」只填草稿,不自动发送:仍由用户按 Enter;且会替换输入框已有草稿。
  • 不读文件:只识别文本里的路径/URL 并写进任务书,不会打开或读取对应文件;执行阶段由 DSH 自己读取。
  • 数据只在本机当前浏览器:没有导入/导出、不跨设备同步;清站点数据即丢失;最多 24 条; 隐私模式或禁用 localStorage 时不会持久化。
  • clipboard 依赖浏览器权限:复制失败会提示手动选中复制。
  • 没有真实浏览器自动化测试:布局、深色、窄屏与观感靠人工验证;崩溃边界只兜底空白页, 「重试」等于刷新。

版本与许可

  • 版本:0.1.0(package.json 中 private: true,作为本地 bundle 使用,不发布 npm)。
  • 许可:MIT。
  • 无第三方运行时依赖、无遥测;除剪贴板与 DSH 客户端服务外不访问任何外部接口,澄清与 历史均不出浏览器。
—/ 5

No ratings yet

Verified DSH bundle

Commit 87c6ed9a4d6c

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout