Skip to main content

How to use DSH-taskboard

Adds a native local task board to DeepSeek Harness with SQLite storage for projects, tasks, claims, and automation. Requires manual sign-off for done status. Web profile only.

This article is auto-derived from indexed fields (wiki / faq / compatibility_json), not freshly AI-generated.

This article is derived from the plugin's already-indexed fields (wiki / faq / compatibility_json / readme), not freshly generated by AI. Source field is noted at the end of each section.

Quick start

DSH-taskboard

— source: plugin_wiki.wiki_content

Install & verify

dsh plugin --profile web add @shengsheng/dsh-taskboard

Run the command above in your DSH Web Profile. Then enable the plugin in the plugin list.

— source: plugins.install

Key points

  • A Taskboard sidebar button and a native overlay page (not an iframe, not a second chat runtime)
  • Local SQLite projects, tasks, comments, relations, attachments, workflows, and automation
  • Stable readable keys such as DSH-42 plus opaque ids and optimistic versions
  • Seven statuses: backlog → todo → in_progress → in_review → done, plus blocked and canceled
  • In-process Agent tools taskboard_* (no accept / no generic status mutation)

— source: plugin_wiki.readme_en (fallback readme_raw)

FAQ

What gets added to DSH after installation?

A 'Task Board' entry appears at the bottom of the sidebar with a native overlay page (not an iframe, no separate chat runtime), and 8 in-process tools are registered for all Agents (taskboard_list / get / claim / comment / submit_review / block / release_claim / relate) (README.zh.md:18-32, src/index.ts:65-90, src/tool/index.ts:32-150).

Where is data stored? Will uninstalling the plugin lose data?

Defaults to .dsh/taskboard.sqlite (WAL mode) and .dsh/taskboard-attachments directory; the path is resolved by Host on first start and cannot be changed by the browser. Can be overridden via DSH_TASKBOARD_DATABASE / DSH_TASKBOARD_ATTACHMENTS environment variables. Backups must include both the SQLite file (WAL for online) and the attachments directory; for consistent offline backups, stop Harness first (README.zh.md:204-209, README.zh.md:319-344).

Why don't Agent tools have 'approval/status change' capabilities?

This is by design: Agents can only submit verified work to in_review; approval, acceptance, rejection, archiving, restoration, cancellation, reopening, forced takeover, and permanent deletion can only be performed by humans (UI or CLI). The source code requireHuman throws errors in multiple write paths, and Agent/automation paths cannot obtain these capabilities (README.zh.md:239-240, src/sqlite/provider.ts:344/375/394/416/556/603/658/729/753/758/792/797/811).

What to do when encountering TASK_STALE_VERSION (optimistic conflict)?

Re-read task details and resubmit with the current actual version; do not retry with old versions. All non-creation writes require the current exact version (the SQL UPDATE ... WHERE id = ? AND version = ? throws TASK_STALE_VERSION when result.changes !== 1, CLI exits with code 5) (README.zh.md:254-256, src/sqlite/provider.ts:695, src/cli.ts:329).

Does DSH need to be restarted after installation?

Restart is required. Plugin bundle registration and client-modules scanning only execute at startup; profile layer changes do not hot-reload the UI; after installation completes, polling continues until GET / containing package name + /plugins/@shengsheng/dsh-taskboard/client.js returns 200 to be considered active (README.zh.md:153-202).

Can dsh-taskboard CLI be used directly without restarting web?

Yes. CLI is an independent headless JSON entry point that reads SQLite directly and does not depend on the Harness process; as long as ~/.dsh/taskboard.sqlite path is accessible, commands like dsh-taskboard project list can be used (src/cli.ts:111-148, README.zh.md:288-313).

How does project-level automation work?

Create an automation rule for a project on the task board page (interval, Agent preset, model routing, worker limit, quota); after enabling, the Host scheduler claims eligible todos, drives the root Agent Session + Goal, and stops at in_review; when quota is exhausted, new claims pause but running work is not interrupted (README.zh.md:315-317, src/automation/index.ts).

Is there a limit on attachment size?

Single file defaults to 25 MiB, single task defaults to 100 MiB; allowed types are fixed in the configuration schema as json / pdf / zip / images / markdown / text, etc. (src/index.ts:49-52).

— source: plugin_wiki.faq_json

Compatibility

  • DSH: 0.1.0-rc.5+
  • Node: ^22.19.0 || >=24.0.0

— source: plugin_wiki.compatibility_json

Pitfalls

Review the upstream repo before installing. This guide is auto-derived from indexed fields and may lag the latest release. If anything contradicts the official docs, treat the upstream source as authoritative.

— source: general rule

How to use DSH-taskboard