shengsheng90/DSH-taskboard
Native local Taskboard plugin for DeepSeek Harness. SQLite-backed projects, Agent claim/review, and a native Web UI — no iframe, no second chat runtime.
DSH Taskboard – a native task‑management plugin for DeepSeek Harness
What it is
- A plugin (
@shengsheng/dsh‑taskboard) that adds a full‑featured Taskboard UI and API to the DeepSeek Harness AI‑agent platform. - All data lives locally in a SQLite file (
taskboard.sqlite) plus an attachment folder – no external services are required. - Provides both a sidebar button / overlay page inside the Harness web client and a head‑less JSON‑CLI (
dsh‑taskboard). - Exposes a set of in‑process tools (
taskboard_*) that agents can call during a turn, enabling agents to list, claim, comment on, and submit tasks for review.
Key capabilities
| Feature | What you get |
|---|---|
| Project & task hierarchy | Projects have short keys (e.g. DSH) that generate readable IDs like DSH‑42. Tasks have statuses (backlog → todo → in_progress → in_review → done) plus blocked and canceled. |
| Human‑only actions | Approve, accept, return, archive, cancel, force‑takeover, permanent delete – only via the UI or CLI, never via an agent tool. |
| Agent workflow | Agents can claim a todo task, work in the associated workspace, then submit a review. The human must later accept the task as done. |
| Automation | Define per‑project automations (interval, model preset, worker count, quota policy). The scheduler will claim eligible todo items and drive an agent session up to in_review. |
| CLI | dsh‑taskboard offers JSON‑output commands for projects, tasks, relations, attachments, workflows, and storage diagnostics. Exit codes differentiate success, usage errors, storage problems, domain errors, and optimistic‑conflict (TASK_STALE_VERSION). |
| Configuration | Adjustable paths, pagination limits, attachment size caps, worker limits, and refresh intervals via cordis.patch.yml, environment variables, or profile overrides. |
| Security & recovery | SQLite integrity checks on open, explicit backup instructions, and a detailed security design doc. |
Installation flow (for a Harness operator)
- Detect the running Harness – find the web listener port (default 3080) and its working directory.
- Build the plugin – clone the repo, run
pnpm install && pnpm build && pnpm pack. This produceslib/files and a tarballshengsheng-dsh-taskboard-<version>.tgz. - Add the plugin to a profile – use the Harness CLI:
dsh plugin --profile web add -w /path/to/tgz(the-wflag is mandatory for pnpm workspaces). - Verify composition –
dsh --profile web --dump-configshould show a# == @shengsheng/dsh-taskboardlayer. - Restart Harness – after adding the plugin, restart the Harness process so the UI bundle is loaded.
- Confirm activation – a GET to the Harness root must contain
@shengsheng/dsh-taskboardand the client bundle must be reachable (200response). The sidebar now shows a Taskboard button.
Using the UI
- Click the Taskboard button in the sidebar footer.
- Create a project (choose a short key) and then create tasks.
- Human users move tasks from
backlog→todo(approval). Agents claimtodoitems, work, and submitin_review. Humans finally accept the task asdone. - The UI offers Board, List, Gantt, Workflow, and Dashboard views, all respecting the current Harness locale.
Using the CLI
# list projects
dsh-taskboard --database .dsh/taskboard.sqlite project list
# create a project
dsh-taskboard --database .dsh/taskboard.sqlite project create --key DSH --name "My project"
# create a task
dsh-taskboard --database .dsh/taskboard.sqlite task create \
--project <project-id> --title "Ship the plugin"
# claim a task (agents use the tool, humans can do it via CLI)
dsh-taskboard task claim --task <opaque-id> --expected_version 1
All commands emit structured JSON, making them easy to pipe into scripts.
Agent tools (to be called from a running Harness agent)
taskboard_list– list tasks for a specific project.taskboard_get– fetch full task details.taskboard_claim– claim atodotask with optimistic version checking.taskboard_comment– add a markdown comment.taskboard_submit_review– move an ownedin_progresstask toin_review.taskboard_block,taskboard_release_claim,taskboard_relate– additional lifecycle controls.
Why it matters
- Provides a native, offline‑first task‑tracking system tightly integrated with the Harness agent runtime, avoiding separate project‑management tools.
- Enforces a clear separation: agents can only work on tasks; humans retain final acceptance authority, which is essential for safe AI‑assisted development.
- The SQLite‑backed design keeps the system lightweight and portable, suitable for on‑premise or edge deployments of Harness.
License
- Apache‑2.0 (see
LICENSE).
All details above are taken directly from the repository’s README; no additional features have been inferred.
Related
- Project
- Project
- Project
- Project