dsh-task-intake: Clarification and optimization before new tasks

前言

在 DeepSeek Harness(DSH)里跑智能体时,常见情况是用户一句话丢过来,模型立刻改代码、搜资料或调工具,结果方向偏了、重复造轮子,或关键假设没确认就写死实现。Skills 按需加载、记忆文件由模型自行决定是否引用,都很难在每一轮对话里强制「先想清楚再动手」。

dsh-task-intake 走另一条路:作为仅作用于宿主(Host)的 bundle,向 system prompt 注入固定段落 task-intake:protocol(默认顺序 9900),让智能体在把消息当成新任务处理之前,先跑一遍 intake 流程。下面介绍它是什么、做什么、怎么装、怎么用,以及安装时要注意的限制。

这是什么

dsh-task-intake 由维护者 MrXiongBear 发布,在 SkillHub 目录中归类为工作流。一句话定位来自仓库描述:Task intake protocol: clarify and optimize every task before running it.——在真正执行任务前,先澄清目标、暴露风险、查既有方案,并给出优化后的计划。

当前 package.json 版本为 1.2.1;GitHub 仓库星标为 0。仓库说明标明内容为实验性、自用性质,且整仓由 AI 生成,人负责验收;未发布到 npm,紧贴某一版 DSH 的 apply / inject / client bundle / 配置解析验证过,宿主升级后可能失效。

核心功能

插件通过 Cordis patch 注册一段 systemPrompt.section,该段会随每次请求重发,因此在长上下文或压缩后仍能约束「新任务必走 intake」,这与仅按需加载的 Skill 不同。

对新任务,协议要求智能体按顺序完成(摘要自 README):

  1. 重述目标与推断的交付物;
  2. 列出未知项与有风险假设;
  3. 在写任何新东西之前,搜索 npm、GitHub 或网页上的 prior art(现成插件、库、模板或成熟做法),并说明复用、借鉴还是从零构建;
  4. 最多提出 N 条对请求的改进建议(N 由配置 maxImprovements 控制,默认 3);
  5. 当未知项可能改变结果时,在回复正文里向用户提问并等待(不使用 ask_user_question 工具);只读、单步、纯信息类请求可跳过提问;用户说「直接做」「别问」「just do it」等也会跳过(见配置 directDirectives);
  6. 陈述优化后的计划,再执行。

以下情况不算新任务,不会触发 intake:回答用户问题、纠正智能体、批准计划、或继续当前目标的消息。

配置项

在 profile 的 cordis.patch.yml 里编辑 task-intake 行上的 config: 块;index.js 只提供默认值。修改 index.js 或 cordis.patch.yml 后需重启 DSH 生效。

key default 含义
enabled true 设为 false 可禁用插件而不卸载
order 9900 system prompt 中的位置,须低于 10000(环境类段落)
maxImprovements 3 允许提出的改进建议条数上限
maxQuestionsPerTask 1 每个任务最多向用户提问次数;超出部分改为 stated assumptions
priorArt true 新建前先跑 prior art 检索
priorArtCandidates 3 报告的候选方案数量
language auto auto 跟随用户语言;其他值原样用于规则文案
directDirectives 中英文短语列表 表示「跳过 intake」的指令

安装与启用

README 给出的安装方式为:

dsh plugin --profile desktop add <repo>

其中 <repo> 以官方文档或目录页说明为准,勿自行拼接未在资料中出现的仓库字符串。

安装前务必知晓:

  • DSH 的 profile 加载是全有或全无:任一插件 import 失败可能拖垮整个 profile,甚至写残配置。请先备份 profile 里的 package.json 与 cordis.patch.yml。
  • 本包没有发布到 npm:也可将目录放入 profile 的 node_modules,或在 package.json 中用 "<包名>": "link:<本目录绝对路径>",再在 dsh.profile.bundles 登记后重启 DSH。

卸载/回滚:从 dsh.profile.bundles 移除登记 → pnpm remove <包名> 或删除 junction → 重启;异常时用备份的两个文件还原。

典型用法

安装并重启后,无需单独调用 CLI:只要用户发出会被判定为新任务的消息,注入的协议段就会驱动上述六步流程。例如用户提出一个需要从调研到实现的功能需求,智能体应先重述交付物、列出假设、检索 prior art 并汇报若干候选,再在正文里提出至多 maxQuestionsPerTask 个问题(若需要),最后给出优化计划并开始执行。

若用户明确希望跳过澄清,可使用配置中的跳过短语(如「直接做」)或发起只读、单步、纯信息请求。

开发者本地可运行仓库测试验证行为:

node --test test/

README 说明共有十个测试,覆盖 section 注册、enabled:false、顺序与预算覆盖、语言处理、指令引用、续作措辞,以及 prior art 步骤(默认开启、priorArt:false 时的步骤重编号、可配置候选数量)。

适用场景与注意

适合谁:希望在 DSH 桌面 profile 上统一约束「新任务先 intake」的开发者;尤其在意避免重复造轮子、希望在动手前暴露假设与 prior art 的团队自用场景。

务必注意:

  • 插件以当前 DSH 进程权限运行;安装前应自行阅读 GitHub 源码 与仓库内许可/声明,确认可接受实验性与 AI 生成代码的风险。
  • SkillHub 目录(插件页)是社区独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,本文介绍的是社区维护的工作流 bundle,而非官方应用商店条目。

结尾

dsh-task-intake 用一段常驻 system prompt 把「澄清 → 查 prior art → 有限提问 → 优化计划 → 再执行」写进每一轮新任务,弥补 Skill 与记忆无法强约束 per-turn 行为的缺口。若你的 profile 常因插件加载失败而整体不可用,请先备份再装,并准备好回滚路径。

  • 目录页:https://www.skillhub.cn/plugins/MrXiongBear/dsh-task-intake
  • GitHub:https://github.com/MrXiongBear/dsh-task-intake
羽毛球分组比赛记分
小程序二维码

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

Xiaoye