DSH Task Board Brings Kanban-Style Agent Workflows to DeepSeek Harness
Give DeepSeek Harness a Task Board: Quick Start with DSH Task Board
Author: ovO Tags: DeepSeek, Open Source
Using DeepSeek Harness for one-off questions is straightforward, but when tasks pile up, relying solely on the chat list makes it hard to answer a few basic questions: which tasks haven't started yet, which are running, which are waiting for manual review, whether failed tasks have been retried, and whether records persist after a page refresh.
DSH Task Board is a community plugin built for exactly these scenarios. It adds a persistent task board to the DeepSeek Harness Web, turning tasks from chat records into task cards that can be created, executed, reviewed, retried, and restored.
First, let's look at the full effect:
What It Provides
After installation, a "Task Board" entry appears in the DeepSeek Harness sidebar.
The board organizes tasks using five statuses:
- Initialized: The task has been created but execution hasn't started yet.
- Running: The task is being executed via a DSH Session.
- Pending Review: Execution is complete, waiting for manual confirmation of the result.
- Completed: The result has passed review.
- Failed: This round of execution failed; the cause can be viewed and manually retried.
It doesn't introduce a separate Agent Runtime. The actual task execution still happens through DeepSeek Harness's regular Sessions; the Task Board is responsible for task cards, status transitions, review, and persistence.
One-Command Installation
The current v0.1.0 corresponds to DeepSeek Harness 0.1.0-rc.6, requires Node.js ^22.19.0 or >=24, and ensures pnpm is in the PATH.
Run:
npx @deepseek-ai/dsh plugin --profile web add github:scwlkq/dsh-task-board
You can first check the combined configuration:
npx @deepseek-ai/dsh --profile web --dump-config
The output should contain only one task-board Loader record provided by dsh-task-board. The Host service, RPC, and Web UI are all in the same installation package, so it won't appear as three or four separate plugins on the settings page.
Then start the Web:
npx @deepseek-ai/dsh web
Open the local address output by the terminal and click "Task Board" in the lower left corner to enter.
Creating the First Task Card
After clicking "New Task", two modes can be selected:
- Manual Task: Only records and manages the task without calling the model, suitable for to-do items or manual workflows.
- Agent Task: After creation, it can be handed over to a DSH Session for execution, requiring configured model credentials.
A task card can be filled with a title, working directory, Agent Preset, task requirements, acceptance criteria, and reference images in PNG, JPEG, WebP, or GIF format can also be added.
There are two main actions at the bottom of the form:
- Create Only: The task enters the "Initialized" state and can be started later.
- Create and Start: The Agent task starts immediately after creation.
If you are just experiencing the interface without configuring an API Key, you can choose "Manual Task" and click "Create Only".
From Execution to Review
The common workflow for an Agent task is:
Initialized → Running → Pending Review → Completed
After entering "Pending Review", it can be approved directly, or feedback can be filled in to reject it. Rejection generates a new revision round and continues to reuse the corresponding DSH Session. If execution fails, it enters the "Failed" column, where a person decides whether to retry; it won't auto-retry indefinitely in the background.
In the task details, you can view the task requirements, acceptance criteria, working directory, current status, execution rounds, activity log, and associated Session. Initialized tasks can also be manually started from here.
Tasks Persist After Refresh
Task records are saved in the DSH Storage of the current profile, not just in the React page state. After creating a task and refreshing the entire page, the task card will still be restored from the Host's authoritative snapshot.
This is important: the board can be closed, the browser can be refreshed, and the Host can be restarted, but task cards, rounds, and activity logs should not disappear because of this.
Updates and Uninstallation
Update an already installed Git dependency:
npx @deepseek-ai/dsh plugin --profile web update dsh-task-board
Remove the plugin and its Loader configuration:
npx @deepseek-ai/dsh plugin --profile web remove dsh-task-board
What This Release Validated
v0.1.0 has been verified through GitHub installation in a fresh DeepSeek Harness 0.1.0-rc.6 environment: the profile only adds one bundle, one package, and one Loader. Type checking passed, two consecutive build outputs were byte-identical, and 168 tests across 20 test files passed.
Browser verification covered the sidebar entry, the single Loader, the five-column board, creating a manual task, task details, and persistence after a full page refresh. The final result was 0 errors, 0 warnings in the browser, and no errors on the Host.
It should be noted that this public demo did not configure a real DeepSeek API Key, so it validates installation, interface, task management, and persistence, without claiming to have completed actual model calls. To make Agent tasks actually run, model credentials need to be configured in DeepSeek Harness.
Related Links
- GitHub Repository: scwlkq/dsh-task-board
v0.1.0Release: Download and Release Notes- DeepSeek Harness Plugin Discussion: Discussion #2052
If you are using DeepSeek Harness to handle multiple tasks that need execution, review, and retry, this board can lift them out of the chat list and turn them into a clearer, easier-to-recover workflow.