Skip to content

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-relay

Copying 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](https://img.shields.io/badge/license-MIT-blue.svg)](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.