dsh-kanban: A task board for every DeepSeek Harness project

Introduction

When running multi-step tasks in DSH, the workspace lacks a layer of lightweight intermediate state: what hasn’t started, what is in progress, and what is waiting for review. Common practices involve writing these into chat history or a separate todo file; over time, these scatter, making it difficult for agents to access them based on a unified state. dsh-kanban aims to solve this using a plugin: a Kanban board for each project, where humans move tasks from drafts to “Ready”, and agents pick them up from “Ready” to maintain subsequent states. Below is an introduction to its positioning, features, installation, and typical usage.

What is this

dsh-kanban is a DSH client plugin maintained by fourclub, categorized as a workflow tool in the community directory (Star 1, current version 0.2.3, MIT). It generates a Kanban board for each project, with data stored in the project workspace, and registers kanban_* tools allowing agents to directly read and write tasks. It solves two issues: task state is no longer scattered in the chat, and humans have a unified view; agents have a stable entry point to “get the next doable thing”.

Five Columns and Drafts

The board has a fixed five columns:

Column Meaning Who can move
Backlog Drafts / Ideas, agent does not touch Human
Ready Ready, agent can claim Human uses “Ready” button to set
In Progress Agent has claimed Agent
Review Waiting for decision or reply Agent
Done Task is finished Agent (if allowed) or Human

New tasks are created in the Backlog column by default as drafts: they can be edited anytime for a long period without appearing in the agent’s scope. Clicking “Ready” moves it to Ready and starts an agent session. The gate from draft to ready is the core of the entire Kanban board.

Cards and Task Details

Each card displays priority, tags, recent activity, and three counters: agent (including sub-agents), sub-agents, and background jobs. Clicking a card opens the right-side panel in a read-only “Task” tab: grouped metadata (column, priority, assignee, date, is draft), agent status, tags, a description filling the height, and the session for that task. The “Edit” button at the top switches the panel to edit mode, allowing changes to title, description, priority, tags, as well as moving or deleting the task.

The read-only mode has two other tabs. “Comments” is a feed with authors and times plus an input box, send with Ctrl+Enter; “Logs” records the full history: creation, movement between columns (including “from -> to”), modifications, assignee, draft status, and agent status. Comments are saved in the board file and also displayed in the logs. The pencil icon on the card can open the same information in a standalone modal window, useful when the right-side panel is occupied by another task. On wide boards, the main header and column headers are fixed, while the lists within each column scroll independently; even if the Done column stacks hundreds of items, it won’t stretch the entire board.

Agent Workflow

The Host part registers kanban_* tools, appends a system prompt to the agent, and maintains a session for each task. Agents cannot touch drafts, nor can they set tasks to Ready themselves, or close them directly from Review. There are ten tools in total: kanban_get, kanban_get_item, kanban_create_item, kanban_update_item, kanban_move_item, kanban_next, kanban_assign, kanban_set_status, kanban_delete_item, kanban_set_code. Among them, kanban_next retrieves the first task from the Ready column, moves it to In Progress, and binds it to the current session.

The board polls the API every 3 seconds; changes from the agent cause the corresponding card to highlight.

Data and Security

There is one JSON file per project: <workspace>/.dsh-kanban.json, with a versioned schema and automatic migration; if the file is corrupted, it is backed up first, then replaced with an empty board. Data does not leave the project; the client only accesses the plugin’s own same-origin route /api/kanban. Switching projects means switching boards.

Installation and Activation

dsh plugin --profile desktop add github:fourclub/dsh-kanban

Or install from a local directory:

dsh plugin --profile desktop add /path/to/dsh-kanban

After installation, you need to restart Harness. The “Kanban” tab will appear next to Chat and Trajectory, and a Kanban icon for that project will appear in the left sidebar. Runtime requirements: DeepSeek Harness Web/Desktop must support client plugins (dsh.client); the details panel depends on sidebarRight/sidebarRightTabs services, falling back to a backup dialog if missing; building requires Node.js ≥ 20. License is MIT, see the repository LICENSE.

Typical Usage

When starting a project:

  1. First, create a draft in the Backlog column and slowly edit it until it is executable.
  2. Click “Ready” on that task; the plugin moves it to Ready and raises an agent session.
  3. After the agent uses kanban_next to pick up the task, it enters “In Progress” and moves to “Review” upon completion.

When human intervention is needed, the task stays in “Review”; the agent will not close it automatically. After confirmation, humans can move it to “Done”, or adjust the status via kanban_move_item/kanban_set_status.

Applicable Scenarios and Notes

Suitable for those who want to explicitly layer multi-step tasks in DSH and have agents access them based on a unified state; projects that require single-turn conversations and do not need a status board should not introduce this. The plugin runs with the permissions of the current dsh process, allowing it to read/write project files and register tools for agents; before installation, it is recommended to read the source code once to confirm the loading method meets expectations and to note the redistribution boundaries under the MIT license. The repository provides three development commands:

npm install
npm run typecheck
npm test
npm run build

npm run build regenerates the lib/client.js artifact committed to the repository (both host code and client artifacts are in the repository), so CI is not a mandatory step.

Conclusion

dsh-kanban does not introduce a new “Project Management System” concept; it lists tasks in five columns in the project’s own JSON file while leaving a minimal set of tools for the agent. For functional details and source code, see the directory page and GitHub: https://www.skillhub.cn/plugins/fourclub/dsh-kanban , https://github.com/fourclub/dsh-kanban .

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye