Introduction

DeepSeek Harness Desktop allows features to be extended through plugins. When developing or debugging an agent, interleaving task management within the conversation flow often feels disjointed. The dsh-task-board plugin injects into the conversation view and adds task management directly to the conversation header, providing a three-column board that supports drag-and-drop execution.

Plugin Overview

Plugin Name: linsibin/dsh-task-board
Positioning: A task-board client plugin for DeepSeek Harness Desktop.
Core Value: Adds a three-column board to the conversation header and supports dragging task cards into the execution flow, enabling automated transitions from task creation to completion.

Core Features

The plugin implements task management through the following mechanisms:

  • Tab injection: Registers into the official conversation.view slot and displays alongside the built-in Chat and Trajectory tabs.
  • Three-column board: Includes Backlog, In Progress, and Done columns. Supports categorizing cards by any group name; clicking a group header collapses or expands the cards.
  • Drag-and-drop execution: Dragging a card into the In Progress column creates a new DSH session bound to workDir and sends the task description as a prompt.
  • Real-time progress: During execution, assistant output is streamed to the card in real time.
  • Automated lifecycle: Once the turn ends and the session is idle, the card automatically moves to the Done column with a result summary. If it fails or times out, it returns to Backlog.
  • Rerun mechanism: Dragging a card from the Done column back to In Progress reruns it.
  • Local persistence: Task state is saved using localStorage (key: dsh-task-board:v1), so data is retained after a page refresh.
  • Theme adaptation: Automatically adapts to DSH’s light/dark themes.

Installation and Activation

The plugin is provided as a package and installed under the Desktop Profile.

  1. Use DSH CLI to install (recommended):
    dsh plugin --profile desktop add <absolute/path/to/dsh-task-board>
  1. Or manually edit ~/.dsh/profiles/desktop/package.json, add the dependency, update dsh.profile.bundles, and then run pnpm install.
  2. Activation: After installation, you must restart DSH Desktop (Manifest changes do not support hot updates).
  3. Open any conversation, and a Tasks tab appears in the tab bar (after Chat / Trajectory).

Typical Usage

  1. Create a task: Click + New Task in the Tasks tab, then fill in the title, group, description, working directory (workDir), and file list.
  2. Start execution: Drag the card from Backlog to In Progress. The system creates a session and begins streaming output.
  3. View results: After the turn ends and the session is idle, the card automatically moves to Done and displays the final summary.
  4. Rerun: If re-execution is needed, drag the Done card back to In Progress.

Notes

  • Configuration file: Do not manually edit cordis.yml; this file is rewritten on every startup.
  • Tab display: The Tasks tab appears only when a conversation is open. This is a limitation of the official view mechanism, not a plugin bug.
  • Development and debugging: During development, after modifying src/client.tsx and rebuilding, you must manually overwrite lib/client.js or use pnpm link; otherwise the browser will not load the new code. The plugin’s React state is lost on refresh, but session and runtime data are retained.
  • Manifest changes: Changes to the Manifest in the plugin source still require restarting DSH Desktop to take effect.

Summary

dsh-task-board provides a workflow that embeds task management directly into the conversation flow. Through the board and drag-and-drop operations, developers can track task progress more intuitively and use the DSH engine to execute specific work.