前言¶
DSH 的會話生命週期是獨立的:一個會話完成的工作,另一個會話默認不會自動看到。跨會話協作、把任務交給子agent、在新會話繼續舊會話未完成事項時,需要一塊共享的任務板。
下面介紹 dsh-task-relay:它是一個 DSH 插件,提供基於本地持久隊列的跨會話任務接力,以及會話交接摘要。
這是什麼¶
dsh-task-relay 由 LeslieWylie 維護,許可爲 MIT,當前版本爲 0.1.1。它面向 DSH 的跨會話和子agent場景,核心能力是把任務寫入本地隊列,讓後續會話可以查看、認領、完成或取消任務,並記錄、讀取交接摘要。
運行環境要求爲:
Node: ^22.19.0 || >=24.0.0
peerDependencies 要求爲:
@deepseek-ai/cordis: >=4.0.1-rc.1 <5.0.0-0
@deepseek-ai/dsh-tools: >=0.0.1-rc.1 <0.1.0 || >=0.1.0-rc.1 <0.2.0-0
核心功能¶
它註冊 7 個工具,覆蓋任務生命週期和交接摘要:
task_push:推送新任務到共享隊列,指定標題、描述、優先級、標籤。task_list:按狀態、優先級、標籤篩選,返回降序列表。task_claim:認領一個開放任務,標記爲claimed。task_done:標記任務爲已完成,並記錄結果。task_cancel:取消任務;open狀態刪除,claimed狀態退回open。handoff_write:記錄當前會話的工作進展和待辦事項。handoff_read:按會話 ID 或最近 N 條讀取交接摘要。
隊列數據保存到本地 JSON 文件,並使用原子寫入(temp file + rename)防止數據損壞。
安裝與啓用¶
先安裝到目標 profile。以 web profile 爲例:
dsh plugin --profile web add github:LeslieWylie/dsh-task-relay
如果要用於 headless 場景,也可以安裝到 headless profile:
dsh plugin --profile headless add github:LeslieWylie/dsh-task-relay
或者在 cordis.yml 中追加插件配置:
- id: task-relay
name: 'dsh-task-relay'
典型用法:任務接力¶
下面是一個跨會話任務流程。會話 A 先推送任務:
task_push title="修復登錄頁 Bug" priority="high" tags=["bug","frontend"]
會話 B 再查看並認領:
task_list status="open" priority="high"
task_claim id="T1723647600000-1"
會話 B 完成後寫回結果:
task_done id="T1723647600000-1" result="已修復,commit abc123"
典型用法:交接摘要¶
會話結束前,可以寫入當前進展和待辦:
handoff_write summary="完成了功能 A 的開發,剩餘功能 B 和 C 待做。功能 B 的前端組件已搭好框架,後端 API 需要從 session-x 的交接中獲取接口文檔。"
新會話啓動後讀取摘要:
handoff_read
數據存儲與目錄配置¶
默認隊列文件位於:
$HOME/.dsh/task-relay/queue.json
如果不同 profile 需要獨立隊列,可以在 bundle 行配置 config.root 指向不同目錄。例如:
- id: task-relay
name: 'dsh-task-relay'
config:
root: '~/.dsh/task-relay-staging'
安全邊界與工程細節¶
該插件被描述爲純工具插件:不聯網、不執行外部命令。數據存儲在用戶主目錄下的 ~/.dsh/task-relay/,目錄權限爲 700。
輸入有長度和數量限制:
- 標題 200 字符
- 描述 4000 字符
- 摘要 2000 字符
- 標籤 10 個
認領和完成操作有會話歸屬校驗。
包的入口爲 lib/index.js。README 提到,提交構建產物是爲了處理 pnpm 從 git 安裝時拒絕執行構建腳本的問題;同時 tests/boot.test.mjs 和 CI 會各自重新構建一次再比對,用於防止構建產物與源碼脫節。
適用場景與注意¶
它適合在 DSH 多會話、子agent或長任務拆分場景中使用,尤其是需要在會話之間傳遞任務、交接上下文和查詢歷史任務的情況。
安裝和啓用前,先檢查源碼、許可證和 peerDependencies 是否匹配當前 DSH 環境。插件會以當前 dsh 進程權限運行,因此不要在不信任的倉庫或不可控環境中直接啓用。
鏈接¶
GitHub 倉庫:
https://github.com/LeslieWylie/dsh-task-relay
目錄頁線索(未在本文抓取資料中確認):
https://www.skillhub.cn/plugins/LeslieWylie/dsh-task-relay