@dazitech/cli 3.1.0 → 3.1.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 +1 -1
- package/dist/clis/dazi-app.js +2 -2
- package/dist/clis/dazi-flow.js +2 -2
- package/dist/clis/dazi-onto.js +318 -40
- package/dist/clis/dazi.js +407 -185
- package/dist/docs/flow/flow-project-guide.md +1 -1
- package/dist/docs/guides/cli-reference.md +16 -3
- package/dist/docs/guides/troubleshooting.md +1 -1
- package/dist/docs/index.json +1 -13
- package/dist/docs/onto/dazi_script_sdk_reference.md +1 -1
- package/dist/docs/onto/dazi_script_seed_data_guide.md +1 -1
- package/dist/docs/onto/function-guide.md +6 -6
- package/dist/docs/onto//346/234/254/344/275/223/345/210/206/347/261/273/350/247/204/345/210/222/344/270/216SDK/346/211/251/345/261/225/346/226/271/346/241/210.md +169 -169
- package/dist/docs/onto//346/234/254/344/275/223/345/221/275/345/220/215/350/247/204/350/214/203_/347/211/251/347/220/206/350/241/250Cube/344/270/216/345/257/271/350/261/241.md +3 -2
- package/dist/docs/onto//346/234/254/344/275/223/345/274/200/345/217/221/344/274/230/345/214/226/346/200/273/347/273/223.md +257 -242
- 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 +12 -12
- package/dist/docs/onto//346/234/254/344/275/223/350/247/204/345/210/222/346/214/207/345/215/227.md +14 -13
- package/dist/docs/onto//350/204/232/346/234/254/350/277/220/350/241/214/345/270/270/350/247/201/351/224/231/350/257/257/345/244/204/347/220/206.md +70 -15
- package/dist/examples/index.json +222 -6
- package/dist/examples/onto/README.md +34 -36
- package/dist/examples/onto/_templates/onto_preflight.ps1 +84 -0
- package/dist/examples/onto/index.json +53 -0
- package/dist/examples/onto/index.yaml +29 -0
- package/dist/examples/onto//345/210/251/346/266/246/347/244/272/344/276/213/README.md +23 -0
- package/dist/examples/onto//345/210/251/346/266/246/347/244/272/344/276/213/functions/save_test_arguments.ps1 +12 -11
- package/dist/{docs/onto → examples/onto//345/210/251/346/266/246/347/244/272/344/276/213/plans}//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 +4 -4
- package/dist/examples/onto//345/210/251/346/266/246/347/244/272/344/276/213/setup/profit_category_mount.py +1 -1
- package/dist/examples/onto//345/210/251/346/266/246/347/244/272/344/276/213/setup/profit_ontology_init.py +1 -1
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/README.md +24 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/equip_ops_fn_availability_analysis.py +84 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/equip_ops_fn_downtime_breakdown.py +119 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/equip_ops_fn_energy_intensity.py +98 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/equip_ops_fn_get_summary.py +125 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/equip_ops_fn_maintenance_compliance.py +77 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/equip_ops_fn_mom_analysis.py +118 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/equip_ops_fn_oee_analysis.py +126 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/equip_ops_fn_plan_vs_actual.py +105 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/equip_ops_fn_top_fault_equipment.py +104 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/equip_ops_fn_unit_comparison.py +120 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/equip_ops_fn_yoy_analysis.py +115 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/save_test_arguments.ps1 +42 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/test_arguments/equip_ops.fn.availability_analysis.json +7 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/test_arguments/equip_ops.fn.downtime_breakdown.json +8 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/test_arguments/equip_ops.fn.energy_intensity.json +8 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/test_arguments/equip_ops.fn.get_summary.json +7 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/test_arguments/equip_ops.fn.maintenance_compliance.json +7 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/test_arguments/equip_ops.fn.mom_analysis.json +8 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/test_arguments/equip_ops.fn.oee_analysis.json +8 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/test_arguments/equip_ops.fn.plan_vs_actual.json +8 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/test_arguments/equip_ops.fn.top_fault_equipment.json +8 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/test_arguments/equip_ops.fn.unit_comparison.json +8 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/functions/test_arguments/equip_ops.fn.yoy_analysis.json +8 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/plans//345/214/226/345/267/245/350/256/276/345/244/207/350/277/220/350/220/245/345/210/206/346/236/220/346/234/254/344/275/223/346/226/271/346/241/210.md +735 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/setup/equip_ops_category_mount.py +106 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/setup/equip_ops_ontology_init.py +1077 -0
- package/dist/examples/onto//350/256/276/345/244/207/350/277/220/350/220/245/setup/equip_ops_seed_data.py +552 -0
- package/dist/examples/onto//351/224/200/345/224/256/347/244/272/344/276/213/README.md +23 -0
- package/dist/examples/onto//351/224/200/345/224/256/347/244/272/344/276/213/functions/save_test_arguments.ps1 +13 -12
- package/dist/{docs/onto → examples/onto//351/224/200/345/224/256/347/244/272/344/276/213/plans}//350/247/204/345/210/222/347/244/272/344/276/213_/344/272/247/345/223/201/351/224/200/345/224/256/346/234/254/344/275/223/350/247/204/345/210/222/346/226/271/346/241/210.md +2 -2
- package/dist/examples/onto//351/224/200/345/224/256/347/244/272/344/276/213/setup/sales_category_mount.py +1 -1
- package/dist/examples/onto//351/224/200/345/224/256/347/244/272/344/276/213/setup/sales_ontology_init.py +1 -1
- package/dist/prompts/index.json +1 -1
- package/dist/prompts/onto/planning-design.md +226 -104
- package/dist/prompts/onto/script-publish-run.md +8 -6
- package/package.json +1 -1
package/dist/prompts/index.json
CHANGED
|
@@ -1,104 +1,226 @@
|
|
|
1
|
-
# 本体规划设计(TRAE / 智能体)
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
1
|
+
# 本体规划设计(TRAE / 智能体)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
**文档 ID**: `onto/planning-design`
|
|
6
|
+
|
|
7
|
+
**场景**: 新建本体实现、撰写 `plans/` 规划、能力评估(**默认任务模式**)
|
|
8
|
+
|
|
9
|
+
**前置**: 已打开本体实现单元;`README.md` / `快速启动_*.md` 中有 `space_id`
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## 0. 任务边界(强制)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
本提示词用于 **规划阶段**,产出仅为 **`plans/<主题>.md`**(及自检附录)。
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
| 允许 | 禁止(未获用户明确要求「快速 demo」前) |
|
|
26
|
+
|
|
27
|
+
| ---- | ---------------------------------------- |
|
|
28
|
+
|
|
29
|
+
| 阅读 `资源/examples/onto/<示例>/plans/*.md` **学结构** | 复制 `资源/examples/onto/**/setup/*.py` 到本项目 |
|
|
30
|
+
|
|
31
|
+
| 阅读 `本体规划指南.md`、`本体命名规范_*.md` | 复制 `项目/*/本体/ontos/*` 整目录到其他实现 |
|
|
32
|
+
|
|
33
|
+
| 在 `plans/` **独立撰写**业务方案 | 把示例 `plans/*.md` **全文**另存为 `plans/` |
|
|
34
|
+
|
|
35
|
+
| 对照侧栏 **数据资源** 了解现网表/Cube | `dazi onto script publish` / 写 `setup/`、`functions/` |
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
**用户说「创建/设计本体方案」** → 先规划,**不是**先复制 init。
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
## 1. 开始前读取
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
1. `项目/<业务>/本体/ontos/<实现名>/README.md` — **space_id**
|
|
52
|
+
|
|
53
|
+
2. `快速启动_<实现名>.md` — §0 任务模式、§2 示例参照表
|
|
54
|
+
|
|
55
|
+
3. `dazi docs sync` 后:`资源/docs/onto/本体规划指南.md`
|
|
56
|
+
|
|
57
|
+
4. **`dazi examples sync` 后**:`资源/examples/onto/index.json` + **至少一个**示例的 `README.md` + `plans/*.md`
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
```powershell
|
|
62
|
+
|
|
63
|
+
dazi doctor
|
|
64
|
+
|
|
65
|
+
dazi auth whoami
|
|
66
|
+
|
|
67
|
+
dazi examples sync
|
|
68
|
+
|
|
69
|
+
dazi examples onto list
|
|
70
|
+
|
|
71
|
+
dazi examples onto suggest 利润 GL
|
|
72
|
+
|
|
73
|
+
dazi examples onto show profit --plan # 可选:输出规划全文
|
|
74
|
+
|
|
75
|
+
dazi onto space get <space-id> # 可选:现网资产
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
## 2. 业务域路由(只读参照)
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
完整索引:`资源/examples/onto/index.json`(`dazi examples onto list`)。下表为常用路由(规划正文均在各示例 **`plans/`** 下):
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
| 用户意图关键词 | 对照示例目录 | 规划正文(plans/) |
|
|
94
|
+
|
|
95
|
+
| -------------- | ------------ | ------------------ |
|
|
96
|
+
|
|
97
|
+
| 销售、订单、产品、渠道、SKU | `销售示例/` | `规划示例_产品销售本体规划方案.md` |
|
|
98
|
+
|
|
99
|
+
| 利润、科目、预算、GL、成本中心、预实 | `利润示例/` | `规划示例_利润分析本体方案.md` |
|
|
100
|
+
|
|
101
|
+
| 设备、OEE、停机、维保、能耗、工厂 | `设备运营/` | `化工设备运营分析本体方案.md` |
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
示例是 **参照答案**,须结合本实现 **重写**,并写 **「与参照示例的差异说明」** 章节。
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
## 3. 规划方法(业务世界 → 三层)
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
**顺序**:对象类型 + 链接(业务语言)→ 反推物理表 + 表间关系 → Cube 读模型 → 函数清单。
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
每层须 **独立成章**(见规划指南标准结构):
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
| 章节 | 必填要点 |
|
|
126
|
+
|
|
127
|
+
| ---- | -------- |
|
|
128
|
+
|
|
129
|
+
| 业务场景 | 域边界、分析问题、空间约束 |
|
|
130
|
+
|
|
131
|
+
| 物理层 | `dim_date` + `fact_*` 含 `date_key`;表/列 **显示名+说明** |
|
|
132
|
+
|
|
133
|
+
| 表间关系 | 从事实到维表;`join_keys`;与本体链接对照 |
|
|
134
|
+
|
|
135
|
+
| **Cube 层** | 每 Cube:类别、事实源、维度、度量、派生度量、支撑对象 |
|
|
136
|
+
|
|
137
|
+
| 本体层 | 对象 `code`、分类、bind_source、属性、链接 |
|
|
138
|
+
|
|
139
|
+
| 函数 | function_id、参数、返回值、test_arguments |
|
|
140
|
+
|
|
141
|
+
| 差异说明 | 与所选示例的业务/表/Cube/对象差异 |
|
|
142
|
+
|
|
143
|
+
| 附录 B | CATEGORY_REGISTRY 对照(平台分类) |
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
## 4. 产出路径
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
项目/<业务>/本体/ontos/<实现名>/plans/<主题>.md
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
定稿前勾选 [规划完整性自检清单](资源/docs/onto/本体规划指南.md)(含 Cube 层、6a–6e 分类)。
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
规划阶段 **不** 创建或发布 `setup/`、`functions/` 脚本。
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
## 5. 反模式(视为不合格)
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
- `plans/` 为空即开始写 init
|
|
180
|
+
|
|
181
|
+
- 表名/Cube/对象与示例 **逐字相同** 且无差异说明
|
|
182
|
+
|
|
183
|
+
- 利润域任务却使用销售域 `fact_sales_order_line` 等且无业务论证
|
|
184
|
+
|
|
185
|
+
- 复制潘达石化或其他 `项目/` 下历史实现充数
|
|
186
|
+
|
|
187
|
+
- 规划缺 **Cube 独立章节**(仅表+对象+函数)
|
|
188
|
+
|
|
189
|
+
- 只读 `docs/onto/` 旧路径而不打开 `examples/onto/*/plans/` 正文
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
## 6. 进入实施
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
规划定稿且用户确认后,切换提示词 **`onto/script-publish-run`**,按 `plans/` 实现 `setup/`、`functions/`。
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
实施顺序:**init → seed → 发布全部函数 → `*_category_mount.py`**(类灌数,含附录 B 全量六类)。可选:各 publish 带 `--register-platform-category` 与 category_mount 幂等并存。
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
## 7. 相关文档
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
- `onto/本体规划指南.md`
|
|
218
|
+
|
|
219
|
+
- `资源/examples/onto/README.md`(完整示例总览)
|
|
220
|
+
|
|
221
|
+
- `资源/examples/onto/index.json`(示例索引 · `dazi examples onto suggest`)
|
|
222
|
+
|
|
223
|
+
- `onto/本体命名规范_物理表Cube与对象.md`
|
|
224
|
+
|
|
225
|
+
- `onto/本体分类规划与SDK扩展方案.md`
|
|
226
|
+
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
- **`资源/docs/onto/脚本运行常见错误处理.md`**(`dazi docs show onto/script-run-troubleshooting`)
|
|
20
20
|
|
|
21
|
-
重点:setup API
|
|
21
|
+
重点:setup API 勿猜方法名;**无 bind_source 禁止 define_property**(见错误处理 §1.1);多列聚合用 `query()` 勿误用 `query_one()`;**本体函数 `main()` 须 `return _ontology_fn_body(p)`,禁止 `output.print_json()`**;`function run` 无 `--params` 时**回退 TEST_ARGUMENTS**;`save-test-arguments` 推荐 **`--function-id`**;publish-preview 含静态预检。
|
|
22
22
|
|
|
23
23
|
## 强制规则(违反会导致 CommandNotFound 或 404)
|
|
24
24
|
|
|
@@ -143,9 +143,9 @@ dazi onto script run --file <项目路径>/setup/xxx_seed_data.py --space <空
|
|
|
143
143
|
dazi onto function run <function_id> --space <空间>
|
|
144
144
|
```
|
|
145
145
|
|
|
146
|
-
>
|
|
146
|
+
> **无 `--params` 时**:CLI 自动回退已保存 `test_arguments`,否则脚本内 `TEST_ARGUMENTS.arguments`。推荐顺序:**publish → run 验证 → save-test-arguments**(侧栏预填)。详见 `onto/script-run-troubleshooting` §4.1。
|
|
147
147
|
|
|
148
|
-
PowerShell
|
|
148
|
+
PowerShell 显式传参:
|
|
149
149
|
|
|
150
150
|
```powershell
|
|
151
151
|
$env:DAZI_PARAMS='{"start_date":"2025-01-01","end_date":"2026-12-31"}'
|
|
@@ -165,17 +165,19 @@ dazi onto function run <function_id> --space <空间> --params $env:DAZI_PARAMS
|
|
|
165
165
|
**保存到平台**(`function run` 验证通过后):
|
|
166
166
|
|
|
167
167
|
```powershell
|
|
168
|
-
#
|
|
168
|
+
# 推荐:批量脚本(使用 --function-id)
|
|
169
169
|
.\<项目路径>\functions\save_test_arguments.ps1
|
|
170
170
|
```
|
|
171
171
|
|
|
172
|
-
|
|
172
|
+
单条保存(**推荐 `--function-id`**,亦可用 `ofn_xxx`):
|
|
173
173
|
|
|
174
174
|
```powershell
|
|
175
|
-
dazi onto function save-test-arguments <
|
|
175
|
+
dazi onto function save-test-arguments --function-id <domain>.fn.<name> --space <空间> `
|
|
176
176
|
--arguments-json-file <项目路径>/functions/test_arguments/<function_id>.json
|
|
177
177
|
```
|
|
178
178
|
|
|
179
|
+
全部函数 publish 后,可运行 `onto_preflight.ps1`(模板见 `资源/examples/onto/_templates/`)核对文件数与静态预检。
|
|
180
|
+
|
|
179
181
|
验收:
|
|
180
182
|
|
|
181
183
|
```powershell
|