@dazitech/cli 3.0.0 → 3.0.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.
Files changed (58) hide show
  1. package/README.md +15 -13
  2. package/dist/clis/dazi-app.js +5 -5
  3. package/dist/clis/dazi-flow.js +600 -170
  4. package/dist/docs/app/app-init.md +15 -15
  5. package/dist/docs/app/build-upload.md +13 -13
  6. package/dist/docs/app/release-guide.md +9 -9
  7. package/dist/docs/app//344/270/273/350/246/201/350/264/242/345/212/241/346/214/207/346/240/207/345/244/215/346/235/202/346/212/245/350/241/250/345/274/200/345/217/221/345/256/236/350/267/265.md +45 -41
  8. package/dist/docs/auth/auth-login.md +4 -4
  9. package/dist/docs/auth/token-management.md +5 -5
  10. package/dist/docs/data/cube-guide.md +2 -2
  11. package/dist/docs/data/data-spaces.md +4 -3
  12. package/dist/docs/data/table-preview.md +6 -6
  13. package/dist/docs/flow/ai-workflow-playbook.md +69 -0
  14. package/dist/docs/flow/flow-project-guide.md +92 -87
  15. package/dist/docs/flow/flows-guide.md +98 -94
  16. package/dist/docs/flow/local-files-spec.md +194 -0
  17. package/dist/docs/flow/node-code-guide.md +57 -55
  18. package/dist/docs/flow/run-guide.md +18 -18
  19. package/dist/docs/flow/variables-guide.md +61 -61
  20. package/dist/docs/flow//346/265/201/347/250/213/345/274/200/345/217/221/346/234/200/344/275/263/345/256/236/350/267/265-VS-flow0/346/241/210/344/276/213.md +31 -31
  21. package/dist/docs/guides/cli-invocation.md +30 -29
  22. package/dist/docs/guides/cli-reference.md +72 -71
  23. package/dist/docs/guides/flow-consistency-checklist.md +42 -0
  24. package/dist/docs/guides/mcp-setup.md +34 -34
  25. package/dist/docs/guides/migrate-v2-v3.md +6 -5
  26. package/dist/docs/guides/quickstart.md +8 -8
  27. package/dist/docs/guides/troubleshooting.md +39 -21
  28. package/dist/docs/guides/workspace-v3.md +17 -17
  29. package/dist/docs/index.json +18 -6
  30. package/dist/docs/onto/action-guide.md +4 -3
  31. package/dist/docs/onto/dazi_script_sdk_reference.md +20 -14
  32. package/dist/docs/onto/dazi_script_seed_data_guide.md +14 -14
  33. package/dist/docs/onto/function-guide.md +5 -5
  34. package/dist/docs/onto/rule-guide.md +7 -6
  35. package/dist/docs/onto/space-management.md +5 -3
  36. package/dist/docs/onto//346/234/254/344/275/223/350/204/232/346/234/254/347/274/226/345/206/231/346/214/207/345/215/227.md +35 -35
  37. package/dist/docs/onto//346/234/254/344/275/223/350/247/204/345/210/222/346/214/207/345/215/227.md +21 -21
  38. package/dist/docs/onto//350/247/204/345/210/222/347/244/272/344/276/213_/345/210/251/346/266/246/345/210/206/346/236/220/346/234/254/344/275/223/346/226/271/346/241/210.md +11 -11
  39. package/dist/examples/flow/minimal-excel-python/README.md +5 -0
  40. package/dist/examples/flow/minimal-excel-python/flow.json +48 -0
  41. package/dist/examples/flow/minimal-excel-python/flow.meta.json +23 -0
  42. package/dist/examples/flow/minimal-excel-python//350/212/202/347/202/271/Excel/347/244/272/344/276/213/code.py +7 -0
  43. package/dist/examples/flow/minimal-excel-python//350/212/202/347/202/271/Excel/347/244/272/344/276/213/node.info.json +14 -0
  44. package/dist/examples/index.json +6 -0
  45. package/dist/prompts/data/data-analysis.md +2 -2
  46. package/dist/prompts/flow/ai-workflow-playbook.md +69 -0
  47. package/dist/prompts/flow/flow-design.md +33 -19
  48. package/dist/prompts/flow/plan-generate.md +7 -7
  49. package/dist/prompts/flow/run-debug.md +15 -15
  50. package/dist/prompts/flow/run-fix-loop.md +20 -17
  51. package/dist/prompts/general/ask-dazi.md +6 -6
  52. package/dist/prompts/general/troubleshoot.md +4 -3
  53. package/dist/prompts/index.json +1 -0
  54. package/dist/prompts/onto/action-design.md +7 -5
  55. package/dist/prompts/onto/function-design.md +6 -4
  56. package/dist/prompts/onto/rule-seed.md +4 -2
  57. package/dist/prompts/onto/script-publish-run.md +19 -19
  58. package/package.json +1 -1
