@microi.net/cli 4.9.3 → 4.9.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/.codebuddy-plugin/marketplace.json +2 -2
- package/.codebuddy-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/.workbuddy-plugin/marketplace.json +2 -2
- package/.workbuddy-plugin/plugin.json +1 -1
- package/assets/build-meta.json +5 -5
- package/package.json +1 -1
- package/scripts/mcp-server.js +77 -77
- package/scripts/microi-cli.js +25 -25
- package/scripts/microi-skills.meta.json +142 -121
- package/skills/.microi-skills-version.json +2 -2
- package/skills/README.md +3 -1
- package/skills/app-store/SKILL.md +10 -2
- package/skills/microi-ai-application/SKILL.md +1 -1
- package/skills/microi-docs-coverage/references/capability-map.md +2 -0
- package/skills/microi-microservice/SKILL.md +1 -1
- package/skills/unity-integration/SKILL.md +143 -0
- package/skills/unity-integration/agents/openai.yaml +4 -0
- package/skills/unity-integration/references/ai-app-delivery.md +78 -0
- package/skills/unity-integration/references/sdk-api.md +82 -0
- package/skills/unity-integration/references/toolbox-migration.md +66 -0
- package/skills/unity-integration/references/webgl-hosting.md +57 -0
- package/skills/workspace-conventions/SKILL.md +3 -2
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
{
|
|
2
|
-
"builtAt": "2026-08-
|
|
2
|
+
"builtAt": "2026-08-12T00:51:37.411Z",
|
|
3
3
|
"source": "../microi.skills",
|
|
4
4
|
"extension": {
|
|
5
5
|
"name": "v8-engine",
|
|
6
|
-
"version": "4.9.
|
|
6
|
+
"version": "4.9.4",
|
|
7
7
|
"publisher": "Microi"
|
|
8
8
|
},
|
|
9
9
|
"skills": {
|
|
10
|
-
"version": "4.9.
|
|
10
|
+
"version": "4.9.4",
|
|
11
11
|
"versionRule": "Microi version uses three numeric parts. Each publish increments the last part; when a part exceeds 9 it carries to the previous part: 1.0.9 -> 1.1.0, 1.9.9 -> 2.0.0.",
|
|
12
12
|
"managedBy": "Microi.VSCode/bump-version.js"
|
|
13
13
|
},
|
|
14
14
|
"output": {
|
|
15
15
|
"dir": "dist/microi.skills",
|
|
16
|
-
"files":
|
|
17
|
-
"skills":
|
|
18
|
-
"bytes":
|
|
16
|
+
"files": 115,
|
|
17
|
+
"skills": 62,
|
|
18
|
+
"bytes": 1761766
|
|
19
19
|
},
|
|
20
20
|
"fileHashes": {
|
|
21
|
-
".microi-skills-version.json": "
|
|
22
|
-
"README.md": "
|
|
21
|
+
".microi-skills-version.json": "b53c80a0b0b0fd245a3a2e0b0bbf03008c8b42991c2fb384c9c21c44c7343065",
|
|
22
|
+
"README.md": "9fd99d9a94a353fddd741719fb065ff17aaafd921db577ab54c21bf9c954154a",
|
|
23
23
|
"ai-engine/SKILL.md": "9c249704cd21f3c2bc481510b3ec453fc1deffca0a5246aa3ea259181303ec4e",
|
|
24
24
|
"ai-engine/agents/openai.yaml": "40deb07801006a46b9a7f0020d13251955eeadd04c8e591160210479936f8b5b",
|
|
25
25
|
"ai-platform-governance/SKILL.md": "80ea8e6481bdad34df21523aa3c3a1d4be60a7637b6192e66e45fa9f188d9683",
|
|
26
|
-
"app-store/SKILL.md": "
|
|
26
|
+
"app-store/SKILL.md": "bddb1f1e0c5bde3ccd4829be6e68197ce5e57d7c92835f61445834f12b51f2d1",
|
|
27
27
|
"app-store/agents/openai.yaml": "eda8f5cf043e7b8fb0e4fb3acf0625fef95eb49586b43187ced277cd0ae4a2c4",
|
|
28
28
|
"business-blueprint/SKILL.md": "6feff9178a1cdd6bad14481df0fa636956b79a385ccd25b053f1b563a30085ce",
|
|
29
29
|
"datasource-engine/SKILL.md": "e186ba655eac38e2dd839423a0abedcc9e89232ec1ec109f44c5d9b333cd512f",
|
|
@@ -36,12 +36,13 @@
|
|
|
36
36
|
"message-notification/agents/openai.yaml": "d0e259921410e94caaf8b376d690a529842446e3f32c9523b7dfd1bda599f58c",
|
|
37
37
|
"message-notification/references/contracts.md": "a33e3dd4093430ed1dc5b79a978d8981479e975a7dd30fde6f68559360369f06",
|
|
38
38
|
"microi-ai-app-auth.js": "8023db6ae655bc33027f389a64ef7937ac09da35eb1b8a497aaefb986834242a",
|
|
39
|
-
"microi-ai-application/SKILL.md": "
|
|
39
|
+
"microi-ai-application/SKILL.md": "78b0e743f7b5dfeee330ea71d3b1beb810f9f2420c6611cc578a00a7ea3838c0",
|
|
40
40
|
"microi-ai-application/agents/openai.yaml": "d3dfc4d0f2fda3391e90e661ca9d8d051cb43824b011d1a88e99db135870454f",
|
|
41
41
|
"microi-ai-application/references/frontend-baseline.md": "c21a2d38292fd8d445a7538afb45d609881f624f32d39c0fc4bbbb3c2fa64a74",
|
|
42
42
|
"microi-client-frontend/SKILL.md": "7eff847de1fc3729730f668129602699cb29b0d212123557ecbb542b59a95b2b",
|
|
43
43
|
"microi-codex-installer/SKILL.md": "4d60ff30a4571024b38f6ab1767b0eca7337a3476d23c2afc3fe4433c318656a",
|
|
44
44
|
"microi-codex-installer/agents/openai.yaml": "e531219b74a70204893a156b1c22c69013a4c9d24b132ead912746b1b312cf80",
|
|
45
|
+
"microi-codex/SKILL.md": "8c70d8a1d9cd0918989da4613a5e68efd29fc1e82e1aa35c9bc516ca167d8558",
|
|
45
46
|
"microi-datasource-mapping/SKILL.md": "e61556634926360c0c2efab00dccd57e826c75b78e60307adfa158c2c58d4f37",
|
|
46
47
|
"microi-db-schema/SKILL.md": "adcb2f63d1e5ea83529438ce03fe0e8648c5cdfcbebfee7d27ae101c06b1b128",
|
|
47
48
|
"microi-db-schema/agents/openai.yaml": "c725a2be4c904472f9e46dc4b49aa642c9f3a4437c91a28ba7cc27167497ede7",
|
|
@@ -53,7 +54,7 @@
|
|
|
53
54
|
"microi-deployment/SKILL.md": "a3c5df8b6508b7034ba15703249105d1992aecdd1b4c17be78c54b23cfcdda3e",
|
|
54
55
|
"microi-deployment/references/deployment-matrix.md": "32d9d1424bf19eae0d2cee2b1667203c830ea7610c71a806e7ddf785a0083009",
|
|
55
56
|
"microi-docs-coverage/SKILL.md": "50dce4e686c9fb23121f1779a8649c62ba0ebfc6bdef8fbb95cb394fed5d7469",
|
|
56
|
-
"microi-docs-coverage/references/capability-map.md": "
|
|
57
|
+
"microi-docs-coverage/references/capability-map.md": "14ed4f2c06c73bce858835070a1ff7fcb9af3eed862d1b0e6a45522e5e7e2581",
|
|
57
58
|
"microi-docs-coverage/scripts/audit-doc-skill-coverage.mjs": "ebd57f17f2ebae499bfa59ad17830db458590feb76f7f0f20219ff0987b33af3",
|
|
58
59
|
"microi-form-engine/SKILL.md": "2bcec564980eb357eb7fa20bd2b46e03cd29533f4e74cc6fbcb1e3611edb2b8e",
|
|
59
60
|
"microi-form-engine/references/component-catalog.md": "68963c2d5211a4610c09fab1fa127a349339abbb7427509b183d4be72e977c7b",
|
|
@@ -61,7 +62,7 @@
|
|
|
61
62
|
"microi-form-layout/SKILL.md": "3d03193582cf51cc468c11409213ff883c42bee43580452b4805c2a7eef9a7e1",
|
|
62
63
|
"microi-frontend-sdk/SKILL.md": "415c8ccacfe64d31bd819c8a4c06da0a2d1ab835fe7edf04890f5e55ae15897a",
|
|
63
64
|
"microi-left-right-layout/SKILL.md": "4ea56e01b6c9a120919c90ae5525528db3173699e82b341f716f1c608201c6d6",
|
|
64
|
-
"microi-microservice/SKILL.md": "
|
|
65
|
+
"microi-microservice/SKILL.md": "8ca7b75b214c471ad51acf39c5032bd6c7a580079a8b25c8184e69c3374f12b6",
|
|
65
66
|
"microi-microservice/references/runtime-delivery.md": "d21e759aee023dd3a1e9a3dd3bba26a38a5be6c2342d5aecf27901cd97a8ab6d",
|
|
66
67
|
"microi-mobile-app-quality/SKILL.md": "a8a5d1a324b327c69652423747cf8932c7d6e0d2cd182eb8efca055d3939247b",
|
|
67
68
|
"microi-solution-quotation/SKILL.md": "c0d16a2da319d998475b3bcccae3f7f1b3ddbc73cb628a4f97fe175bb7a5c4e0",
|
|
@@ -97,6 +98,12 @@
|
|
|
97
98
|
"ui-design/references/motion-and-media.md": "3d73161a5ad19e3d1ebecf681febd592ea0e1bca42e6340ef6a08cd9a9fd25be",
|
|
98
99
|
"ui-design/references/product-flow-recipes.md": "b6a41c2d2b18f59594024f232e38497c140e5d8f25b54099a7e2a47609c52edc",
|
|
99
100
|
"uniapp-mall-assets/SKILL.md": "f81b2e05abbd9e29a1a26fc3a4a9a34b1c84b856035a3d612f173727fff7ed82",
|
|
101
|
+
"unity-integration/SKILL.md": "c8f468c0f8b52ebf39116f5f9c70122bfb609617234faf89a377bc04026c8efd",
|
|
102
|
+
"unity-integration/agents/openai.yaml": "f07748ace7e6303e49eac32d77f3e7163c8de1cef1f2f87e20de76207c8e5a50",
|
|
103
|
+
"unity-integration/references/ai-app-delivery.md": "9b56a1582fcea8d3afde8473fc8bfd50294e52cfb8e7eb0a3c983eee9458889b",
|
|
104
|
+
"unity-integration/references/sdk-api.md": "b473e7094b0c4cf7860cecb9acfbdd55025c7f851b4bd4bf92b4233091b182fa",
|
|
105
|
+
"unity-integration/references/toolbox-migration.md": "b9294ea7db2b2a0f31e650e6e80f6d8f69385037bff6ac39fd5525ea98f8c934",
|
|
106
|
+
"unity-integration/references/webgl-hosting.md": "5c19bda62d7c7a258b4fafc1d46e9a7c94e5400803d77d9aff44ce794083e745",
|
|
100
107
|
"v8-api-config/SKILL.md": "16a936c5b872cf86b34c3bc13c61134a796bbe0849ce03cfbe5f29198521f130",
|
|
101
108
|
"v8-cache-pattern/SKILL.md": "34d008ee755fe71451b00c3950b2036576fe5ecfc5e5040839282afc9c1f3774",
|
|
102
109
|
"v8-crud-api/SKILL.md": "a282114f9b3aac5f4f50fc4ae0e657dc9acc1cd78c074e53260cb4fd58e9e733",
|
|
@@ -125,117 +132,124 @@
|
|
|
125
132
|
"v8-utilities/references/platform-http-routes.md": "87579eef4e89b4c80e1757ad34ec951e0ccadb6bd15aab4f3ab247f55d5f1cd5",
|
|
126
133
|
"v8-utilities/references/server-api-index.md": "72655af1078b0c63ace253f6a6ab74847abffe38829fdcb55780861d8d4b0e9f",
|
|
127
134
|
"v8-workflow/SKILL.md": "a3864fcdb203479fd1cf074e97644defbc47c9861147fd7bcaca5f0e1aa13210",
|
|
128
|
-
"workspace-conventions/SKILL.md": "
|
|
135
|
+
"workspace-conventions/SKILL.md": "6b0f1888a4f50d3bbe09a5687ac846e63d19bee3fffc9d37e4a3f409fc7956ef"
|
|
129
136
|
},
|
|
130
137
|
"fileVersions": {
|
|
131
|
-
".microi-skills-version.json": "4.9.
|
|
132
|
-
"README.md": "4.9.
|
|
133
|
-
"ai-engine/SKILL.md": "4.9.
|
|
134
|
-
"ai-engine/agents/openai.yaml": "4.9.
|
|
135
|
-
"ai-platform-governance/SKILL.md": "4.9.
|
|
136
|
-
"app-store/SKILL.md": "4.9.
|
|
137
|
-
"app-store/agents/openai.yaml": "4.9.
|
|
138
|
-
"business-blueprint/SKILL.md": "4.9.
|
|
139
|
-
"datasource-engine/SKILL.md": "4.9.
|
|
140
|
-
"datasource-engine/agents/openai.yaml": "4.9.
|
|
141
|
-
"dos-orm/SKILL.md": "4.9.
|
|
142
|
-
"dos-orm/references/api-reference.md": "4.9.
|
|
143
|
-
"job-engine/SKILL.md": "4.9.
|
|
144
|
-
"job-engine/agents/openai.yaml": "4.9.
|
|
145
|
-
"message-notification/SKILL.md": "4.9.
|
|
146
|
-
"message-notification/agents/openai.yaml": "4.9.
|
|
147
|
-
"message-notification/references/contracts.md": "4.9.
|
|
148
|
-
"microi-ai-app-auth.js": "4.9.
|
|
149
|
-
"microi-ai-application/SKILL.md": "4.9.
|
|
150
|
-
"microi-ai-application/agents/openai.yaml": "4.9.
|
|
151
|
-
"microi-ai-application/references/frontend-baseline.md": "4.9.
|
|
152
|
-
"microi-client-frontend/SKILL.md": "4.9.
|
|
153
|
-
"microi-codex-installer/SKILL.md": "4.9.
|
|
154
|
-
"microi-codex-installer/agents/openai.yaml": "4.9.
|
|
155
|
-
"microi-
|
|
156
|
-
"microi-
|
|
157
|
-
"microi-db-schema/
|
|
158
|
-
"microi-db-schema/
|
|
159
|
-
"microi-db-schema/references/
|
|
160
|
-
"microi-db-schema/references/
|
|
161
|
-
"microi-db-schema/references/schema.md": "4.9.
|
|
162
|
-
"microi-db-schema/references/
|
|
163
|
-
"microi-
|
|
164
|
-
"microi-deployment/
|
|
165
|
-
"microi-
|
|
166
|
-
"microi-docs-coverage/
|
|
167
|
-
"microi-docs-coverage/
|
|
168
|
-
"microi-
|
|
169
|
-
"microi-form-engine/
|
|
170
|
-
"microi-form-engine/references/
|
|
171
|
-
"microi-form-
|
|
172
|
-
"microi-
|
|
173
|
-
"microi-
|
|
174
|
-
"microi-
|
|
175
|
-
"microi-microservice/
|
|
176
|
-
"microi-
|
|
177
|
-
"microi-
|
|
178
|
-
"microi-solution-quotation/
|
|
179
|
-
"microi-solution-quotation/
|
|
180
|
-
"microi-
|
|
181
|
-
"microi-
|
|
182
|
-
"microi-
|
|
183
|
-
"microi.
|
|
184
|
-
"
|
|
185
|
-
"module-engine/
|
|
186
|
-
"
|
|
187
|
-
"ocr-engine/
|
|
188
|
-
"
|
|
189
|
-
"
|
|
190
|
-
"
|
|
191
|
-
"
|
|
192
|
-
"
|
|
193
|
-
"
|
|
194
|
-
"report-engine/
|
|
195
|
-
"
|
|
196
|
-
"search-engine/
|
|
197
|
-
"
|
|
198
|
-
"
|
|
199
|
-
"translate-engine/
|
|
200
|
-
"
|
|
201
|
-
"ui-design/
|
|
202
|
-
"ui-design/assets/pattern-showcase/
|
|
203
|
-
"ui-design/assets/pattern-showcase/
|
|
204
|
-
"ui-design/assets/
|
|
205
|
-
"ui-design/
|
|
206
|
-
"ui-design/references/
|
|
207
|
-
"ui-design/references/
|
|
208
|
-
"ui-design/references/
|
|
209
|
-
"
|
|
210
|
-
"
|
|
211
|
-
"
|
|
212
|
-
"
|
|
213
|
-
"
|
|
214
|
-
"
|
|
215
|
-
"
|
|
216
|
-
"
|
|
217
|
-
"v8-
|
|
218
|
-
"v8-
|
|
219
|
-
"v8-
|
|
220
|
-
"v8-
|
|
221
|
-
"v8-
|
|
222
|
-
"v8-
|
|
223
|
-
"v8-
|
|
224
|
-
"v8-
|
|
225
|
-
"v8-
|
|
226
|
-
"v8-
|
|
227
|
-
"v8-
|
|
228
|
-
"v8-
|
|
229
|
-
"v8-
|
|
230
|
-
"v8-
|
|
231
|
-
"v8-
|
|
232
|
-
"v8-
|
|
233
|
-
"v8-
|
|
234
|
-
"v8-
|
|
235
|
-
"v8-
|
|
236
|
-
"v8-
|
|
237
|
-
"v8-
|
|
238
|
-
"
|
|
138
|
+
".microi-skills-version.json": "4.9.4",
|
|
139
|
+
"README.md": "4.9.4",
|
|
140
|
+
"ai-engine/SKILL.md": "4.9.4",
|
|
141
|
+
"ai-engine/agents/openai.yaml": "4.9.4",
|
|
142
|
+
"ai-platform-governance/SKILL.md": "4.9.4",
|
|
143
|
+
"app-store/SKILL.md": "4.9.4",
|
|
144
|
+
"app-store/agents/openai.yaml": "4.9.4",
|
|
145
|
+
"business-blueprint/SKILL.md": "4.9.4",
|
|
146
|
+
"datasource-engine/SKILL.md": "4.9.4",
|
|
147
|
+
"datasource-engine/agents/openai.yaml": "4.9.4",
|
|
148
|
+
"dos-orm/SKILL.md": "4.9.4",
|
|
149
|
+
"dos-orm/references/api-reference.md": "4.9.4",
|
|
150
|
+
"job-engine/SKILL.md": "4.9.4",
|
|
151
|
+
"job-engine/agents/openai.yaml": "4.9.4",
|
|
152
|
+
"message-notification/SKILL.md": "4.9.4",
|
|
153
|
+
"message-notification/agents/openai.yaml": "4.9.4",
|
|
154
|
+
"message-notification/references/contracts.md": "4.9.4",
|
|
155
|
+
"microi-ai-app-auth.js": "4.9.4",
|
|
156
|
+
"microi-ai-application/SKILL.md": "4.9.4",
|
|
157
|
+
"microi-ai-application/agents/openai.yaml": "4.9.4",
|
|
158
|
+
"microi-ai-application/references/frontend-baseline.md": "4.9.4",
|
|
159
|
+
"microi-client-frontend/SKILL.md": "4.9.4",
|
|
160
|
+
"microi-codex-installer/SKILL.md": "4.9.4",
|
|
161
|
+
"microi-codex-installer/agents/openai.yaml": "4.9.4",
|
|
162
|
+
"microi-codex/SKILL.md": "4.9.4",
|
|
163
|
+
"microi-datasource-mapping/SKILL.md": "4.9.4",
|
|
164
|
+
"microi-db-schema/SKILL.md": "4.9.4",
|
|
165
|
+
"microi-db-schema/agents/openai.yaml": "4.9.4",
|
|
166
|
+
"microi-db-schema/references/core-tables.md": "4.9.4",
|
|
167
|
+
"microi-db-schema/references/form-component-options.md": "4.9.4",
|
|
168
|
+
"microi-db-schema/references/schema-overview.md": "4.9.4",
|
|
169
|
+
"microi-db-schema/references/schema.md": "4.9.4",
|
|
170
|
+
"microi-db-schema/references/table-catalog.md": "4.9.4",
|
|
171
|
+
"microi-deployment/SKILL.md": "4.9.4",
|
|
172
|
+
"microi-deployment/references/deployment-matrix.md": "4.9.4",
|
|
173
|
+
"microi-docs-coverage/SKILL.md": "4.9.4",
|
|
174
|
+
"microi-docs-coverage/references/capability-map.md": "4.9.4",
|
|
175
|
+
"microi-docs-coverage/scripts/audit-doc-skill-coverage.mjs": "4.9.4",
|
|
176
|
+
"microi-form-engine/SKILL.md": "4.9.4",
|
|
177
|
+
"microi-form-engine/references/component-catalog.md": "4.9.4",
|
|
178
|
+
"microi-form-engine/references/data-source-events.md": "4.9.4",
|
|
179
|
+
"microi-form-layout/SKILL.md": "4.9.4",
|
|
180
|
+
"microi-frontend-sdk/SKILL.md": "4.9.4",
|
|
181
|
+
"microi-left-right-layout/SKILL.md": "4.9.4",
|
|
182
|
+
"microi-microservice/SKILL.md": "4.9.4",
|
|
183
|
+
"microi-microservice/references/runtime-delivery.md": "4.9.4",
|
|
184
|
+
"microi-mobile-app-quality/SKILL.md": "4.9.4",
|
|
185
|
+
"microi-solution-quotation/SKILL.md": "4.9.4",
|
|
186
|
+
"microi-solution-quotation/agents/openai.yaml": "4.9.4",
|
|
187
|
+
"microi-solution-quotation/scripts/build_solution_quote.py": "4.9.4",
|
|
188
|
+
"microi-system-delivery/SKILL.md": "4.9.4",
|
|
189
|
+
"microi-ui/SKILL.md": "4.9.4",
|
|
190
|
+
"microi-uniapp-frontend/SKILL.md": "4.9.4",
|
|
191
|
+
"microi.v8.js": "4.9.4",
|
|
192
|
+
"module-engine/SKILL.md": "4.9.4",
|
|
193
|
+
"module-engine/references/module-config.md": "4.9.4",
|
|
194
|
+
"ocr-engine/SKILL.md": "4.9.4",
|
|
195
|
+
"ocr-engine/agents/openai.yaml": "4.9.4",
|
|
196
|
+
"page-engine/SKILL.md": "4.9.4",
|
|
197
|
+
"performance-testing/SKILL.md": "4.9.4",
|
|
198
|
+
"playwright-e2e/SKILL.md": "4.9.4",
|
|
199
|
+
"print-engine/SKILL.md": "4.9.4",
|
|
200
|
+
"production-readonly-audit/SKILL.md": "4.9.4",
|
|
201
|
+
"report-engine/SKILL.md": "4.9.4",
|
|
202
|
+
"report-engine/agents/openai.yaml": "4.9.4",
|
|
203
|
+
"search-engine/SKILL.md": "4.9.4",
|
|
204
|
+
"search-engine/agents/openai.yaml": "4.9.4",
|
|
205
|
+
"spider-engine/SKILL.md": "4.9.4",
|
|
206
|
+
"translate-engine/SKILL.md": "4.9.4",
|
|
207
|
+
"translate-engine/agents/openai.yaml": "4.9.4",
|
|
208
|
+
"ui-design/SKILL.md": "4.9.4",
|
|
209
|
+
"ui-design/assets/pattern-showcase/app.js": "4.9.4",
|
|
210
|
+
"ui-design/assets/pattern-showcase/index.html": "4.9.4",
|
|
211
|
+
"ui-design/assets/pattern-showcase/styles.css": "4.9.4",
|
|
212
|
+
"ui-design/assets/templates/MCI-DESIGN.md": "4.9.4",
|
|
213
|
+
"ui-design/references/design-pattern-library.md": "4.9.4",
|
|
214
|
+
"ui-design/references/mci-design-contract.md": "4.9.4",
|
|
215
|
+
"ui-design/references/motion-and-media.md": "4.9.4",
|
|
216
|
+
"ui-design/references/product-flow-recipes.md": "4.9.4",
|
|
217
|
+
"uniapp-mall-assets/SKILL.md": "4.9.4",
|
|
218
|
+
"unity-integration/SKILL.md": "4.9.4",
|
|
219
|
+
"unity-integration/agents/openai.yaml": "4.9.4",
|
|
220
|
+
"unity-integration/references/ai-app-delivery.md": "4.9.4",
|
|
221
|
+
"unity-integration/references/sdk-api.md": "4.9.4",
|
|
222
|
+
"unity-integration/references/toolbox-migration.md": "4.9.4",
|
|
223
|
+
"unity-integration/references/webgl-hosting.md": "4.9.4",
|
|
224
|
+
"v8-api-config/SKILL.md": "4.9.4",
|
|
225
|
+
"v8-cache-pattern/SKILL.md": "4.9.4",
|
|
226
|
+
"v8-crud-api/SKILL.md": "4.9.4",
|
|
227
|
+
"v8-debugging/SKILL.md": "4.9.4",
|
|
228
|
+
"v8-explorer-tree/SKILL.md": "4.9.4",
|
|
229
|
+
"v8-export-import/SKILL.md": "4.9.4",
|
|
230
|
+
"v8-file-upload/SKILL.md": "4.9.4",
|
|
231
|
+
"v8-formengine-http/SKILL.md": "4.9.4",
|
|
232
|
+
"v8-frontend-events/SKILL.md": "4.9.4",
|
|
233
|
+
"v8-frontend-events/references/bluetooth-print-api.md": "4.9.4",
|
|
234
|
+
"v8-frontend-events/references/bluetooth-print.md": "4.9.4",
|
|
235
|
+
"v8-http-integration/SKILL.md": "4.9.4",
|
|
236
|
+
"v8-image-processing/SKILL.md": "4.9.4",
|
|
237
|
+
"v8-image-processing/agents/openai.yaml": "4.9.4",
|
|
238
|
+
"v8-image-processing/references/api-reference.md": "4.9.4",
|
|
239
|
+
"v8-menu-buttons/SKILL.md": "4.9.4",
|
|
240
|
+
"v8-mongodb/SKILL.md": "4.9.4",
|
|
241
|
+
"v8-mq-mqtt/SKILL.md": "4.9.4",
|
|
242
|
+
"v8-saas-multi-tenant/SKILL.md": "4.9.4",
|
|
243
|
+
"v8-security/SKILL.md": "4.9.4",
|
|
244
|
+
"v8-sql-query/SKILL.md": "4.9.4",
|
|
245
|
+
"v8-table-event/SKILL.md": "4.9.4",
|
|
246
|
+
"v8-template-engine/SKILL.md": "4.9.4",
|
|
247
|
+
"v8-utilities/SKILL.md": "4.9.4",
|
|
248
|
+
"v8-utilities/references/client-api-index.md": "4.9.4",
|
|
249
|
+
"v8-utilities/references/platform-http-routes.md": "4.9.4",
|
|
250
|
+
"v8-utilities/references/server-api-index.md": "4.9.4",
|
|
251
|
+
"v8-workflow/SKILL.md": "4.9.4",
|
|
252
|
+
"workspace-conventions/SKILL.md": "4.9.4"
|
|
239
253
|
},
|
|
240
254
|
"files": [
|
|
241
255
|
".microi-skills-version.json",
|
|
@@ -262,6 +276,7 @@
|
|
|
262
276
|
"microi-client-frontend/SKILL.md",
|
|
263
277
|
"microi-codex-installer/SKILL.md",
|
|
264
278
|
"microi-codex-installer/agents/openai.yaml",
|
|
279
|
+
"microi-codex/SKILL.md",
|
|
265
280
|
"microi-datasource-mapping/SKILL.md",
|
|
266
281
|
"microi-db-schema/SKILL.md",
|
|
267
282
|
"microi-db-schema/agents/openai.yaml",
|
|
@@ -317,6 +332,12 @@
|
|
|
317
332
|
"ui-design/references/motion-and-media.md",
|
|
318
333
|
"ui-design/references/product-flow-recipes.md",
|
|
319
334
|
"uniapp-mall-assets/SKILL.md",
|
|
335
|
+
"unity-integration/SKILL.md",
|
|
336
|
+
"unity-integration/agents/openai.yaml",
|
|
337
|
+
"unity-integration/references/ai-app-delivery.md",
|
|
338
|
+
"unity-integration/references/sdk-api.md",
|
|
339
|
+
"unity-integration/references/toolbox-migration.md",
|
|
340
|
+
"unity-integration/references/webgl-hosting.md",
|
|
320
341
|
"v8-api-config/SKILL.md",
|
|
321
342
|
"v8-cache-pattern/SKILL.md",
|
|
322
343
|
"v8-crud-api/SKILL.md",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "4.9.
|
|
2
|
+
"version": "4.9.4",
|
|
3
3
|
"versionRule": "Microi version uses three numeric parts. Each publish increments the last part; when a part exceeds 9 it carries to the previous part: 1.0.9 -> 1.1.0, 1.9.9 -> 2.0.0.",
|
|
4
4
|
"managedBy": "Microi.VSCode/bump-version.js",
|
|
5
|
-
"updatedAt": "2026-08-
|
|
5
|
+
"updatedAt": "2026-08-12T00:42:10.480Z"
|
|
6
6
|
}
|
package/skills/README.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
## 包含的 Skills
|
|
10
10
|
|
|
11
|
-
当前仓库包含
|
|
11
|
+
当前仓库包含 62 个 `SKILL.md`。以下清单按任务类型组织;AI 必须先完整读取与当前任务匹配的 Skill,再执行源码、MCP、文档或交付操作。
|
|
12
12
|
|
|
13
13
|
### V8 引擎核心(后端)
|
|
14
14
|
|
|
@@ -75,6 +75,7 @@
|
|
|
75
75
|
| **microi-deployment** | Docker/Windows/源码部署、配置、升级和多节点运行验收 | `microi-deployment/SKILL.md` |
|
|
76
76
|
| **microi-microservice** | 前端微服务/微应用源码、路由、发布、宿主上下文和运行时交付 | `microi-microservice/SKILL.md` |
|
|
77
77
|
| **microi-ai-application** | Web、MicroService、UniApp、H5 与游戏类 AI 应用的 Vue 3 + Vite + TypeScript 默认架构、迁移和质量门 | `microi-ai-application/SKILL.md` |
|
|
78
|
+
| **unity-integration** | Unity UPM SDK、WebGL 宿主、DiyToken、V8 接口引擎与 3D 项目交付 | `unity-integration/SKILL.md` |
|
|
78
79
|
| **microi-docs-coverage** | 中文官网文档到 Skills 的能力映射、V8 API 漏项审计和同步流程 | `microi-docs-coverage/SKILL.md` |
|
|
79
80
|
| **microi-solution-quotation** | 生成紧凑的一页式 Microi吾码解决方案、市场预估价、优惠报价与开发周期 Word | `microi-solution-quotation/SKILL.md` |
|
|
80
81
|
| **microi-frontend-sdk** | Vue3/UniApp/H5/PC 前端统一 SDK、Token终端会话/续签、上传、资源 URL、ApiEngine/FormEngine | `microi-frontend-sdk/SKILL.md` |
|
|
@@ -85,6 +86,7 @@
|
|
|
85
86
|
| **v8-explorer-tree** | VS Code 插件 V8 资源管理器目录规范和本地文件归档 | `v8-explorer-tree/SKILL.md` |
|
|
86
87
|
| **workspace-conventions** | 工作区文件放置、临时产物、项目专属目录和根目录污染防护 | `workspace-conventions/SKILL.md` |
|
|
87
88
|
| **microi-codex-installer** | Codex 插件立即检测、授权安装、旧 marketplace 迁移与验收 | `microi-codex-installer/SKILL.md` |
|
|
89
|
+
| **microi-codex** | Codex 中连接租户、读取实时上下文并完成 Microi 等价工作流 | `microi-codex/SKILL.md` |
|
|
88
90
|
| **production-readonly-audit** | 正式环境只读巡检,不改动线上数据的业务核对流程 | `production-readonly-audit/SKILL.md` |
|
|
89
91
|
| **uniapp-mall-assets** | UniApp/H5/商城上传资源、FileServer、私有临时 URL 与富文本安全 | `uniapp-mall-assets/SKILL.md` |
|
|
90
92
|
|
|
@@ -139,7 +139,7 @@ description: Microi 应用商城开发、打包、安装和升级规范。用于
|
|
|
139
139
|
- 官网当前资源只是三方合并的一侧,允许暂时落后于本地发布候选。下载阶段只校验固定白名单、稳定资源身份、JSON 可解析性及服务端返回 SHA-256;不能用“必须已包含本地最新功能标记”的规则提前拒绝旧官网,否则会形成“官网不够新所以永远无法发布新版”的循环依赖。
|
|
140
140
|
- 本地输入和三方合并后的最终候选必须继续执行最低版本、功能标记、内嵌逻辑副本一致性等严格校验;发布成功并按内容哈希回读一致后才能推进 `.resource-sync-base`,不能把放宽读取门误做成放宽发布门。
|
|
141
141
|
- 应用包版本与平台发布版本分别单调递增。包正文需要写回而本地包版本、平台版本均未高于官网时,应基于官网包版本自动递增补丁号;内容无变化时不得递增,必须用连续两次同步验证第二次为零变更。
|
|
142
|
-
- MCP 配置中的官方 API、`OsClient` 与 Token 文件是鉴权事实源,但编辑器可执行文件、插件版本目录和 `cwd` 都是易漂移的启动信息。发布器应保留鉴权配置、固定校验 `https://api.itdos.com + itdos
|
|
142
|
+
- MCP 配置中的官方 API、`OsClient` 与 Token 文件是鉴权事实源,但编辑器可执行文件、插件版本目录和 `cwd` 都是易漂移的启动信息。发布器应保留鉴权配置、固定校验 `https://api.itdos.com + itdos`,并支持插件生成的稳定 `microi-cli-mcp.js` 或标准 `mcp-server.js` 入口;旧扩展配置再从同级最新已安装插件或当前工作区发现可信入口,统一使用正在运行发布脚本的 Node 启动。插件升级、Codex 插件化或旧目录清理不能再次阻塞后端发布。
|
|
143
143
|
- Token 文件的新键固定为 `ApiBase|OsClient|OsClientType|OsClientNetwork` 四段身份;Type/Network 为空时仍保留空段。读取和回写必须先用四段精确键,再兼容旧版紧凑键;旧键在多环境配置下可能被有意保留且已经失效,禁止优先读取。自动化测试要覆盖“精确键已刷新、旧键仍过期”以及 type-only/network-only 不碰撞。
|
|
144
144
|
- VS Code 的 SecretStorage 恢复 broker 必须使用确定性激活事件启动;不得只依赖大型工作区可能超时的递归 `workspaceContains`。签名密钥变化时旧 Token 本身不能以旧换新,必须由已激活 broker 使用本机 SecretStorage 静默重登并回写精确身份键。
|
|
145
145
|
- 本地资源同步的官网读取、发布和发布后回读应使用同一个已校验的 `microi_itdos` MCP 链路;CI 无 MCP 时才允许凭显式 Token 使用 HTTP。V8 独立文件与应用包内嵌副本合并时,先把文件头说明和 `Version` 与可执行正文分离:两端独立升版不能算代码冲突,不同正文安全合成后应基于两端最高版本再升一版;只有同一段可执行逻辑出现不同实现才失败关闭。
|
|
@@ -164,4 +164,12 @@ description: Microi 应用商城开发、打包、安装和升级规范。用于
|
|
|
164
164
|
- 触发场景:商城应用包把既有字段从可空升级为 `NOT NULL DEFAULT ...`,老租户的物理列已经存在,但历史记录仍为 `NULL`;导入器直接执行 `ALTER TABLE ... MODIFY COLUMN ... NOT NULL` 时,MySQL 报 `Invalid use of NULL value`,整个安装分片失败。
|
|
165
165
|
- 根因:物理列同步只比较类型、可空性、默认值和注释,没有在收紧可空性前迁移存量数据。列默认值只影响后续写入,不会自动修复既有 `NULL`。
|
|
166
166
|
- 通用规则:当包要求 `NOT NULL`、目标列仍可空且存在历史 `NULL` 时,必须先用包内明确声明的默认值参数化回填,再执行列约束变更;包未声明默认值时失败关闭并报告影响行数,禁止猜测业务值。该步骤必须可重复执行,并允许多节点并发重试后得到同一结果。
|
|
167
|
-
- 自动化检查:构造可空旧列及多条 `NULL` 行,断言导入器按“统计 NULL → 参数化回填 → `MODIFY ... NOT NULL`”顺序执行;覆盖字符串、整数、零行、缺失默认值、重复执行,以及商城包中全部发布协议状态字段。
|
|
167
|
+
- 自动化检查:构造可空旧列及多条 `NULL` 行,断言导入器按“统计 NULL → 参数化回填 → `MODIFY ... NOT NULL`”顺序执行;覆盖字符串、整数、零行、缺失默认值、重复执行,以及商城包中全部发布协议状态字段。
|
|
168
|
+
|
|
169
|
+
## 复盘:应用新增菜单未自动授予系统管理员完整权限
|
|
170
|
+
|
|
171
|
+
- 触发场景:应用首次安装或版本更新新增了 `sys_menu`,菜单数据已经存在,但系统管理员看不到入口或只能执行部分按钮;再次人工到角色管理中勾选后才恢复。
|
|
172
|
+
- 根因:安装器只导入菜单,没有在同一事务内写入 `sys_rolelimit`;历史补丁又把单个管理员角色 Id 和五项旧权限硬编码,只能修复某个菜单,遗漏 `Read`、自定义按钮及其它 `Level >= 9999` 管理员角色。
|
|
173
|
+
- 通用规则:安装器只对本次真正新增或从删除状态重新引入的菜单自动授权,不扩大既有菜单的客户权限策略。目标角色必须从当前租户实时读取全部有效 `sys_role.Level >= 9999` 记录;基础权限固定为 `Read/Add/Edit/Del/Export/Import`,并合并菜单 `MoreBtns/ExportMoreBtns/BatchSelectMoreBtns/PageBtns/PageTabs/FormBtns` 中每个按钮的 `Id + Name`,不得加入 `NoDetail/NoSearch` 这类限制权限。
|
|
174
|
+
- 幂等与失败边界:已有 `sys_rolelimit` 只能合并、不得删除历史自定义权限;新增行使用“租户 + 角色 + 菜单”的确定性 Id,并在并发主键冲突后重新回读合并。找不到系统管理员、查询失败或任一权限写入失败必须让整个安装事务回滚,不能出现“菜单成功但管理员无权”的半成品。通过 FormEngine 写入以触发共享授权缓存失效。
|
|
175
|
+
- 自动化检查:覆盖多个系统管理员、已有部分权限、自定义按钮既有 JSON 字符串也有数组、删除菜单恢复、重复安装零新增、两个节点同时插入后合并,以及既有菜单更新不自动扩权;发布门同时校验独立导入器与商城包内嵌副本都包含该能力。
|
|
@@ -33,7 +33,7 @@ UniApp 使用 Vue 3 + TypeScript 的官方 Vite 工具链,并同时遵守 `mic
|
|
|
33
33
|
4. 读取 `microi-frontend-sdk`、`ui-design`;MicroService 再读取 `microi-microservice`,UniApp 再读取 `microi-uniapp-frontend`,游戏或复杂媒体再读取 `ui-design/references/motion-and-media.md`。
|
|
34
34
|
5. 在项目根目录维护 `.microi-micro-app.json`;源码必须位于当前租户的 `Microi-V8-Engine/.../AI应用/{appKey}`,不得跨租户复用目录。
|
|
35
35
|
|
|
36
|
-
`
|
|
36
|
+
当前服务器、当前租户的 `AI应用/{appKey}` 是每个 Web、UniApp、MicroService 或平台 AI 应用的唯一源码根。界面源码、Manifest、接口引擎、资源策略、安装测试、离线包生成与应用商城上传素材都必须归入对应应用目录共同演进;禁止创建平行的 `microi.apps/` 发行根或在应用目录中嵌套第二份可编辑工程。纯平台应用即使没有前端运行时,也放在官方租户的 `AI应用/{appKey}`,由自身构建脚本生成商城包。
|
|
37
37
|
|
|
38
38
|
## 工程边界
|
|
39
39
|
|
|
@@ -38,6 +38,7 @@ Markdown。第一列是相对 `microi.doc/docs/doc/` 的路径;第二列 Skill
|
|
|
38
38
|
| `system-engine/app-store.md` | app-store | 应用包、安装、升级和回滚 |
|
|
39
39
|
| `system-engine/databases.md` | dos-orm, v8-sql-query, microi-deployment | 扩展数据库与迁移 |
|
|
40
40
|
| `system-engine/datasource-engine.md` | datasource-engine | 数据源定义、执行和供数 |
|
|
41
|
+
| `system-engine/file-manage.md` | v8-file-upload, microi-client-frontend | 文件柜、公私桶管理、在线预览、回收站、跨平台与 MinIO 同步 |
|
|
41
42
|
| `system-engine/job.md` | job-engine | 调度、后台任务和分布式恢复 |
|
|
42
43
|
| `system-engine/micro-app.md` | microi-microservice, microi-ai-application | 微服务/AI 前端应用的工程架构与交付 |
|
|
43
44
|
| `system-engine/multi-end-client.md` | microi-client-frontend, microi-mobile-app-quality, microi-uniapp-frontend | PC、WebOS、移动自适应、UniApp 与 App 边界 |
|
|
@@ -53,6 +54,7 @@ Markdown。第一列是相对 `microi.doc/docs/doc/` 的路径;第二列 Skill
|
|
|
53
54
|
| `system-engine/search-engine.md` | search-engine | Elasticsearch 索引和查询 |
|
|
54
55
|
| `system-engine/spider-engine.md` | spider-engine | 浏览器采集和 Worker |
|
|
55
56
|
| `system-engine/translate-engine.md` | translate-engine | 多语言与翻译供应商 |
|
|
57
|
+
| `system-engine/unity-integration.md` | unity-integration, v8-api-config, microi-client-frontend | Unity UPM、WebGL 宿主、DiyToken 与 V8 通讯边界 |
|
|
56
58
|
| `system-engine/visualization-engine.md` | page-engine, microi-ui | 3D、CAD、goView 与数据大屏能力边界 |
|
|
57
59
|
| `system-engine/wf-engine.md` | v8-workflow | 工作流设计和事件 |
|
|
58
60
|
| `v8-engine/ai-apiengine.md` | ai-engine, v8-api-config | AI 辅助接口引擎开发 |
|
|
@@ -67,7 +67,7 @@ src/
|
|
|
67
67
|
AppKey 稳定且只含安全字符。`microi.routes.json` 是页面事实源,删除/新增路由后由
|
|
68
68
|
发布流程同步 `sys_microiservice_page`,不要从 Vue 源码猜路由。
|
|
69
69
|
|
|
70
|
-
本地项目必须位于当前连接对应的 `Microi-V8-Engine/{系统名称} ({ApiBase域名})/{OsClient}.{OsClientType}.{OsClientNetwork}/AI应用/{appKey}
|
|
70
|
+
本地项目必须位于当前连接对应的 `Microi-V8-Engine/{系统名称} ({ApiBase域名})/{OsClient}.{OsClientType}.{OsClientNetwork}/AI应用/{appKey}`。该应用目录同时承载 MicroService 源码、Manifest、接口引擎、资源策略、测试和应用商城上传素材,是唯一事实源;禁止创建平行的 `microi.apps/` 发行根,也不得在应用内嵌套第二份可编辑 `microservice/` 工程。
|
|
71
71
|
|
|
72
72
|
构建前遵守本地 OOM 保护;已有 dev server 可复用时不重复启动。新脚手架必须支持独立
|
|
73
73
|
访问时的平台帐号登录,但独立 Vite 预览仍没有菜单/弹窗等完整宿主上下文,不能替代宿主验收。
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: unity-integration
|
|
3
|
+
description: Microi吾码 Unity、UPM SDK、WebGL、3D 游戏/数字孪生、DiyToken/V8 通讯、AI 应用商城交付与完整验收规范。用于评估或提取 Unity 工具箱,创建 Microi.Unity 包,开发 WebGL 场景,接入 Microi.Client 宿主与 V8 接口,引入可授权素材,发布可安装 AI 应用,或审查 Unity 代码是否错误进入 Microi.Server。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
> **Codex 强制前置:** 当前宿主为 Codex 时,在使用本 Skill 前必须先完整读取 `../microi-codex-installer/SKILL.md`,完成“Codex 每任务最新版硬门禁”;门禁未通过不得继续本 Skill。非 Codex 宿主跳过此项。
|
|
7
|
+
|
|
8
|
+
# Microi Unity 完整交付
|
|
9
|
+
|
|
10
|
+
目标不是“做出一个 Unity 工程”,而是交付一条可复用、可安装、可升级、可验证的 Microi 3D 应用链。
|
|
11
|
+
|
|
12
|
+
## 按任务读取参考
|
|
13
|
+
|
|
14
|
+
| 当前任务 | 必须读取 |
|
|
15
|
+
|---|---|
|
|
16
|
+
| 新建或调用 `Microi.Unity` | `references/sdk-api.md` |
|
|
17
|
+
| WebGL 模板、Microi.Client/AI 应用宿主、性能与部署 | `references/webgl-hosting.md` |
|
|
18
|
+
| AI 应用源码、商城包、官方发布与安装回读 | `references/ai-app-delivery.md` |
|
|
19
|
+
| 从已有客户项目提取 Unity 工具箱或素材 | `references/toolbox-migration.md` |
|
|
20
|
+
|
|
21
|
+
若任务横跨多项,逐个读取相应参考,不从文件名猜协议。
|
|
22
|
+
|
|
23
|
+
## 先做架构裁决
|
|
24
|
+
|
|
25
|
+
1. Unity 客户端 SDK 使用仓库根级 UPM 包:`Microi.Unity/package.json`。
|
|
26
|
+
2. `UnityEngine`、`UnityWebRequest`、Editor API 和 `.jslib` 不进入 `Microi.Server` 的 .NET 类库。
|
|
27
|
+
3. 玩家进度、设备状态、任务、积分和交互记录优先由 V8 接口引擎编排。
|
|
28
|
+
4. 只有缺失的平台级可信协议、鉴权、密钥隔离或底层原子能力,才允许修改 `Microi.Server`;修改前必须说明 V8 为什么无法完成。
|
|
29
|
+
5. 实时房间、租约、进度和去重事实必须按 `OsClient` 存入共享数据库、Redis 或可靠消息系统,不能用单节点内存字典当事实源。
|
|
30
|
+
|
|
31
|
+
推荐目录:
|
|
32
|
+
|
|
33
|
+
```text
|
|
34
|
+
Microi.Unity/ 公共 UPM SDK
|
|
35
|
+
├─ Runtime/Api/ UnityWebRequest 与 DosResult
|
|
36
|
+
├─ Runtime/WebGL/ C# 浏览器桥
|
|
37
|
+
│ └─ Plugins/WebGL/*.jslib
|
|
38
|
+
├─ Editor/ 通用构建工具
|
|
39
|
+
└─ Samples~/ 可运行最小示例
|
|
40
|
+
|
|
41
|
+
AI-Project/<project>/Unity/ 具体 Unity 工程与场景
|
|
42
|
+
Microi-V8-Engine/.../AI应用/<appKey>/ 唯一 AI 应用源码与商城资源
|
|
43
|
+
microi.doc/docs/doc/system-engine/ 官方长期文档
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## 标准工作流
|
|
47
|
+
|
|
48
|
+
### 1. 发现与盘点
|
|
49
|
+
|
|
50
|
+
- 读取 Unity 版本、渲染管线、`Packages/manifest.json`、场景、Editor、Runtime、WebGL Plugins 和现有构建脚本。
|
|
51
|
+
- 搜索 Microi.Client 已有 Unity 宿主、现有 V8 Key、官方 AI 应用是否重名。
|
|
52
|
+
- 为模型、动作、贴图、字体、音频逐项记录来源、作者、许可证、版本和是否允许再分发。
|
|
53
|
+
- 在启动 Unity、Node、浏览器或构建前检查物理内存、同类进程、端口与任务归属。
|
|
54
|
+
|
|
55
|
+
### 2. 分离公共能力与业务能力
|
|
56
|
+
|
|
57
|
+
- API 客户端、DosResult、上下文注入、Token 轮换、浏览器事件和通用构建工具进入 UPM。
|
|
58
|
+
- 相机路径、触发区、特定场景模型、关卡、客户设备协议与业务脚本留在具体项目。
|
|
59
|
+
- 首次提取采用复制和重构;新包完成引用替换与回归前,不移动或删除旧项目文件。
|
|
60
|
+
- 公共包必须有 `package.json`、asmdef、README、LICENSE、CHANGELOG 与 Sample。
|
|
61
|
+
|
|
62
|
+
### 3. 建立 WebGL 宿主握手
|
|
63
|
+
|
|
64
|
+
- Unity 就绪后由宿主用 `SendMessage` 注入 `ApiBaseUrl/OsClient/Authorization/Did`。
|
|
65
|
+
- 会话只保存在运行时内存;禁止 Token 进入 URL、场景、Prefab、日志、构建产物或版本库。
|
|
66
|
+
- `.jslib` 只提供稳定事件:ready、authorization rotated、business event。
|
|
67
|
+
- Token 轮换回调同时携带发起请求时的旧 Token;宿主先做迟到响应保护,再更新统一会话。
|
|
68
|
+
- 页面离屏暂停;组件卸载调用 Unity `Quit()`,清理 iframe/Canvas、WASM、WebGL 上下文、监听器与全局回调。
|
|
69
|
+
|
|
70
|
+
### 4. 用 V8 设计服务端
|
|
71
|
+
|
|
72
|
+
```text
|
|
73
|
+
POST {ApiBase}/apiengine/{ApiEngineKey}
|
|
74
|
+
Content-Type: application/json
|
|
75
|
+
osclient: {OsClient}
|
|
76
|
+
apiengine: 1
|
|
77
|
+
authorization: Bearer {DiyToken}
|
|
78
|
+
did: {DeviceId}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
- 身份只取 `V8.CurrentUser`;禁止相信客户端 UserId、角色、部门或权限结论。
|
|
82
|
+
- 重新校验坐标、数量、字符串长度、状态转换和资源归属。
|
|
83
|
+
- 写接口使用稳定 `RequestId/EventId` + 数据库唯一索引/幂等台账;锁不能替代幂等。
|
|
84
|
+
- 接口引擎 `Code=1` 自动提交,失败返回其它 Code 自动回滚,不手动 Commit/Rollback。
|
|
85
|
+
- 表、索引、菜单、接口与权限通过应用 Manifest 安装,不为游戏资源新增 `Microi.Upgrade` 定制迁移。
|
|
86
|
+
- 所有接口必须声明 `ResourcePolicies.ApiEngines`:官方核心 `Managed`;租户扩展 `CreateIfMissing`,后续升级不覆盖。
|
|
87
|
+
|
|
88
|
+
### 5. 构建可安装 AI 应用
|
|
89
|
+
|
|
90
|
+
- `ApplicationType` 使用 `Web`;Vue 3 + Vite + TypeScript 作为页面外壳,Unity Canvas/WebGL 与普通 DOM 分层。
|
|
91
|
+
- 官方租户的 `AI应用/<appKey>` 是私有源码、构建脚本、V8、Manifest 与商城合约的唯一编辑根。
|
|
92
|
+
- 页面必须 poster-first:未启动时不下载大体积 WASM/Data;提供加载、错误、重试、全屏、退出和低性能提示。
|
|
93
|
+
- 构建门禁必须拒绝缺失 Unity 产物的“空壳发布”,并校验 WASM、Data、体积、哈希、本机地址、source map 与疑似硬编码 Token。
|
|
94
|
+
- 先同步私有源码,再发布不可变 Web 产物,最后生成/发布商城包;三个动作分别回读。
|
|
95
|
+
|
|
96
|
+
### 6. 补齐官网与 Skill
|
|
97
|
+
|
|
98
|
+
- 长期能力在中文官网“系统引擎”下建立独立页面,并加入 `mapping_zh.json`、视觉画像与文档责任映射。
|
|
99
|
+
- 页面优先使用主视觉、架构卡、步骤卡和折叠技术细节;不要用连续大段文字堆满屏幕。
|
|
100
|
+
- 不手工维护 `microi.doc/docs/en/`,不因普通功能文档修改 `about/update-log.md`。
|
|
101
|
+
- 文档至少覆盖:架构边界、UPM 安装、宿主握手、V8 请求、安全、CORS、构建、部署、商城安装和分层验收。
|
|
102
|
+
|
|
103
|
+
## 资产与视觉红线
|
|
104
|
+
|
|
105
|
+
- AI 生成素材保存逐图提示词、生成时间、用途和源文件;不要只提交最终图片。
|
|
106
|
+
- 网络素材必须允许商业使用和再分发;许可证不清晰就改用原创、程序化或明确授权素材。
|
|
107
|
+
- 官方包不携带客户专属场景、品牌秘密、私有协议或无法追溯的二进制模型。
|
|
108
|
+
- “超清”不能只靠大纹理:同时控制材质、光照、阴影、LOD、裁剪、像素比和下载体积。
|
|
109
|
+
- 支持浅/深色外壳、键盘焦点、减少动效偏好、响应式安全区与清晰错误状态。
|
|
110
|
+
|
|
111
|
+
## WebGL 质量基线
|
|
112
|
+
|
|
113
|
+
- 使用仓库已验证的 Unity LTS;WebGL 采用兼容的 Built-in 或 URP,不走 HDRP。
|
|
114
|
+
- 校验 WebGL 2、WASM、正确 MIME、gzip/Brotli 响应头或解压回退、高 DPI 上限、全屏、键鼠/手柄、焦点恢复和退出释放。
|
|
115
|
+
- WebGL 必须经 HTTP(S) 验收,不能用 `file://`。
|
|
116
|
+
- Unity 2022.3 不把移动浏览器描述为官方支持;移动端需要独立触控、内存、画质和弱网测试。
|
|
117
|
+
- 程序化创建、反射或字符串类型名先用 `link.xml` 精确保留;若 WebGL 仍报告原生 `class ID` 被裁剪,可对该构建关闭 `PlayerSettings.stripEngineCode`,但必须复核包体和浏览器控制台。
|
|
118
|
+
- WebGL 模板设置 `autoSyncPersistentDataPath: true`,并把弃用警告也纳入控制台验收。
|
|
119
|
+
- 同一次高资源阶段只运行一个 Unity/Node/浏览器重任务,并遵守工作区 OOM 保护。
|
|
120
|
+
|
|
121
|
+
## 分层验收矩阵
|
|
122
|
+
|
|
123
|
+
| 证据层 | 必须断言 |
|
|
124
|
+
|---|---|
|
|
125
|
+
| 源码 | UPM 可解析、C# 编译、V8/Manifest/策略测试、安全扫描 |
|
|
126
|
+
| Unity Editor | Play、移动、奔跑、跳跃、碰撞、交互、暂停恢复 |
|
|
127
|
+
| WebGL | IL2CPP/WASM 构建成功,Loader/Data/WASM 完整 |
|
|
128
|
+
| 浏览器 | HTTP 加载、全屏、输入、控制台、DPR、退出释放 |
|
|
129
|
+
| Microi 租户 | 当前用户隔离、Token 轮换、保存重放、无权失败 |
|
|
130
|
+
| 多节点 | 重复投递、节点切换、失败恢复时副作用仅一次 |
|
|
131
|
+
| AI 应用 | 私有源码回读、运行版本哈希、列表/详情公开可见 |
|
|
132
|
+
| 应用商城 | 包版本/策略回读,非官方租户安装与升级通过 |
|
|
133
|
+
|
|
134
|
+
任何未执行层都要明确写成未验证或受阻。应用受理编号、源码测试或本地构建不能替代公开 URL、真实租户和非官方安装证据。
|
|
135
|
+
|
|
136
|
+
## 停止发布的条件
|
|
137
|
+
|
|
138
|
+
- Unity 许可证未激活或 WebGL 模块缺失。
|
|
139
|
+
- Unity 构建只有外壳,没有真实 WASM/Data。
|
|
140
|
+
- 素材许可证、AI 提示词或资产来源不可追溯。
|
|
141
|
+
- 正式产物出现本机地址、Token、source map 或超限单文件。
|
|
142
|
+
- 官方应用重名、目标版本不明确、远端源码/运行版本基线未回读。
|
|
143
|
+
- 商城包缺少 `ResourcePolicies.ApiEngines`,或把租户 Hook 错设为 `Managed`。
|