dsh-tree-task-flow:DeepSeek Harness 树形任务流插件

前言

在 DeepSeek Harness (DSH) 中,长任务的执行过程会积累大量上下文:读过的文件、试过的错、执行的命令。这些内容对后续步骤没有直接用处,却不断占据上下文长度。dsh-tree-task-flow 插件通过树形结构管理多步任务,在节点完成时自动折叠执行过程,只保留结果。

是什么

这是一款把多步任务组织成目标 → 任务 → 子任务三级树的插件。
每个节点完成时,由 AI 提交结果,插件随即把该节点的执行过程从上下文里折叠掉,只留下结果。
- 维护者:viyiviyi
- 许可证:MIT

安装与启用

安装前请确保环境满足要求:Node.js 22.19 以上版本,并已安装运行 dsh。

从 npm 安装:

dsh plugin --profile web add dsh-tree-task-flow

安装后必须重启 dsh web 才能生效。安装即启用,不需要再改任何配置。若不想使用,可在 profile 里配置 enabled: false 关闭。

核心功能

插件提供命令行接口(/task-tree 系列命令)和工具调用接口(tree_task_* 系列)。

  • 树形结构:支持目标、任务、子任务三级嵌套。
  • 上下文折叠:节点完成时,折叠该节点执行过程,只保留结果。
  • 界面集成:提供折叠卡片和展开清单视图。

折叠逻辑

折叠按“只看表层,不依赖 tree_task_plan”的规则切分:
- 起点:上一次 tree_task_done 之后的第一条 tree_task_create 调用。
- 终点:本次 tree_task_done 调用之前。
- 区间处理:折叠起点那次调用与返回、终点那次调用与返回原样留在上下文,中间的过程被收走,换成一条计数通告。
- tree_task_plan:不是边界,随中间过程一起被收走。

工具接口

插件提供以下工具:

工具名 用途
tree_task_create 新建目标(开工),也是折叠的起点标记
tree_task_plan 给一个节点追加子节点(任务加子任务,目标加任务)
tree_task_done 完成一个节点并提交结果(收工),触发折叠
tree_task_update 修改一个节点的标题或说明
tree_task_drop 丢弃一个节点(留记号,历史留着)
tree_task_delete 删除一个节点(摘掉,不留痕)
tree_task_status 查看计划树,默认只展开未结束的目标

命令行接口

/task-tree 命令不经过模型,直接执行:

命令 作用
/task-tree 查看本会话的任务树与检查点状态
/task-tree done <id> <结果> 提交某个节点的结果并完成它
/task-tree drop <id> 丢弃某个节点
/task-tree delete <id> 删除某个节点(连子节点一起摘掉)
/task-tree pause 暂停:正在跑的工具跑完就停住
/task-tree resume 继续:从停住的地方接着跑
/task-tree reset 清掉本会话的计划树

界面与配置

界面集成在 DSH Web 界面中,输入框上方有“树形任务流”条目。

  • 折叠时:显示为 36px 单行条,包含阶段标签、目标标题、进度,以及暂停/继续、清空计划、展开按钮。
  • 展开后:显示三级树,默认只摊开当前路径,其余节点收起。支持查看全文、完成、丢弃、删除操作。

配置项位于 $DSH_HOME/profiles/<名字>/cordis.patch.yml 或 DSH 设置面板:
- enabled:总开关。
- autoContinue:模型停下时是否自动续行。
- interruptRecovery:意外中断后是否自动拉起。

适用场景与注意

  • 适合需要拆解复杂任务、希望保持上下文清洁的开发者。
  • 插件以当前 dsh 进程权限运行,安装前建议检查源码与许可证。
  • 数据每 4 秒自动拉取,界面会自动更新。

总结

dsh-tree-task-flow 通过树形结构管理和上下文折叠机制,解决了长任务执行中上下文膨胀的问题。它将“过程”与“结果”分离,让后续步骤始终能聚焦在当前需要完成的节点上。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