dsh-task-intake:新任務前先澄清與優化

前言

在 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
羽毛球分组比赛记分
小程序二维码

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

小夜