前言¶
DeepSeek Harness (DSH) 的理念是“一切皆插件”,可以通過插件擴展工作流。Wayfinder 是一種任務管理概念,任務可能分散在 dex、Jira、GitHub Issues 或 Markdown 文件中。如果通過獨立的 DSH 會話來處理這些任務,手動管理依賴關係和狀態同步會變得困難。此插件旨在爲每個就緒任務生成一個頂級 DSH 會話,並在聊天 GUI 中可視化依賴關係圖。
插件概覽¶
- 名稱:
dsh-wayfinder-ui - 所有者:
andrepontesmelo - 類別:工作流
- 許可證:MIT
- 核心功能:爲每個就緒的 Wayfinder 任務生成一個實時會話,並在聊天 GUI 中繪製依賴關係圖。
安裝與啓用¶
該插件需要 Node.js >= 22 和 DSH 的 Web 配置文件。安裝需要手動克隆並鏈接,然後重啓 GUI。
- Clone 代碼倉庫
在任意位置克隆倉庫:
git clone https://github.com/andrepontesmelo/dsh-wayfinder-ui.git
- 鏈接到 Web 配置文件
將克隆的目錄鏈接到 DSH 的 Web profile:
ln -s /path/to/dsh-wayfinder-ui ~/.dsh/profiles/web/node_modules/dsh-wayfinder-ui
- 註冊插件
打開~/.dsh/profiles/web/cordis.patch.yml,在文件末尾添加以下行以註冊插件:
- insert:
- id: wayfinder
name: 'dsh-wayfinder-ui'
- 重啓 GUI
保存配置後,必須重啓 DeepSeek Harness GUI 以加載插件工具和地圖面板。
核心功能¶
插件提供了一組可由模型調用的工具,用於管理 Wayfinder 任務的生命週期:
- wayfinder_snippet:打印協議,提議就緒的 Wayfinder 任務,請求用戶批准,然後調用
wayfinder_spawn_session。它還記錄了種子消息格式和路由繼承規則。 - wayfinder_spawn_session:爲每個就緒任務並行生成一個頂級 DSH 會話。種子消息包含任務定位器,以便工人找到其真實票據(例如 Jira、GitHub)。每個生成的會話繼承調用者的工作區路由,但可以通過參數覆蓋。
- wayfinder_map_create:將新地圖驗證並持久化到註冊表中的
<root>/.wayfinder-runner/state.json,並將其設爲所選打開的地圖。 - wayfinder_task_resolve:標記任務完成(由工人報告的路徑),並將報告會話的 ID 鏈接到任務行。
- wayfinder_task_set_status:手動覆蓋任務狀態(
todo|done|running|waiting|blocked)。建議優先使用wayfinder_task_resolve進行工人完成報告。 - wayfinder_map_sync:通過名稱創建或替換地圖,包含完整的任務列表。它還註冊爲恢復工具
/wayfinder-map-sync。 - wayfinder_grilling_start:報告一個“grilling”任務的會話已開始 grilling 批處理並等待用戶。它在任務行上標記
grillingSince,並在面板中顯示火焰圖標。
工作原理¶
工作流程分爲四個主要階段:
- Chart(圖表):調用
wayfinder_map_create以驗證任務列表並持久化地圖。 - Spawn(生成):調用
wayfinder_spawn_session爲每個已批准的任務生成一個頂級會話。種子消息以/wayfinder開頭,以便 Harness 注入技能內容。 - Report(報告):工人通過調用
wayfinder_task_resolve來報告完成。 - Derive & Restart(推導與重啓):狀態(
done、blocked、running、waiting)是根據報告和依賴關係推導出來的。重啓 GUI 會重新加載狀態文件並重新關聯會話與其任務行。
注意事項¶
- 配置文件限制:插件僅適用於 Web 配置文件。地圖卡片、右側邊欄和側邊欄徽章位於 DSH GUI 中。
- 會話目標:生成的會話的目標是註冊表中的所選打開地圖(
selectedMapId),如果未選擇,則回退到最新打開的地圖。 - 系統要求:需要 Node.js >= 22 和 DSH web profile。
- 重啓要求:必須重啓 GUI 才能加載工具和地圖面板。
總結¶
該插件爲 DSH 工作流提供了一個結構化的方式來管理 Wayfinder 任務。通過將任務映射到獨立會話並在 GUI 中可視化進度,它簡化了跨多個追蹤源的任務管理。