
LeslieWylie/dsh-task-relay
30Last commit Aug 14, 2026
dsh-task-relay DSH plugin
dsh-task-relay provides a persistent task queue for DSH sessions, allowing tasks to be pushed, claimed, and completed across sessions or sub-agents. It also supports writing and reading handoff summaries to pass context between sessions.
How to install the dsh-task-relay DSH plugin
dsh plugin --profile web add github:LeslieWylie/dsh-task-relayCopying does not run this command. Review the repository and version before installing the dsh-task-relay DSH plugin.
dsh-task-relay DSH plugin data source
dsh-task-relay DSH plugin snapshot date: Aug 16, 2026
discovered
What the dsh-task-relay DSH plugin can do
- Push tasks with title, description, priority, and tags to a shared queue
- List open tasks filtered by status, priority, or tags
- Claim open tasks and mark them as in-progress
- Complete tasks with a result note
- Cancel open or claimed tasks
- Write handoff summaries for current session progress
- Read handoff summaries by session ID or recent N entries
Where the dsh-task-relay DSH plugin fits
- Pass unfinished work from one session to another (e.g., session A pushes a bug fix task, session B claims and completes it)
- Coordinate between concurrent sub-agents on a shared project
- Record session handoff summaries for team review or context recovery
- Track tasks across multiple DSH profiles by sharing the same queue directory
Who the dsh-task-relay DSH plugin is for
- DSH users who work across multiple sessions or launch sub-agents
- Teams using DSH for collaborative workflows where session context needs to be preserved
dsh-task-relay DSH plugin limitations
- Queue data is stored locally in a JSON file, not shared across machines or profiles by default
- Input validation restricts title to 200 characters, description to 4000, summary to 2000, and tags to 10
- Plugin relies on DSH runtime and does not support external network calls or command execution
dsh-task-relay DSH plugin: from the repository README
Quoted from the LeslieWylie/dsh-task-relay README, the upstream source of the dsh-task-relay DSH plugin. Copyright remains with the original authors.
DSH 跨会话任务接力板插件 —— 基于持久队列的**跨会话/子agent 任务接力** + **交接摘要**。 [](LICENSE) ## 为什么 DSH 的会话生命周期是独立的:会话 A 做完的工作,会话 B 默认不知道。`dsh-task-relay` 填补了这个空白——它提供一个**跨会话共享任务队列**,任何会话(包括子 agent)都可以: - 投递任务给未来的自己 / 其他会话 / 子 agent - 认领和完成开放任务 - 记录会话交接摘要,供后续会话查看 ## 工具一览 | 工具 | 能力 | 描述 | |---|---|---| | `task_push` | 推送任务 | 投递新任务到共享队列,指定标题/描述/优先级/标签 | | `task_list` | 查询任务 | 按状态/优先级/标签筛选,返回降序列表 | | `task_claim` | 认领任务 | 认领一个开放任务,标记为 claimed | | `task_done` | 完成任务 | 标记任务为已完成,记录结果 | | `task_cancel` | 取消任务 | open 则删除,claimed 则退回 open | | `handoff_write` | 写交接摘要 | 记录当前会话的工作进展和待办事项 | | `handoff_read` | 读交接摘要 | 按会话 ID 或最近 N 条读取 | ## 安装 ```sh # 安装到 web profile dsh plugin --profile web add github:LeslieWylie/dsh-task-relay # 安装到 headless profile dsh plugin --profile headless add github:LeslieWylie/dsh-task-relay ``` 或者在 `cordis.yml` 中追加: ```yaml - id: task-relay name: 'dsh-task-relay' ``` ## 使用示例 ### 跨会话任务接力 **会话 A**:推送一条任务 ``` task_push title="修复登录页 Bug" priority="high" tags=["bug","frontend"] → { "id": "T1723647600000-1", "title": "修复登录页 Bug", "status": "open", ... } ``` **会话 B**:查看并认领 ``` task_list status="open" priority="high" → 共 1
Read the full READMERepository license: MIT
dsh-task-relay DSH plugin questions
How do I install dsh-task-relay?
Run `dsh plugin --profile web add github:LeslieWylie/dsh-task-relay` for the web profile, or replace `web` with your profile name. You can also add it to your `cordis.yml` under the `plugins` section.
Can I share tasks between different DSH profiles?
By default, each profile stores its queue in a separate directory (`~/.dsh/task-relay`). To share tasks, configure the `root` option in `cordis.yml` to point all profiles to the same directory.
What happens if a task is claimed but never completed?
Claimed tasks remain in 'claimed' status. You can cancel them with `task_cancel`, which will return them to 'open' status for another session to claim.
How do I see all handoff summaries?
Use `handoff_read` without arguments to see the most recent 5 summaries. You can also specify a `sessionId` to read a specific session's summary.
Is the task data persistent across DSH restarts?
Yes, all tasks and summaries are stored in a JSON file (`queue.json`) in the directory specified by `root`. Data persists across DSH restarts.