前言¶
在 DeepSeek Harness(DSH)裏跑 Agent 時,會話裏往往已經裝了不少技能(skills)和 MCP 工具,但輸入框旁沒有統一入口:要靠記憶去翻目錄、手動把方法論寫進對話,或指望 Agent 自己猜該用哪套流程。任務一換,重複勞動就多。
下面介紹社區插件 dsh-task-assist(維護者 TheFold060629,分類:工作流)。它在對話框輸入卡發送鍵左側放一個常駐「輔助」按鈕:用當前草稿當任務描述,掃描本會話可用的技能與 MCP,彈出可勾選的候選清單,確認後把選中項作爲 steering 注入當前會話,由正在運行的 Agent 在下一步加載並按其方法論執行。也可開啓「自動分析」,在每條消息發出後靜默匹配並注入,無需再點按鈕。
這是什麼¶
dsh-task-assist 是 DSH 的任務輔助啓動器插件:UI 掛在官方槽位 conversation.input.right(發送/停止鍵左側的工具欄右側);宿主側提供 api/task-assist/scan、inject、auto、diag 等路由,對技能元信息與 MCP 工具名做關鍵詞打分,客戶端負責面板與發送後觀測。
- 倉庫:TheFold060629/dsh-task-assist
- 社區目錄:SkillHub 插件頁
- 當前包版本:0.1.0(見
package.json) - 許可證:MIT
核心功能¶
發送鍵旁常駐按鈕¶
插件在 conversation.input.right 註冊客戶端組件,與官方對話 UI 同欄,不替換髮送鍵本身。
自動掃描與候選面板¶
- 用戶輸入任務描述(或使用輸入框當前草稿)。
- 點擊「輔助」後,客戶端讀取
useInput()的draft,向api/task-assist/scan發起掃描(任務文本與會話 id 一併帶上)。 - 宿主在技能根目錄(如
~/.agents/skills、~/.dsh/skills、項目下的.dsh/.agents/skills)枚舉已裝技能,並列出已連接 MCP 的工具;按任務關鍵詞打分排序。 - 面板展示技能(可勾選)與 MCP 工具(陳列);頂部搜索欄可按名稱或描述過濾,並提供對當前篩選結果的「全選/全不選」。
- 命中關鍵詞的技能在面板中可默認勾選(與「自動分析」開關聯動,見下)。
面板使用 position: fixed 相對視口定位,避免被 composer 層疊上下文擋住關閉與確認按鈕;點面板外、Esc 或再次點「輔助」可關閉。
一鍵注入執行¶
用戶在面板確認後,客戶端將勾選結果 POST 到 api/task-assist/inject;宿主組裝提示級指令,經 ctx.agents.get(sessionId).steer(message) 進入當前會話(消息 source 爲 plugin:dsh-task-assist)。注入的是 steering 輸入,不是直接代跑技能;是否加載、執行由 Agent 結合上下文判斷。
自動分析適配技能¶
面板內可勾選「根據文本內容自動分析適配技能」:
- 打開面板時,默認勾中所有命中項。
- 開啓後,每條消息發出時客戶端觀測
InputState(草稿清空且draftRev前進),調用api/task-assist/auto;宿主再跑一遍 scan,對score >= 1的命中項同樣走steer注入。過程不打斷髮送;無命中時靜默成功。 - 開關持久化在
localStorage(鍵dsh-task-assist:auto-analyze);開啓時按鈕右上角有小圓點提示。
自動路徑不劫持發送鍵,僅觀測內核已發佈的狀態,避免違反 composer 契約導致客戶端 boot 失敗。
掃描邊界¶
- 掃描爲只讀:只讀技能 name/description 與 MCP 工具名,不執行技能、不調用業務工具。
- 面板 scan 結果展示全部技能(便於搜索與手動補選);自動路徑才用
score >= 1過濾。
安裝與啓用¶
環境要求:dsh >= 0.2.0-rc.2(見包內 dsh.engines.dsh);客戶端依賴 @deepseek-ai/dsh-client-ui-conversation 聲明的 conversation.input.right 槽。
把插件加入目標 profile 的 dsh.profile.bundles,然後完全退出並重啓桌面端(僅刷新頁面不夠,host 半體只在進程啓動時加載):
dsh plugin --profile <profile-name> add dsh-task-assist
本地開發可用源碼軟鏈(正式環境建議用包名):
dsh plugin --profile <name> add link:<本目錄>
注意:不要在 profile 的 cordis.patch.yml 裏再手寫 - insert: [dsh-task-assist]。包內 dsh.bundle.patch 已 insert 該條目,重複會導致 duplicate entry id,桌面端無法啓動。
改完 host 端邏輯後務必結束所有 DeepSeek Harness 進程再開,否則可能出現「按鈕在、接口 404」的新客戶端與舊 host 混跑狀態。
典型用法¶
手動選技能再開幹¶
- 在輸入框寫好本輪任務(例如「給這個倉庫寫 PR 描述」)。
- 點發送鍵左側「輔助」,看掃描出的技能與 MCP 列表;用搜索欄縮小範圍,勾選需要的技能。
- 點「啓動輔助」,等待 Agent 下一步拾取 steering 並按所選技能推進。
常發同類任務時開自動分析¶
- 在輔助面板勾選「根據文本內容自動分析適配技能」。
- 之後正常輸入併發送;若任務文本與某技能名或描述有關鍵詞重疊(score ≥ 1),插件會在該條消息發出後自動注入,無需再點「輔助」。
排障時,客戶端可通過 POST api/task-assist/diag 寫入宿主側 ~/.dsh/rescue/task-assist-client.log(README 中有 diagOnce 去重說明)。
適用場景與注意¶
適合誰:已在 DSH 裏安裝多份技能或 MCP、希望按「當前任務一句話」快速掛方法論的工作流用戶;不想每次手動複製 SKILL 正文進對話的 Agent 開發者。
權限與安全:插件以當前 DSH 進程權限運行;scan 雖只讀元數據,inject 會改變會話 steering。安裝前請閱讀 倉庫源碼 與 MIT 許可證,確認符合你的環境策略。
生態說明:DSH 主張「一切皆插件」;SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。本插件在 GitHub 上星標數爲 1(以目錄頁/倉庫爲準),屬早期社區工作流擴展,升級 DSH 時需留意 engines 與 peer 依賴。
結尾¶
dsh-task-assist 把「按任務找技能 → 勾選 → 注入 Agent」收攏到發送鍵旁一條鏈路,並可選發送後自動匹配,減少手工拼 prompt 的成本。若要安裝或看實現細節,可打開 SkillHub 目錄頁 與 GitHub 倉庫 README。