@@ -0,0 +1,42 @@
1
+ # 流程目录一致性检查表
2
+
3
+ **文档 ID**: `guides/flow-consistency-checklist`
4
+ **适用**: 排查「push 无效 / 设计器打不开代码 / flow-exec 少节点」
5
+
6
+ ---
7
+
8
+ ## CLI 一键检查
9
+
10
+ ```powershell
11
+ cd "项目\flow_xxx\流程\<流程名>"
12
+ dazi flow project doctor --dir .
13
+ dazi flow project repair-meta --dir . # 若 doctor 报错
14
+ ```
15
+
16
+ ---
17
+
18
+ ## 手工检查表
19
+
20
+ | # | 检查项 | 通过标准 |
21
+ |---|--------|----------|
22
+ | 1 | `flow.json` 存在 | 含 `nodes`、`edges` |
23
+ | 2 | `flow.meta.json` 存在 | 含 `flowId`、`nodes` |
24
+ | 3 | 代码节点 uuid 在 meta 中 | 每个 `excel-python` 等有 `dir`+`codeFile` |
25
+ | 4 | meta 条目数 | meta 代码索引数 = flow.json 代码节点数 |
26
+ | 5 | 代码文件存在 | `节点/<名>/code.py` 或 `code.sql` 可读 |
27
+ | 6 | `node.info.json` | pull / repair 后应有(可选但推荐) |
28
+ | 7 | 配置已上平台 | 改配置后执行过 `push --canvas` 且终端有成功提示 |
29
+ | 8 | 代码已上平台 | 改 code 后执行过 `node push` |
30
+
31
+ ---
32
+
33
+ ## 常见症状 → 处理
34
+
35
+ | 症状 | 处理 |
36
+ |------|------|
37
+ | 设计器打不开代码 | `repair-meta` |
38
+ | `node push` skipped | `repair-meta` |
39
+ | 平台无 managed_file_id | `push --canvas` |
40
+ | flow-exec 只跑开始 | 平台图未更新 → `push --canvas` 后重试 |
41
+
42
+ 详见 [流程本地文件规范](../flow/local-files-spec.md)。
@@ -24,53 +24,53 @@
24
24
 
25
25
  ## 聚合 MCP 工具总览(`mcp stdio`)
26
26
 
27
- 运行 `.\scripts\dazi.ps1 mcp tools` 查看完整列表,共 **28 个工具**:
27
+ 运行 `dazi mcp tools` 查看完整列表,共 **28 个工具**:
28
28
 
29
29
  ### 📖 文档与提示词(4 个)
30
30
 
31
- | 工具 | 说明 |
32
- |------|------|
33
- | `list_docs` | 列出文档目录(可按分类过滤) |
34
- | `get_doc` | 获取文档完整内容 |
35
- | `list_prompts` | 列出提示词目录 |
36
- | `get_prompt` | 获取提示词完整内容 |
31
+ | 工具 | 说明 |
32
+ | -------------- | ---------------------------- |
33
+ | `list_docs` | 列出文档目录(可按分类过滤) |
34
+ | `get_doc` | 获取文档完整内容 |
35
+ | `list_prompts` | 列出提示词目录 |
36
+ | `get_prompt` | 获取提示词完整内容 |
37
37
 
38
38
  ### 🧠 本体 onto(8 个)
39
39
 
40
- | 工具 | 说明 |
41
- |------|------|
42
- | `onto_list_spaces` | 列出所有本体空间 |
40
+ | 工具 | 说明 |
41
+ | --------------------- | ---------------- |
42
+ | `onto_list_spaces` | 列出所有本体空间 |
43
43
  | `onto_list_functions` | 列出空间函数定义 |
44
- | `onto_get_function` | 查看函数详情 |
45
- | `onto_run_function` | 执行函数 |
46
- | `onto_list_actions` | 列出动作定义 |
47
- | `onto_list_rules` | 列出规则 |
48
- | `onto_list_scripts` | 列出脚本 |
49
- | `onto_space_snapshot` | 拉取空间快照 |
44
+ | `onto_get_function` | 查看函数详情 |
45
+ | `onto_run_function` | 执行函数 |
46
+ | `onto_list_actions` | 列出动作定义 |
47
+ | `onto_list_rules` | 列出规则 |
48
+ | `onto_list_scripts` | 列出脚本 |
49
+ | `onto_space_snapshot` | 拉取空间快照 |
50
50
 
51
51
  ### 🔄 流程 flow(9 个)
52
52
 
53
- | 工具 | 说明 |
54
- |------|------|
55
- | `flow_list_flows` | 列出 Flow |
56
- | `flow_get_flow` | 查看 Flow 详情 |
57
- | `flow_list_runs` | 列出运行记录 |
58
- | `flow_start_run` | 启动 Flow |
59
- | `flow_debug_run` | 调试最近 Run |
60
- | `flow_list_sources` | 列出数据源 |
61
- | `flow_source_tables` | 列出数据源中的表 |
62
- | `flow_table_structure` | 查看表列结构 |
63
- | `flow_snapshot_pull` | 拉取快照 |
64
- | `flow_plan_llm_guide` | 生成 LLM 引导文档 |
53
+ | 工具 | 说明 |
54
+ | ---------------------- | ----------------- |
55
+ | `flow_list_flows` | 列出 Flow |
56
+ | `flow_get_flow` | 查看 Flow 详情 |
57
+ | `flow_list_runs` | 列出运行记录 |
58
+ | `flow_start_run` | 启动 Flow |
59
+ | `flow_debug_run` | 调试最近 Run |
60
+ | `flow_list_sources` | 列出数据源 |
61
+ | `flow_source_tables` | 列出数据源中的表 |
62
+ | `flow_table_structure` | 查看表列结构 |
63
+ | `flow_snapshot_pull` | 拉取快照 |
64
+ | `flow_plan_llm_guide` | 生成 LLM 引导文档 |
65
65
 
