dsh-taskboard 0.6.7 → 0.7.1
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 +21 -65
- package/lib/client.js +58 -8
- package/lib/host/assets.js +139 -0
- package/lib/host/assets.js.map +1 -0
- package/lib/host/routes.js +87 -0
- package/lib/host/routes.js.map +1 -1
- package/lib/host/storage-queue.js +14 -0
- package/lib/host/storage-queue.js.map +1 -0
- package/lib/host/storage.js +249 -0
- package/lib/host/storage.js.map +1 -0
- package/lib/host/store.js +34 -7
- package/lib/host/store.js.map +1 -1
- package/lib/host/templates.js +62 -38
- package/lib/host/templates.js.map +1 -1
- package/lib/host/tools.js +6 -4
- package/lib/host/tools.js.map +1 -1
- package/lib/index.js +83 -27
- package/lib/index.js.map +1 -1
- package/lib/shared/api.js.map +1 -1
- package/package.json +13 -11
- package/src/client/api.ts +30 -0
- package/src/client/board/SettingsModal.tsx +75 -4
- package/src/client/board/SlashPromptInput.tsx +80 -1
- package/src/client/board/TaskDetail.tsx +71 -8
- package/src/client/board/TaskFormModal.tsx +8 -5
- package/src/client/controller.ts +54 -3
- package/src/client/i18n/en.ts +19 -3
- package/src/client/i18n/zh.ts +19 -3
- package/src/client/image-insert.ts +29 -0
- package/src/client/styles.ts +37 -1
- package/src/host/assets.ts +120 -0
- package/src/host/routes.ts +92 -0
- package/src/host/storage-queue.ts +10 -0
- package/src/host/storage.ts +212 -0
- package/src/host/store.ts +40 -12
- package/src/host/templates.ts +30 -7
- package/src/host/tools.ts +8 -4
- package/src/index.ts +88 -33
- package/src/shared/api.ts +26 -0
- package/src/shared/version.ts +2 -1
package/README.md
CHANGED
|
@@ -74,7 +74,7 @@ dsh plugin --profile web add "link:/path/to/dsh-taskboard"
|
|
|
74
74
|
link 安装后,仓库里 `npm run build` 重建、刷新页面即生效;改完宿主侧代码需重启 `dsh web`。
|
|
75
75
|
</details>
|
|
76
76
|
|
|
77
|
-
卸载:`dsh plugin --profile web remove dsh-taskboard
|
|
77
|
+
卸载:`dsh plugin --profile web remove dsh-taskboard`(台账数据保留在当前数据目录,见[配置与数据](#配置与数据))。
|
|
78
78
|
|
|
79
79
|
> 官方 `@deepseek-ai/dsh-*` 包只写进 profile 的 `bundles` 列表,不要 `plugin add` 进 dependencies(避免 SDK 双实例遮蔽)。
|
|
80
80
|
|
|
@@ -133,6 +133,7 @@ agent:
|
|
|
133
133
|
- 新建/编辑弹窗:项目、模型(含思考强度)、紧急度、执行方式、cron 实时校验与下次运行预览、执行隔离开关、验收清单编辑
|
|
134
134
|
- 详情面板:状态流转(done 仅限人工;清单未全勾时完成需二次确认并显示未勾数)、agent/用户评论流、执行记录(倒序,最新在最上;会话 ID 点击跳转打开该执行会话;已删除/已归档分开提示)、停止执行、Worktree 隔离块(分支 / 提交 / 改动统计 / 合并与清理)、执行报告块、验收清单块
|
|
135
135
|
- 待验收列卡片快捷操作:「✓ 完成」一键验收、「✗ 退回」退回待办并可附退回原因(agent 开工前会读)
|
|
136
|
+
- **图片附件(0.7.0)**:任务描述与评论可选择、粘贴或拖放 PNG/JPEG/GIF/WebP,自动插入 Markdown;详情中显示缩略图,点击灯箱放大。图片保存在本机数据目录,单文件上限 5 MiB
|
|
136
137
|
- **双栏宽屏任务弹窗 + Slash 补全(0.6.0)**:新建/编辑弹窗左右双栏(左栏核心字段与执行配置,右栏描述与 Prompt);描述/Prompt 输入 `/` 即弹出命令与技能补全(↑↓/Enter/Tab/Esc 键盘导航,宿主动态发现与内置清单合并);描述与 Prompt 中的 Markdown 图片渲染为缩略图,点击灯箱放大
|
|
137
138
|
- **执行权限(0.6.0)**:任务级三档执行权限(📁 可写入工作区 / 🔒 仅可查看 / ⚡ 完全权限),表单选择 + 看板设置默认执行权限;卡片、详情、模板列表显示权限徽章
|
|
138
139
|
- **界面中英双语(0.6.0)**:看板全部界面文案跟随 DSH「设置 → 通用设置 → 语言」(zh/en)实时切换,无需刷新;语言偏好由 DSH 统一存储(settings.yaml 的 locale.preference),插件自身不新增任何配置;无 locale 服务的环境自动按浏览器语言降级
|
|
@@ -142,7 +143,7 @@ agent:
|
|
|
142
143
|
- **验收清单 DoD(0.4.0)**:建卡时定验收条件(≤30 项);agent 用 `taskboard_checklist` 增补/勾选(附证据 note);用户在详情页直接勾选;待验收时未完成项红色高亮 + 卡片「☑ n/m」角标(未全勾显红);清单编辑在表单中整组管理(勾选状态与证据保留)
|
|
143
144
|
- **结构化执行报告(0.4.0)**:agent 收尾用 `taskboard_execution_report` 提交(摘要 / 改动文件 / 自验 / 产物 / 剩余风险),自动挂到当前执行记录;待验收详情页分栏渲染;开场框架行明示提交时序(报告 → 评论 → 移待验收)
|
|
144
145
|
- **JSON 导入(0.4.0)**:顶栏「⬆ 导入」选择备份文件 → 干跑预览(新增 / 覆盖 / 无效分类明细)→ 合并(按 id upsert)或整册替换(自动先备份当前台账 + 二次确认);⬇ JSON 导出的文件即同格式可直接恢复
|
|
145
|
-
- **任务模板(0.4.0)**:「+ 新建任务 ▼」下拉(空白 / 内置 新增功能·Bug 修复·发布检查·例行巡检 / 管理模板)一键预填表单(标题/描述/Prompt/紧急度/定时/隔离/preset/清单);任务详情「⌗
|
|
146
|
+
- **任务模板(0.4.0)**:「+ 新建任务 ▼」下拉(空白 / 内置 新增功能·Bug 修复·发布检查·例行巡检 / 管理模板)一键预填表单(标题/描述/Prompt/紧急度/定时/隔离/preset/清单);任务详情「⌗ 存为模板」沉淀常用配置;模板随台账保存在当前数据目录,改名/删除在管理弹窗
|
|
146
147
|
- **Diff 查看器(0.4.0)**:隔离块提交行、未提交修改文件行点击即在看板内展开 diff(提交 `git show` / 文件 `git diff`,128KB·2000 行封顶标注截断);worktree 已删时回落主仓(仅限提交与带基线的范围 diff)
|
|
147
148
|
|
|
148
149
|
**Agent 工具(taskboard_\*)**
|
|
@@ -164,7 +165,7 @@ agent:
|
|
|
164
165
|
|
|
165
166
|
- **验收权只属于人**:agent 把任务移到 done 的调用被代码级协议闸直接拒绝(不是提示词约定);任务被持有时不可抢占,跨项目不可认领。
|
|
166
167
|
- **Worktree 隔离是协作约定而非沙箱**:执行会话拥有完整工具权限,隔离依赖分支约定,不适用于运行不可信代码的场景。
|
|
167
|
-
-
|
|
168
|
+
- **数据本地**:台账、模板和图片附件全部存本机,可在看板设置中迁移数据目录;不外发任何数据,无需 Token / API Key。
|
|
168
169
|
|
|
169
170
|
## 配置与数据
|
|
170
171
|
|
|
@@ -173,19 +174,21 @@ agent:
|
|
|
173
174
|
| 环境变量 | 默认 | 说明 |
|
|
174
175
|
| --- | --- | --- |
|
|
175
176
|
| `DSH_TASKBOARD_MAX_CONCURRENT` | `3` | 全局同时执行的会话数上限 |
|
|
176
|
-
| `DSH_HOME` | `~/.dsh` | DSH
|
|
177
|
+
| `DSH_HOME` | `~/.dsh` | DSH 主目录,也是未自定义时的数据目录及位置引导文件所在目录 |
|
|
177
178
|
| `ATB_TRACE` | 未设置 | `=1` 时 host 打印工具调用跟踪(调试用) |
|
|
178
179
|
|
|
179
|
-
|
|
180
|
+
数据目录默认是 `DSH_HOME`,可在「🛠 设置 → 数据存储位置」中检查并迁移到其他绝对路径。三个数据项始终一起迁移;卸载插件不删除数据。
|
|
180
181
|
|
|
181
182
|
| 文件 | 内容 |
|
|
182
183
|
| --- | --- |
|
|
183
184
|
| `dsh-taskboard.json` | 任务台账(全部任务/执行/评论) |
|
|
184
185
|
| `dsh-taskboard-templates.json` | 任务模板 |
|
|
186
|
+
| `dsh-taskboard-assets/` | 图片附件(按内容哈希去重) |
|
|
185
187
|
| `dsh-taskboard.json.backup-<时间戳>` | 整册导入替换前的自动备份 |
|
|
188
|
+
| `DSH_HOME/dsh-taskboard-storage.json` | 自定义数据目录的位置引导文件;固定留在 DSH 主目录 |
|
|
186
189
|
| `<项目>/.dsh-worktrees/<任务ID>/` | 任务执行 worktree(多仓库工作区:整区任务镜像,每仓库一个子 worktree) |
|
|
187
190
|
|
|
188
|
-
随时可顶栏「⬇ JSON
|
|
191
|
+
随时可顶栏「⬇ JSON」备份台账、「⬇ CSV」导出任务清单(带 BOM,Excel 直接打开)。图片附件不在 JSON 内;完整备份需复制设置页显示的数据目录中的 `dsh-taskboard-assets/` 文件夹。
|
|
189
192
|
|
|
190
193
|
## 常见问题
|
|
191
194
|
|
|
@@ -193,7 +196,7 @@ agent:
|
|
|
193
196
|
刷新页面;仍没有则确认插件已装进当前 profile 并重启 `dsh web`(宿主半区在进程启动时加载)。三代 shell 均支持:`data-pane`(dev)、哈希类名(官方布局,0.4.2 起)、DSH Desktop 非兼容 extended frame(0.5.2 起)。
|
|
194
197
|
|
|
195
198
|
**任务数据存在哪?怎么备份?**
|
|
196
|
-
见[配置与数据](#配置与数据)。GUI「⬇ JSON
|
|
199
|
+
见[配置与数据](#配置与数据)。GUI「⬇ JSON」可导出、恢复台账;图片附件还需备份 `dsh-taskboard-assets/` 文件夹。
|
|
197
200
|
|
|
198
201
|
**浏览器关了,定时任务还跑吗?**
|
|
199
202
|
跑。调度在 host 进程侧,与浏览器无关;错过的时间窗口跳过不补跑。
|
|
@@ -232,70 +235,23 @@ node scripts/screenshot.mjs # 重新生成 img/ 截图(需本机 Edge)
|
|
|
232
235
|
|
|
233
236
|
## 升级日志
|
|
234
237
|
|
|
235
|
-
### 0.
|
|
238
|
+
### 0.7.1
|
|
236
239
|
|
|
237
|
-
|
|
238
|
-
- 归档卡片时可选择同时归档执行会话,确认前显示会话 ID;默认仅归档卡片,不包含创建会话或认领会话。归档失败会显示逐会话结果,已归档卡片可独立重试;宿主不支持时禁用会话归档选项([#23](https://github.com/cloader/dsh-taskboard/pull/23))。
|
|
239
|
-
- 修正调度器生命周期测试的异步等待条件,避免台账尚未加载时提前断言。
|
|
240
|
-
- 修复模板 Prompt 从第二行开始多出缩进:客户端包装脚本原样保留打包代码,避免给多行字符串插入 Tab。
|
|
240
|
+
**修复:**
|
|
241
241
|
|
|
242
|
-
|
|
242
|
+
- **数据目录迁移成功提示**:迁移完成后在看板设置的存储区显示绿色成功提示(含新路径);旧数据清理失败以警示样式显示在成功提示下方,不再占用全局错误横幅。
|
|
243
243
|
|
|
244
|
-
|
|
245
|
-
- **修复 Windows DSH Desktop 窗口按钮与看板顶栏重叠([#20 评论](https://github.com/cloader/dsh-taskboard/issues/20#issuecomment-5597498727))**:根据看板实际位置动态预留顶部空间,兼顾工具条换行和已有独立标题栏的布局;普通 Web 与 macOS 不启用此避让。已通过 Windows 实机验收。
|
|
246
|
-
- **修复 agent 无法取得 DoD 条目 id([PR #21](https://github.com/cloader/dsh-taskboard/pull/21))**:`taskboard_get` 的验收清单文本现在逐项输出序号和 `id`,agent 可直接将其作为 `taskboard_checklist check/uncheck` 的 `itemId`,无需猜测;不改变数据模型或账本。
|
|
244
|
+
### 0.7.0
|
|
247
245
|
|
|
248
|
-
|
|
246
|
+
**新特性:**
|
|
249
247
|
|
|
250
|
-
-
|
|
248
|
+
- **可设置数据存储路径**:看板设置中可检查并迁移数据目录,`dsh-taskboard.json`、`dsh-taskboard-templates.json` 和 `dsh-taskboard-assets/` 始终一起迁移;先完整复制和校验,再切换位置,失败不覆盖原数据。
|
|
249
|
+
- **任务描述与评论支持插入图片([#25](https://github.com/cloader/dsh-taskboard/issues/25))**:支持选择、粘贴和拖放 PNG/JPEG/GIF/WebP,自动插入 Markdown,并在详情中显示缩略图与灯箱预览。图片按内容哈希在本地去重保存,台账和 SSE 只记录短链接。
|
|
250
|
+
- DSH 开发依赖升级到 0.1.5-rc.2 系列(`@deepseek-ai/cordis` 4.0.2、`@deepseek-ai/schemastery` 3.18.2),实测兼容 DSH 0.1.5-rc.1。
|
|
251
251
|
|
|
252
|
-
|
|
252
|
+
**修复:**
|
|
253
253
|
|
|
254
|
-
-
|
|
254
|
+
- **模型前缀缓存失效([#24](https://github.com/cloader/dsh-taskboard/issues/24))**:协议与 10 个 `taskboard_*` 工具在插件挂载时同步注册并提高缓存命中率,后续工作区/agent 服务就绪或重载不会改变工具定义;依赖尚未就绪时返回 `taskboard_not_ready`。工具执行等待共享的台账首次加载;工具清理与运行服务生命周期分离。
|
|
255
255
|
|
|
256
|
-
### 0.6.3
|
|
257
256
|
|
|
258
|
-
|
|
259
|
-
- **容器仓库(根仓库以 gitlink 跟踪子仓)完全可用**:嵌套子镜像在根镜像 status 中的结构性噪音(未跟踪目录 / gitlink 漂移 `M 子仓`)已在证据采集、合并 clean 检查与镜像删除预检中豁免——此前真实 git 下已全部提交的镜像仍被清理路由永久拒绝、结算证据出现幻影未提交修改;新增真实 git 端到端集成测试(未跟踪 + gitlink 两形态)锁定
|
|
260
|
-
- **DSH STORE 兼容矩阵扩展至 0.1.2-alpha 线**:0.1.2-alpha.2 / alpha.3 / alpha.4 逐项声明 `compatible`(各版本一次性 Profile 实测:安装 → 挂插件 → 无头启动 → 路由探活 200 → 卸载),解除「最新 3 个官方版本无兼容结论」的暂时下架([DSH-Store#321](https://github.com/AI-Scarlett/DSH-Store/issues/321))
|
|
261
|
-
|
|
262
|
-
### 0.6.2
|
|
263
|
-
|
|
264
|
-
- **修复 DSH STORE 收录的两个阻断([DSH-Store#321](https://github.com/AI-Scarlett/DSH-Store/issues/321))**:client 产物开启压缩(320,851 → 203,793 字节,回到 256 KiB 单文件审核线内);`package.json` 增补 `dsh.compatibility.dshReleases` 兼容矩阵与 `engines.node >= 22`;新增 client 体积预算测试防无声回退——纯构建与清单整改,无功能变化
|
|
265
|
-
|
|
266
|
-
### 0.6.1
|
|
267
|
-
|
|
268
|
-
- **修复:`/` 快捷补全弹层被任务弹窗滚动容器裁剪**:弹层 portal 到 document.body 并 fixed 锚定输入框,不再被表单滚动容器裁剪;上方空间不足自动下翻、贴边收拢,并随滚动/缩放实时跟随
|
|
269
|
-
- **修复:键盘 ↑/↓ 选择补全项时列表不滚动**:高亮项自动滚入视野(含 wrap-around),直调列表 scrollTop 避免连带滚动模态表体
|
|
270
|
-
### 0.6.0
|
|
271
|
-
|
|
272
|
-
- **任务弹窗左右双栏宽屏布局、输入框 / 快捷补全与执行权限选择: [@jw5555555555](https://github.com/jw5555555555)([#14](https://github.com/cloader/dsh-taskboard/pull/14))**
|
|
273
|
-
- 新建/编辑弹窗升级为左右双栏宽屏布局(左栏核心字段与执行配置、右栏描述与执行 Prompt)
|
|
274
|
-
- 描述与 Prompt 输入框支持输入 `/` 快捷补全 Slash 命令与 Agent 技能(↑↓ 选择、Enter/Tab 确认、Esc 关闭,宿主动态发现的命令技能与内置清单合并)
|
|
275
|
-
- 新增任务级「执行权限」三档选择(📁 可写入工作区 / 🔒 仅可查看 / ⚡ 完全权限),看板设置同步新增默认执行权限,卡片与详情页显示权限徽章
|
|
276
|
-
- 描述与 Prompt 中的 Markdown 图片渲染为可点击缩略图并支持灯箱放大
|
|
277
|
-
- 修复模型列表发现(运行时缺失时回落宿主 API)
|
|
278
|
-
- 会话自动同步过滤子代理会话,避免子会话误建卡
|
|
279
|
-
- **界面中英双语,跟随 DSH 语言设置**
|
|
280
|
-
- 看板全部界面文案(列头 / 卡片 / 详情 / 表单 / 模板 / 导入导出 / 设置 / 诊断 / 侧边栏入口)接入 DSH locale 服务,「设置 → 通用设置 → 语言」切换 zh/en 即时生效(无需刷新)
|
|
281
|
-
- 语言偏好由 DSH 统一存储(settings.yaml 的 locale.preference),插件自身不新增任何配置
|
|
282
|
-
- 无 locale 服务的部署按浏览器语言自动降级(中文环境 zh,其余 en)
|
|
283
|
-
- 新增 src/client/i18n/(zh/en 双语字典 + 轻量适配器 + useT hook),labels 枚举文案改为键映射
|
|
284
|
-
- 字典键集中英强制一致(编译期类型 + 单测 + 源码扫描三重校验)
|
|
285
|
-
- 顺带修正 PLUGIN_VERSION 与 package.json 的版本漂移(0.5.4 → 0.5.5)
|
|
286
|
-
|
|
287
|
-
### 0.5.5
|
|
288
|
-
|
|
289
|
-
- **外部工作区会话自动同步看板: [@jw5555555555](https://github.com/jw5555555555)([#13](https://github.com/cloader/dsh-taskboard/pull/13))**:看板「设置」新增「自动同步工作区会话」开关(出厂默认关闭)——开启后,工作区直接新建的会话自动在看板生成任务卡片:按会话工作目录(cwd)映射到对应项目,取首条用户消息与会话标题作为任务的描述与标题;运行中自动进入「进行中」并绑定会话 ID(卡片可一键跳转),执行成功自动流转「待验收」并生成系统评论,异常退回「待办」;自动过滤看板自身创建的内部执行会话防止重复建卡;多轮续跑延续同一张卡片
|
|
290
|
-
|
|
291
|
-
### 0.5.4
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
- **看板卡片与任务详情一键跳转执行会话: [@jw5555555555](https://github.com/jw5555555555)([#11](https://github.com/cloader/dsh-taskboard/pull/11))**:卡片元数据行新增「🤖 会话ID ↗」按钮、详情页顶部新增「🤖 跳转会话 ↗」按钮、持有者 Chip 可点击——进行中优先、其次最近一次执行对应的会话一键直达(看板自动收起);已归档 / 已删除 / 会话服务不可用分别给出明确提示
|
|
295
|
-
- **新建任务记住上次选用的模型,支持设置思考强度: [@jw5555555555](https://github.com/jw5555555555)([#11](https://github.com/cloader/dsh-taskboard/pull/11))**:create 模式自动带出上次的模型与思考强度(模板预填与编辑不受影响);模型可固定思考强度(reasoningEffort,如 low/medium/high),随执行会话下发;支持思考强度的模型从 DSH 模型目录读取可用档位
|
|
296
|
-
- **列内排序新增「按标题」: [@Amoss-1](https://github.com/Amoss-1)([#4](https://github.com/cloader/dsh-taskboard/pull/4))**:数字感知比较,数字前缀按真实数值排序(`01 < 02 < 10 < 90`,字符串比较会把 `10` 排到 `02` 前);排序选择随视图状态持久化
|
|
297
|
-
- 界面细节:下拉 / 输入框适配明暗主题(DSH 主题变量 + color-scheme);模板管理弹窗布局优化
|
|
298
|
-
|
|
299
|
-
> 📜 更早版本的完整更新日志见 [changelog.md](changelog.md)。
|
|
300
|
-
|
|
301
|
-
License: Apache-2.0
|
|
257
|
+
> 📜 更早版本的完整更新历史见 [changelog.md](changelog.md)。
|