ms-vite-plugin 1.4.49 → 1.4.51

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 (42) hide show
  1. package/dist/build.js +1 -1
  2. package/dist/cli.js +1 -1
  3. package/dist/mcp/doc-tools.js +1 -1
  4. package/dist/mcp/docs-service.js +1 -1
  5. package/dist/mcp/types.d.ts +1 -1
  6. package/dist/mcp/types.js +1 -1
  7. package/dist/project.js +1 -1
  8. package/docs/AGENTS.md +3 -2
  9. package/docs/SKILL.md +2 -1
  10. package/docs/apilua/action.md +1013 -0
  11. package/docs/apilua/appleocr.md +281 -0
  12. package/docs/apilua/cloud.md +183 -0
  13. package/docs/apilua/config.md +181 -0
  14. package/docs/apilua/cryptoUtils.md +253 -0
  15. package/docs/apilua/device.md +485 -0
  16. package/docs/apilua/dotocr.md +230 -0
  17. package/docs/apilua/file.md +554 -0
  18. package/docs/apilua/global.md +654 -0
  19. package/docs/apilua/hid.md +1126 -0
  20. package/docs/apilua/hotUpdate.md +167 -0
  21. package/docs/apilua/http.md +427 -0
  22. package/docs/apilua/image.md +1177 -0
  23. package/docs/apilua/ime.md +283 -0
  24. package/docs/apilua/logger.md +294 -0
  25. package/docs/apilua/media.md +283 -0
  26. package/docs/apilua/mysql.md +445 -0
  27. package/docs/apilua/netCard.md +224 -0
  28. package/docs/apilua/node.md +264 -0
  29. package/docs/apilua/opencv.md +870 -0
  30. package/docs/apilua/paddleocr.md +324 -0
  31. package/docs/apilua/pip.md +359 -0
  32. package/docs/apilua/system.md +686 -0
  33. package/docs/apilua/tomatoocr.md +461 -0
  34. package/docs/apilua/tts.md +330 -0
  35. package/docs/apilua/ui.md +1033 -0
  36. package/docs/apilua/utils.md +222 -0
  37. package/docs/apilua/yolo.md +324 -0
  38. package/docs/apilua/yolocls.md +276 -0
  39. package/docs/mcp-agent-description.md +5 -4
  40. package/docs/quick/vscode/createProject.md +84 -0
  41. package/docs/quick/vscode/packProject.md +17 -0
  42. package/package.json +2 -1