66
66
  ### 🗂 数据 data(4 个)
67
67
 
68
- | 工具 | 说明 |
69
- |------|------|
70
- | `data_list_spaces` | 列出数据空间 |
71
- | `data_list_tables` | 列出数据表 |
72
- | `data_table_schema` | 查看表字段结构 |
73
- | `data_table_sample` | 采样数据(前 N 行)|
68
+ | 工具 | 说明 |
69
+ | ------------------- | ------------------- |
70
+ | `data_list_spaces` | 列出数据空间 |
71
+ | `data_list_tables` | 列出数据表 |
72
+ | `data_table_schema` | 查看表字段结构 |
73
+ | `data_table_sample` | 采样数据(前 N 行) |
74
74
 
75
75
  ## Cursor 使用示例
76
76
 
@@ -7,10 +7,11 @@
7
7
  ### 第 1 步:预览变更
8
8
 
9
9
  ```bash
10
- .\scripts\dazi.ps1 migrate workspace --dry-run
10
+ dazi migrate workspace --dry-run
11
11
  ```
12
12
 
13
13
  输出示例:
14
+
14
15
  ```
15
16
  [计划]
16
17
  重命名: ontology/ → onto/
@@ -25,7 +26,7 @@
25
26
  ### 第 2 步:执行迁移
26
27
 
27
28
  ```bash
28
- .\scripts\dazi.ps1 migrate workspace
29
+ dazi migrate workspace
29
30
  ```
30
31
 
31
32
  迁移前会自动备份到 `.dazi/backup/<timestamp>/`。
@@ -33,8 +34,8 @@
33
34
  ### 第 3 步:迁移认证
34
35
 
35
36
  ```bash
36
- .\scripts\dazi.ps1 auth migrate --dry-run # 预览
37
- .\scripts\dazi.ps1 auth migrate # 执行(从 ~/.dazi-app/auth.json 迁移)
37
+ dazi auth migrate --dry-run # 预览
38
+ dazi auth migrate # 执行(从 ~/.dazi-app/auth.json 迁移)
38
39
  ```
39
40
 
40
41
  ## 配置迁移
@@ -42,7 +43,7 @@
42
43
  旧版 `daziAgent.*` / `daziApp.*` 配置会在首次激活时自动提示迁移,也可手动执行:
43
44
 
44
45
  ```bash
45
- .\scripts\dazi.ps1 migrate config
46
+ dazi migrate config
46
47
  ```
47
48
 
48
49
  ## 回退
@@ -3,7 +3,7 @@
3
3
  **文档 ID**: `guides/quickstart`
4
4
  **适用版本**: dazi-vscode v3.0+
5
5
 
6
- > CLI 调用约定见 **[CLI 调用约定](./cli-invocation.md)**。生产环境在 `dazi-work` 根目录使用 `.\scripts\dazi.ps1`。
6
+ > CLI 调用约定见 **[CLI 调用约定](./cli-invocation.md)**。生产环境在 `dazi-work` 根目录使用 `dazi`。
7
7
 
8
8
  ## 5 分钟完成首次配置
9
9
 
@@ -42,27 +42,27 @@ https://your-dazi-server.example.com
42
42
  在命令面板(`Ctrl+Shift+P`)搜索 **搭子: 登录**,或终端:
43
43
 
44
44
  ```powershell
45
- .\scripts\dazi.ps1 auth login
45
+ dazi auth login
46
46
  # 或直接绑定 Token
47
- .\scripts\dazi.ps1 auth set-token --token "your-jwt-token"
47
+ dazi auth set-token --token "your-jwt-token"
48
48
  ```
49
49
 
50
50
  ### 6. 初始化工作区
51
51
 
52
52
  ```powershell
53
53
  # 新项目(本体空间)
54
- .\scripts\dazi.ps1 onto space init --space-id <your-space-id>
54
+ dazi onto space init --space-id <your-space-id>
55
55
 
56
56
  # 已有 v2 项目迁移
57
- .\scripts\dazi.ps1 migrate workspace
57
+ dazi migrate workspace
58
58
  ```
59
59
 
60
60
  ### 7. 验证环境
61
61
 
62
62
  ```powershell
