@dazitech/cli 3.0.5 → 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.
- package/README.md +1 -1
- package/dist/clis/dazi-app.js +16 -13
- package/dist/clis/dazi-flow.js +48 -28
- package/dist/clis/dazi-onto.js +7 -6
- package/dist/clis/dazi.js +9 -8
- package/dist/docs/flow/ai-workflow-playbook.md +4 -2
- package/dist/docs/flow/flow-project-guide.md +9 -5
- package/dist/docs/flow/flows-guide.md +2 -2
- package/dist/docs/flow/node-code-guide.md +408 -401
- package/dist/docs/flow/run-guide.md +13 -6
- package/dist/docs/flow/variables-guide.md +407 -406
- package/dist/docs/guides/troubleshooting.md +1 -1
- package/dist/docs/index.json +1 -1
- package/dist/examples/index.json +1 -1
- package/dist/prompts/flow/ai-workflow-playbook.md +4 -2
- package/dist/prompts/flow/flow-design.md +12 -9
- package/dist/prompts/flow/run-fix-loop.md +37 -22
- package/dist/prompts/index.json +1 -1
- package/package.json +1 -1
|
@@ -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.
|
|
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
|
|
package/dist/docs/index.json
CHANGED
package/dist/examples/index.json
CHANGED
|
@@ -58,9 +58,11 @@ dazi flow run flow-exec --dir . --type debug
|
|
|
58
58
|
|
|
59
59
|
- [ ] `doctor` 为 ✅
|
|
60
60
|
- [ ] 配置变更已 `push --canvas`
|
|
61
|
-
- [ ]
|
|
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
|
|
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
|
-
|
|
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.
|
|
89
|
-
2.
|
|
90
|
-
3.
|
|
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.
|
|
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
|
-
|
|
45
|
-
-
|
|
46
|
-
|
|
47
|
-
|
|
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_name → variable pull --name <名> --dir .
|
|
58
|
+
7. IF 满足「成功判据」→ 结束(本轮无需重复 push,步骤 4 已提交)
|
|
48
59
|
ELSE → 读新生成的 last-error.md → 下一轮
|
|
49
|
-
|
|
60
|
+
8. IF round==3 仍失败 → 输出:失败节点、3 轮尝试摘要、剩余疑点、需用户提供的资料
|
|
50
61
|
```
|
|
51
62
|
|
|
52
63
|
## 修复决策树
|
|
53
64
|
|
|
54
|
-
| 错误分类 | 改哪里 |
|
|
65
|
+
| 错误分类 | 改哪里 | 验证命令(顺序固定) |
|
|
55
66
|
| ----------- | ------------------------ | ------------------------------------------------------------------------------------------------------- |
|
|
56
|
-
| 缺上游变量 | 先跑上游或整流程 | `
|
|
57
|
-
| 配置缺失 | `flow.json` 节点 `data` | `
|
|
58
|
-
| 代码错误 | `节点/<名>/code.sql\|py` |
|
|
59
|
-
| 连接/数据源 | connectionId / spaceId |
|
|
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
|
-
-
|
|
64
|
-
- 改连线/配置/增删节点:`
|
|
65
|
-
-
|
|
66
|
-
-
|
|
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.
|
|
72
|
-
3.
|
|
73
|
-
4.
|
|
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`
|
package/dist/prompts/index.json
CHANGED