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