dsh-taskboard 0.5.3 → 0.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -156
- package/lib/client.js +313 -37
- package/lib/host/execution.js +2 -1
- package/lib/host/execution.js.map +1 -1
- package/lib/host/session-sync.js +249 -0
- package/lib/host/session-sync.js.map +1 -0
- package/lib/host/tools.js +6 -2
- package/lib/host/tools.js.map +1 -1
- package/lib/index.js +9 -1
- package/lib/index.js.map +1 -1
- package/lib/shared/api.js.map +1 -1
- package/lib/shared/protocol.js +15 -5
- package/lib/shared/protocol.js.map +1 -1
- package/package.json +1 -1
- package/src/client/board/SettingsModal.tsx +45 -9
- package/src/client/board/TaskBoard.tsx +2 -0
- package/src/client/board/TaskCard.tsx +43 -1
- package/src/client/board/TaskDetail.tsx +32 -6
- package/src/client/board/TaskFormModal.tsx +114 -6
- package/src/client/board/TemplateManager.tsx +4 -1
- package/src/client/controller.ts +29 -5
- package/src/client/index.ts +36 -5
- package/src/client/styles.ts +86 -8
- package/src/host/execution.ts +11 -4
- package/src/host/session-sync.ts +330 -0
- package/src/host/tools.ts +3 -2
- package/src/index.ts +11 -1
- package/src/shared/api.ts +7 -5
- package/src/shared/protocol.ts +20 -4
- package/src/shared/version.ts +1 -1
package/README.md
CHANGED
|
@@ -130,9 +130,12 @@ agent:
|
|
|
130
130
|
- 任务挂项目:认领校验会话归属,跨项目不可抢
|
|
131
131
|
- 紧急度三色(紧急/一般/不急)筛选与色条;搜索(标题/ID)与列内排序,筛选排序持久化
|
|
132
132
|
- 列头状态色圆点:待规划灰 / 待办蓝 / 进行中橙 / 待验收紫 / 已完成绿 / 已删除红
|
|
133
|
-
-
|
|
133
|
+
- 新建/编辑弹窗:项目、模型(含思考强度)、紧急度、执行方式、cron 实时校验与下次运行预览、执行隔离开关、验收清单编辑
|
|
134
134
|
- 详情面板:状态流转(done 仅限人工;清单未全勾时完成需二次确认并显示未勾数)、agent/用户评论流、执行记录(倒序,最新在最上;会话 ID 点击跳转打开该执行会话;已删除/已归档分开提示)、停止执行、Worktree 隔离块(分支 / 提交 / 改动统计 / 合并与清理)、执行报告块、验收清单块
|
|
135
135
|
- 待验收列卡片快捷操作:「✓ 完成」一键验收、「✗ 退回」退回待办并可附退回原因(agent 开工前会读)
|
|
136
|
+
- **外部会话自动同步(0.5.5)**:看板设置开启「🔄 自动纳入会话」后,工作区直接新建的会话自动在看板生成任务卡片(按会话工作目录映射项目,取首条消息作标题/描述)——运行中进「进行中」并绑定会话(可一键跳转)、成功结算自动流转「待验收」、异常退回「待办」;自动过滤看板内部执行会话,多轮续跑延续同一张卡片;出厂默认关闭
|
|
137
|
+
- **一键跳转执行会话(0.5.4)**:任务卡片新增「🤖 会话ID ↗」按钮、详情页顶部新增「🤖 跳转会话 ↗」按钮,持有者 Chip 同样可点——进行中优先、其次最近一次执行对应的会话一键直达(看板自动收起);已归档 / 已删除 / 会话服务不可用分别精准提示
|
|
138
|
+
- **记住上次模型(0.5.4)**:新建任务自动带出上次选用的模型与思考强度(模板预填与编辑不受影响)
|
|
136
139
|
- **验收清单 DoD(0.4.0)**:建卡时定验收条件(≤30 项);agent 用 `taskboard_checklist` 增补/勾选(附证据 note);用户在详情页直接勾选;待验收时未完成项红色高亮 + 卡片「☑ n/m」角标(未全勾显红);清单编辑在表单中整组管理(勾选状态与证据保留)
|
|
137
140
|
- **结构化执行报告(0.4.0)**:agent 收尾用 `taskboard_execution_report` 提交(摘要 / 改动文件 / 自验 / 产物 / 剩余风险),自动挂到当前执行记录;待验收详情页分栏渲染;开场框架行明示提交时序(报告 → 评论 → 移待验收)
|
|
138
141
|
- **JSON 导入(0.4.0)**:顶栏「⬆ 导入」选择备份文件 → 干跑预览(新增 / 覆盖 / 无效分类明细)→ 合并(按 id upsert)或整册替换(自动先备份当前台账 + 二次确认);⬇ JSON 导出的文件即同格式可直接恢复
|
|
@@ -209,171 +212,25 @@ pnpm 的构建授权——按报错把 key 加进 profile 的 `pnpm-workspace.ya
|
|
|
209
212
|
git clone https://github.com/cloader/dsh-taskboard.git
|
|
210
213
|
cd dsh-taskboard
|
|
211
214
|
npm install && npm run build # host ESM + client CJS 双构建
|
|
212
|
-
npm test # vitest 全量(
|
|
215
|
+
npm test # vitest 全量(208 项)
|
|
213
216
|
node tests/manual-git-e2e.mjs # 真 git 端到端手测(worktree 全链路 + 续跑 + diff 查看器)
|
|
214
217
|
node scripts/screenshot.mjs # 重新生成 img/ 截图(需本机 Edge)
|
|
215
218
|
```
|
|
216
219
|
|
|
217
220
|
## 升级日志
|
|
218
221
|
|
|
219
|
-
### 0.5.
|
|
222
|
+
### 0.5.5
|
|
220
223
|
|
|
221
|
-
-
|
|
222
|
-
- **新增内置「新增功能」模板**:排在「Bug 修复」之前——标题前缀「新增:」,按「明确需求要点 → 实现 → 补测试 → 跑套件」四步走,自带三项验收清单
|
|
223
|
-
- **「Bug 修复」模板首行改为「修复以上问题并按序交接」**:描述现在先于 Prompt 送达,「以上」才指得住
|
|
224
|
+
- **外部工作区会话自动同步看板: [@jw5555555555](https://github.com/jw5555555555)([#13](https://github.com/cloader/dsh-taskboard/pull/13))**:看板「设置」新增「自动同步工作区会话」开关(出厂默认关闭)——开启后,工作区直接新建的会话自动在看板生成任务卡片:按会话工作目录(cwd)映射到对应项目,取首条用户消息与会话标题作为任务的描述与标题;运行中自动进入「进行中」并绑定会话 ID(卡片可一键跳转),执行成功自动流转「待验收」并生成系统评论,异常退回「待办」;自动过滤看板自身创建的内部执行会话防止重复建卡;多轮续跑延续同一张卡片
|
|
224
225
|
|
|
225
|
-
### 0.5.
|
|
226
|
+
### 0.5.4
|
|
226
227
|
|
|
227
|
-
- **支持 DSH Desktop 非兼容模式下侧栏没有「任务看板」入口、看板也打不开的问题([#6](https://github.com/cloader/dsh-taskboard/issues/6))**:
|
|
228
|
-
- 支持 DSH Desktop V2.0.3 非兼容模式下侧栏没有「任务看板」入口、看板也打不开的问题
|
|
229
|
-
- 侧栏入口换上新图标:更直观的三列看板样式
|
|
230
|
-
- 新增非兼容模式的回归测试(共 199 项)
|
|
231
228
|
|
|
232
|
-
|
|
229
|
+
- **看板卡片与任务详情一键跳转执行会话: [@jw5555555555](https://github.com/jw5555555555)([#11](https://github.com/cloader/dsh-taskboard/pull/11))**:卡片元数据行新增「🤖 会话ID ↗」按钮、详情页顶部新增「🤖 跳转会话 ↗」按钮、持有者 Chip 可点击——进行中优先、其次最近一次执行对应的会话一键直达(看板自动收起);已归档 / 已删除 / 会话服务不可用分别给出明确提示
|
|
230
|
+
- **新建任务记住上次选用的模型,支持设置思考强度: [@jw5555555555](https://github.com/jw5555555555)([#11](https://github.com/cloader/dsh-taskboard/pull/11))**:create 模式自动带出上次的模型与思考强度(模板预填与编辑不受影响);模型可固定思考强度(reasoningEffort,如 low/medium/high),随执行会话下发;支持思考强度的模型从 DSH 模型目录读取可用档位
|
|
231
|
+
- **列内排序新增「按标题」: [@Amoss-1](https://github.com/Amoss-1)([#4](https://github.com/cloader/dsh-taskboard/pull/4))**:数字感知比较,数字前缀按真实数值排序(`01 < 02 < 10 < 90`,字符串比较会把 `10` 排到 `02` 前);排序选择随视图状态持久化
|
|
232
|
+
- 界面细节:下拉 / 输入框适配明暗主题(DSH 主题变量 + color-scheme);模板管理弹窗布局优化
|
|
233
233
|
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
- **详情页不再「串卡」**:以前在任务 A 点开「确认清除」后再点开任务 B,B 会直接停在待确认状态,手快就误删了。现在每次打开详情页都是干净状态
|
|
237
|
-
- **按钮防连点**:「创建任务」「立即执行」「复制」这些按钮在提交过程中会变灰。以前手快双击会建出两张一样的卡,甚至同时启动两个执行会话白烧 token
|
|
238
|
-
- **DSH 重启后马上能正常查板**:以前刚重启的几秒里 AI 查到的是一块空板,可能照流程重复建卡;现在不会了
|
|
239
|
-
- **归档的任务真正封存**:以前归档后还能从部分入口继续编辑、评论;现在彻底只读
|
|
240
|
-
- **新建任务只能落在 待规划 / 待办**:想开工请正常认领,不会再出现一张没有归属人的「进行中」
|
|
241
|
-
- **取消已结束的任务会给明确提示**:以前对已经跑完的任务点「停止」显示取消成功,其实什么都没发生;现在会如实告诉你没取消成
|
|
242
|
-
- **执行报告可以补交**:会话结束了才发现忘交报告?现在还能补上(限自己名下最近一次成功执行的任务)
|
|
243
|
-
- **复制长标题任务不再报错**:标题太长会自动截断再加(副本)后缀
|
|
244
|
-
- **编辑任务不再被偷偷改设置**:以前打开编辑器再保存,会把「跟随部署默认预设」悄悄固化成具体值;现在保持原样
|
|
245
|
-
- 内部质量:定时调度出错只记日志不再惊动整个进程、一批测试与构建卫生改进
|
|
246
|
-
|
|
247
|
-
### 0.5.0
|
|
248
|
-
|
|
249
|
-
- **新增「看板设置」**:看板顶栏多了个「🛠 设置」按钮,可以选择新建任务默认怎么执行——在独立分支里隔离着干,或者直接在项目文件夹里干。保存后,新建的任务都按这个来;已经建好的任务不受影响
|
|
250
|
-
- **新建任务默认改为「直接在项目文件夹执行」**:以前新任务默认会在独立分支里执行,现在默认不开分支、直接在项目文件夹干活。习惯分支隔离的团队,到「🛠 设置」里改回来就行
|
|
251
|
-
- **导出按钮合并成一个**:原来的「⬇ JSON」「⬇ CSV」两个按钮合并成一个「⬇ 导出」,点开再选要哪种格式
|
|
252
|
-
- 新建任务时不再记住上一次的隔离选择,统一跟着「看板设置」走
|
|
253
|
-
|
|
254
|
-
### 0.4.5
|
|
255
|
-
|
|
256
|
-
- **移除 0.4.4 引入的「每 2 秒自动检查样式」机制**:上一版给样式表打的归属标记已经从根上解决了误删问题——其他插件更新时不会再删看板的样式,周期性检查只是多余的保险。现在去掉这个常驻的后台定时器,页面少一份轮询;防掉样式的效果不变(归属标记仍在,本插件自己热更新后也会重新挂回样式)
|
|
257
|
-
- 对使用者无任何可见变化,纯粹是内部做减法
|
|
258
|
-
|
|
259
|
-
### 0.4.4
|
|
260
|
-
|
|
261
|
-
- **修复看板偶尔突然掉样式的问题([ #3](https://github.com/cloader/dsh-taskboard/issues/3))**。排查结论:浏览器里其他插件在后台热更新时,会按"样式归属"做清理,而看板自己的样式表没有归属标记,被误当成别的插件的样式连带删掉了。本次修复后:
|
|
262
|
-
- 看板的样式表明确打上了自己的归属标记,其他插件更新时不会再误删它
|
|
263
|
-
- 看板每 2 秒自动检查一次样式是否完好,即便被误删也会立刻自动恢复——以后遇到掉样式,最多闪一下就自动修好,不用再刷新页面
|
|
264
|
-
- 新增回归测试:样式归属标记生效、误删后 2 秒内自动恢复、样式不会重复注入
|
|
265
|
-
|
|
266
|
-
### 0.4.3
|
|
267
|
-
|
|
268
|
-
- **修复折叠侧边栏时入口不收成纯图标(用户反馈)**:收起侧边栏后,shell 把侧栏收成 36×36 图标轨道(layout frame 出现 `data-sidebar-collapsed` 属性、侧栏根节点切换 CSS-Module `*_collapsed` 哈希类),而看板入口仍保持全宽——图标、「任务看板」文字、右侧计数角标挤在窄轨里。修复:折叠信号下入口镜像原生轨道几何(36×36、居中、与原生 newSession 折叠态同款间距),隐藏文字与角标,图标 14→16px 保证可读;双信号选择器(`[data-sidebar-collapsed]` 与 `[class*="_collapsed"]`)沿用 0.4.2 双选择器原则,新旧 shell 通吃;展开态完全不受影响,`aria-label` 保留无障碍提示
|
|
269
|
-
- 回归测试:断言两组折叠选择器与 36px 轨道几何都注入样式表、shell 真实产生的 `hHd-Xa_collapsed` 类名命中选择器模式(150 项)
|
|
270
|
-
- README 按 dsh.market 五维评分体系重构:新增目录 / 环境要求 / 快速开始(含完整 agent 工作流示例)/ Agent 工具参考表 / 安全 / 配置与数据 / 常见问题;仓库元数据补 homepage 与 topics
|
|
271
|
-
|
|
272
|
-
### 0.4.2
|
|
273
|
-
|
|
274
|
-
- **修复 DSH Desktop 上看板不出现(用户反馈:入口能点、后端正常,但中间看板无变化)**:当前 DSH Desktop 的 Web shell(`dsh-client-ui-layout`)已完全移除 `data-pane` 属性,中间列改用 CSS Module 哈希类名(`pI_x6G_centerCol`)——而看板挂载选择器写死 `[data-pane="conversation"]`,`querySelector` 永远落空,看板容器从未创建(侧栏入口正常,是因为它一直有 `[class*="sidebarCol"]` 兜底)。修复:挂载选择器与隐藏规则双兼容 `'[data-pane="conversation"], [class*="centerCol"]'`(新旧 shell 通吃,与侧栏入口同款兜底策略);`.dsh-atb-view` 以 `height:100%` 撑满列容器,不依赖列内部结构
|
|
275
|
-
- 回归测试:构造无 `data-pane`、哈希类名 `centerCol` 的 Desktop shell DOM——看板容器正确创建于列内、隐藏规则双选择器齐备
|
|
276
|
-
|
|
277
|
-
### 0.4.1
|
|
278
|
-
|
|
279
|
-
- **修复侧栏入口点击竞态(用户反馈)**:部分 shell 的 DOM 里,任务看板侧栏入口被插在 class 含 `newSession` 的容器内部——点击入口时,看板的全局捕获监听器(「点侧栏会话/新会话让位」语义)先 `closeBoard`,入口自身的 `toggleBoard` 再翻回来,表现为**看板一开就闪关、或入口按钮关不掉**。修复:捕获监听器先按 `closest('[data-dsh-atb-entry]')` 整体豁免入口子树(比给选择器加 `:not()` 更稳——`:not()` 只排除元素自身匹配,挡不住入口嵌在带类祖先容器内的形态);真会话行/新会话按钮的让位语义不变。顺带加固 `newSessionButton()` 锚点扫描排除自身入口,杜绝自愈重插时锚点自引用
|
|
280
|
-
- 回归测试:构造「入口位于 newSession 容器内」的竞态形态 DOM——点击入口开/关 toggle 正常;点真新会话按钮仍让位
|
|
281
|
-
|
|
282
|
-
### 0.4.0
|
|
283
|
-
|
|
284
|
-
**验收效率包——把「人验收」环节在看板内闭环:**
|
|
285
|
-
|
|
286
|
-
- **验收清单 DoD**:任务模型新增 `checklist`(≤30 项 × 200 字,勾选人/时间/证据 note 全程留痕)。建卡表单整组编辑(编辑保留勾选状态与证据);agent 侧新工具 `taskboard_checklist`(add 增补 / check 勾选附证据 / uncheck 重开,代码闸:勾选永远不等于完成);执行开场框架行注入清单并下达「完成一项勾一项」纪律;待验收卡片与详情未完成项红色高亮,「✓ 完成」在有未勾项时二次确认并显示数量
|
|
287
|
-
- **结构化执行报告**:执行记录新增 `report { summary, changedFiles, checks, artifacts, risk }`;agent 收尾用新工具 `taskboard_execution_report` 提交——按「调用会话 + 运行中执行」定位挂载(agent 无需知道执行 id,重复提交覆盖);待验收详情页分栏渲染(摘要 / 改动文件 / 自验 / 产物 / 风险);开场交接协议更新为「报告 → 评论 → 移待验收」三步
|
|
288
|
-
- **JSON 导入**:`validateLedgerImport` 纯函数逐卡校验分类(新增 / 覆盖 / 无效+原因,文件内重复 id 拒绝;schemaVersion 不符明确报错;导入时残留 `running` 执行标记为失败——其结算守望已随源主机消亡);`POST /import/preview` 干跑 + `POST /import` 提交(merge 按 id upsert;replace 整册替换前自动写 `ledger.backup-<ts>.json`);GUI「⬆ 导入」弹窗全流程可视化,整册替换双重确认
|
|
289
|
-
- **任务模板**:host 侧 `templates.json` side file(首启播种内置 Bug 修复 / 发布检查 / 例行巡检);「+ 新建任务 ▼」下拉选模板预填全部配置(含清单与 preset);任务详情「⌗ 存为模板」;管理弹窗改名 / 删除 / 直接使用
|
|
290
|
-
- **Diff 查看器**:git face 新增 `showCommit` / `showPathDiff`(fail-soft,128KB / 2000 行封顶标注截断);详情页隔离块的提交行与未提交修改文件行点击即懒加载展开 diff;worktree 已删时自动回落主仓
|
|
291
|
-
- 测试 116 → 145;`taskboard_get` 详情渲染清单与报告标记;复制任务携带清单
|
|
292
|
-
|
|
293
|
-
### 0.3.3
|
|
294
|
-
|
|
295
|
-
- **修复执行会话拿不到工具(非标准模式)**:0.3.0 起部署引入 preset 体系后,工具不再是全局注册,而是各 preset 组合在会话创建时挂载(GUI 建会话走 apiproxy 的 composeAgent → presets.mount)。我们的执行服务此前直接 agents.create,不挂任何组合 → 会话无工具。现对齐该链路:执行会话按 preset 组合创建,`agentPreset` 记入会话头
|
|
296
|
-
- **任务级 preset 字段**:创建任务时可选「执行模式(preset)」,默认预选部署默认 preset(本部署即标准模式)——即按你的决定「默认标准模式」;可切任意 preset(如梁神模式)或选「跟随部署默认」(不落字段,随部署默认变);编辑随时可改(每轮执行现组合,无锁定);复制任务携带;`taskboard_create` 增 `presetId` 参数;详情页显示 preset chip
|
|
297
|
-
- **坏 preset 防护**:preset 解析失败(不存在/损坏)→ 执行直接失败、原因写入执行记录、任务退回待办——不产出半组合会话(与 apiproxy 回滚语义一致)
|
|
298
|
-
- preset 目录用来自 `agentPreset.list` 连接 RPC(无 roster 或离线时下拉隐藏,行为回落到裸组合);测试 111 → 116 项
|
|
299
|
-
|
|
300
|
-
### 0.3.2
|
|
301
|
-
|
|
302
|
-
- **修复 worktree 执行会话脱离项目组、工具不可用**:0.3.0–0.3.1 把执行会话 cwd 指向 worktree 子目录,而 DSH 的会话模型要求 cwd === 工作区根目录(全等)——子目录导致会话无法挂入项目组(显示「未分组」),且文件沙箱边界与相对路径解析全部失效(agent 无法创建文件)。现改回:会话 cwd = 项目根(分组、工具、沙箱完整可用),worktree 绝对路径与边界纪律(命令 workdir 指向 worktree、文件读写用绝对路径、禁改主工作区其它文件、提交到任务分支)在开场框架行中明确下达。git 隔离与证据采集不受影响
|
|
303
|
-
|
|
304
|
-
### 0.3.1
|
|
305
|
-
|
|
306
|
-
- **↻ 续跑**:详情页新增「续跑」——保留现有 worktree 与分支原状(上次的提交和未提交修改都在),在其上继续执行;基线取 worktree 当前 HEAD,证据只统计本轮新增提交。默认「立即执行」仍为全新基线(重置分支到主区 HEAD)
|
|
307
|
-
- **同仓库 git 操作互斥**:同一仓库的建/删 worktree、合并、删分支在进程内串行执行,消除并发隔离执行之间的 index.lock 竞争
|
|
308
|
-
- **失败/取消也留证据**:turn 出错或用户停止时,已产生的提交与未提交修改照样采集进执行记录(原先只在成功结算时采集)——中断的半成品可凭记录判断是否续跑
|
|
309
|
-
- **执行记录证据封顶**:提交最多保留 50 条、未提交修改最多 100 行(均记录总数),超大改动不再撑爆每次全量重写的台账
|
|
310
|
-
- **合并空跑检测**:分支没有领先主工作区的新提交时直接提示「无需合并」,不再产生假的「已合并」系统评论
|
|
311
|
-
- **物理清除连带清理**:purge 任务前先检查 worktree——有未提交修改拒绝并列出文件;通过后连带删除 worktree 与任务分支
|
|
312
|
-
- **降级语义细化**:降级原因区分「git 不可用(未安装/不在 PATH)」与「当前项目不是 git 仓库」;降级运行的开场提示明确警告会话正在主项目目录工作(先 git status、改动集中、结束说明改动文件)
|
|
313
|
-
- **全新检出提示**:全新 worktree 的开场提示告知不含 node_modules/构建产物,构建测试前可能需重装依赖
|
|
314
|
-
- **诊断面板增强**:新增 gitignore 建议列表(git 项目未忽略 `.dsh-worktrees/` 一目了然,仍不自动修改);「悬挂执行中」更名为「执行中」
|
|
315
|
-
- README 注明 Worktree 隔离是协作约定而非沙箱;测试 97 → 111 项
|
|
316
|
-
|
|
317
|
-
### 0.3.0
|
|
318
|
-
|
|
319
|
-
- **Git Worktree 隔离执行(旗舰)**:并发执行互不污染代码,验收即审分支
|
|
320
|
-
- 任务级隔离开关:新建表单「执行隔离」(默认 Worktree、记住上次选择;非 git 项目自动禁用并提示);`taskboard_create` 增 `isolation` 参数;复制任务携带;首次执行前可改、开始后锁定
|
|
321
|
-
- 执行链路:每次全新 worktree(`git worktree add --force` 到固定路径 `.dsh-worktrees/<任务ID>`,固定分支 `task/<标题>+<任务ID>`,标题清洗+截断、空标题回退纯 ID、改名不改分支);执行会话 cwd 指向 worktree;开场框架行引导 agent 把改动提交到该分支
|
|
322
|
-
- 结算采集:提交列表(hash+主题)、未提交修改警告、改动统计与文件数——「执行记录 ↔ commits 关联」并入本轮
|
|
323
|
-
- 验收操作(详情页):⇥ 合并(`--no-ff`,主区脏/冲突原样报告且自动 `merge --abort` 复原)、🗑 删除 worktree(有未提交修改拒绝,可选连分支删除)、保留分支退回继续修改
|
|
324
|
-
- 安全规则:显式关闭 = 全程零 git 调用;非 git 项目 / git 不可用 / 超时全部自动降级原目录(isolationNote 注明原因,fail-soft:台账与执行永不因 git 失败而失败);合并的干净检查豁免插件自有的 `.dsh-worktrees/` 目录;所有 git 操作带超时(查询 2s / 结构操作 15s)
|
|
325
|
-
- host 新模块 `src/host/git.ts`:窄接口 GitFace(detect/prepare/collect/merge/remove/deleteBranch),exec 层可注入(测试零真 git);workspaces 路由下发 git 检测结果(60s 缓存);启动时对未忽略 `.dsh-worktrees/` 的项目提示 gitignore 建议(不自动改)
|
|
326
|
-
- **⚙ 健康诊断**:台账基本项(修订号/任务数/悬挂执行中)+ 遗留 worktree 列表(台账无主但目录存在)一键清理(未注册目录 fs 兜底,有未提交修改仍拒绝)
|
|
327
|
-
- `taskboard_get` 详情输出隔离与分支信息;测试 67 → 97 项
|
|
328
|
-
|
|
329
|
-
### 0.2.2
|
|
330
|
-
|
|
331
|
-
- **待验收快捷操作**:待验收列卡片上直接「✓ 完成 / ✗ 退回」,退回可附原因(可留空),退回与评语一次原子提交(移卡失败不会产生孤儿评论)
|
|
332
|
-
- 非法状态流转的 HTTP 状态码由 500 修正为 400
|
|
333
|
-
|
|
334
|
-
### 0.2.1
|
|
335
|
-
|
|
336
|
-
- 调整任务发起时的提示词
|
|
337
|
-
|
|
338
|
-
### 0.2.0
|
|
339
|
-
|
|
340
|
-
- **看板效率**:顶栏新增搜索(标题/ID,大小写不敏感)、列内排序(默认/最近更新/紧急度/创建时间);筛选与排序按 localStorage 持久化(搜索不持久)
|
|
341
|
-
- **侧边栏状态条**:「任务看板」入口同行右侧显示 `待办|进行中|待验收` 计数(如 `0|1|2`),三个数字分别着蓝/橙/紫状态色,悬停提示含义与实时数字,数字变化时上下滚动动画(增长上滚、减少下滚,尊重 prefers-reduced-motion)
|
|
342
|
-
- **执行结算闭环**:执行会话结束但未按协议交接(没评论/没移待验收)时,系统自动补评论并移入待验收——任务不再静默挂在进行中;执行失败也留系统评论
|
|
343
|
-
- **认领租约**:认领超 30 分钟未动的任务,卡片与详情显示「⏱ 认领超时」;详情页新增「🔓 释放认领」一键退回待办
|
|
344
|
-
- **执行记录保留上限**:每任务保留最近 20 条执行记录(详情页显示「+N 已清理」),定时任务的台账不再无限膨胀
|
|
345
|
-
- **全局并发上限**:同时执行的会话数默认上限 3(`DSH_TASKBOARD_MAX_CONCURRENT` 可调);调度器满载时保留到期窗口不烧掉,下个 tick 重试
|
|
346
|
-
- **执行 Prompt 模板变量**:`{{lastExecution}}`(上次执行结果)、`{{lastComments}}`(最近 3 条评论)——巡检类定时任务能看到上次跑出了什么
|
|
347
|
-
- **复制任务**:详情页「⧉ 复制」一键克隆全部配置为新卡
|
|
348
|
-
- **导出**:顶栏「⬇ JSON」全量台账备份、「⬇ CSV」任务清单(带 BOM,Excel 直接打开)
|
|
349
|
-
- **状态色点**:五列列头与「其它任务」三列的分类文字前显示状态色圆点(待规划灰/待办蓝/进行中橙/待验收紫/已完成绿/已删除红),与详情页状态 pill 同色系
|
|
350
|
-
- **执行会话跳转**:详情页执行记录(倒序,最新在最上)点击会话短 ID 直接打开该执行会话,看板自动收起;已删除与已归档分开提示并带短 ID;运行时服务惰性解析、会话列表镜像滞后时自动刷新重查一次;短 ID 剥离 `taskboard-` 中缀,各记录可区分
|
|
351
|
-
|
|
352
|
-
### 0.1.3
|
|
353
|
-
|
|
354
|
-
- **执行竞态与持锁修复**:
|
|
355
|
-
- 「立即执行」原子闸:in-progress 检查移入串行写队列,重复点击 / 调度重叠最多开一个执行会话
|
|
356
|
-
- 认领改为显式 `claimedBy/claimedAt` 字段(原先从 updatedBy 推断,用户编辑会误清持锁);执行期间任务由执行会话持有,其他会话不可移动;旧台账加载时自动迁移
|
|
357
|
-
- 执行失败自动回退 todo(原先永久卡在 in_progress);host 重启后残留的 running 执行标记为 failed 并归还任务;成功结算后释放持锁
|
|
358
|
-
- **执行可取消**:详情页「■ 停止执行」——停止执行会话、执行记录标记 cancelled、任务回到待办
|
|
359
|
-
- **模型校验**:建卡/改卡的固定模型做结构校验 + provider 路由存在性校验(host llm 运行时不可达时只做前者)
|
|
360
|
-
- **台账安全**:`store.snapshot()/get()` 返回冻结副本,外部修改直接抛错,杜绝绕过版本号的原地改数据
|
|
361
|
-
- **调度器**:tick 前先加载台账(修复 host 重启后首个 tick 读到空表导致定时任务不触发);启动补偿定时器随 dispose 清理
|
|
362
|
-
- **其它**:执行记录会话 ID 点击复制;详情页显示持锁会话;删除死代码(`store.flush` / routes `taskPath`)
|
|
363
|
-
|
|
364
|
-
### 0.1.2
|
|
365
|
-
|
|
366
|
-
- **看板拖拽**:所有列的卡片可互相拖动(按状态机校验合法流转,非法拖放弹窗提示);正在执行的任务拖动会被拦截,提示「该任务正在由【任务名】会话执行,不能拖动」
|
|
367
|
-
- **执行会话体验**:执行会话标题固定为任务名(经 `sessionTitle.rename` 写入,不会被自动重命名覆盖);首条消息以正常用户消息呈现(不再是插件上下文行)
|
|
368
|
-
- **交互优化**:
|
|
369
|
-
- 新建/编辑弹框新增「⚡ 立即执行」按钮(保存后直接发起执行)
|
|
370
|
-
- 详情页「立即执行」移至「编辑」按钮旁
|
|
371
|
-
- 「+ 新建任务」移至看板标题统计旁
|
|
372
|
-
- 状态流转按钮文案统一为「移至→{状态}」
|
|
373
|
-
- **弹窗**:原生 `alert()` 全部替换为主题化模态弹窗(Esc/遮罩可关)
|
|
374
|
-
|
|
375
|
-
### 0.1.1
|
|
376
|
-
|
|
377
|
-
- 初始 npm 发布:看板协作、8 个 agent 工具、手动/cron 执行、SSE 实时视图
|
|
234
|
+
> 📜 更早版本的完整更新日志见 [changelog.md](changelog.md)。
|
|
378
235
|
|
|
379
236
|
License: Apache-2.0
|