dsh-k 🗂️
August 27, 2026 · View on GitHub
简体中文 · English
AI-assisted local project task board for DeepSeek Harness (DSH).
Turn projects, git branches and AI agents into one automated pipeline: create a task → an agent picks it up in an isolated branch → commits → human review → auto merge back.
✨ Features
- Self-written sidebar with「会话 / 看板」tabs — the official workspaces / settings / footer slots are re-rendered untouched, so other sidebar plugins keep working;
- New-session button injected at the front of the workspace header action group, with the stock tooltip;
- Board opens in the right main body (no more overlay popup), top area keeps 40px breathing space;
- Toolbar: 新建任务 + project filter on the left, 看板 / 路线图 tabs on the right (refresh removed);
- Column view + roadmap (Gantt) view;
- Task state machine:
todo → running → review → approved → done(+paused); - Agents auto-claim tasks, work in a dedicated
kanban/<id8>branch and commit; - Human review merges (
--no-ff) back into the base branch and deletes the task branch; - Comments and follow-up: send a comment to resume the agent in the same session;
- New-session model/time scheduling, git branch dropdown,
/path autocomplete for descriptions/comments; - Full change logs (agent final output) per task.
🚀 Install (one line)
dsh plugin --profile web add github:zhouStar7/dsh-kanban
Installs straight from the GitHub repo — no release needed. To pin a branch / tag / commit, append #:
dsh plugin --profile web add github:zhouStar7/dsh-kanban#v0.1.0
Then restart / reload DSH — the sidebar shows「会话 / 看板」tabs.
Update / force refresh
Check the installed version first:
dsh plugin --profile web ls
Updating to a newer commit on the default branch still requires remove + add (pnpm caches the resolved git commit — a plain restart never re-fetches it):
dsh plugin --profile web remove @deepseek-kanban/plugin
dsh plugin --profile web add github:zhouStar7/dsh-kanban
On DSH Desktop the harness profile lives under %APPDATA%\dsh-desktop\harness, so run the commands with that home (PowerShell):
$env:DSH_HOME = "$env:APPDATA\dsh-desktop\harness"
dsh plugin --profile web remove @deepseek-kanban/plugin
dsh plugin --profile web add github:zhouStar7/dsh-kanban
Then fully restart DSH Desktop (restart Harness). The plugin inventory should show @deepseek-kanban/plugin 0.1.1.
Sidebar (self-written, no patch script needed)
This release ships its own sidebar: cordis.patch.yml disables the stock ui-sidebar and the client registers a sidebar slot owner with「会话 / 看板」tabs. The official child slots (sidebar.workspaces / sidebar.settings / sidebar.footer.action) are still rendered, so other sidebar plugins keep working. No files inside the DSH Desktop app are modified, so app updates and plugin uninstalls are clean.
Older installs that ran
patch-dsh-ui.mjscan restore the original bundles from the.dsh-kanban.bakbackups; the script is kept for migration only.
🧱 Architecture
- Host (
lib/index.js): task state machine, git scheduling, agent execution, storage domain ($DSH_HOME/storages/kanban.json). - Client (
src/Vue 3 + Tailwind + shadcn-vue, wrapped bylib/client.js): sidebar tabs, board/roadmap UI,ctx.remote.kanban.*calls. - Remotes are Typert SRC-described; the gateway exposes
/api/kanban/*.
🛠 Development
pnpm install
pnpm build # vite build && node scripts/wrap-client.mjs
pnpm test:smoke # host state-machine smoke test
Reinstall locally with the packed tarball (a link:/file: local install can load duplicate @deepseek-ai/* runtimes and cause /api/kanban/* 404 — prefer the tarball):
pnpm pack
# e.g. for DSH Desktop profile:
# dsh plugin --profile web add "./dsh-kanban-0.1.0.tgz"
🔒 Privacy
No telemetry. State lives in the local DSH storage domain and browser side data; git operations stay inside the selected project.
License
MIT
👥 Contributors
- @zhouStar7 — creator & maintainer
PRs are welcome — for larger changes, please open an issue first.
Related
- dsh-worktable — agent workspace/control-room for DSH