dsh-project-board:DSH Web 原生项目进度看板

前言

在 DSH Web 里用任务看板管进度时,看板管的是「一件事」:没有卡片就什么都不显示。多项目并行时,你更需要的是「项目一直在板上」,以及「多久没动」由机器算出来,而不是靠手改时间戳或百分比。下面介绍社区插件 dsh-project-board(维护者 sunzhiyueaa,分类:客户端):它在侧边栏提供五列按状态分的项目看板,天数只读机器时间,拖动改状态写回 projects.yaml,单击进入项目继续开发。

这是什么

dsh-project-board 是 DSH Web 的原生项目进度看板插件(npm 包名 @local/dsh-project-board,当前版本 0.2.0,MIT 许可证)。它解决的是「项目级」进度视图,而不是单任务卡片堆叠:

  • 项目永远在板上,哪怕一张任务卡都没有。
  • 天数由四类证据取最新值自动计算:DSH 会话记录、git 提交(含未提交改动的文件 mtime)、目录里最新文件改动、任务看板卡片执行时间。
  • 首屏按「最久没动」排序,不是按你上次想改的顺序。

它不统计百分比、不做甘特图,也不在面板里编辑 intent / next——那两句在与 agent 对话时改。

目录页:https://www.skillhub.cn/plugins/sunzhiyueaa/dsh-project-board
源码:https://github.com/sunzhiyueaa/dsh-project-board

核心功能

五列看板与两套状态词

看板按状态分五列:在做 / 卡住 / 搁置 / 已完成 / 认账不做。项目类型 kind 决定状态词表:

kind 在做 / 卡住 / 搁置 / 已完成 / 认账不做
code building / blocked / paused / shipped / shelved
material editing / blocked / paused / exported / shelved

拖动卡片到另一列,松手即写回 projects.yaml,4 秒内可撤销。代码型拖到「在做」写 building,素材型拖到「在做」写 editing;拖动过程中不碰文件,松手才写。

单击进入项目

单击卡片会打开该项目最后一次会话继续干活;没有会话则新建工作区与会话。

新增项目

右上角「+ 新增项目」。名称和「要干的内容」必填。可设类型(代码 / 素材)、路径、多选素材文件(落到 <项目路径>/素材/ 或插件 materials/<id>/)。描述可点「让 AI 改写」压成一句(宿主侧一次 LLM 调用,45 秒超时)。

红黄绿与「最后动静」

最后动静 = max(最后会话时间, 最后 git 提交, 目录内最新文件改动, 最后一张卡的执行时间)。判定与 YAML 里的 status 无关。

  • 超过 settings.staleDays(默认 5 天)→ 黄
  • 超过 settings.zombieDays(默认 14 天)→ 红

颜色只编码时间,不编码状态。面板除拖动改状态外为只读;宿主有 15 秒缓存并在后台补算,客户端用 localStorage 先画上次结果。

安装与启用

前置:dsh web 已能运行,并使用 web profile。插件要求 DSH 引擎 >=0.2.1-rc.2。

官方 README 给出的安装步骤如下(路径按你的环境替换):

git clone https://github.com/sunzhiyueaa/dsh-project-board.git D:\dsh-plugins\dsh-project-board
cd D:\dsh-plugins\dsh-project-board
copy projects.example.yaml projects.yaml     # 然后填你自己的项目
dsh plugin --profile web add link:D:\dsh-plugins\dsh-project-board

装完后必须重启 dsh web:客户端插件清单每个进程只扫一次,不重启侧边栏不会出现「项目进度」。之后改 lib/client.js 只需刷新页面;改 package.json 的 dsh.client 才需再重启。侧边栏出现「项目进度」,点即打开看板。

数据文件只有插件目录下的 projects.yaml。首次可从 projects.example.yaml 复制。人通常只维护 intent、next、status(可选 stage);不要手写时间戳。

settings:
  staleDays: 5
  zombieDays: 14
  wipSoftLimit: 3    # 「在做」超过此数,列头变黄提醒

projects:
  - id: dsh-project-board
    name: dsh-project-board
    path: D:\dsh-plugins\dsh-project-board
    kind: code
    status: building
    intent: 一句话说清这个项目现在为了什么
    next: 下一个具体动作,一句话

安装前请自行阅读仓库源码与 MIT 许可证;插件以当前 dsh web 进程权限运行,会读取你配置的项目路径、git 与文件时间等证据。

典型用法

  1. 拖 → 改状态:把卡片拖到目标列,松手写回 YAML,必要时 4 秒内撤销。
  2. 单击 → 进项目:从最后一次会话或新建会话继续开发。
  3. 新增项目:填名称与内容,补路径后「多久没动」才准确;素材型项目选好文件与类型。

外部直接改 projects.yaml 后,面板最多约 15 秒同步,或点「刷新」。写完 yaml 后面板也会自行刷新。

离线可运行插件自带的自检:node scripts/check.mjs(package.json 中 npm run check)。

适用场景与注意

适合在 DSH Web 里同时推进多个代码或素材项目、希望「项目永远在视图上」且用机器时间判断搁置风险的开发者。

已知限制(来自 README):

  • 新装或改 dsh.client 必须重启 dsh web。
  • Windows 上 git 子进程较贵,git 结果按路径缓存 20 秒。
  • 面板 deliberately 不写 intent / next。

DSH 生态理念是「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。本文事实以仓库 README 与 package.json 为准。

结尾

dsh-project-board 把多项目进度收进 DSH Web 侧边栏:五列状态、拖动写回 YAML、单击续会话、天数由证据自动算。需要细节与截图见 GitHub README。

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

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

小夜