63
- .\scripts\dazi.ps1 doctor
64
- .\scripts\dazi.ps1 env
65
- .\scripts\dazi.ps1 auth whoami
63
+ dazi doctor
64
+ dazi env
65
+ dazi auth whoami
66
66
  ```
67
67
 
68
68
  侧栏「搭子」图标应显示 6 个节点:帮助、数据资源、本体、流程、应用、工作区。
@@ -2,7 +2,7 @@
2
2
 
3
3
  **文档 ID**: `guides/troubleshooting`
4
4
 
5
- > 终端命令统一使用 **`dazi-work` 根目录** 下的 `.\scripts\dazi.ps1`(见 [CLI 调用约定](./cli-invocation.md))。
5
+ > 终端命令统一使用 **`dazi-work` 根目录** 下的 `dazi`(见 [CLI 调用约定](./cli-invocation.md))。
6
6
 
7
7
  ## CLI 命令找不到(优先排查)
8
8
 
@@ -13,27 +13,27 @@ cd D:\path\to\dazi-work
13
13
 
14
14
  常见原因:
15
15
 
16
- | 原因 | 处理 |
17
- |------|------|
18
- | 未安装 `dazi-vscode.vsix` | 安装扩展后重跑 doctor-cli |
19
- | **Trae 已装扩展但 doctor 报未安装** | Trae 扩展在 `%USERPROFILE%\.trae\extensions`;更新 `dazi-work/scripts` 后重跑 doctor,或 `.\scripts\sync-clis-from-extension.ps1` |
20
- | 扩展在但 `bundled/clis/dazi.js` 缺失 | 用完整 `pnpm run vsix` 重打包装;勿用缺 bundled 的旧包 |
21
- | 直接输入 `dazi` / `dazi-onto` | 改用 `.\scripts\dazi.ps1 ...`(无全局 `dazi-onto`) |
22
- | 未安装 Node.js 18+ | 安装 Node 并加入 PATH |
16
+ | 原因 | 处理 |
17
+ | ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------- |
18
+ | 未安装 `dazi-vscode.vsix` | 安装扩展后重跑 doctor-cli |
19
+ | **Trae 已装扩展但 doctor 报未安装** | Trae 扩展在 `%USERPROFILE%\.trae\extensions`;更新 `dazi-work/scripts` 后重跑 doctor,或 `.\scripts\sync-clis-from-extension.ps1` |
20
+ | 扩展在但 `bundled/clis/dazi.js` 缺失 | 用完整 `pnpm run vsix` 重打包装;勿用缺 bundled 的旧包 |
21
+ | 直接输入 `dazi` / `dazi-onto` | 改用 `dazi ...`(无全局 `dazi-onto`) |
22
+ | 未安装 Node.js 18+ | 安装 Node 并加入 PATH |
23
23
 
24
24
  环境详情:
25
25
 
26
26
  ```powershell
27
- .\scripts\dazi.ps1 doctor
28
- .\scripts\dazi.ps1 env
27
+ dazi doctor
28
+ dazi env
29
29
  ```
30
30
 
31
31
  ## 401 未授权
32
32
 
33
33
  ```powershell
34
- .\scripts\dazi.ps1 auth whoami
35
- .\scripts\dazi.ps1 auth login
36
- .\scripts\dazi.ps1 auth set-token --token "<new-token>"
34
+ dazi auth whoami
35
+ dazi auth login
36
+ dazi auth set-token --token "<new-token>"
37
37
  ```
38
38
 
39
39
  Token 保存在 `~/.dazi/auth.json`,检查是否过期。
@@ -41,24 +41,42 @@ Token 保存在 `~/.dazi/auth.json`,检查是否过期。
41
41
  ## 扩展侧栏空白
42
42
 
43
43
  1. 检查 `dazi.serverUrl` 配置是否正确
44
- 2. 执行 `.\scripts\dazi.ps1 auth whoami` 确认登录状态
44
+ 2. 执行 `dazi auth whoami` 确认登录状态
45
45
  3. 右键侧栏节点选「刷新」
46
46
 
47
+ ## 流程:设计器打不开代码 / push 后平台仍旧
48
+
49
+ ```powershell
50
+ cd "项目\flow_xxx\流程\<流程名>"
51
+ dazi flow project doctor --dir .
52
+ dazi flow project repair-meta --dir .
53
+ dazi flow project push --dir . --canvas
54
+ ```
55
+
56
+ | 现象 | 原因 | 处理 |
57
+ |------|------|------|
58
+ | 设计器「打开代码」失败 | `flow.meta.json` 无该 uuid 的 `dir` | `repair-meta` |
59
+ | 改了 `managed_file_id` 平台没有 | 只用了 `project push` 未加 `--canvas` | `push --canvas` |
60
+ | `node push` 无效果 | meta 未索引该节点 | `repair-meta` |
61
+ | 本地 flow.json 对、快速启动写 2 节点 | pull 后手改画布未同步 meta | `repair-meta` |
62
+
63
+ 详见 [流程本地文件规范](../flow/local-files-spec.md)、[一致性检查表](./flow-consistency-checklist.md)。
64
+
47
65
  ## 工作区目录找不到
48
66
 
49
67
  ```powershell
