dsh-plugin-teamflow 0.1.2 → 0.1.4
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/CHANGELOG.md +44 -7
- package/README.en.md +22 -0
- package/README.md +22 -0
- package/lib/host.mjs +713 -156
- package/package.json +25 -9
package/CHANGELOG.md
CHANGED
|
@@ -2,16 +2,53 @@
|
|
|
2
2
|
|
|
3
3
|
> 本插件首次公开发布版本为 **v0.1.0**;发布前的内部迭代(v0.3~v0.13)记录于 `AGENTS.md` §5,对外统一归到 v0.1.0。
|
|
4
4
|
|
|
5
|
+
## [0.1.4] - 2026-08-29
|
|
6
|
+
|
|
7
|
+
### 修复
|
|
8
|
+
- **分支决策死循环**:用户确认「新建分支」后重发启动参数仍会再次弹出分支决策(干净工作区场景)。修复:决策选项增加显式确认值,自定义分支名/工作区处理参数均视为已确认
|
|
9
|
+
- **护栏误杀大文件任务**:大文件「读-改-读-改」是正常模式(每次修改后必须重读确认),可能被误判为推理复读而中止。修复:复读判定升级为状态判定——有实际修改进展时不中止,仅纯复读(零进展)才中止
|
|
10
|
+
- **QA/验收只读任务不再被误杀**:执行测试脚本视为进展信号,只读分析任务(不做文件修改)不再被复读检测误伤
|
|
11
|
+
- **退化中止不再自动重试**:真退化(推理复读死循环)后自动重试大概率在污染会话内复现且持续烧钱——改为直接需人工介入,引导 `teamflow_resume`(全新会话续跑)
|
|
12
|
+
- **断点续跑尊重未闭环的 QA 缺陷**:阻断缺陷仍 open 时 resume 回到 QA 修复-复验闭环,不再带着已知缺陷直接进产品验收;验收失败过的 run 同样正确回 QA
|
|
13
|
+
- **历史失败记录保留**:resume 不再清除失败的阶段记录(审计可追溯)
|
|
14
|
+
|
|
15
|
+
### 新增
|
|
16
|
+
- **提测门禁**:开发阶段有任务失败(哪怕 1 个)→ 需人工介入,不再自动进入 QA(失败任务是已知缺口,QA 检查必然重复报告);resume 精确补跑失败任务(已完成任务产物复用,不重跑)
|
|
17
|
+
- **README 界面预览**:5 张真实工作台截图(流水线视图/看板/阶段详情/看板任务详情/团队选择)
|
|
18
|
+
|
|
19
|
+
### 其他
|
|
20
|
+
- pnpm-lockfile 同步(依赖调整后 CI 的 frozen-lockfile 校验失败,已修复)
|
|
21
|
+
|
|
22
|
+
## [0.1.3] - 2026-08-29
|
|
23
|
+
|
|
24
|
+
### 新增
|
|
25
|
+
- **分支策略闭环(ADR-2026-08-27)**:启动前用户决策(`needs-decision` 四情况:main+干净/main+脏/feature+干净/feature+脏,stash/commit/新建/沿用/自定义兜底);`branchPolicy`/`branchName`/`preAction`/`commitMessage` 决策参数;auto=建 `feat/<slug|branchName>`、keep=沿用;`preAction`(stash/commit)在 sanity 前执行
|
|
26
|
+
- **收尾合回决策(对称交互)**:完成汇报带「合回决策邀请」,新工具 `teamflow_merge`(host 代为合回 / 给命令自行合回 / 暂缓);`journal.mergeStatus` 持久化(pending/merged/kept/failed)
|
|
27
|
+
- **统一收口提交**:子代理只改不提交(Git discipline 硬约束),host 验收通过后单 commit(代码+任务夹产物);结构性消灭文档漏提交与未验收中间态
|
|
28
|
+
- **视觉验证能力条件化**:`llm.resolveModelInfo` 探测模型多模态能力 → QA/验收视觉条款动态生成(支持视觉=DOM 计算断言+截图看图+人工收窄;不支持=禁截图看图防幻觉/循环,只走 DOM 断言);QA 人工补测清单收窄为音频/真机/FPS/读屏
|
|
29
|
+
- **需求意图预检**:疑问/建议/反馈句式(「是不是应该」「要不要」等)→ `needs-confirmation` 不启动,主线程先向用户确认
|
|
30
|
+
- **activeTeams 持久化**:会话→团队映射落盘,重启/刷新后恢复(UI 状态与启动通道一致)
|
|
31
|
+
|
|
32
|
+
### 修复
|
|
33
|
+
- **护栏注入通道**:`subagents.start` 句柄无 inject → 改用 DSH 官方 `session.append('user/message')`;注入改安全窗口(step/end 后 flush,防插进 tool_calls→tool/result 序列导致 provider 400,实测 tf-mtcnejqj 烧 1.98M)
|
|
34
|
+
- **复读检测重复计数 bug**:轮询重复收集事件导致计数虚增(实际 4 次 × 3 轮 = 12 压线误杀,实测 tf-mtcomxpq 开发两次)→ 增量收集
|
|
35
|
+
- **`isUnretryable` 覆盖 400/invalid_request**(provider 客户端拒绝不再重试烧钱)
|
|
36
|
+
- **开发任务全部失败停止流水线**(无产物可测时不再继续 QA 误测;部分失败仍继续)
|
|
37
|
+
- **resume 断点按阶段定位**(PRD 重试成功后不再被失败尝试带回重跑)
|
|
38
|
+
- **分支 slug 派生**(branchName > triageSlug > 需求英文词 > r<N> > feature;分支检查移到 initBacklog 之后)
|
|
39
|
+
- **journal.options 透传 branchPolicy 等决策参数**(keep 不再被吞,实测 tf-mtd6mbeq)
|
|
40
|
+
- **DSH 0.1.2-alpha.1 事件词汇适配**(text-chunks/reasoning-chunks → assistant/chunk 双兼容);schema 校验兼容(needs-decision 不返回 runId 字段)
|
|
41
|
+
|
|
42
|
+
### 其他
|
|
43
|
+
- 执行路径基准(小需求样本)与假优化判定收敛:`docs/benchmarks/hold-pipeline-vs-native.md`(多花 44% 是质量预算非浪费,cacheRead 命中价≈1/10)
|
|
44
|
+
|
|
5
45
|
## [0.1.2] - 2026-08-26
|
|
6
46
|
|
|
47
|
+
### 修复
|
|
48
|
+
- host 就绪日志工具数改为动态计数(消除「工具 8 个」写死文案,与实际注册数一致)
|
|
49
|
+
|
|
7
50
|
### 变更
|
|
8
|
-
-
|
|
9
|
-
- backlog 卡片 / 详情抽屉跳转指定 run 的流水线视图(host `backlog` 附带 `runId` 映射)
|
|
10
|
-
- 详情抽屉长文本折叠(概览 / 需求原文默认预览几行,可展开收起)
|
|
11
|
-
- 断点重跑语义修正:阶段全 done 的 failed/cancelled 不再显示续跑按钮(host 硬拒绝兜底);按钮/pill/chip 补 runId 全名可溯
|
|
12
|
-
- 架构蓝图提取回退任务夹 `TECHNICAL.md`(模型把蓝图写进文档而非回复输出时 M2 拆卡不再退化为整体开发)
|
|
13
|
-
- `meta.json` 改为静态标识卡(废弃终态回写,status/endedAt 权威在 journal)
|
|
14
|
-
- 开源发布元数据:keywords / homepage / bugs;`react` 移入 peerDependencies;README.en.md 与 CHANGELOG.md 显式进包
|
|
51
|
+
- 开源发布收尾:README 中英双语修正(架构计数 17/11、防假交付真实语义、快速上手、环境要求);npm 元数据(keywords / homepage / bugs);`react` 移入 peerDependencies + `peerDependenciesMeta`(防私有包 ERESOLVE);CI 触发扩展 `main` + `release-*`;构建关闭 sourcemap(npm 包 -58%);新增 SECURITY.md / CONTRIBUTING.md;deploy 同步清单移除 `.map`
|
|
15
52
|
|
|
16
53
|
## [0.1.1] - 2026-08-26
|
|
17
54
|
|
package/README.en.md
CHANGED
|
@@ -18,6 +18,28 @@ requirement → PRD (based on existing patterns / product memory, archived to pr
|
|
|
18
18
|
→ product acceptance (update product memory)
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
+
## Screenshots
|
|
22
|
+
|
|
23
|
+
1. Pipeline view — stage serpentine lanes + node cards (status / duration / tokens / subagent session)
|
|
24
|
+
|
|
25
|
+

|
|
26
|
+
|
|
27
|
+
2. Backlog board — draggable lanes for requirements / tasks / defects
|
|
28
|
+
|
|
29
|
+

|
|
30
|
+
|
|
31
|
+
3. Stage detail drawer — full stage artifacts + token breakdown + "🎬 jump to subagent session"
|
|
32
|
+
|
|
33
|
+

|
|
34
|
+
|
|
35
|
+
4. Board task detail — task-card drawer (requirement text / assignments / event timeline / subtasks / defects / tokens)
|
|
36
|
+
|
|
37
|
+

|
|
38
|
+
|
|
39
|
+
5. Team selector — 🏭 button + team dropdown
|
|
40
|
+
|
|
41
|
+

|
|
42
|
+
|
|
21
43
|
## Core Features
|
|
22
44
|
|
|
23
45
|
- **Anti-fake-delivery**: ① Substantive validation — outputs containing rejection phrases ("I cannot complete", etc.) or below the per-stage length floor are treated as undelivered and routed to retry / human intervention; ② Token circuit breaker — a single stage accumulating 60k budget stops retries; ③ Context-exhaustion failures are not retried (retrying the same prompt likely reproduces); ④ Product-level concurrency lock — only one active pipeline per product at a time, preventing requirement state from stepping on itself; ⑤ Full stage outputs are retained (memory + disk) for the detail drawer and checkpoint resume.
|
package/README.md
CHANGED
|
@@ -18,6 +18,28 @@ TeamFlow 团队研发流水线 —— DeepSeek Harness 可分发插件(`dsh pl
|
|
|
18
18
|
→ 产品验收(更新产品记忆)
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
+
## 界面预览
|
|
22
|
+
|
|
23
|
+
1. 流水线视图——阶段蛇形泳道 + 节点卡片(状态/耗时/token/子代理会话)
|
|
24
|
+
|
|
25
|
+

|
|
26
|
+
|
|
27
|
+
2. Backlog 看板——需求/任务/缺陷拖拽泳道
|
|
28
|
+
|
|
29
|
+

|
|
30
|
+
|
|
31
|
+
3. 阶段详情抽屉——阶段性产物全文 + token 明细 +「🎬 跳转子代理会话」
|
|
32
|
+
|
|
33
|
+

|
|
34
|
+
|
|
35
|
+
4. 看板任务详情——任务卡抽屉(需求原文/分配/事件时间线/子卡/缺陷/token)
|
|
36
|
+
|
|
37
|
+

|
|
38
|
+
|
|
39
|
+
5. 团队选择——🏭 按钮 + 团队下拉
|
|
40
|
+
|
|
41
|
+

|
|
42
|
+
|
|
21
43
|
## 核心特性
|
|
22
44
|
|
|
23
45
|
- **防假交付**:① 实质校验——拒绝措辞("我无法完成"等)或低于阶段长度下限的输出视为未交付,走重试/需人工;② token 熔断——单阶段累计 60k 预算,超限停止重试;③ 上下文耗尽类失败不重试(重试同一 prompt 大概率复现);④ 产品级并发锁——同一产品同时只允许一条活跃流水线,防需求状态互踩;⑤ 阶段产物全文保留(内存 + 磁盘,供详情抽屉与断点续跑读取)。
|