前言¶
DeepSeek Harness Desktop 允许通过插件扩展功能。在开发或调试智能体时,在对话流中穿插管理任务往往比较割裂。dsh-task-board 插件通过注入对话视图,直接在对话头部增加了任务管理功能,提供了一个支持拖拽执行的三列看板。
插件简介¶
插件名称:linsibin/dsh-task-board
定位:DeepSeek Harness Desktop 的任务板客户端插件。
核心价值:在对话头部添加三列看板,支持将任务卡片拖入执行流,实现从任务创建到完成的自动化流转。
核心功能¶
插件通过以下机制实现任务管理:
- Tab 注入:注册到官方的
conversation.view槽位,与内置的 Chat 和 Trajectory 标签并排显示。 - 三列看板:包含 Backlog(待办)、In Progress(进行中)、Done(完成)三列。支持按任意分组名称归类,点击分组头部可折叠/展开卡片。
- 拖拽执行:将卡片拖入 In Progress 列,会创建一个绑定了
workDir的新 DSH 会话,并将任务描述作为提示词发送。 - 实时进度:执行过程中,助手输出会实时流式显示在卡片上。
- 自动生命周期:当回合结束且会话空闲后,卡片自动流转至 Done 列,并附带结果摘要。失败或超时则返回 Backlog。
- 重跑机制:将 Done 列的卡片拖回 In Progress 可重新执行。
- 本地持久化:使用
localStorage(键名为dsh-task-board:v1)保存任务状态,页面刷新后数据不丢失。 - 主题适配:自动适配 DSH 的亮色/暗色主题。
安装与启用¶
该插件以包的形式提供,安装在 Desktop Profile 下。
- 使用 DSH CLI 安装(推荐):
dsh plugin --profile desktop add <absolute/path/to/dsh-task-board>
- 或者手动编辑
~/.dsh/profiles/desktop/package.json,添加依赖并更新dsh.profile.bundles,随后运行pnpm install。 - 启用:安装后必须重启 DSH Desktop(Manifest 的更改不支持热更新)。
- 打开任意对话,标签栏会出现 Tasks 标签(位于 Chat / Trajectory 之后)。
典型用法¶
- 创建任务:在 Tasks 标签页点击
+ New Task,填写标题、分组、描述、工作目录(workDir)和文件列表。 - 开始执行:将卡片从 Backlog 拖入 In Progress。系统会创建会话并开始流式输出。
- 查看结果:Turn 结束且会话空闲后,卡片自动移动到 Done,并在卡片上显示最终摘要。
- 重跑:如果需要重新执行,将 Done 卡片拖回 In Progress 即可。
注意事项¶
- 配置文件:不要手动编辑
cordis.yml,该文件在每次启动时会被重写。 - Tab 显示:Tasks 标签仅在打开对话时出现,这是官方视图机制的限制,并非插件 bug。
- 开发调试:开发时修改
src/client.tsx并重建后,必须手动覆盖lib/client.js或使用pnpm link,否则浏览器不会加载新代码。插件 React 状态在刷新时会丢失,但会话和运行时数据会保留。 - Manifest 更改:修改插件源码中的 Manifest 仍需重启 DSH Desktop 才能生效。
总结¶
dsh-task-board 提供了一种将任务管理直接嵌入对话流的工作流。通过看板和拖拽操作,开发者可以更直观地跟踪任务进度并利用 DSH 引擎执行具体工作。