50
- .\scripts\dazi.ps1 doctor --workspace-root D:\path\to\dazi-work
68
+ dazi doctor --workspace-root D:\path\to\dazi-work
51
69
  ```
52
70
 
53
71
  或在 VS Code 设置中配置 `dazi.workspaceRoot`。
54
72
 
55
73
  ## 从 v2 迁移后命令不匹配
56
74
 
57
- | 旧命令 | v3 命令(dazi-work 根目录) |
58
- |--------|----------------------------|
59
- | `dazi-agent snapshot refresh` | `.\scripts\dazi.ps1 onto space snapshot` |
60
- | `dazi-agent function-def list` | `.\scripts\dazi.ps1 onto function list` |
61
- | `dazi-agent flow snapshot pull` | `.\scripts\dazi.ps1 flow snapshot pull` |
75
+ | 旧命令 | v3 命令(dazi-work 根目录) |
76
+ | ------------------------------- | --------------------------- |
77
+ | `dazi-agent snapshot refresh` | `dazi onto space snapshot` |
78
+ | `dazi-agent function-def list` | `dazi onto function list` |
79
+ | `dazi-agent flow snapshot pull` | `dazi flow snapshot pull` |
62
80
 
63
81
  ## MCP 连不上
64
82
 
@@ -69,7 +87,7 @@ $env:DAZI_BUNDLED_DIR = "$env:USERPROFILE\.cursor\extensions\dazitech.dazi-vscod
69
87
  node "$env:DAZI_BUNDLED_DIR\dazi.js" mcp stdio
70
88
  ```
71
89
 
72
- 或使用 `.\scripts\dazi.ps1 mcp stdio`(在 dazi-work 根目录)。
90
+ 或使用 `dazi mcp stdio`(在 dazi-work 根目录)。
73
91
 
74
92
  ## DRAP:`dazi-app` 找不到
75
93
 
@@ -21,30 +21,30 @@
21
21
 
22
22
  ## 目录说明
23
23
 
24
- | 路径 | 对应 CLI | 用途 |
25
- |------|----------|------|
26
- | `项目/onto_<名称>/` | `.\scripts\dazi.ps1 onto ...` | 本体规划、脚本、发布 |
27
- | `项目/app_<名称>/` | `pnpm run dazi-app -- ...`(在应用项目根) | DRAP monorepo;组件在 `apps/<app_id>/` |
28
- | `项目/app_<名称>/apps/<app_id>/` | 同上 + `--cwd apps/<app_id>` | 单个应用组件源码 |
29
- | `资源/docs/` | `.\scripts\dazi.ps1 docs ...` | 同步后的内置文档 |
30
- | `scripts/` | `.\scripts\dazi.ps1 ...` | 本体/流程/鉴权/数据(非 DRAP) |
31
- | `~/.dazi/auth.json` | 共享 | 登录凭据(扩展与 CLI 共用) |
24
+ | 路径 | 对应 CLI | 用途 |
25
+ | -------------------------------- | ------------------------------------------ | -------------------------------------- |
26
+ | `项目/onto_<名称>/` | `dazi onto ...` | 本体规划、脚本、发布 |
27
+ | `项目/app_<名称>/` | `pnpm run dazi-app -- ...`(在应用项目根) | DRAP monorepo;组件在 `apps/<app_id>/` |
28
+ | `项目/app_<名称>/apps/<app_id>/` | 同上 + `--cwd apps/<app_id>` | 单个应用组件源码 |
29
+ | `资源/docs/` | `dazi docs ...` | 同步后的内置文档 |
30
+ | `scripts/` | `dazi ...` | 本体/流程/鉴权/数据(非 DRAP) |
31
+ | `~/.dazi/auth.json` | 共享 | 登录凭据(扩展与 CLI 共用) |
32
32
 
33
33
  ## 扩展侧栏对应
34
34
 
35
- | 侧栏 | 工作区路径 |
36
- |------|------------|
37
- | 本体 | `项目/onto_*` |
35
+ | 侧栏 | 工作区路径 |
36
+ | -------- | ----------------------------------------- |
37
+ | 本体 | `项目/onto_*` |
38
38
  | App 应用 | `项目/app_*`(monorepo)→ `apps/<app_id>` |
39
- | 数据资源 | 平台数据空间(非目录) |
39
+ | 数据资源 | 平台数据空间(非目录) |
40
40
 
41
41
  ## v2 → v3 目录映射
42
42
 
43
- | v2 | v3(搭子工作区) |
44
- |----|----------------|
45
- | `ontology/` | `项目/onto_*` |
46
- | `runtime-apps/apps/*` | `项目/app_*/apps/*`(推荐)或 `<ws>/runtime-apps/apps/*`(兼容) |
47
- | `.dazi-agent/auth.json` | `~/.dazi/auth.json` |
43
+ | v2 | v3(搭子工作区) |
44
+ | ----------------------- | ---------------------------------------------------------------- |
45
+ | `ontology/` | `项目/onto_*` |
46
+ | `runtime-apps/apps/*` | `项目/app_*/apps/*`(推荐)或 `<ws>/runtime-apps/apps/*`(兼容) |
47
+ | `.dazi-agent/auth.json` | `~/.dazi/auth.json` |
48
48
 
49
49
  ## 相关文档
50
50
 
@@ -110,12 +110,30 @@
110
110
  "category": "onto",
111
111
  "file": "onto/dazi_script_seed_data_guide.md"
112
112
  },
