@craftline/mind-darwin 1.0.2 → 1.0.3

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.
@@ -17,7 +17,7 @@
17
17
  <key>CFBundlePackageType</key>
18
18
  <string>APPL</string>
19
19
  <key>CFBundleShortVersionString</key>
20
- <string>1.0.2</string>
20
+ <string>1.0.3</string>
21
21
  <key>NSHighResolutionCapable</key>
22
22
  <true/>
23
23
  <key>NSHumanReadableCopyright</key>
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: framix-docs
3
+ description: Framix CLI 文档,用于移动应用录屏帧分析、启动或页面切换耗时判断、关键帧识别、模型训练数据准备、报告合并和 Framix 命令生成。
4
+ ---
5
+
6
+ # Framix Docs
7
+
8
+ 这个 skill 提供 Framix CLI 的使用文档。`SKILL.md` 是精简入口;详细说明放在 `references/*.md`。
9
+
10
+ ## Routing
11
+
12
+ | 问题 | 先读什么 |
13
+ | --- | --- |
14
+ | 了解 Framix 能力、适用场景或产物 | [Framix 概览](references/overview.md) |
15
+ | 生成单条 Framix 命令或查询参数 | [Framix 常用命令](references/commands.md) |
16
+ | 处理完整分析、训练、合并流程 | [Framix 典型流程](references/workflows.md) |
17
+
18
+ ## Core Rules
19
+
20
+ - 先确认输入对象是视频文件、任务 JSON、任务目录、模型目录、报告目录还是资源同步。
21
+ - 优先给出当前任务需要的最小可执行命令。
22
+ - 路径参数必须加引号,避免空格、中文或特殊字符导致命令解析失败。
23
+ - 除授权激活 `framix --apply ...` 外,示例命令必须包含 `--debug`,否则日志可能被动画输出吞掉。
24
+ - 不要编造本地路径、模型路径或报告路径。
25
+ - 说明结果时覆盖输入、处理方式、主要产物和风险。
@@ -0,0 +1,454 @@
1
+ # Framix 常用命令
2
+
3
+ ## 命令规则
4
+
5
+ - 除 `framix --apply ...` 外,所有示例命令都加 `--debug`,确保执行时输出日志。
6
+ - 路径参数始终加引号。
7
+ - Windows PowerShell 中 JSON 字符串需要转义双引号。
8
+
9
+ ## 1. 视频分析
10
+
11
+ 分析单个视频:
12
+
13
+ ```bash
14
+ framix --debug --video "/path/to/video.mp4"
15
+ ```
16
+
17
+ 分析多个视频:
18
+
19
+ ```bash
20
+ framix --debug --video "/path/to/a.mp4" --video "/path/to/b.mp4"
21
+ ```
22
+
23
+ 路径中有空格时必须加引号:
24
+
25
+ ```bash
26
+ framix --debug --video "C:/Users/Alice/Videos/My Sample.mp4"
27
+ ```
28
+
29
+ ---
30
+
31
+ ## 2. JSON 任务输入
32
+
33
+ 使用 `--frame` 传入单个 JSON 任务:
34
+
35
+ ```bash
36
+ framix --debug --frame '{"label":"20250814000130","title":"Test","video":["/path/to/a.mp4"]}'
37
+ ```
38
+
39
+ Windows PowerShell 示例:
40
+
41
+ ```powershell
42
+ framix --debug --frame "{`"label`":`"20250814000130`",`"title`":`"Test`",`"video`":[`"C:/Users/Alice/a.mp4`"]}"
43
+ ```
44
+
45
+ ---
46
+
47
+ ## 3. 任务目录分析
48
+
49
+ 分析结构化任务目录:
50
+
51
+ ```bash
52
+ framix --debug --stack "/path/to/task-folder"
53
+ ```
54
+
55
+ ---
56
+
57
+ ## 4. 快速拆帧
58
+
59
+ 适用于不关心精确时间戳,只想快速生成帧级结果的场景。
60
+
61
+ ```bash
62
+ framix --debug --video "/path/to/video.mp4" --speed
63
+ ```
64
+
65
+ ---
66
+
67
+ ## 5. 基础时间戳分析
68
+
69
+ 适用于需要帧时间戳、耗时判断和时序分析的场景。
70
+
71
+ ```bash
72
+ framix --debug --video "/path/to/video.mp4" --basic
73
+ ```
74
+
75
+ ---
76
+
77
+ ## 6. 模型辅助分析
78
+
79
+ 适用于关键帧识别、阶段分类、视觉模型判断等场景。
80
+
81
+ ```bash
82
+ framix --debug --video "/path/to/video.mp4" --keras
83
+ ```
84
+
85
+ ---
86
+
87
+ ## 7. 远程推理
88
+
89
+ 适用于需要云端 GPU 或远程模型推理的场景。
90
+
91
+ ```bash
92
+ framix --debug --video "/path/to/video.mp4" --infer
93
+ ```
94
+
95
+ 也可以单独启用远程推理模式:
96
+
97
+ ```bash
98
+ framix --debug --infer
99
+ ```
100
+
101
+ ---
102
+
103
+ ## 8. 训练数据准备
104
+
105
+ ```bash
106
+ framix --debug --train "/path/to/video.mp4"
107
+ ```
108
+
109
+ ---
110
+
111
+ ## 9. 构建模型
112
+
113
+ ```bash
114
+ framix --debug --build "/path/to/Model_xxx"
115
+ ```
116
+
117
+ 指定模型输入尺寸:
118
+
119
+ ```bash
120
+ framix --debug --shape 200,200 --build "/path/to/Model_xxx"
121
+ ```
122
+
123
+ 模型目录要求:
124
+
125
+ ```text
126
+ Model_xxx/
127
+ ├── 0/
128
+ ├── 1/
129
+ ├── 2/
130
+ ```
131
+
132
+ 规则:
133
+
134
+ * 必须包含 `0/`
135
+ * 目录名必须是连续数字
136
+ * 标签范围最多 `0` 到 `5`
137
+ * 图片格式建议为 `.jpg` 或 `.png`
138
+
139
+ ---
140
+
141
+ ## 10. 循环录制分析
142
+
143
+ 用于周期性录制和持续分析。
144
+
145
+ ```bash
146
+ framix --debug --flick
147
+ ```
148
+
149
+ ---
150
+
151
+ ## 11. 执行单个脚本
152
+
153
+ ```bash
154
+ framix --debug --carry script.json;ID-X
155
+ ```
156
+
157
+ ---
158
+
159
+ ## 12. 执行完整脚本集合
160
+
161
+ ```bash
162
+ framix --debug --fully script.json
163
+ ```
164
+
165
+ ---
166
+
167
+ ## 13. 绘制辅助线
168
+
169
+ 用于在截图上绘制横向和竖向辅助线,便于区域分析。
170
+
171
+ ```bash
172
+ framix --debug --paint
173
+ ```
174
+
175
+ ---
176
+
177
+ ## 14. 合并无时间戳报告
178
+
179
+ 适用于无严格时间戳对齐的报告合并。
180
+
181
+ ```bash
182
+ framix --debug --union "/path/to/report-folder"
183
+ ```
184
+
185
+ 多个目录:
186
+
187
+ ```bash
188
+ framix --debug --union "/path/to/a" --union "/path/to/b"
189
+ ```
190
+
191
+ ---
192
+
193
+ ## 15. 合并有时间戳报告
194
+
195
+ 适用于需要按时间戳对齐的报告合并。
196
+
197
+ ```bash
198
+ framix --debug --merge "/path/to/report-folder"
199
+ ```
200
+
201
+ 多个目录:
202
+
203
+ ```bash
204
+ framix --debug --merge "/path/to/a" --merge "/path/to/b"
205
+ ```
206
+
207
+ ---
208
+
209
+ ## 16. 综合报告合并
210
+
211
+ 使用分组模式合并报告:
212
+
213
+ ```bash
214
+ framix --debug --group --merge "/path/to/a" --merge "/path/to/b"
215
+ ```
216
+
217
+ ---
218
+
219
+ ## 17. 配置对话预览
220
+
221
+ 用于打开并校对 Framix 配置。
222
+
223
+ ```bash
224
+ framix --debug --talks
225
+ ```
226
+
227
+ ---
228
+
229
+ ## 18. 注入全局运行配置
230
+
231
+ 用于加载报告目录、模型目录和模型选择等全局配置。
232
+
233
+ ```bash
234
+ framix --debug --rings
235
+ ```
236
+
237
+ ---
238
+
239
+ ## 19. 授权激活
240
+
241
+ ```bash
242
+ framix --apply ACT-XXXX-XXXX
243
+ ```
244
+
245
+ ---
246
+
247
+ ## 20. 批量文本转语音
248
+
249
+ ```bash
250
+ framix --debug --voice 你好 世界 AI科技
251
+ ```
252
+
253
+ ---
254
+
255
+ ## 21. 同步资源
256
+
257
+ 首次部署或资源缺失时使用:
258
+
259
+ ```bash
260
+ framix --debug --syncs all
261
+ ```
262
+
263
+ 可选值:
264
+
265
+ ```text
266
+ all
267
+ template
268
+ toolkit
269
+ model
270
+ ```
271
+
272
+ ---
273
+
274
+ ## 22. 独立录屏控制
275
+
276
+ 适用于多任务并行录制时,独立控制指定设备录屏停止。
277
+
278
+ ```bash
279
+ framix --debug --alone
280
+ ```
281
+
282
+ ---
283
+
284
+ ## 23. 高级模型分析参数
285
+
286
+ ### 开启增强分析
287
+
288
+ ```bash
289
+ framix --debug --keras --boost --video "/path/to/video.mp4"
290
+ ```
291
+
292
+ ### 开启彩色模型分析
293
+
294
+ ```bash
295
+ framix --debug --keras --boost --color --video "/path/to/video.mp4"
296
+ ```
297
+
298
+ ### 开启分组分析
299
+
300
+ ```bash
301
+ framix --debug --keras --boost --color --group --video "/path/to/video.mp4"
302
+ ```
303
+
304
+ ### 缩放视频画面
305
+
306
+ ```bash
307
+ framix --debug --keras --boost --color --group --scale 0.5 --video "/path/to/video.mp4"
308
+ ```
309
+
310
+ ### 设置开始时间和分析时长
311
+
312
+ ```bash
313
+ framix --debug --keras --boost --color --group --start 0.5 --limit 2 --video "/path/to/video.mp4"
314
+ ```
315
+
316
+ ### 设置终止时间
317
+
318
+ ```bash
319
+ framix --debug --keras --boost --color --group --close 3 --video "/path/to/video.mp4"
320
+ ```
321
+
322
+ ### 设置帧率和识别阈值
323
+
324
+ ```bash
325
+ framix --debug --keras --boost --color --group --frate 60 --thres 0.97 --video "/path/to/video.mp4"
326
+ ```
327
+
328
+ ### 设置偏移和分块参数
329
+
330
+ ```bash
331
+ framix --debug --keras --boost --color --group --shift 3 --block 6 --video "/path/to/video.mp4"
332
+ ```
333
+
334
+ ### 设置目标分析区域
335
+
336
+ ```bash
337
+ framix --debug --keras --boost --color --group --crops 0,0.1,1,0.9 --video "/path/to/video.mp4"
338
+ ```
339
+
340
+ ### 设置忽略区域
341
+
342
+ ```bash
343
+ framix --debug --keras --boost --color --group --omits 0,0,1,0.2 --omits 0,0.9,1,0.1 --video "/path/to/video.mp4"
344
+ ```
345
+
346
+ ---
347
+
348
+ ## 24. 常用组合
349
+
350
+ ### 快速看视频结果
351
+
352
+ ```bash
353
+ framix --debug --video "/path/to/video.mp4" --speed
354
+ ```
355
+
356
+ ### 做精确耗时分析
357
+
358
+ ```bash
359
+ framix --debug --video "/path/to/video.mp4" --basic
360
+ ```
361
+
362
+ ### 做模型辅助识别
363
+
364
+ ```bash
365
+ framix --debug --video "/path/to/video.mp4" --keras
366
+ ```
367
+
368
+ ### 做增强视觉分析
369
+
370
+ ```bash
371
+ framix --debug --keras --boost --color --group --video "/path/to/video.mp4"
372
+ ```
373
+
374
+ ### 做指定时间段分析
375
+
376
+ ```bash
377
+ framix --debug --keras --boost --color --group --start 0.5 --limit 2 --video "/path/to/video.mp4"
378
+ ```
379
+
380
+ ### 做指定区域分析
381
+
382
+ ```bash
383
+ framix --debug --keras --boost --color --group --crops 0,0.1,1,0.9 --video "/path/to/video.mp4"
384
+ ```
385
+
386
+ ### 首次同步资源
387
+
388
+ ```bash
389
+ framix --debug --syncs all
390
+ ```
391
+
392
+ ### 已有结果生成合并报告
393
+
394
+ ```bash
395
+ framix --debug --group --merge "/path/to/a" --merge "/path/to/b"
396
+ ```
397
+
398
+ ---
399
+
400
+ ## 25. 参数速查
401
+
402
+ | 参数 | 作用 |
403
+ | --------- | ---------------- |
404
+ | `--frame` | 使用 JSON 载荷注入视频任务 |
405
+ | `--video` | 指定视频文件 |
406
+ | `--stack` | 指定任务目录 |
407
+ | `--train` | 准备训练样本 |
408
+ | `--build` | 构建模型 |
409
+ | `--flick` | 循环录制和分析 |
410
+ | `--carry` | 执行单个脚本任务 |
411
+ | `--fully` | 执行完整脚本集合 |
412
+ | `--paint` | 绘制截图辅助线 |
413
+ | `--union` | 合并无时间戳报告 |
414
+ | `--merge` | 合并有时间戳报告 |
415
+ | `--talks` | 配置对话预览 |
416
+ | `--rings` | 注入全局运行配置 |
417
+ | `--apply` | 授权激活 |
418
+ | `--voice` | 批量文本转语音 |
419
+ | `--syncs` | 同步模板、模型或工具资源 |
420
+ | `--speed` | 快速拆帧 |
421
+ | `--basic` | 时间戳分析 |
422
+ | `--keras` | 模型辅助分析 |
423
+ | `--infer` | 远程推理 |
424
+ | `--alone` | 独立录屏控制 |
425
+ | `--boost` | 启用增强分析 |
426
+ | `--color` | 启用彩色模型/彩色分析 |
427
+ | `--group` | 启用分组分析或分组报告 |
428
+ | `--scale` | 缩放画面 |
429
+ | `--start` | 指定开始时间 |
430
+ | `--limit` | 指定分析时长 |
431
+ | `--close` | 指定终止时间 |
432
+ | `--frate` | 指定帧率 |
433
+ | `--thres` | 指定识别阈值 |
434
+ | `--shift` | 指定偏移参数 |
435
+ | `--block` | 指定分块参数 |
436
+ | `--crops` | 指定目标分析区域 |
437
+ | `--omits` | 指定忽略区域 |
438
+ | `--shape` | 指定模型输入尺寸 |
439
+
440
+ ---
441
+
442
+ ## 26. 路径规则
443
+
444
+ 始终建议给路径加引号:
445
+
446
+ ```bash
447
+ framix --debug --video "/Users/user/Videos/test video.mp4"
448
+ ```
449
+
450
+ 不要使用未加引号的路径:
451
+
452
+ ```bash
453
+ framix --debug --video /Users/user/Videos/test video.mp4
454
+ ```
@@ -0,0 +1,45 @@
1
+ # Framix 概览
2
+
3
+ ## 项目定位
4
+
5
+ Framix 是用于移动应用性能测试和视频视觉分析的 CLI 工具。
6
+
7
+ 它通过录屏、视频拆帧、视觉识别、模型分析和结构化报告,帮助测试人员和开发人员判断应用在真实用户视角下的性能表现。
8
+
9
+ ## 核心价值
10
+
11
+ Framix 偏向非侵入式分析,通过用户可见画面判断:
12
+
13
+ - 启动是否慢
14
+ - 页面切换是否卡顿
15
+ - 功能执行是否超时
16
+ - 视频帧变化是否符合预期
17
+ - 关键操作是否存在性能瓶颈
18
+
19
+ ## 主要分析对象
20
+
21
+ - APP 启动耗时
22
+ - 页面切换耗时
23
+ - 功能执行耗时
24
+ - 视频帧变化
25
+ - 关键帧区间
26
+ - 多视频对比
27
+ - 模型训练样本
28
+ - 结构化性能报告
29
+
30
+ ## 典型产物
31
+
32
+ - HTML 报告
33
+ - JSON 数据
34
+ - 视频帧图片
35
+ - 关键帧识别结果
36
+ - 统计曲线
37
+ - 模型训练数据
38
+ - 合并后的分析报告
39
+
40
+ ## 使用建议
41
+
42
+ - 快速查看帧变化时,优先使用 `--speed`。
43
+ - 需要准确耗时或时间戳时,优先使用 `--basic`。
44
+ - 需要模型辅助识别时,使用 `--keras` 或 `--infer`。
45
+ - 命令示例除 `--apply` 外必须包含 `--debug`,便于输出可见日志。
@@ -0,0 +1,144 @@
1
+ # Framix 典型流程
2
+
3
+ ## 1. 首次环境准备
4
+
5
+ 适用于新机器、新环境或资源缺失场景。
6
+
7
+ ```bash
8
+ framix --debug --syncs all
9
+ ```
10
+
11
+ 目的:
12
+
13
+ - 同步模板
14
+ - 同步模型
15
+ - 同步运行所需工具资源
16
+ - 确保本地环境可执行
17
+
18
+ ## 2. 快速分析一个视频
19
+
20
+ 适用于快速预览视频帧变化,不要求精确耗时。
21
+
22
+ ```bash
23
+ framix --debug --video "/path/to/video.mp4" --speed
24
+ ```
25
+
26
+ 输出关注:
27
+
28
+ - 是否成功拆帧
29
+ - 是否生成报告
30
+ - 是否存在明显异常帧
31
+
32
+ ## 3. 分析 APP 操作耗时
33
+
34
+ 适用于启动耗时、页面切换耗时、功能执行耗时分析。
35
+
36
+ ```bash
37
+ framix --debug --video "/path/to/video.mp4" --basic
38
+ ```
39
+
40
+ 输出关注:
41
+
42
+ - 起始帧
43
+ - 结束帧
44
+ - 时间戳
45
+ - 耗时区间
46
+ - 是否超出预期
47
+
48
+ ## 4. 使用模型辅助识别关键帧
49
+
50
+ 适用于需要自动识别关键阶段、关键动作或视觉变化的场景。
51
+
52
+ ```bash
53
+ framix --debug --video "/path/to/video.mp4" --keras
54
+ ```
55
+
56
+ 输出关注:
57
+
58
+ - 模型识别结果
59
+ - 关键帧区间
60
+ - 分类置信度
61
+ - 报告是否完整
62
+
63
+ ## 5. 使用远程推理
64
+
65
+ 适用于本地算力不足或需要云端模型的场景。
66
+
67
+ ```bash
68
+ framix --debug --video "/path/to/video.mp4" --infer
69
+ ```
70
+
71
+ 注意:
72
+
73
+ - 远程服务不可用时可能降级为本地推理
74
+ - 需要关注网络、接口和返回结果
75
+
76
+ ## 6. 批量任务输入
77
+
78
+ 适用于脚本化、CI 或批量视频任务。
79
+
80
+ ```bash
81
+ framix --debug --frame '{"label":"20250814000130","title":"Test","video":["/path/to/a.mp4","/path/to/b.mp4"]}'
82
+ ```
83
+
84
+ 要求:
85
+
86
+ - JSON 根节点必须是对象
87
+ - `label` 必须是任务标识
88
+ - `title` 必须是任务标题
89
+ - `video` 必须是视频路径数组
90
+
91
+ ## 7. 训练样本准备
92
+
93
+ ```bash
94
+ framix --debug --train "/path/to/video.mp4"
95
+ ```
96
+
97
+ 之后需要整理模型目录:
98
+
99
+ ```text
100
+ Model_xxx/
101
+ ├── 0/
102
+ ├── 1/
103
+ ├── 2/
104
+ ```
105
+
106
+ ## 8. 构建模型
107
+
108
+ ```bash
109
+ framix --debug --build "/path/to/Model_xxx"
110
+ ```
111
+
112
+ 注意:
113
+
114
+ - 目录必须从 `0/` 开始
115
+ - 编号必须连续
116
+ - 最多支持 6 类,即 `0` 到 `5`
117
+
118
+ ## 9. 报告合并
119
+
120
+ 无严格时间戳时:
121
+
122
+ ```bash
123
+ framix --debug --union "/path/to/report-folder"
124
+ ```
125
+
126
+ 需要按时间戳对齐时:
127
+
128
+ ```bash
129
+ framix --debug --merge "/path/to/report-folder"
130
+ ```
131
+
132
+ ## 10. 回答用户时的推荐格式
133
+
134
+ 优先给命令:
135
+
136
+ ```bash
137
+ framix --debug --video "/path/to/video.mp4" --basic
138
+ ```
139
+
140
+ 然后简要说明:
141
+
142
+ ```text
143
+ 这个命令会对视频进行带时间戳的帧级分析,适合判断启动、页面切换或功能执行耗时。执行后重点查看生成的报告和关键帧区间。
144
+ ```
@@ -0,0 +1,26 @@
1
+ ---
2
+ name: memrix-docs
3
+ description: Memrix CLI 文档,用于 Android 应用内存和 I/O 采样、Perfetto 帧率流畅度分析、性能评分、HTML 报告生成、设备选择和 Memrix 命令生成。
4
+ ---
5
+
6
+ # Memrix Docs
7
+
8
+ 这个 skill 提供 Memrix CLI 的使用文档。`SKILL.md` 是精简入口;详细说明放在 `references/*.md`。
9
+
10
+ ## Routing
11
+
12
+ | 问题 | 先读什么 |
13
+ | --- | --- |
14
+ | 了解 Memrix 能力、适用场景或产物 | [Memrix 概览](references/overview.md) |
15
+ | 生成单条 Memrix 命令或查询参数 | [Memrix 常用命令](references/commands.md) |
16
+ | 处理采集、报告、评分或排障流程 | [Memrix 典型流程](references/workflows.md) |
17
+
18
+ ## Core Rules
19
+
20
+ - 先确认测试目标是应用包名、设备序列号、Perfetto trace 文件、输出目录还是已有报告目录。
21
+ - 需要测试 Android 应用时,必须提供 `--focus <包名>`。
22
+ - 多设备场景必须补充 `--imply <设备序列号>`。
23
+ - 需要自动生成报告时,优先追加 `--atlas`。
24
+ - 需要按规则评分时,追加 `--align`。
25
+ - 除授权激活 `memrix --apply ...` 外,Memrix 示例命令必须包含 `--debug`,否则日志可能被动画输出吞掉。
26
+ - 不要编造包名、设备序列号或本地路径。
@@ -0,0 +1,170 @@
1
+ # Memrix 常用命令
2
+
3
+ ## 命令规则
4
+
5
+ - 除 `memrix --apply ...` 外,所有 Memrix 示例命令都加 `--debug`,确保执行时输出日志。
6
+ - Android 应用采集必须提供 `--focus <包名>`。
7
+ - 多设备场景必须提供 `--imply <设备序列号>`。
8
+ - `adb devices` 不是 Memrix 命令,不需要追加 `--debug`。
9
+
10
+ ## 内存与 I/O 联合采样
11
+
12
+ 用于采集目标应用的内存波动和 I/O 行为。
13
+
14
+ ```bash
15
+ memrix --debug --storm --focus <com.example.application>
16
+ ```
17
+
18
+ 指定设备:
19
+
20
+ ```bash
21
+ memrix --debug --storm --focus <com.example.application> --imply <device.serial>
22
+ ```
23
+
24
+ 指定输出目录:
25
+
26
+ ```bash
27
+ memrix --debug --storm --focus <com.example.application> --scene <output_dir>
28
+ ```
29
+
30
+ 设置报告标题:
31
+
32
+ ```bash
33
+ memrix --debug --storm --focus <com.example.application> --title <report_name>
34
+ ```
35
+
36
+ 开启详细调试日志:
37
+
38
+ ```bash
39
+ memrix --debug --storm --focus <com.example.application> --watch
40
+ ```
41
+
42
+ ## 帧率与流畅度分析
43
+
44
+ 用于分析 Perfetto trace 文件中的帧率、卡顿和交互流畅度。
45
+
46
+ ```bash
47
+ memrix --debug --sleek --focus <trace_file.perfetto>
48
+ ```
49
+
50
+ ## 生成报告
51
+
52
+ 用于根据已有测试输出目录生成结构化 HTML 报告。
53
+
54
+ ```bash
55
+ memrix --debug --forge <output_dir>
56
+ ```
57
+
58
+ 生成报告并区分前后台阶段:
59
+
60
+ ```bash
61
+ memrix --debug --forge <output_dir> --layer
62
+ ```
63
+
64
+ ## 采集后自动生成报告
65
+
66
+ 用于采集完成后自动生成图表报告。
67
+
68
+ ```bash
69
+ memrix --debug --storm --focus <com.example.application> --atlas
70
+ ```
71
+
72
+ ## 启用评分标准
73
+
74
+ 用于按 YAML 配置对内存、流畅度、I/O 等指标进行多维度评分。
75
+
76
+ ```bash
77
+ memrix --debug --storm --focus <com.example.application> --align
78
+ ```
79
+
80
+ 通常可以和自动报告一起使用:
81
+
82
+ ```bash
83
+ memrix --debug --storm --focus <com.example.application> --align --atlas
84
+ ```
85
+
86
+ ## 指定设备
87
+
88
+ 当连接多台设备时使用。
89
+
90
+ ```bash
91
+ memrix --debug --storm --focus <com.example.application> --imply <device.serial>
92
+ ```
93
+
94
+ 设备序列号可通过以下命令查看:
95
+
96
+ ```bash
97
+ adb devices
98
+ ```
99
+
100
+ ## 指定任务目录
101
+
102
+ 用于指定输出目录或任务挂载目录。
103
+
104
+ ```bash
105
+ memrix --debug --storm --focus <com.example.application> --scene <file.name>
106
+ ```
107
+
108
+ ## 设置报告标题
109
+
110
+ ```bash
111
+ memrix --debug --storm --focus <com.example.application> --title <name>
112
+ ```
113
+
114
+ ## 授权激活
115
+
116
+ `--apply` 是例外,不加 `--debug`:
117
+
118
+ ```bash
119
+ memrix --apply ACT-XXXX-XXXX
120
+ ```
121
+
122
+ ## 常用组合
123
+
124
+ ### 持续监控应用内存
125
+
126
+ ```bash
127
+ memrix --debug --storm --focus <com.example.application>
128
+ ```
129
+
130
+ ### 指定设备采集
131
+
132
+ ```bash
133
+ memrix --debug --storm --focus <com.example.application> --imply <device.serial>
134
+ ```
135
+
136
+ ### 采集并自动生成报告
137
+
138
+ ```bash
139
+ memrix --debug --storm --focus <com.example.application> --atlas
140
+ ```
141
+
142
+ ### 采集、评分并生成报告
143
+
144
+ ```bash
145
+ memrix --debug --storm --focus <com.example.application> --align --atlas
146
+ ```
147
+
148
+ ### 生成已有目录报告
149
+
150
+ ```bash
151
+ memrix --debug --forge <file.name>
152
+ ```
153
+
154
+ ## 参数说明
155
+
156
+ | 参数 | 作用 |
157
+ | --- | --- |
158
+ | `--debug` | 输出执行日志 |
159
+ | `--storm` | 内存波动和 I/O 行为联合采样 |
160
+ | `--sleek` | 帧率稳定性和交互流畅度分析 |
161
+ | `--forge` | 生成结构化报告 |
162
+ | `--align` | 启用多维度评分标准 |
163
+ | `--apply` | 授权激活 |
164
+ | `--focus` | 指定应用包名或 trace 文件 |
165
+ | `--imply` | 指定 ADB 设备序列号 |
166
+ | `--scene` | 指定输出目录或任务目录 |
167
+ | `--title` | 设置报告标题 |
168
+ | `--atlas` | 任务完成后自动生成报告 |
169
+ | `--layer` | 报告中区分前台和后台阶段 |
170
+ | `--watch` | 输出详细调试信息 |
@@ -0,0 +1,49 @@
1
+ # Memrix 概览
2
+
3
+ ## 项目定位
4
+
5
+ Memrix 是用于移动应用性能测试和资源分析的 CLI 工具。
6
+
7
+ 它通过 ADB、Perfetto、内存采样、I/O 采样、帧率分析和结构化报告,帮助测试人员判断应用是否存在内存异常、性能瓶颈、卡顿和资源使用不稳定等问题。
8
+
9
+ ## 核心价值
10
+
11
+ Memrix 主要解决以下问题:
12
+
13
+ - 内存使用是否持续上涨
14
+ - 是否存在疑似内存泄漏
15
+ - I/O 行为是否异常
16
+ - 页面或交互是否存在卡顿
17
+ - 帧率是否稳定
18
+ - 测试结果是否可以自动报告化
19
+ - 是否满足准出标准
20
+
21
+ ## 主要分析对象
22
+
23
+ - Android 应用包名
24
+ - ADB 设备
25
+ - Perfetto trace 文件
26
+ - 内存采样数据
27
+ - I/O 行为数据
28
+ - 帧率和 Jank 指标
29
+ - 测试输出目录
30
+ - HTML 报告
31
+
32
+ ## 典型产物
33
+
34
+ - HTML 性能报告
35
+ - 内存趋势图
36
+ - I/O 行为图表
37
+ - 帧率稳定性分析
38
+ - 流畅度评分
39
+ - 多维度准出判断
40
+ - 测试日志和中间数据
41
+
42
+ ## 使用建议
43
+
44
+ - 测试应用内存和 I/O 时,优先使用 `--storm`。
45
+ - 分析流畅度和掉帧时,优先使用 `--sleek`。
46
+ - 生成报告时,使用 `--forge` 或追加 `--atlas`。
47
+ - 按标准评分时,追加 `--align`。
48
+ - 连接多台设备时,必须使用 `--imply` 指定设备。
49
+ - Memrix 命令示例除 `--apply` 外必须包含 `--debug`,便于输出可见日志。
@@ -0,0 +1,197 @@
1
+ # Memrix 典型流程
2
+
3
+ ## 1. 测试前确认设备
4
+
5
+ 适用于 Android 设备测试前确认连接状态。
6
+
7
+ ```bash
8
+ adb devices
9
+ ```
10
+
11
+ 确认设备在线后,再执行 Memrix 采集命令。
12
+
13
+ 如果只有一台设备,可以不传 `--imply`。
14
+
15
+ 如果有多台设备,建议指定设备序列号:
16
+
17
+ ```bash
18
+ memrix --debug --storm --focus <com.example.application> --imply <device.serial>
19
+ ```
20
+
21
+ ## 2. 采集应用内存和 I/O
22
+
23
+ 适用于判断应用是否存在内存上涨、波动异常或 I/O 异常。
24
+
25
+ ```bash
26
+ memrix --debug --storm --focus <com.example.application>
27
+ ```
28
+
29
+ 关注结果:
30
+
31
+ - 内存是否持续上涨
32
+ - 是否存在明显波动
33
+ - I/O 是否异常频繁
34
+ - 采样过程是否稳定
35
+ - 是否生成中间数据
36
+
37
+ ## 3. 采集并自动生成报告
38
+
39
+ 适用于一次性完成采集和报告输出。
40
+
41
+ ```bash
42
+ memrix --debug --storm --focus <com.example.application> --atlas
43
+ ```
44
+
45
+ 关注结果:
46
+
47
+ - 是否生成 HTML 报告
48
+ - 报告中是否包含趋势图
49
+ - 是否包含异常提示
50
+ - 是否方便归档和共享
51
+
52
+ ## 4. 启用评分机制
53
+
54
+ 适用于需要准出判断、风险标注或统一测试标准的场景。
55
+
56
+ ```bash
57
+ memrix --debug --storm --focus <com.example.application> --align --atlas
58
+ ```
59
+
60
+ 关注结果:
61
+
62
+ - 是否加载评分配置
63
+ - 是否输出评分结果
64
+ - 是否标注风险项
65
+ - 是否满足准出标准
66
+
67
+ ## 5. 指定输出目录和报告标题
68
+
69
+ 适用于批量测试或需要归档的场景。
70
+
71
+ ```bash
72
+ memrix --debug --storm --focus <com.example.application> --scene <output_dir> --title <report_name> --atlas
73
+ ```
74
+
75
+ 说明:
76
+
77
+ - `--scene` 控制输出目录
78
+ - `--title` 控制报告标题
79
+ - `--atlas` 控制采集结束后自动生成报告
80
+
81
+ ## 6. 多设备测试
82
+
83
+ 适用于同时连接多台 Android 设备的场景。
84
+
85
+ ```bash
86
+ memrix --debug --storm --focus <com.example.application> --imply <device.serial> --scene <output_dir>
87
+ ```
88
+
89
+ 注意:
90
+
91
+ - 多设备场景必须确认设备序列号
92
+ - 不要让工具自动猜测目标设备
93
+ - 输出目录建议按设备或任务命名
94
+
95
+ ## 7. 分析帧率和流畅度
96
+
97
+ 适用于已有 Perfetto trace 文件,或需要分析滑动、拖拽、掉帧等问题。
98
+
99
+ ```bash
100
+ memrix --debug --sleek --focus <trace_file.perfetto>
101
+ ```
102
+
103
+ 关注结果:
104
+
105
+ - FPS 是否稳定
106
+ - 是否存在 Jank
107
+ - 是否存在明显掉帧段
108
+ - 是否能定位异常交互区间
109
+
110
+ ## 8. 根据已有目录生成报告
111
+
112
+ 适用于采集已经完成,只需要补充生成报告的场景。
113
+
114
+ ```bash
115
+ memrix --debug --forge <output_dir>
116
+ ```
117
+
118
+ 如果需要区分前台和后台阶段:
119
+
120
+ ```bash
121
+ memrix --debug --forge <output_dir> --layer
122
+ ```
123
+
124
+ ## 9. 调试异常采集
125
+
126
+ 适用于采集失败、设备无响应、数据缺失或命令行为异常。
127
+
128
+ ```bash
129
+ memrix --debug --storm --focus <com.example.application> --watch
130
+ ```
131
+
132
+ 关注内容:
133
+
134
+ - ADB 是否连接正常
135
+ - 目标包名是否正确
136
+ - 是否有权限或设备状态异常
137
+ - 采样过程是否中断
138
+
139
+ ## 10. 授权激活
140
+
141
+ 首次部署或授权过期时使用。
142
+
143
+ ```bash
144
+ memrix --apply ACT-XXXX-XXXX
145
+ ```
146
+
147
+ 注意:
148
+
149
+ - 激活码通常为一次性授权码
150
+ - 授权会绑定设备指纹
151
+ - 激活成功后会在本地生成授权文件
152
+
153
+ ## 11. 回答用户时的推荐格式
154
+
155
+ 先给命令:
156
+
157
+ ```bash
158
+ memrix --debug --storm --focus <com.example.application> --align --atlas
159
+ ```
160
+
161
+ 再简要说明:
162
+
163
+ ```text
164
+ 这个命令会对目标应用进行内存和 I/O 采样,并启用评分标准,任务结束后自动生成结构化报告。适合做性能准出、内存异常排查和测试结果归档。
165
+ ```
166
+
167
+ ## 12. 常见判断
168
+
169
+ 用户说“看内存有没有涨”:
170
+
171
+ ```bash
172
+ memrix --debug --storm --focus <com.example.application>
173
+ ```
174
+
175
+ 用户说“顺便出报告”:
176
+
177
+ ```bash
178
+ memrix --debug --storm --focus <com.example.application> --atlas
179
+ ```
180
+
181
+ 用户说“要按标准判断是否通过”:
182
+
183
+ ```bash
184
+ memrix --debug --storm --focus <com.example.application> --align --atlas
185
+ ```
186
+
187
+ 用户说“有多台设备”:
188
+
189
+ ```bash
190
+ memrix --debug --storm --focus <com.example.application> --imply <device.serial>
191
+ ```
192
+
193
+ 用户说“已有结果,只要报告”:
194
+
195
+ ```bash
196
+ memrix --debug --forge <output_dir>
197
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@craftline/mind-darwin",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "Mind macOS runtime package.",
5
5
  "os": [
6
6
  "darwin"