DeepSeek Harness 插件

dsh-taskboard-plugin

DeepSeek Harness 任务看板插件:本地 JSON 存储的六列看板 + 任务会话联动 + 拖拽排序 + 面向模型的看板工具。(英文原文)

跳到安装方式

来源信息

GitHub 仓库
maochiy/dsh-taskboard-plugin
最近更新
2026年8月14日
分类
界面增强
GitHub stars
1
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/maochiy/dsh-taskboard-plugin
插件名:dsh-taskboard-plugin
作者:maochiy

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器4 个文件
README.md来源说明 · 只读预览
README 语言

@xiuda-ai/dsh-taskboard-plugin

DeepSeek Harness 任务看板插件

English · 中文

![npm](https://www.npmjs.com/package/@xiuda-ai/dsh-taskboard-plugin) ![License: MIT](./LICENSE) ![GitHub](https://github.com/maochiy/dsh-taskboard-plugin)

---

一个为 DeepSeek Harness 设计的任务看板插件:本地 JSON 存储、六列看板、拖拽排序、任务与会话联动、面向模型的看板工具。逻辑参考 Proma 的任务看板(taskboard-store.tsrenderer/components/taskboard/)精简而来——本地文件存储、浮动 sortOrder、乐观锁(version)、identifier 续号、中文看板列与优先级/状态色调。

功能

  • 六列看板:待处理 / 处理中 / 受阻 / 待确认 / 已完成 / 已归档(列内卡片过多时独立滚动)
  • 多项目:内置全局项目(local),可新建项目;全局视图聚合所有项目
  • 拖拽:拖到列空白(跨列移动 / 追加),拖到某张卡之前(同列排序,浮动 sortOrder
  • 任务编辑器:标题、描述、状态、优先级、标签、指派(用户 / Agent)、起止日期;归档 / 恢复 / 删除
  • 任务 ↔ 会话联动:卡片上的「开始对话 / 查看对话」按钮,关联并打开 DSH 会话
  • 面向模型的工具taskboard_list / taskboard_create / taskboard_update / taskboard_archive,Agent 可直接管理看板
  • 本地存储~/.dsh/taskboard/{projects.json, tasks.json},原子写(tmp + rename),无数据库

截图

![任务看板](./screenshot.png)

安装

前置条件

  • 已安装 DeepSeek Harness(Electron 桌面应用)
  • 目标 profile 存在(默认 web

方式一:npm 安装(发布后推荐)

在目标 profile 目录内安装本包(写入该 profile 的 package.json 依赖):

cd ~/.dsh/profiles/web
npm install @xiuda-ai/dsh-taskboard-plugin

然后在 ~/.dsh/profiles/web/cordis.patch.yml 追加:

- insert:
    - id: taskboard
      name: "@xiuda-ai/dsh-taskboard-plugin"

重启 harness 加载宿主半区;刷新页面加载浏览器半区。

方式二:本地路径(开发 / 尚未发布)

把源码目录链接进 profile 的扁平 node_modules

ln -sfn /path/to/dsh-taskboard-plugin ~/.dsh/profiles/node_modules/@xiuda-ai/dsh-taskboard-plugin

再按方式一追加 cordis.patch.yml 的 insert 行即可。

从源码构建

npm install
npm run build      # 产出 lib/index.js + lib/client.js
npm run dev        # 监听 src/ 自动重打包(改完刷新页面)

> 运行时依赖 @deepseek-ai/cordis / @deepseek-ai/dsh-tools / @deepseek-ai/dsh-home-paths 需能从本包解析。本地开发建议在包内建软链指向 profile 的已安装副本,保持与运行中的 harness 版本一致。

使用

重启后进入任意会话,会话头部右侧会出现「任务面板」胶囊按钮(与「Session log」按钮并排)。点击打开看板:

  • 「+ 新建任务」创建任务
  • 拖拽卡片跨列 / 排序
  • 卡片上的对话按钮:无关联会话时「开始对话」,有关联时「查看对话」

> 说明:入口按钮是会话级的,只在进入某个会话后显示;无会话的空白页看不到入口。

卸载

1. 删除 ~/.dsh/profiles/web/cordis.patch.yml 中的:

- insert:
    - id: taskboard
      name: "@xiuda-ai/dsh-taskboard-plugin"

2. 删除软链:

rm ~/.dsh/profiles/node_modules/@xiuda-ai/dsh-taskboard-plugin

数据目录 ~/.dsh/taskboard/ 默认保留;如需清空数据,删除该目录即可。

目录结构

dsh-taskboard-plugin/
├── package.json           # dsh.bundle(组合层)+ dsh.client(浏览器半区)
├── cordis.patch.yml       # 把宿主行插入组合的 patch
├── tsconfig.json
├── scripts/build.mjs      # esbuild 构建 host + client
├── src/
│   ├── index.ts           # Host 插件:存储 + /taskboard API + 模型工具
│   ├── taskboard-store.ts # 存储核心(JSON 原子写 / sortOrder / 乐观锁)
│   ├── types.ts           # 共享领域类型
│   └── client/            # 浏览器半区(React 看板)
│       ├── index.ts           # 客户端插件:Slot 注册(入口按钮 + 看板弹窗)
│       ├── BoardOverlay.tsx   # 看板主体(设置面板式弹窗)
│       ├── Column.tsx         # 看板列
│       ├── TaskCard.tsx       # 任务卡片
│       ├── TaskEditor.tsx     # 任务编辑器
│       ├── SidebarButton.tsx  # 会话头部「任务面板」入口
│       ├── labels.ts          # 状态 / 优先级 / 色调
│       ├── api.ts / store.ts  # 数据访问
│       └── board.css          # 样式
└── lib/                   # 构建产物(index.js + client.js)

数据存储

~/.dsh/taskboard/
├── projects.json   # 项目列表
└── tasks.json      # 任务列表(含 sessionId 关联、sortOrder、version 乐观锁)

HTTP API(浏览器半区内部使用)

POST /taskboard/api,body { "op": string, "args": object }

op说明
state返回 { projects, tasks } 全量
listProjects / createProject项目列表 / 新建
listTasks / createTask / updateTask任务增改查
moveTask移动 / 排序(status + 可选 sortOrder
archiveTask / restoreTask / deleteTask归档 / 恢复 / 删除

业务错误返回 { ok:false, error:{ code, message } }code 可能为 VERSION_CONFLICT(乐观锁冲突)、PROJECT_NOT_FOUNDTASK_NOT_FOUNDINVALID_* 等。

与 Proma 的对应关系

Proma本插件
~/.proma/ 多文件 JSON/JSONL~/.dsh/taskboard/ 两个 JSON 文件
taskboard-store.ts(浮动 sortOrder、乐观锁、续号)src/taskboard-store.ts
taskboard-constants.ts(状态 / 优先级 / 色调)src/client/labels.ts
TaskboardView / TaskCard / TaskEditor(Tailwind)src/client/BoardOverlay.tsx 等(CSS 变量主题)
main/ipc.ts TASKBOARD 通道/taskboard/api JSON 端点
Agent 任务联动模型工具 taskboard_*

局限

  • v1 精简掉了 Proma 的评论、活动时间线、任务关系、附件、重复任务、撤销栈(⌘Z)。
  • 同列拖拽用「插入到某张卡之前」的浮动 sortOrder,未做让位动画。
  • 客户端样式复用 DSH 主题 CSS 变量,未做独立主题。
  • 待立项(backlog)/ 已取消(canceled)状态仍保留在数据层,但当前 UI 不展示这两列。