113
+ {
114
+ "id": "flow/local-files-spec",
115
+ "title": "流程本地文件规范与示例",
116
+ "category": "flow",
117
+ "file": "flow/local-files-spec.md"
118
+ },
119
+ {
120
+ "id": "flow/ai-workflow-playbook",
121
+ "title": "流程项目 AI 工作手册",
122
+ "category": "flow",
123
+ "file": "flow/ai-workflow-playbook.md"
124
+ },
113
125
  {
114
126
  "id": "flow/flow-project-guide",
115
127
  "title": "数据流程项目开发指南",
116
128
  "category": "flow",
117
129
  "file": "flow/flow-project-guide.md"
118
130
  },
131
+ {
132
+ "id": "guides/flow-consistency-checklist",
133
+ "title": "流程目录一致性检查表",
134
+ "category": "guides",
135
+ "file": "guides/flow-consistency-checklist.md"
136
+ },
119
137
  {
120
138
  "id": "flow/流程开发最佳实践-VS-flow0案例",
121
139
  "title": "流程开发最佳实践(VS-flow0 案例)",
@@ -146,12 +164,6 @@
146
164
  "category": "flow",
147
165
  "file": "flow/run-guide.md"
148
166
  },
149
- {
150
- "id": "flow/snapshot-guide",
151
- "title": "Flow 快照管理",
152
- "category": "flow",
153
- "file": "flow/snapshot-guide.md"
154
- },
155
167
  {
156
168
  "id": "flow/source-guide",
157
169
  "title": "数据源管理",
@@ -5,6 +5,7 @@
5
5
  ## Action 概念
6
6
 
7
7
  Action 是可被外部系统触发的本体操作,通常用于:
8
+
8
9
  - 写入数据
9
10
  - 触发业务流程
10
11
  - 执行审批操作
@@ -12,7 +13,7 @@ Action 是可被外部系统触发的本体操作,通常用于:
12
13
  ## 列出动作
13
14
 
14
15
  ```bash
15
- .\scripts\dazi.ps1 onto action list --space <space-id>
16
+ dazi onto action list --space <space-id>
16
17
  ```
17
18
 
18
19
  ## 发布 Action
@@ -20,7 +21,7 @@ Action 是可被外部系统触发的本体操作,通常用于:
20
21
  脚本放在 **`项目/onto_<项目名>/脚本/`**(可与函数脚本同目录,用文件名区分):
21
22
 
22
23
  ```bash
23
- .\scripts\dazi.ps1 onto script publish 项目/onto_<项目名>/脚本/my_action.py \
24
+ dazi onto script publish 项目/onto_<项目名>/脚本/my_action.py \
24
25
  --space <space-id> \
25
26
  --register-action-id my_action_code \
26
27
  --register-action-permission-tag "finance.write"
@@ -31,7 +32,7 @@ Action 是可被外部系统触发的本体操作,通常用于:
31
32
  ## 更新 Action 代码
32
33
 
33
34
  ```bash
34
- .\scripts\dazi.ps1 onto action update-code my_action_code \
35
+ dazi onto action update-code my_action_code \
35
36
  --space <space-id> \
36
37
  --stem my_action
37
38
  ```
@@ -3,16 +3,16 @@
3
3
  **文档 ID**: `onto/dazi-script-sdk-reference`
4
4
  **适用**: dazi-vscode v3 + 搭子平台 DaziScript(ClickHouse 数据空间)
5
5
 
6
- > 给 LLM 与开发者提供精简、可执行的 SDK 规范。脚本目录、类型与 **`.\scripts\dazi.ps1 onto script publish`** 等见 **[本体脚本编写指南](./本体脚本编写指南.md)**。
6
+ > 给 LLM 与开发者提供精简、可执行的 SDK 规范。脚本目录、类型与 **`dazi onto script publish`** 等见 **[本体脚本编写指南](./本体脚本编写指南.md)**。
7
7
 
8
8
  ## 1. 工作区与脚本放置(dazi-vscode)
9
9
 
10
- | 用途 | 路径 |
11
- |------|------|
12
- | **日常开发**(推荐) | `<工作区根>/项目/onto_<项目名>/脚本/*.py` |
13
- | **空间 ID** | `项目/onto_<项目名>/README.md` 中的数据空间 ID |
14
- | **参考示例** | `资源/examples/onto/setup/`、`资源/examples/onto/function/`(侧栏 **帮助 → 示例** 或 `.\scripts\dazi.ps1 examples sync`) |
15
- | **本文档** | `资源/docs/onto/dazi_script_sdk_reference.md`(`.\scripts\dazi.ps1 docs sync` 后) |
10
+ | 用途 | 路径 |
11
+ | -------------------- | ----------------------------------------------------------------------------------------------------------- |
12
+ | **日常开发**(推荐) | `<工作区根>/项目/onto_<项目名>/脚本/*.py` |
13
+ | **空间 ID** | `项目/onto_<项目名>/README.md` 中的数据空间 ID |
14
+ | **参考示例** | `资源/examples/onto/setup/`、`资源/examples/onto/function/`(侧栏 **帮助 → 示例** 或 `dazi examples sync`) |
15
+ | **本文档** | `资源/docs/onto/dazi_script_sdk_reference.md`(`dazi docs sync` 后) |
16
16
 
17
17
  - **禁止**将 `onto/<space_id>/editorial/` 作为 v3 本地开发约定(历史路径,仅 CLI `script sync` 可能拉回平台副本)。
18
18
  - 脚本入口仅需定义 **`main()`**;平台执行时自动调用,**不要**写 `if __name__ == "__main__":`。
@@ -23,7 +23,7 @@
23
23
  - 新建空间须显式指定(若脚本内创建空间):
24
24
  - `storage_engine="clickhouse"`
25
25
  - `connection_config={"database": "<db_name>"}`
26
- - 执行前确认已登录(`.\scripts\dazi.ps1 auth whoami`)且 `dazi.serverUrl` 正确。
26
+ - 执行前确认已登录(`dazi auth whoami`)且 `dazi.serverUrl` 正确。
27
27
 
28
28
  ## 3. 顶层对象与推荐调用
29
29
 
@@ -66,7 +66,13 @@
66
66
  "updated": [],
67
67
  "skipped": [],
68
68
  "errors": [],
69
- "summary": { "requested": 0, "created": 0, "updated": 0, "skipped": 0, "errors": 0 }
69
+ "summary": {
70
+ "requested": 0,
71
+ "created": 0,
72
+ "updated": 0,
73
+ "skipped": 0,
74
+ "errors": 0
75
+ }
70
76
  }
71
77
  ```
72
78
 
@@ -140,18 +146,18 @@
140
146
 
141
147
  ```bash
142
148
  # 预检
143
- .\scripts\dazi.ps1 onto script publish-preview 项目/onto_<项目名>/脚本/my_setup.py --space <space-id>
149
+ dazi onto script publish-preview 项目/onto_<项目名>/脚本/my_setup.py --space <space-id>
144
150
 
145
151
  # 发布(初始化/灌数类脚本)
146
- .\scripts\dazi.ps1 onto script publish 项目/onto_<项目名>/脚本/my_setup.py --space <space-id>
152
+ dazi onto script publish 项目/onto_<项目名>/脚本/my_setup.py --space <space-id>
147
153
 
148
154
  # 发布并注册为本体函数
149
- .\scripts\dazi.ps1 onto script publish 项目/onto_<项目名>/脚本/my_func.py \
155
+ dazi onto script publish 项目/onto_<项目名>/脚本/my_func.py \
150
156
  --space <space-id> \
151
157
  --register-function-id my_func
152
158
 
153
159
  # 运行已入库函数
154
- .\scripts\dazi.ps1 onto function run my_func --space <space-id> --params '{}'
160
+ dazi onto function run my_func --space <space-id> --params '{}'
155
161
  ```
156
162
 
157
163
  亦可用侧栏 **Onto 本体** → 发布函数 / 运行函数。
@@ -162,7 +168,7 @@
162
168
  - 非 0 退出码即失败
163
169
  - 会改写数据的步骤须提供跳过/禁用开关
164
170
 
165
- **内置参考示例**(在用户工作区:**侧栏 帮助 → 示例 → 下载所有示例**,或执行 `.\scripts\dazi.ps1 examples sync`,得到 **`资源/examples/`**;可复制到 **`项目/<onto_项目名>/脚本/`** 再改,勿直接改写同步下来的只读备份):
171
+ **内置参考示例**(在用户工作区:**侧栏 帮助 → 示例 → 下载所有示例**,或执行 `dazi examples sync`,得到 **`资源/examples/`**;可复制到 **`项目/<onto_项目名>/脚本/`** 再改,勿直接改写同步下来的只读备份):
166
172
 
167
173
  - 初始化:**`<工作区根>/资源/examples/onto/setup/profit_ontology_init.py`**
168
174
  - 函数样例:**`<工作区根>/资源/examples/onto/function/profit_fn_*.py`**
@@ -14,13 +14,13 @@
14
14
 
15
15
  ### 1.1 放置位置(v3)
16
16
 
17
- | 类型 | 推荐路径 |
18
- |------|----------|
19
- | **项目内开发** | `<工作区根>/项目/onto_<项目名>/脚本/<名称>.py` |
20
- | **参考示例** | `资源/examples/onto/setup/`(初始化+灌数一体)、`资源/examples/onto/function/`(分析函数,非灌数专篇) |
17
+ | 类型 | 推荐路径 |
18
+ | -------------- | ------------------------------------------------------------------------------------------------------ |
19
+ | **项目内开发** | `<工作区根>/项目/onto_<项目名>/脚本/<名称>.py` |
20
+ | **参考示例** | `资源/examples/onto/setup/`(初始化+灌数一体)、`资源/examples/onto/function/`(分析函数,非灌数专篇) |
21
21
 
22
22
  - `space_id` 以 **`项目/onto_<项目名>/README.md`** 为准(扩展「新建项目」时已绑定)。
23
- - 侧栏 **帮助 → 📎 示例 → 下载所有示例**,或:`.\scripts\dazi.ps1 examples sync` → `资源/examples/`。
23
+ - 侧栏 **帮助 → 📎 示例 → 下载所有示例**,或:`dazi examples sync` → `资源/examples/`。
24
24
  - 须定义 **`main()`**,**不要**写 `if __name__ == "__main__":`。
25
25
 
26
26
  > 不再使用 `spaces/<space_id>/editorial/scripts/setup/` 作为 v3 本地约定路径。
@@ -53,11 +53,11 @@
53
53
 
54
54
  ## 3. 推荐模式对照
55
55
 
56
- | 场景 | 推荐做法 |
57
- |------|----------|
58
- | 少量固定行 | 单条 `INSERT ... VALUES`,元组间**无**行间 `--`;或拆多条 `INSERT` |
59
- | 多批次、多行 | **`s.sql.insert_rows`** + Python 生成 `list[dict]` |
60
- | 需读 SQL 文件 | 注释写在 **INSERT 块上方**(Python 侧),不要塞进 `VALUES` 中间 |
56
+ | 场景 | 推荐做法 |
57
+ | ------------- | ------------------------------------------------------------------ |
58
+ | 少量固定行 | 单条 `INSERT ... VALUES`,元组间**无**行间 `--`;或拆多条 `INSERT` |
59
+ | 多批次、多行 | **`s.sql.insert_rows`** + Python 生成 `list[dict]` |
60
+ | 需读 SQL 文件 | 注释写在 **INSERT 块上方**(Python 侧),不要塞进 `VALUES` 中间 |
61
61
 
62
62
  ---
63
63
 
@@ -132,18 +132,18 @@ def main():
132
132
 
133
133
  ```bash
134
134
  # 预检
135
- .\scripts\dazi.ps1 onto script publish-preview 项目/onto_<项目名>/脚本/demo_seed.py --space <space-id>
135
+ dazi onto script publish-preview 项目/onto_<项目名>/脚本/demo_seed.py --space <space-id>
136
136
 
137
137
  # 发布到平台(data_script / 初始化脚本)
138
- .\scripts\dazi.ps1 onto script publish 项目/onto_<项目名>/脚本/demo_seed.py --space <space-id>
138
+ dazi onto script publish 项目/onto_<项目名>/脚本/demo_seed.py --space <space-id>
139
139
 
140
140
  # 若已入库且已知 script-id,可在平台侧执行;或通过 Onto 侧栏运行
141
- .\scripts\dazi.ps1 onto script run --script-id <script-id> --space <space-id> --params '{}'
141
+ dazi onto script run --script-id <script-id> --space <space-id> --params '{}'
142
142
  ```
143
143
 
144
144
  **参考完整初始化+灌数**:复制 `资源/examples/onto/setup/profit_ontology_init.py` 到 `项目/.../脚本/` 后按空间改 `space_id` 与表名,再发布执行。
145
145
 
146
- > **已废弃**:`dazi-agent run --file "spaces/.../editorial/..."` — 请改用上表 `.\scripts\dazi.ps1 onto script publish` / `function run`。
146
+ > **已废弃**:`dazi-agent run --file "spaces/.../editorial/..."` — 请改用上表 `dazi onto script publish` / `function run`。
147
147
 
148
148
  ---
149
149
 
@@ -12,7 +12,7 @@
12
12
 
13
13
  ```bash
14
14
  # 发布新函数(路径指向本体项目 脚本/ 目录)
15
- .\scripts\dazi.ps1 onto function publish 项目/onto_<项目名>/脚本/my_func.py \
15
+ dazi onto function publish 项目/onto_<项目名>/脚本/my_func.py \
16
16
  --space <space-id> \
17
17
  --function-id my_function \
18
18
  --display-name "我的函数" \
@@ -22,7 +22,7 @@
22
22
  或使用 `script publish`(等价,见 [本体脚本编写指南](./本体脚本编写指南.md)):
23
23
 
24
24
  ```bash
25
- .\scripts\dazi.ps1 onto script publish 项目/onto_<项目名>/脚本/my_func.py \
25
+ dazi onto script publish 项目/onto_<项目名>/脚本/my_func.py \
26
26
  --space <space-id> \
27
27
  --register-function-id my_function
28
28
  ```
@@ -33,7 +33,7 @@
33
33
 
34
34
  ```bash
35
35
  # 用工作副本快速更新(不做完整 publish 流程)
36
- .\scripts\dazi.ps1 onto function update-code <function-id> \
36
+ dazi onto function update-code <function-id> \
37
37
  --space <space-id> \
38
38
  --stem my_func
39
39
  ```
@@ -43,7 +43,7 @@
43
43
  ## 运行函数
44
44
 
45
45
  ```bash
46
- .\scripts\dazi.ps1 onto function run <function-id> \
46
+ dazi onto function run <function-id> \
47
47
  --space <space-id> \
48
48
  --params '{"key": "value"}'
49
49
  ```
@@ -51,7 +51,7 @@
51
51
  ## 保存测试参数
52
52
 
53
53
  ```bash
54
- .\scripts\dazi.ps1 onto function save-test-arguments <function-id> \
54
+ dazi onto function save-test-arguments <function-id> \
55
55
  --space <space-id> \
56
56
  --params '{"test_param": 42}'
57
57
  ```