DeepSeek Harness plugin

deepseek-kanban-plugin

DeepSeek Harness 任务看板插件(主机状态机 + git 调度 + 浏览器看板 UI)

Jump to install

Source facts

Repository
callmesoul/deepseek-kanban-plugin
Latest update
Aug 22, 2026
Category
Workflow & Automation
GitHub stars
1
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/callmesoul/deepseek-kanban-plugin
Plugin: deepseek-kanban-plugin
Author: callmesoul

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer2 files
README.mdSource · read only

@deepseek-kanban/plugin

DeepSeek Harness(DSH)任务看板插件 —— 在 DSH Web 左侧边栏提供「任务看板」,把项目、git 分支、AI agent 串成一条自动化开发流水线:创建任务 → agent 自动领取执行 → 自动提交 → 人工审核 → 自动合并回基础分支。

安装

从 GitHub 直接安装(推荐):

dsh plugin --profile web add "github:callmesoul/deepseek-kanban-plugin"

如需指定版本 / 分支(Tag 或 commit 后跟 #):

dsh plugin --profile web add "github:callmesoul/deepseek-kanban-plugin#main"

安装完成后重启 / 重载 DSH 应用,侧边栏底部出现「任务看板」入口即安装成功。

> 强制刷新安装:dsh plugin --profile web remove @deepseek-kanban/plugin && dsh plugin --profile web add "github:callmesoul/deepseek-kanban-plugin"

功能特性

  • 看板入口:DSH Web 侧边栏底部「任务看板」按钮,点击打开全屏看板面板(2s 轮询实时刷新);支持 Ctrl+K(macOS 为 Cmd+K)快捷键一键打开/关闭。
  • 双视图切换:看板顶部 Tabs 切换「看板」列视图与「路线图」甘特图视图(参考 GitHub Projects Roadmap:左侧任务列表 + 右侧时间轴,按状态分组泳道、周/月刻度自适应、今天竖线、任务条按状态着色,点击任意任务打开详情)。
  • 任务状态机待领取 → 执行中 → 待审查 → 已审核 → 已完成,含 暂停中 兜底状态。
  • agent 自动执行:任务被 agent 领取后自动改码并 git commit,无需人工介入。
  • git 分支隔离:每个任务使用独立任务分支(kanban/<id前8>),执行前自动从基础分支切出。
  • 审核合并:人工「审核通过」后自动 merge --no-ff 回基础分支并删除任务分支。
  • 评论并继续:待审查状态支持评论,agent 恢复原会话继续修改后重新提交。
  • 新建任务配置:可选执行模型、定时执行时间;基础分支为下拉选择(从项目 git 分支实时获取)。
  • 路径补全:新建任务的「任务描述」与任务详情的「评论」输入框中,输入 / 即弹出当前项目的文件/目录补全浮层,支持 ↑/↓ 选择、Enter/Tab 确认、目录连续下钻(如 /src//src/components/);git 项目走 git ls-files(尊重 .gitignore),非 git 项目回退目录扫描。
  • 改动记录:任务详情记录每次 agent 执行后的最终输出全文(改动说明/方案/细节),而非 git 统计。
  • 统一工作区:同一项目的所有看板任务共享同一个「看板任务」工作区分组,不重复创建。

架构概览

DSH 是「主机平面 cordis 插件 + 客户端插件」双层架构,本插件对应两个部分:

┌───────────────────────────── DSH Web(浏览器) ─────────────────────────────┐
│  lib/client.js(React 外壳)                                                  │
│    ├─ sidebar.footer.action  → 侧边栏「任务看板」入口                          │
│    └─ shell.overlay          → 全屏看板面板,挂载 Vue 应用                     │
│         └─ src/(Vue 3 + Tailwind v4 + shadcn-vue 看板 UI)                    │
│               └─ ctx.remote.kanban.*(Typert Remote 远程调用)                │
└───────────────────────────────────┬───────────────────────────────────────────┘
                                    │
┌───────────────────────────────────▼───────────────────────────────────────────┐
│  lib/index.js(主机平面 cordis 插件)                                            │
│  KanbanService extends TypertRemoteService(注册为 ctx.kanban)                  │
│    ├─ 数据:ctx.storageDomain 的 kanban 域(tasks 表)→ ~/.dsh/storages        │
│    ├─ 项目:ctx.workspaceRegistry.list()(与 DSH 工作区绑定)                   │
│    ├─ git:child_process 执行(主机平面,不受沙箱限制)                          │
│    └─ agent:ctx.agents.create + followup + whenIdle                           │
└────────────────────────────────────────────────────────────────────────────────┘
  • 主机端lib/index.js):状态机、git 调度、agent 执行、数据持久化。
  • 客户端src/client.ts + src/ 看板 UI):入口注册、看板展示与交互。
  • 客户端经 ctx.remote.kanban.<method> 调用主机远程方法,看板打开期间约 2s 轮询 getBoard()