@@ -0,0 +1,654 @@
1
+ # 全局定义 (Global)
2
+
3
+ 全局定义模块提供了应用运行时的全局常量和函数,包括应用信息、调试状态、线程控制等核心功能。
4
+
5
+ **全局模块无调用前缀,直接使用即可。不要 `require`。**
6
+
7
+ `StartThread` 是同一 Lua VM 里的协作协程,不是操作系统线程;协程只在 `Sleep` 时被调度。
8
+
9
+ 主脚本收到停止信号后,引擎会通过 instruction hook 和可中断的 `Sleep` 直接中断,不必在主循环里轮询 `ShouldInterruptThread`。
10
+
11
+
12
+ ## 功能概览
13
+
14
+ - **应用信息**: 获取应用版本、名称、包信息、运行模式、平台
15
+ - **运行状态**: 检查调试模式
16
+ - **线程控制**: 可中断等待、协作协程、退出脚本
17
+ - **脚本生命周期**: 停止回调、异常回调、重启脚本
18
+ - **时间工具**: 获取时间戳
19
+ - **应用控制**: 切换应用到前台
20
+ - **Agent 设置**: 读取和设置 Agent 触控模式
21
+
22
+ ## 全局常量
23
+
24
+ ### 运行模式
25
+
26
+ #### **RunMode**
27
+
28
+ 用户设置选择的运行模式,`"agent"` 或 `"hid"`。
29
+
30
+ ```lua
31
+ ---@type string
32
+ RunMode = nil
33
+ ```
34
+
35
+ **示例:**
36
+
37
+ ```lua
38
+ print("运行模式: " .. tostring(RunMode))
39
+ ```
40
+
41
+ ### 调试和状态
42
+
43
+ #### **IsDebug**
44
+
45
+ 当前是否为调试模式。
46
+
47
+ ```lua
48
+ ---@type boolean
49
+ IsDebug = nil
50
+ ```
51
+
52
+ **示例:**
53
+
54
+ ```lua
55
+ print("调试模式: " .. tostring(IsDebug))
56
+ ```
57
+
58
+ ### 应用信息
59
+
60
+ #### **Platform**
61
+
62
+ 平台信息,标识当前应用运行的平台,例如 `"ios"`、`"android"`。
63
+
64
+ ```lua
65
+ ---@type string
66
+ Platform = nil
67
+ ```
68
+
69
+ **示例:**
70
+
71
+ ```lua
72
+ print("平台: " .. tostring(Platform))
73
+ ```
74
+
75
+ #### **AppVersion**
76
+
77
+ 应用版本号,注意这是快点 JS 应用的版本号,不是脚本的版本号。
78
+
79
+ ```lua
80
+ ---@type string
81
+ AppVersion = nil
82
+ ```
83
+
84
+ **示例:**
85
+
86
+ ```lua
87
+ print("应用版本: " .. tostring(AppVersion))
88
+ ```
89
+
90
+ #### **AppBuildNumber**
91
+
92
+ 应用构建号,注意这是快点 JS 应用的构建号,不是脚本的构建号。
93
+
94
+ ```lua
95
+ ---@type number
96
+ AppBuildNumber = nil
97
+ ```
98
+
99
+ **示例:**
100
+
101
+ ```lua
102
+ print("构建号: " .. tostring(AppBuildNumber))
103
+ ```
104
+
105
+ #### **AppName**
106
+
107
+ 应用名称,注意这是快点 JS 应用的名称,不是脚本的名称。
108
+
109
+ ```lua
110
+ ---@type string
111
+ AppName = nil
112
+ ```
113
+
114
+ **示例:**
115
+
116
+ ```lua
117
+ print("应用名称: " .. tostring(AppName))
118
+ ```
119
+
120
+ #### **AppBundleId**
121
+
122
+ 应用的 Bundle ID,注意这是快点 JS 应用的 Bundle ID,不是脚本的 Bundle ID。
123
+
124
+ ```lua
125
+ ---@type string
126
+ AppBundleId = nil
127
+ ```
128
+
129
+ **示例:**
130
+
131
+ ```lua
132
+ print("Bundle ID = " .. tostring(AppBundleId))
133
+ ```
134
+
135
+ ### 包(脚本)信息
136
+
137
+ #### **PackageJson**
138
+
139
+ 应用包(脚本)的配置信息,package.json 的内容
140
+
141
+ ```lua
142
+ ---@class PackageJson
143
+ ---@field name string
144
+ ---@field appVersion string
145
+ ---@field appId string
146
+ ---@field [key string]: any
147
+ PackageJson = {}
148
+ ```
149
+
150
+ **属性:**
151
+
152
+ - `name` - 脚本项目名称
153
+ - `appVersion` - 脚本版本号
154
+ - `appId` - 脚本 Id
155
+ - `[key: string]: any` - 其他自定义属性
156
+
157
+ **示例:**
158
+
159
+ ```lua
160
+ print("脚本项目名称: " .. tostring(PackageJson.name))
161
+ print("脚本版本号: " .. tostring(PackageJson.appVersion))
162
+ -- 访问自定义属性
163
+ if PackageJson.author then
164
+ print("作者: " .. tostring(PackageJson.author))
165
+ end
166
+ ```
167
+
168
+ ## 全局函数
169
+
170
+ ### Sleep
171
+
172
+ 使当前线程睡眠指定的毫秒数。
173
+
174
+ ```lua
175
+ ---@param ms number
176
+ function Sleep(ms) end
177
+ ```
178
+
179
+ **参数:**
180
+
181
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
182
+ | ------ | ------ | -------- | ------ | ---------------- |
183
+ | `ms` | number | 是 | - | 睡眠时间(毫秒) |
184
+
185
+ **示例:**
186
+
187
+ ```lua
188
+ print("开始等待...")
189
+ Sleep(2000) -- 等待2秒
190
+ print("等待结束")
191
+ ```
192
+
193
+ ### Exit
194
+
195
+ 退出当前脚本。Lua 只有一个 VM,效果与收到停止信号相同。
196
+
197
+ ```lua
198
+ function Exit() end
199
+ ```
200
+
201
+ **示例:**
202
+
203
+ ```lua
204
+ print("脚本即将退出")
205
+ Exit()
206
+ ```
207
+
208
+ ### Time
209
+
210
+ 获取当前时间戳。
211
+
212
+ ```lua
213
+ ---@return number
214
+ function Time() end
215
+ ```
216
+
217
+ **返回值:**
218
+
219
+ | 类型 | 描述 |
220
+ | -------- | ------------------ |
221
+ | `number` | 当前时间戳(毫秒) |
222
+
223
+ **示例:**
224
+
225
+ ```lua
226
+ local startTime = Time()
227
+ -- 执行一些操作
228
+ Sleep(1000)
229
+ local endTime = Time()
230
+ print("操作耗时: " .. tostring(endTime - startTime) .. "ms")
231
+ ```
232
+
233
+ ### TakeMeToFront
234
+
235
+ 将快点 JS 应用切换到前台。
236
+
237
+ 快点 Agent 模式下调用-> `utils.TakeMeToFront()`
238
+
239
+ HID 模式下调用-> `hid.TakeMeToFront()`
240
+
241
+ ```lua
242
+ ---@return boolean
243
+ function TakeMeToFront() end
244
+ ```
245
+
246
+ **示例:**
247
+
248
+ ```lua
249
+ -- 当需要用户注意时,将应用切换到前台
250
+ TakeMeToFront()
251
+ print("应用已切换到前台")
252
+ ```
253
+
254
+ ### SetAgentFastMode
255
+
256
+ 设置 Agent 快速模式(兼容旧接口)。开启对应模式 `1`,关闭对应模式 `0`。推荐改用 `SetAgentTouchMode`。设置会持久化。
257
+
258
+ ```lua
259
+ ---@param enabled boolean
260
+ ---@return boolean
261
+ function SetAgentFastMode(enabled) end
262
+ ```
263
+
264
+ **参数:**
265
+
266
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
267
+ | --------- | --------- | -------- | ------ | ---------------- |
268
+ | `enabled` | `boolean` | 是 | - | 是否开启快速模式 |
269
+
270
+ **返回值:**
271
+
272
+ | 类型 | 描述 |
273
+ | --------- | -------------------- |
274
+ | `boolean` | 实际是否开启快速模式 |
275
+
276
+ **示例:**
277
+
278
+ ```lua
279
+ local enabled = SetAgentFastMode(true)
280
+ print("Agent 快速模式: " .. tostring(enabled))
281
+ ```
282
+
283
+ ### GetAgentFastMode
284
+
285
+ 获取 Agent 快速模式当前状态(兼容旧接口)。
286
+
287
+ ```lua
288
+ ---@return boolean
289
+ function GetAgentFastMode() end
290
+ ```
291
+
292
+ **返回值:**
293
+
294
+ | 类型 | 描述 |
295
+ | --------- | -------------------- |
296
+ | `boolean` | 当前是否开启快速模式 |
297
+
298
+ **示例:**
299
+
300
+ ```lua
301
+ if GetAgentFastMode() then
302
+ print("Agent 快速模式已开启")
303
+ end
304
+ ```
305
+
306
+ ### SetAgentTouchMode
307
+
308
+ 设置 Agent 触控模式。默认 `1`,设置会持久化。
309
+
310
+ - `0` 标准:等待完整执行完成
311
+ - `1` 快速:更快的执行速度
312
+ - `2` 真实点击:更接近真实手指触控
313
+
314
+ ```lua
315
+ ---@param mode number
316
+ ---@return number
317
+ function SetAgentTouchMode(mode) end
318
+ ```
319
+
320
+ **参数:**
321
+
322
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
323
+ | ------ | -------- | -------- | ------ | ---------------------------- |
324
+ | `mode` | `number` | 是 | - | 0 标准 / 1 快速 / 2 真实点击 |
325
+
326
+ **返回值:**
327
+
328
+ | 类型 | 描述 |
329
+ | -------- | -------------- |
330
+ | `number` | 实际生效的模式 |
331
+
332
+ **示例:**
333
+
334
+ ```lua
335
+ local mode = SetAgentTouchMode(1)
336
+ print("Agent 触控模式: " .. tostring(mode))
337
+ ```
338
+
339
+ ### GetAgentTouchMode
340
+
341
+ 获取 Agent 触控模式。默认 `1`,设置会持久化。
342
+
343
+ ```lua
344
+ ---@return number
345
+ function GetAgentTouchMode() end
346
+ ```
347
+
348
+ **返回值:**
349
+
350
+ | 类型 | 描述 |
351
+ | -------- | ----------------- |
352
+ | `number` | 当前模式(0/1/2) |
353
+
354
+ **示例:**
355
+
356
+ ```lua
357
+ local mode = GetAgentTouchMode()
358
+ print("当前触控模式: " .. tostring(mode))
359
+ ```
360
+
361
+ ### SetCpuAutoThrottle
362
+
363
+ 设置脚本 CPU 自动限流。默认开启。开启后,脚本 API 在 CPU 占用接近系统杀进程阈值时会轻微让步,降低被系统终止的风险。
364
+
365
+ ```lua
366
+ ---@param enabled boolean
367
+ ---@return boolean
368
+ function SetCpuAutoThrottle(enabled) end
369
+ ```
370
+
371
+ **参数:**
372
+
373
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
374
+ | --------- | --------- | -------- | ------ | ---------------- |
375
+ | `enabled` | `boolean` | 是 | - | 是否开启自动限流 |
376
+
377
+ **返回值:**
378
+
379
+ | 类型 | 描述 |
380
+ | --------- | -------------------- |
381
+ | `boolean` | 实际是否开启自动限流 |
382
+
383
+ **示例:**
384
+
385
+ ```lua
386
+ local enabled = SetCpuAutoThrottle(true)
387
+ print("CPU 自动限流: " .. tostring(enabled))
388
+ ```
389
+
390
+ ### GetCpuAutoThrottle
391
+
392
+ 获取脚本 CPU 自动限流当前状态。默认开启。
393
+
394
+ ```lua
395
+ ---@return boolean
396
+ function GetCpuAutoThrottle() end
397
+ ```
398
+
399
+ **返回值:**
400
+
401
+ | 类型 | 描述 |
402
+ | --------- | -------------------- |
403
+ | `boolean` | 当前是否开启自动限流 |
404
+
405
+ **示例:**
406
+
407
+ ```lua
408
+ if GetCpuAutoThrottle() then
409
+ print("CPU 自动限流已开启")
410
+ end
411
+ ```
412
+
413
+ ### SetCpuThrottleDelay
414
+
415
+ 设置 CPU 限流单次 Sleep 延迟范围(毫秒)。默认 `minMs=3`、`maxMs=30`。仅在 CPU 自动限流开启且触发限流时生效。
416
+
417
+ ```lua
418
+ ---@param minMs number
419
+ ---@param maxMs number
420
+ ---@return any
421
+ function SetCpuThrottleDelay(minMs, maxMs) end
422
+ ```
423
+
424
+ **参数:**
425
+
426
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
427
+ | ------- | -------- | -------- | ------ | --------------------------------------- |
428
+ | `minMs` | `number` | 是 | - | 最低延迟(毫秒) |
429
+ | `maxMs` | `number` | 是 | - | 最高延迟(毫秒);小于 minMs 时自动对齐 |
430
+
431
+ **返回值:**
432
+
433
+ | 类型 | 描述 |
434
+ | ---------------------------------- | ------------------ |
435
+ | `{ minMs: number; maxMs: number }` | 实际生效的延迟范围 |
436
+
437
+ **示例:**
438
+
439
+ ```lua
440
+ local delay = SetCpuThrottleDelay(3, 30)
441
+ print("CPU 限流延迟: " .. tostring(delay.minMs) .. "~" .. tostring(delay.maxMs) .. "ms")
442
+ ```
443
+
444
+ ### GetCpuThrottleDelay
445
+
446
+ 获取 CPU 限流延迟范围(毫秒)。
447
+
448
+ ```lua
449
+ ---@return any
450
+ function GetCpuThrottleDelay() end
451
+ ```
452
+
453
+ **返回值:**
454
+
455
+ | 类型 | 描述 |
456
+ | ---------------------------------- | ------------------ |
457
+ | `{ minMs: number; maxMs: number }` | 当前最低与最高延迟 |
458
+
459
+ **示例:**
460
+
461
+ ```lua
462
+ local delay = GetCpuThrottleDelay()
463
+ print("CPU 限流延迟: " .. tostring(delay.minMs) .. "~" .. tostring(delay.maxMs) .. "ms")
464
+ ```
465
+
466
+ ### RestartScript
467
+
468
+ 重启脚本。
469
+
470
+ ```lua
471
+ ---@param delay number
472
+ function RestartScript(delay) end
473
+ ```
474
+
475
+ **参数:**
476
+
477
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
478
+ | ------- | ------ | -------- | ------ | ---------------------------------------- |
479
+ | `delay` | number | 是 | - | 延迟时间(毫秒),建议不要低于 2000 毫秒 |
480
+
481
+ **示例:**
482
+
483
+ ```lua
484
+ -- 重启脚本,延迟2秒
485
+ RestartScript(2000)
486
+ ```
487
+
488
+ ### SetStopCallback
489
+
490
+ 设置停止回调。只能在主脚本注册,不能在 `StartThread` 协程里注册。传入非函数则清除。
491
+
492
+ ```lua
493
+ ---@param callback fun(status: string)|nil
494
+ function SetStopCallback(callback) end
495
+ ```
496
+
497
+ **参数:**
498
+
499
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
500
+ | ---------- | -------------------------- | -------- | ------ | ------------------------------------------ |
501
+ | `callback` | `fun(status: string)`\|nil | 否 | nil | 停止回调;`status` 为 success/error/stopped |
502
+
503
+ **示例:**
504
+
505
+ ```lua
506
+ SetStopCallback(function(status)
507
+ if status == "success" then
508
+ print("脚本执行完成")
509
+ elseif status == "error" then
510
+ print("脚本执行异常")
511
+ else
512
+ print("脚本手动停止")
513
+ end
514
+ end)
515
+ ```
516
+
517
+ ### SetExceptionCallback
518
+
519
+ 设置异常停止回调。只能在主脚本注册。传入非函数则清除。异常时会先于 `SetStopCallback` 调用。
520
+
521
+ ```lua
522
+ ---@param callback fun()|nil
523
+ function SetExceptionCallback(callback) end
524
+ ```
525
+
526
+ **参数:**
527
+
528
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
529
+ | ---------- | ---------- | -------- | ------ | -------- |
530
+ | `callback` | `fun()`\|nil | 否 | nil | 异常回调 |
531
+
532
+ **示例:**
533
+
534
+ ```lua
535
+ SetExceptionCallback(function()
536
+ print("脚本执行异常")
537
+ end)
538
+ ```
539
+
540
+ ### StartThread
541
+
542
+ 启动协作协程,返回协程名。传入的函数在同一 Lua VM 中运行,不是操作系统线程;协程只在 `Sleep` 时被调度。
543
+
544
+ ```lua
545
+ ---@param func function
546
+ ---@return string
547
+ function StartThread(func) end
548
+ ```
549
+
550
+ **参数:**
551
+
552
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
553
+ | ------ | -------- | -------- | ------ | ------------ |
554
+ | `func` | function | 是 | - | 协程入口函数 |
555
+
556
+ **返回值:**
557
+
558
+ | 类型 | 描述 |
559
+ | -------- | -------- |
560
+ | `string` | 协程名称 |
561
+
562
+ **示例:**
563
+
564
+ ```lua
565
+ local name = StartThread(function()
566
+ while true do
567
+ print("tick")
568
+ Sleep(100)
569
+ end
570
+ end)
571
+ ```
572
+
573
+ `StopThread` 或整脚本停止后,协程会在下一次 `Sleep` / hook 处被中断,不必在协程里轮询。
574
+
575
+ ### StopThread
576
+
577
+ 请求停止指定协作协程。
578
+
579
+ ```lua
580
+ ---@param threadName string
581
+ function StopThread(threadName) end
582
+ ```
583
+
584
+ **参数:**
585
+
586
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
587
+ | ------------ | ------ | -------- | ------ | -------- |
588
+ | `threadName` | string | 是 | - | 协程名称 |
589
+
590
+ **示例:**
591
+
592
+ ```lua
593
+ StopThread(name)
594
+ ```
595
+
596
+ ### ShouldInterruptThread
597
+
598
+ 当前协作协程是否应退出。
599
+
600
+ 主脚本**不必**调用本函数:停止按钮、`Exit()`、引擎 stop 都会让 hook 和 `Sleep` 直接中断主程序。
601
+
602
+ 仅当 `StartThread` 协程被 `StopThread` 之后还要自己做收尾(而不是靠抛错退出)时,才需要轮询。
603
+
604
+ ```lua
605
+ ---@return boolean
606
+ function ShouldInterruptThread() end
607
+ ```
608
+
609
+ **返回值:**
610
+
611
+ | 类型 | 描述 |
612
+ | --------- | -------- |
613
+ | `boolean` | 是否应退出 |
614
+
615
+ **示例:**
616
+
617
+ ```lua
618
+ StartThread(function()
619
+ while not ShouldInterruptThread() do
620
+ -- 业务
621
+ Sleep(100)
622
+ end
623
+ print("协程自行收尾")
624
+ end)
625
+ ```
626
+
627
+ ### ToJsonString
628
+
629
+ 将表转换为 JSON 字符串。参数必须是表。
630
+
631
+ ```lua
632
+ ---@param data table
633
+ ---@return string
634
+ function ToJsonString(data) end
635
+ ```
636
+
637
+ **参数:**
638
+
639
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
640
+ | ------ | ----- | -------- | ------ | ---- |
641
+ | `data` | table | 是 | - | 表 |
642
+
643
+ **返回值:**
644
+
645
+ | 类型 | 描述 |
646
+ | -------- | ----------- |
647
+ | `string` | JSON 字符串 |
648
+
649
+ **示例:**
650
+
651
+ ```lua
652
+ print(ToJsonString({ a = 1, b = 2 }))
653
+ ```
654
+