@dazitech/cli 3.0.6 → 3.0.7

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.
@@ -84,7 +84,7 @@ dazi doctor --workspace-root D:\path\to\dazi-work
84
84
  检查 `.cursor/mcp.json` 配置。MCP 需能调用 bundled CLI,示例:
85
85
 
86
86
  ```powershell
87
- $env:DAZI_BUNDLED_DIR = "$env:USERPROFILE\.cursor\extensions\dazitech.dazi-vscode-3.0.6\bundled\clis"
87
+ $env:DAZI_BUNDLED_DIR = "$env:USERPROFILE\.cursor\extensions\dazitech.dazi-vscode-3.0.5\bundled\clis"
88
88
  node "$env:DAZI_BUNDLED_DIR\dazi.js" mcp stdio
89
89
  ```
90
90
 
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "3.0.6",
2
+ "version": "3.0.5",
3
3
  "updatedAt": "2026-05-29T00:00:00.000Z",
4
4
  "docs": [
5
5
  {
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "3.0.6",
2
+ "version": "3.0.5",
3
3
  "updatedAt": "2026-05-25T00:00:00.000Z",
4
4
  "examples": [
5
5
  {
@@ -58,9 +58,11 @@ dazi flow run flow-exec --dir . --type debug
58
58
 
59
59
  - [ ] `doctor` 为 ✅
60
60
  - [ ] 配置变更已 `push --canvas`
61
- - [ ] 代码变更已 `node push`
61
+ - [ ] `code.*` 后已 **`node push`**(先于 `node-exec`)
62
+ - [ ] `node-exec` JSON `success: true`
63
+ - [ ] 有 `output_variable_name` 时已 **`variable pull`** 且 `变量/<名>.json` 合理
62
64
  - [ ] `flow.json` 无代码正文
63
- - [ ] 测试通过后再声称完成
65
+ - [ ] 以上均满足后再声称完成(禁止仅凭 exit code、禁止未 push 就测代码)
64
66
 
65
67
  ---
66
68
 
@@ -66,12 +66,13 @@ dazi flow node new --type <node_type> --dir . --label "<节点名>"
66
66
 
67
67
  # 3) 修改 flow.json(节点配置与连线)+ 修改 节点/<名>/code.*
68
68
 
69
- # 4) 单节点测试
70
- dazi flow run node-exec --node <node_uuid> --dir .
71
-
72
- # 5) 提交(代码可用 node push;拓扑/配置变更必须 canvas push)
69
+ # 4) 提交(先于测试;node-exec 跑的是平台已 push 的代码)
70
+ dazi flow project push --dir . --canvas # 若改了拓扑/配置
73
71
  dazi flow node push --node <node_uuid> --dir .
74
- dazi flow project push --dir . --canvas
72
+
73
+ # 5) 单节点测试 + 核对输出变量
74
+ dazi flow run node-exec --node <node_uuid> --dir .
75
+ dazi flow variable pull --name <output_variable_name> --dir . # 若节点配置了输出变量
75
76
  ```
76
77
 
77
78
  ## 一致性检查(回答末尾必须自检)
@@ -85,7 +86,9 @@ dazi flow project push --dir . --canvas
85
86
 
86
87
  设计/改代码**不能**只交付文件清单;必须进入 **改错循环**(详见 `flow/run-fix-loop` 与流程目录 `快速启动_<流程名>.md` §AI 自主运行与改错闭环):
87
88
 
88
- 1. 对每个代码节点执行 `node-exec`;必要时整流程 `flow-exec --type debug`
89
- 2. 失败时读取 `_run/*.last-error.md`,按错误分类修复后重跑(默认最多 3 轮)
90
- 3. 全部通过后再 `node push` / `project push --canvas`
91
- 4. **禁止**未实际运行就声称「设计已完成/已通过」
89
+ 1. `code.*` 后先 `node push`;改画布/配置先 `project push --canvas`
90
+ 2. 对每个代码节点执行 `node-exec`;有 `output_variable_name` 时 `variable pull` 核对
91
+ 3. 必要时整流程 `flow-exec --type debug`
92
+ 4. 失败时读取 `_run/*.last-error.md`,按错误分类修复后重跑(默认最多 3 轮,详见 `flow/run-fix-loop`)
93
+ 5. **成功判据**:push 成功 → node-exec `success: true` → variable 合理(若适用)
94
+ 6. **禁止**未 push 就测代码;**禁止**未实际运行就声称「设计已完成/已通过」
@@ -10,14 +10,16 @@
10
10
  ## 核心原则
11
11
 
12
12
  1. **扩展不会自动改代码**;你必须在终端**亲自执行** CLI 并读取 `_run/` 错误文件。
13
- 2. **改 → 读错再改再跑** 是默认工作方式,不是可选项。
14
- 3. 命令前缀统一:`dazi flow ...`(在 `dazi-work` 根;流程目录用 `--dir .`)。
13
+ 2. **改 → push →(有输出变量时)variable pull 读错再改** 是默认工作方式,不是可选项。
14
+ 3. **`node-exec` 在平台执行已 push 的代码**;改 `code.*` 后必须先 `node push`,否则测到的仍是旧版。
15
+ 4. 命令前缀统一:`dazi flow ...`(在 `dazi-work` 根;流程目录用 `--dir .`)。
15
16
 
16
17
  ## 命令约束(必须遵守)
17
18
 
18
19
  - 命令前缀统一:`dazi flow ...`(在 `dazi-work` 根)
19
20
  - 在流程目录执行时,保留 `--dir .`,避免误跑到其他流程
20
21
  - 配置变更必须 `project push --dir . --canvas`(无 `--canvas` 不会更新平台画布)
22
+ - 改 `code.*` 后测试前必须 `node push --node <node_uuid> --dir .`
21
23
  - push 前先 `project doctor`;不一致则 `repair-meta`
22
24
  - 禁止输出裸 `dazi-flow ...` 作为最终命令
23
25
  - 必读:`flow/local-files-spec`
@@ -33,48 +35,61 @@
33
35
 
34
36
  `last-error.md` 含:**错误分类**(缺上游变量/配置缺失/代码错误/连接数据源)、traceback、修复指引。
35
37
 
38
+ ## 成功判据(代码节点,缺一不可)
39
+
40
+ 1. **`node push` 已成功**(`project status` 该节点代码不再脏)
41
+ 2. **`node-exec` 返回 `success: true`**(建议带 `--json`)
42
+ 3. **若配置了 `output_variable_name`**:`variable pull --name <名>` 后,`变量/<名>.json` 为 ready 且 schema/预览符合预期
43
+
44
+ > 禁止仅凭 `node-exec` 退出码或「无 last-error 文件」就声称通过;禁止未 `node push` 就测代码。
45
+
36
46
  ## 改错循环(默认最多 3 轮)
37
47
 
38
48
  ```
39
49
  FOR round = 1..3:
40
50
  1. 读 flow.json + code.* +(若失败)last-error.md + 变量/<名>.json(如需列名)
41
51
  2. 修改 code.* 和/或 flow.json(遵守画布锚点规范)
42
- 3. 运行验证:
43
- - 优先单节点:
44
- dazi flow run node-exec --node <node_uuid> --dir .
45
- - 需要全链路时:
46
- dazi flow run flow-exec --dir . --type debug
47
- 4. IF 成功push(见下)→ 结束
52
+ 3. 若改了 flow.json 拓扑/配置 → project push --dir . --canvas
53
+ 4. 若改了 code.* → node push --node <node_uuid> --dir .(必须先于测试)
54
+ 5. 运行验证(先小后大):
55
+ - 单节点:dazi flow run node-exec --node <node_uuid> --dir .
56
+ - 整流程:dazi flow run flow-exec --dir . --type debug
57
+ 6. 若节点有 output_variable_namevariable pull --name <名> --dir .
58
+ 7. IF 满足「成功判据」→ 结束(本轮无需重复 push,步骤 4 已提交)
48
59
  ELSE → 读新生成的 last-error.md → 下一轮
49
- 5. IF round==3 仍失败 → 输出:失败节点、3 轮尝试摘要、剩余疑点、需用户提供的资料
60
+ 8. IF round==3 仍失败 → 输出:失败节点、3 轮尝试摘要、剩余疑点、需用户提供的资料
50
61
  ```
51
62
 
52
63
  ## 修复决策树
53
64
 
54
- | 错误分类 | 改哪里 | 验证命令 |
65
+ | 错误分类 | 改哪里 | 验证命令(顺序固定) |
55
66
  | ----------- | ------------------------ | ------------------------------------------------------------------------------------------------------- |
56
- | 缺上游变量 | 先跑上游或整流程 | `dazi flow run flow-exec --dir . --type debug`,再 `dazi flow run node-exec --node <node_uuid> --dir .` |
57
- | 配置缺失 | `flow.json` 节点 `data` | `dazi flow run node-exec --node <node_uuid> --dir .` → `dazi flow project push --dir . --canvas` |
58
- | 代码错误 | `节点/<名>/code.sql\|py` | `dazi flow run node-exec --node <node_uuid> --dir .` `dazi flow node push --node <node_uuid> --dir .` |
59
- | 连接/数据源 | connectionId / spaceId | 改配置后 `dazi flow project push --dir . --canvas` |
67
+ | 缺上游变量 | 先跑上游或整流程 | 上游 `node push` `node-exec` `flow-exec --type debug` `variable pull` 再测目标节点(同样先 push) |
68
+ | 配置缺失 | `flow.json` 节点 `data` | `project push --dir . --canvas` → `node push`(若也改了 code)→ `node-exec` `variable pull`(若适用) |
69
+ | 代码错误 | `节点/<名>/code.sql\|py` | **`node push`** **`node-exec`****`variable pull`**(若配置了输出变量) |
70
+ | 连接/数据源 | connectionId / spaceId | `project push --dir . --canvas` → 再按上序测试 |
60
71
 
61
72
  ## 提交规则
62
73
 
63
- - 只改代码:`dazi flow node push --node <node_uuid> --dir .`
64
- - 改连线/配置/增删节点:`dazi flow project push --dir . --canvas`
65
- - 确认变量 schema:`dazi flow variable pull --name <output_variable_name> --dir .`
66
- - **禁止**未验证通过就 push
74
+ - `code.*`:**测试前** `node push`(见改错循环步骤 4);不要等测试通过才第一次 push
75
+ - 改连线/配置/增删节点:`project push --dir . --canvas`(先于依赖该配置的测试)
76
+ - `output_variable_name`:**成功判据**须包含 `variable pull` 核对
77
+ - **禁止**未满足成功判据就声称完成
78
+ - **禁止**未 `node push` 就 `node-exec` 并声称已验证新代码
67
79
 
68
80
  ## 回答格式(每轮结束后)
69
81
 
70
- 1. **本轮运行**:命令 + 成功/失败
71
- 2. **若失败**:节点、错误分类、根因(引用 last-error 原文)
72
- 3. **本轮修改**:改了哪些文件、改了什么
73
- 4. **下一步**:重跑命令或已 push
82
+ 1. **本轮 push**:`node push` / `push --canvas` 是否成功
83
+ 2. **本轮运行**:命令 + 成功/失败 +(若适用)variable pull 结果
84
+ 3. **若失败**:节点、错误分类、根因(引用 last-error 原文)
85
+ 4. **本轮修改**:改了哪些文件、改了什么
86
+ 5. **下一步**:重跑命令或已满足成功判据
74
87
 
75
88
  ## 禁止项
76
89
 
77
90
  - 未运行就声称修复完成
91
+ - 未 `node push` 就 `node-exec` 验证代码改动
78
92
  - 不读 `_run/*.last-error.md` 就猜原因
93
+ - 仅凭 exit code 通过就 push 或声称完成(跳过 variable pull)
79
94
  - 使用裸 `dazi-flow` 作为最终命令
80
95
  - 把代码正文塞进 `flow.json`
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "3.0.6",
2
+ "version": "3.0.5",
3
3
  "updatedAt": "2026-05-26T00:00:00.000Z",
4
4
  "prompts": [
5
5
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dazitech/cli",
3
- "version": "3.0.6",
3
+ "version": "3.0.7",
4
4
  "description": "搭子 v3 命令行工具(Onto / Flow / App),与 dazi-vscode 同版本",
5
5
  "license": "MIT",
6
6
  "engines": {