目录结构

.
├── lib/                      # 构建产物(也是插件包体)
│   ├── index.js              # 主机端服务(KanbanService,手写源文件)
│   ├── client.js             # 客户端 bundle(构建生成,ModuleLoader 包装)
│   └── client.raw.js         # vite 中间产物(被 wrap-client 包装)
├── scripts/
│   ├── wrap-client.mjs       # 把 vite CJS 产物包装成 DSH ModuleLoader 格式
│   └── smoke-host.mjs        # 主机端冒烟测试(内存态跑完整任务流转)
├── src/                      # 客户端源码(Vue 3 + shadcn-vue)
│   ├── client.ts             # React 外壳:挂载 Remote、注册侧边栏入口与 overlay
│   ├── kanban-entry.ts       # Vue 应用挂载/卸载
│   ├── remote.ts             # Typert Remote 描述符(远程方法声明)
│   ├── App.vue               # 看板根组件
│   ├── components/           # BoardView / KanbanColumn / TaskCard / TaskDetailSheet
│   │                         #   / NewTaskDialog / SchedulePicker / ui/*(shadcn)
│   ├── composables/useBoard.ts
│   └── lib/                  # bridge.ts(KanbanApi 接口)、types.ts、utils.ts
├── docs/DESIGN.md            # 设计文档(状态机、git 流程、架构细节)
└── package.json

快速开始

环境要求

  • Node.js ≥ 22(pnpm 管理依赖)
  • 已安装 DSH(dsh CLI 可用,含 web profile)
  • 项目基于 WSL(Ubuntu),以下命令在 WSL 内执行

安装依赖

cd /home/callmesoul/code/deepseek-kanban-plugin
pnpm install

构建

pnpm build        # vite build + wrap-client.mjs,生成 lib/client.js
pnpm watch        # 开发时增量构建

安装到 DSH

普通用户 / 快速体验(从 GitHub 安装):

dsh plugin --profile web add "github:callmesoul/deepseek-kanban-plugin"

本地开发(file: 协议,硬链接实时生效):

# 方式一:直接安装(推荐)
dsh plugin --profile web add "file:$(pwd)"

# 方式二:完整重建 + 重装
pnpm sync:dsh     # 等价于 build + remove + add

> ⚠️ file: 协议路径必须是 WSL 原生路径(/home/callmesoul/...),不要用 \\wsl.localhost\... 形式的 Windows 路径,否则 pnpm 会报 ERR_PNPM_LINKED_PKG_DIR_NOT_FOUND

安装后重启 / 重载 DSH 应用(或重载插件)生效。之后侧边栏底部出现「任务看板」入口。

冒烟测试

pnpm test:smoke   # 内存态验证 创建→评论继续→审核→合并 全流程

使用说明

!看板面板

新建任务

1. 点击看板「新建任务」。 2. 选择项目(来自 DSH 工作区);选择项目后自动加载该项目 git 分支,作为基础分支下拉选项(默认当前分支)。 3. 填写标题与描述,可选选择执行模型执行时间(留空立即执行,未来时间到点由主机端定时器自动领取)。 - 在「任务描述」中输入 / 可快速引用项目文件路径(同上,评论输入框同样支持)。 4. 创建后任务进入「待领取」,agent 自动领取执行。

!新建任务

状态流转

待领取(todo) ──自动领取──▶ 执行中(running) ──agent完成+commit──▶ 待审查(review)
                            │                                        │
                            └──切分支遇未提交──▶ 暂停中(paused)        │ 用户手动「审核通过」
                                                   │ 用户确认后继续    ▼
                                                   └────────────── 已审核(approved)
                                                                        │ agent 自动合回
                                                                        ▼
                                                                     已完成(done)
  • 待审查:可打开详情查看改动记录(agent 最终输出全文)与评论;「审核通过」后自动合并;也可以评论让 agent 继续修改。
  • 暂停中:切换分支时检测到未提交改动,提示用户处理;确认后继续执行。
  • 已完成:任务分支已合并回基础分支并删除。

git 流程

  • 新建任务:记录 baseBranch(基础分支)与 taskBranchkanban/<id前8>)。
  • 执行:git checkout <base>git checkout -b <taskBranch> → agent 改码 → git add -A && git commit
  • 审核通过:git checkout <base>git merge --no-ff <taskBranch>git branch -d <taskBranch> → 状态置为 done。

远程 API(ctx.remote.kanban.*)

方法说明
listProjects()列出 DSH 工作区(项目)列表
getBoard()获取看板全量数据(项目 + 任务 + 状态)
listCreateTaskOptions()新建任务选项(模型分组 + 默认模型)
listBranches({ projectId })获取项目 git 分支列表(含当前分支)
listProjectPaths({ projectId })获取项目文件/目录树(供 / 路径补全使用)
createTask(input)新建任务
moveTask({ taskId, to })移动任务状态
approveTask({ taskId })审核通过(触发合并)
resumeTask({ taskId })恢复暂停的任务
commentTask({ taskId, comment })评论并继续(恢复 agent 会话追加 followup)
deleteTask({ taskId })删除任务

调用均返回 { ok: true, value } | { ok: false, error }(见 src/lib/types.ts)。

开发指南

新增一个远程方法

1. lib/index.js:在 KanbanService 添加方法,并加入 markRemoteMethods 注册列表。 2. src/remote.ts:添加对应 descriptor。 3. src/lib/bridge.ts:在 KanbanApi 接口补充签名。 4. 重新 pnpm build 生成 client.js,重载 DSH 生效。

构建与安装注意

  • lib/index.js 为手写源文件,lib/client.js 为构建产物(勿手改)。
  • 通过 pnpm file: 协议安装后,profile 副本与项目源文件是硬链接pnpm build 后源文件即生效,无需手动拷贝;但改 package.jsonfiles 字段或需要彻底重装时,用 pnpm sync:dsh
  • 发布/安装注意package.jsonfiles 字段必须包含 cordis.patch.ymldsh.bundle.patch 依赖它),否则 GitHub 安装后 DSH 启动会因找不到 overlay 报错;profile 的 cordis.patch.yml 中不要再重复 insert kanban,否则报 duplicate loader entry id
  • 改 host 端或客户端代码后,都需要重载 DSH 应用/插件才生效。

常见问题

Q:执行了多个看板任务,为什么会出现多个「看板任务」工作区? 旧版本每个任务都会新建工作区;已修复为同一项目(按路径匹配)复用同一个「看板任务」工作区分组,新任务直接 attach 到已有分组。

Q:任务详情里改动记录为空? 改动记录自「记录 agent 最终输出」版本起生效。历史已完成任务是在旧版本执行的,无法回溯补录;新任务执行后即有记录。

Q:为什么改了源码不生效? 确保已执行 pnpm build 且已重载 DSH 应用。若仍未生效,可 pnpm sync:dsh 重装。

License

MIT