@thinkingai/ae-cli 6.0.32 → 6.0.34

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 (201) hide show
  1. package/README.md +3 -2
  2. package/README.zh.md +3 -2
  3. package/dist/{auth-MEJ642P4.js → auth-ENM3FE6L.js} +3 -2
  4. package/dist/{auth-7H3HAAJ3.js → auth-UPGUOKTW.js} +13 -6
  5. package/dist/{capability-QW4AVJHI.js → capability-AJC5CBRT.js} +49 -17
  6. package/dist/{capability-SCRFGODD.js → capability-TQ5KU5Q6.js} +49 -17
  7. package/dist/chunk-24BAVOX3.js +51 -0
  8. package/dist/{chunk-MDJGDI6K.js → chunk-3KI3RRXX.js} +5 -5
  9. package/dist/{chunk-PKRD2IEM.js → chunk-3P3562ZX.js} +9 -7
  10. package/dist/{chunk-R77JT7XD.js → chunk-4Q5TNP4Q.js} +4 -4
  11. package/dist/{chunk-7OLGDQQ2.js → chunk-6CHYBI64.js} +2 -2
  12. package/dist/{chunk-6LEYLOV3.js → chunk-CPVTECJ3.js} +9 -7
  13. package/dist/{chunk-KCA6BA5D.js → chunk-DB4Q3ANU.js} +5 -3
  14. package/dist/{chunk-2NDGFQHW.js → chunk-E7UXXHO3.js} +11 -3
  15. package/dist/{chunk-I4A62X3N.js → chunk-HQ2A7ITL.js} +23 -14
  16. package/dist/chunk-IMMGMU54.js +674 -0
  17. package/dist/{chunk-AJTH7LT3.js → chunk-IR4ZLVPW.js} +4 -2
  18. package/dist/{chunk-TBHBYKXZ.js → chunk-ISY6HMHM.js} +2 -2
  19. package/dist/{chunk-KGJQCYVC.js → chunk-LCXU3AAT.js} +4 -2
  20. package/dist/chunk-LYVNONC4.js +86 -0
  21. package/dist/{chunk-DYOS6YY7.js → chunk-RGXCNC4N.js} +23 -14
  22. package/dist/{chunk-YCLVYFK7.js → chunk-V6FR6WTW.js} +45 -87
  23. package/dist/chunk-VTWMIC5L.js +27 -0
  24. package/dist/{cli-token-TVQRSE46.js → cli-token-4SBMXAUK.js} +6 -3
  25. package/dist/{client-2643Z5AG.js → client-PP5FETMW.js} +4 -3
  26. package/dist/community-report-client-KK2QBANO.js +145 -0
  27. package/dist/{config-7UZWDE74.js → config-RCCGHHYA.js} +6 -3
  28. package/dist/index.js +505 -220
  29. package/dist/{metadata-BFDL6RUK.js → metadata-3M5F2AED.js} +14 -13
  30. package/dist/{metadata-FCLDBXX2.js → metadata-W2MEOI4Z.js} +14 -13
  31. package/dist/{model-T3KZJWLW.js → model-OYQLXCQY.js} +3 -2
  32. package/dist/{raw-CN542NGT.js → raw-TPB7KSZO.js} +6 -4
  33. package/dist/{sync-ERNHDPB5.js → sync-EFJKFZK2.js} +6 -3
  34. package/dist/{te-agent-FCCWUDTJ.js → te-agent-K2OWMZXT.js} +3 -2
  35. package/dist/{te-analysis-PUVF5IF4.js → te-analysis-I73ZS4NK.js} +903 -33
  36. package/dist/{te-analysis-UJDOKPAN.js → te-analysis-Q7AZCDU4.js} +903 -33
  37. package/dist/{te-common-XLAGWNIV.js → te-common-ST3QPSXJ.js} +7 -6
  38. package/dist/{te-common-VUX3VOXZ.js → te-common-WSLIKKPC.js} +7 -6
  39. package/dist/te-community-WXGB6IOX.js +1659 -0
  40. package/dist/te-community-X2AHXGCA.js +1659 -0
  41. package/dist/{te-dataops-ZNJBQ6VT.js → te-dataops-MJV54MNY.js} +10 -8
  42. package/dist/{te-dataops-F36T656A.js → te-dataops-OA7I6HBG.js} +10 -8
  43. package/dist/{te-engage-QBCCME22.js → te-engage-2FSDUOIZ.js} +973 -1585
  44. package/dist/{te-engage-K4AEUPK5.js → te-engage-BMJ6UOUU.js} +973 -1585
  45. package/dist/{te-kb-AYCODNU6.js → te-kb-E7NSCBRB.js} +74 -12
  46. package/dist/{te-meta-UUROEODR.js → te-meta-Q4L6EE3Q.js} +7 -6
  47. package/dist/{te-meta-ARDIW3YI.js → te-meta-VHCN4Q62.js} +7 -6
  48. package/dist/{te-team-OKCOX7OE.js → te-team-PDKKW7Q5.js} +7 -6
  49. package/dist/tracking/i18n/resources/cli/en.json +4 -3
  50. package/dist/tracking/i18n/resources/cli/ja.json +4 -3
  51. package/dist/tracking/i18n/resources/cli/ko.json +4 -3
  52. package/dist/tracking/i18n/resources/cli/zh.json +4 -3
  53. package/package.json +6 -2
  54. package/skills/ae-agent/SKILL.md +2 -1
  55. package/skills/ae-analysis/SKILL.md +12 -1
  56. package/skills/ae-analysis/references/adhoc_export.md +2 -0
  57. package/skills/ae-analysis/references/adhoc_run.md +2 -0
  58. package/skills/ae-analysis/references/alert_create.md +25 -0
  59. package/skills/ae-analysis/references/alert_definition_schema_get.md +24 -0
  60. package/skills/ae-analysis/references/alert_delete.md +26 -0
  61. package/skills/ae-analysis/references/alert_detail_list.md +27 -0
  62. package/skills/ae-analysis/references/alert_get.md +25 -0
  63. package/skills/ae-analysis/references/alert_job_list.md +24 -0
  64. package/skills/ae-analysis/references/alert_list.md +27 -0
  65. package/skills/ae-analysis/references/alert_notice_config_list.md +24 -0
  66. package/skills/ae-analysis/references/alert_start.md +25 -0
  67. package/skills/ae-analysis/references/alert_stop.md +25 -0
  68. package/skills/ae-analysis/references/alert_update.md +26 -0
  69. package/skills/ae-analysis/references/bi_panel_create.md +3 -3
  70. package/skills/ae-analysis/references/check_delete.md +27 -0
  71. package/skills/ae-analysis/references/check_export.md +27 -0
  72. package/skills/ae-analysis/references/check_get.md +27 -0
  73. package/skills/ae-analysis/references/check_list.md +24 -0
  74. package/skills/ae-analysis/references/check_retry.md +27 -0
  75. package/skills/ae-analysis/references/check_run.md +25 -0
  76. package/skills/ae-analysis/references/command_index.md +61 -27
  77. package/skills/ae-analysis/references/dashboard_create.md +3 -3
  78. package/skills/ae-analysis/references/dashboard_daily_report_send.md +1 -0
  79. package/skills/ae-analysis/references/dashboard_daily_report_update.md +2 -0
  80. package/skills/ae-analysis/references/dashboard_report_data_export.md +3 -3
  81. package/skills/ae-analysis/references/dashboard_report_data_run.md +3 -3
  82. package/skills/ae-analysis/references/event_blacklist_add.md +25 -0
  83. package/skills/ae-analysis/references/event_blacklist_list.md +24 -0
  84. package/skills/ae-analysis/references/event_blacklist_update.md +26 -0
  85. package/skills/ae-analysis/references/ingest_error_list.md +27 -0
  86. package/skills/ae-analysis/references/ingest_summary.md +26 -0
  87. package/skills/ae-analysis/references/live_data_export.md +27 -0
  88. package/skills/ae-analysis/references/live_data_list.md +27 -0
  89. package/skills/ae-analysis/references/plan_change_log_export.md +27 -0
  90. package/skills/ae-analysis/references/plan_change_log_list.md +24 -0
  91. package/skills/ae-analysis/references/plan_delete_items.md +30 -0
  92. package/skills/ae-analysis/references/plan_export.md +26 -0
  93. package/skills/ae-analysis/references/plan_generate.md +27 -0
  94. package/skills/ae-analysis/references/plan_get.md +24 -0
  95. package/skills/ae-analysis/references/plan_import_excel.md +26 -0
  96. package/skills/ae-analysis/references/plan_save_items.md +27 -0
  97. package/skills/ae-analysis/references/plan_sync_from_meta.md +24 -0
  98. package/skills/ae-analysis/references/project_role_delete.md +4 -3
  99. package/skills/ae-analysis/references/project_role_get.md +4 -3
  100. package/skills/ae-analysis/references/project_role_user_list.md +4 -3
  101. package/skills/ae-analysis/references/query_create_result_cluster.md +2 -1
  102. package/skills/ae-analysis/references/report_data_export.md +3 -1
  103. package/skills/ae-analysis/references/report_data_run.md +12 -2
  104. package/skills/ae-analysis/references/sdk_sample_generate.md +24 -0
  105. package/skills/ae-analysis/references/user_cluster_create.md +2 -0
  106. package/skills/ae-analysis/references/user_cluster_create_id.md +2 -0
  107. package/skills/ae-analysis/references/user_cluster_update.md +2 -0
  108. package/skills/ae-analysis/references/user_cluster_update_id.md +2 -0
  109. package/skills/ae-analysis/references/user_tag_create.md +2 -0
  110. package/skills/ae-analysis/references/user_tag_create_id.md +2 -0
  111. package/skills/ae-analysis/references/user_tag_update.md +2 -0
  112. package/skills/ae-analysis/references/user_tag_update_id.md +2 -0
  113. package/skills/ae-analysis-global/SKILL.md +2 -0
  114. package/skills/ae-capability/SKILL.md +7 -5
  115. package/skills/ae-community/SKILL.md +72 -8
  116. package/skills/ae-community/references/community-chat-analysis.md +341 -0
  117. package/skills/ae-community/references/community-data-report.md +301 -0
  118. package/skills/ae-dataops/SKILL.md +2 -1
  119. package/skills/ae-engage/SKILL.md +129 -105
  120. package/skills/ae-engage/references/activity-activity-type.md +1 -1
  121. package/skills/ae-engage/references/activity-activity.md +1 -1
  122. package/skills/ae-engage/references/activity-approval.md +5 -7
  123. package/skills/ae-engage/references/activity-task.md +12 -18
  124. package/skills/ae-engage/references/activity-topic.md +39 -22
  125. package/skills/ae-engage/references/add-approver.md +4 -4
  126. package/skills/ae-engage/references/add-channel.md +10 -5
  127. package/skills/ae-engage/references/approval-approver-delete.md +1 -1
  128. package/skills/ae-engage/references/approver-list.md +4 -4
  129. package/skills/ae-engage/references/build-task-save-guide.md +13 -13
  130. package/skills/ae-engage/references/cancel-query-by-request-id.md +7 -6
  131. package/skills/ae-engage/references/channel-detail.md +14 -9
  132. package/skills/ae-engage/references/channel-list.md +15 -10
  133. package/skills/ae-engage/references/channel-mgmt.md +109 -0
  134. package/skills/ae-engage/references/channel-test-send.md +1 -1
  135. package/skills/ae-engage/references/channel-update-config.md +1 -1
  136. package/skills/ae-engage/references/channel_touch_limits_list.md +1 -1
  137. package/skills/ae-engage/references/client-param.md +34 -16
  138. package/skills/ae-engage/references/common-metric.md +85 -18
  139. package/skills/ae-engage/references/config-item-analysis-report.md +8 -27
  140. package/skills/ae-engage/references/config-item-strategy-comparison.md +7 -18
  141. package/skills/ae-engage/references/config-item-trigger-report.md +8 -35
  142. package/skills/ae-engage/references/delete-channel.md +5 -5
  143. package/skills/ae-engage/references/delete-flow.md +5 -5
  144. package/skills/ae-engage/references/flow-ab-split-node-report.md +11 -45
  145. package/skills/ae-engage/references/flow-detail.md +15 -10
  146. package/skills/ae-engage/references/flow-list.md +9 -4
  147. package/skills/ae-engage/references/flow-node-config-schema.md +9 -8
  148. package/skills/ae-engage/references/flow-node-detail-report.md +11 -46
  149. package/skills/ae-engage/references/flow-node-overview-report.md +11 -43
  150. package/skills/ae-engage/references/flow-process-report.md +12 -50
  151. package/skills/ae-engage/references/flow-update-remark.md +19 -0
  152. package/skills/ae-engage/references/manage-flow.md +19 -19
  153. package/skills/ae-engage/references/manage-task.md +5 -5
  154. package/skills/ae-engage/references/modify-flow-base-info.md +8 -8
  155. package/skills/ae-engage/references/preset-event.md +1 -1
  156. package/skills/ae-engage/references/push-language.md +1 -1
  157. package/skills/ae-engage/references/save-flow.md +54 -52
  158. package/skills/ae-engage/references/save-task.md +23 -17
  159. package/skills/ae-engage/references/scene-config-channel.md +90 -10
  160. package/skills/ae-engage/references/scene-config-group.md +1 -1
  161. package/skills/ae-engage/references/scene-config-item.md +27 -4
  162. package/skills/ae-engage/references/scene-config-metric.md +1 -1
  163. package/skills/ae-engage/references/scene-config-param.md +2 -2
  164. package/skills/ae-engage/references/scene-preset-metric.md +1 -1
  165. package/skills/ae-engage/references/scene-strategy.md +19 -3
  166. package/skills/ae-engage/references/scene-template.md +10 -4
  167. package/skills/ae-engage/references/task-data-detail.md +5 -67
  168. package/skills/ae-engage/references/task-data-overview.md +5 -35
  169. package/skills/ae-engage/references/task-detail.md +5 -5
  170. package/skills/ae-engage/references/task-experiment-report.md +5 -38
  171. package/skills/ae-engage/references/task-list.md +4 -4
  172. package/skills/ae-engage/references/task-metric-detail.md +5 -43
  173. package/skills/ae-engage/references/task-stats.md +5 -5
  174. package/skills/ae-engage/references/update-channel-status.md +6 -6
  175. package/skills/ae-engage/references/validate-flow-node-config.md +12 -11
  176. package/skills/ae-engage/references/whitelist-list.md +4 -4
  177. package/skills/ae-engage/references/whitelist.md +1 -1
  178. package/skills/ae-engage/references/workbench-workbench.md +1 -1
  179. package/skills/ae-generate-tracking-code/SKILL.md +4 -4
  180. package/skills/ae-generate-tracking-plan/SKILL.md +132 -11
  181. package/skills/ae-generate-tracking-plan/references/business-dimension-mapping.md +98 -33
  182. package/skills/ae-generate-tracking-plan/references/xlsx-schema.md +16 -14
  183. package/skills/ae-kb/SKILL.md +11 -6
  184. package/skills/ae-metadata/SKILL.md +2 -1
  185. package/skills/ae-team/SKILL.md +2 -1
  186. package/dist/chunk-NOO24N7W.js +0 -11
  187. package/dist/chunk-TNW2CI4W.js +0 -129
  188. package/dist/te-community-PEZ2VEF7.js +0 -687
  189. package/dist/te-community-TSKJ652U.js +0 -687
  190. package/skills/ae-engage/references/config-channel-detail.md +0 -31
  191. package/skills/ae-engage/references/config-channel-list.md +0 -26
  192. package/skills/ae-engage/references/config-item-detail.md +0 -29
  193. package/skills/ae-engage/references/config-item-list.md +0 -18
  194. package/skills/ae-engage/references/copy-config-template.md +0 -28
  195. package/skills/ae-engage/references/delete-config-channel.md +0 -23
  196. package/skills/ae-engage/references/delete-config-item.md +0 -24
  197. package/skills/ae-engage/references/engage-scene-config-item.md +0 -69
  198. package/skills/ae-engage/references/manage-strategy.md +0 -73
  199. package/skills/ae-engage/references/strategy-detail.md +0 -72
  200. package/skills/ae-engage/references/strategy-list.md +0 -20
  201. package/skills/ae-engage/references/update-config-channel-status.md +0 -31
@@ -10,20 +10,20 @@
10
10
 
11
11
  ## 一、Revenue Model → Required Events
12
12
 
13
- | 收入模型 | 注入事件 | 事件显示名 | platform | 必带属性 |
14
- |---|---|---|---|---|
15
- | `IAA` | `ad_show` | 广告展示 | client | `ad_type`、`ad_placement`、`is_filled` |
16
- | `IAA` | `ad_click` | 广告点击 | client | `ad_type`、`ad_placement`、`ad_network` |
17
- | `IAA` | `ad_reward_get` | 激励广告奖励领取 | client | `ad_type`、`ad_placement`、`reward_type`、`reward_amount` |
18
- | `IAP` | `payment` | 支付成功 | server | `order_id`、`pay_amount`、`currency_type`、`payment_name`、`payment_type` |
19
- | `IAP` | `payment_fail` | 支付失败 | server | `order_id`、`fail_reason`、`payment_name` |
20
- | `mixed` | 同 IAA + IAP 所有事件 | | | |
21
- | `subscription` | `subscription_start` | 订阅开始 | server | `subscription_id`、`plan_name`、`start_time` |
22
- | `subscription` | `subscription_renew` | 订阅续费 | server | `subscription_id`、`renew_amount`、`currency_type` |
23
- | `subscription` | `subscription_cancel` | 订阅取消 | server | `subscription_id`、`cancel_time`、`cancel_reason` |
24
- | `commission` | `order_create` | 订单创建 | server | `order_id`、`order_amount`、`commission_rate` |
25
- | `commission` | `order_paid` | 订单支付 | server | `order_id`、`pay_amount`、`commission_amount` |
26
- | `commission` | `commission_settled` | 佣金结算 | server | `settlement_id`、`commission_amount`、`settle_time` |
13
+ | 收入模型 | 注入事件 | 事件显示名 | event_tag | platform | 必带属性 |
14
+ |---|---|---|---|---|---|
15
+ | `IAA` | `ad_show` | 广告展示 | 广告 | client | `ad_type`、`ad_placement`、`is_filled` |
16
+ | `IAA` | `ad_click` | 广告点击 | 广告 | client | `ad_type`、`ad_placement`、`ad_network` |
17
+ | `IAA` | `ad_reward_get` | 激励广告奖励领取 | 广告 | client | `ad_type`、`ad_placement`、`reward_type`、`reward_amount` |
18
+ | `IAP` | `payment` | 支付成功 | 支付 | server | `order_id`、`pay_amount`、`currency_type`、`payment_name`、`payment_type` |
19
+ | `IAP` | `payment_fail` | 支付失败 | 支付 | server | `order_id`、`fail_reason`、`payment_name` |
20
+ | `mixed` | 同 IAA + IAP 所有事件 | | | | |
21
+ | `subscription` | `subscription_start` | 订阅开始 | 订阅 | server | `subscription_id`、`plan_name`、`start_time` |
22
+ | `subscription` | `subscription_renew` | 订阅续费 | 订阅 | server | `subscription_id`、`renew_amount`、`currency_type` |
23
+ | `subscription` | `subscription_cancel` | 订阅取消 | 订阅 | server | `subscription_id`、`cancel_time`、`cancel_reason` |
24
+ | `commission` | `order_create` | 订单创建 | 交易 | server | `order_id`、`order_amount`、`commission_rate` |
25
+ | `commission` | `order_paid` | 订单支付 | 交易 | server | `order_id`、`pay_amount`、`commission_amount` |
26
+ | `commission` | `commission_settled` | 佣金结算 | 交易 | server | `settlement_id`、`commission_amount`、`settle_time` |
27
27
 
28
28
  ---
29
29
 
@@ -52,17 +52,19 @@
52
52
  **解析结果**:
53
53
 
54
54
  ```
55
- 节点1: 刷关卡 → stage_start / stage_complete / stage_fail
56
- 节点2: 获得金币 → token_get (token_type=gold, source=关卡)
57
- 节点3: 抽卡 → gacha_draw (pool_type, draw_count)
58
- 节点4: 获取角色 → hero_get (hero_id, hero_star)
55
+ 节点1: 刷关卡 → stage_start / stage_complete / stage_fail [event_tag: 关卡/Stage]
56
+ 节点2: 获得金币 → token_get (token_type=gold, source=关卡) [event_tag: 资源/Resource]
57
+ 节点3: 抽卡 → gacha_draw (pool_type, draw_count) [event_tag: 抽卡/Gacha]
58
+ 节点4: 获取角色 → hero_get (hero_id, hero_star) [event_tag: 养成/Growth]
59
59
  ```
60
60
 
61
61
  ---
62
62
 
63
63
  ## 三、功能入口 → 模块事件组
64
64
 
65
- | 功能入口 | 事件名 | 显示名 | platform | 典型属性 |
65
+ > 第一列"模块"即该事件的 `event_tag` 值。注入时翻译为用户语言。
66
+
67
+ | 模块 (event_tag) | 事件名 | 显示名 | platform | 典型属性 |
66
68
  |---|---|---|---|---|
67
69
  | 关卡 | `stage_start` | 关卡开始 | client | `stage_id`、`stage_type`、`difficulty` |
68
70
  | 关卡 | `stage_complete` | 关卡完成 | server | `stage_id`、`star_rating`、`score` |
@@ -200,26 +202,36 @@
200
202
 
201
203
  > 根据应用类型/游戏品类,自动注入对应模块的事件组。
202
204
  > 品类由 Phase 0 的 `meta.scenario` 或用户描述推断。
205
+ >
206
+ > **event_tag 规则**:本表中每行的"模块"列即该事件的 `event_tag` 值。注入时需翻译为用户语言。
207
+ > 例如 战斗→`Battle`, 养成→`Growth`, 抽卡→`Gacha`, 资源→`Resource`, 广告→`Ads`, 支付→`Payment`。
203
208
 
204
- ### 8.1 游戏类 — 通用基础模块(所有游戏必选)
209
+ ### 8.0 通用基础模块(所有品类适用)
210
+
211
+ > 以下事件不属于任何具体功能模块(关卡/商城/抽卡等),统一使用 `基础事件`(Basic)标签。
212
+ > 区别于 `系统事件`(System Event,SDK 自动采集的 `ta_*` 事件)。
205
213
 
206
214
  **用户生命周期**:
207
215
 
208
- | 事件名 | 显示名 | platform | 必带属性 |
209
- |---|---|---|---|
210
- | `new_device` | 设备激活 | client | `channel` |
211
- | `register` | 用户注册 | server | `register_type` |
212
- | `login` | 用户登录 | both | `account_id` |
213
- | `logout` | 用户登出 | both | `session_duration` |
216
+ | 模块 | 事件名 | 显示名 | platform | 必带属性 |
217
+ |---|---|---|---|---|
218
+ | 基础事件 | `new_device` | 设备激活 | client | `channel` |
219
+ | 基础事件 | `register` | 用户注册 | server | `register_type` |
220
+ | 基础事件 | `login` | 用户登录 | both | `account_id` |
221
+ | 基础事件 | `logout` | 用户登出 | both | `session_duration` |
214
222
 
215
223
  **成长模块**:
216
224
 
217
- | 事件名 | 显示名 | platform | 必带属性 |
218
- |---|---|---|---|
219
- | `create_role` | 创建角色 | server | `role_id`、`role_name`、`server_id` |
220
- | `guide_complete` | 完成新手引导 | client | `guide_id`、`guide_step` |
221
- | `level_up` | 升级 | server | `level`、`level_before` |
222
- | `vip_levelup` | VIP升级 | server | `vip_level` |
225
+ | 模块 | 事件名 | 显示名 | platform | 必带属性 |
226
+ |---|---|---|---|---|
227
+ | 基础事件 | `create_role` | 创建角色 | server | `role_id`、`role_name`、`server_id` |
228
+ | 基础事件 | `guide_complete` | 完成新手引导 | client | `guide_id`、`guide_step` |
229
+ | 基础事件 | `level_up` | 升级 | server | `level`、`level_before` |
230
+ | 基础事件 | `vip_levelup` | VIP升级 | server | `vip_level` |
231
+
232
+ ### 8.1 游戏类 — 通用基础模块(所有游戏必选)
233
+
234
+ > 以下为游戏品类通用的基础事件,所有游戏品类均应包含。详见 8.0 通用基础模块。
223
235
 
224
236
  ### 8.2 游戏类 — 按品类
225
237
 
@@ -422,4 +434,57 @@
422
434
 
423
435
  - 必须有 ≥2 个自定义属性
424
436
  - 必须标注事件标签(模块归属)和采集端
425
- - 命名符合 snake_case
437
+ - 命名符合 snake_case
438
+
439
+ ---
440
+
441
+ ## 附录:event_tag 多语言对照表
442
+
443
+ > 生成 event_tag 时,根据用户语言从本表选取对应翻译。
444
+ > 代码层(`src/xlsx/write.ts` 的 `CANONICAL_TAG`)也同步维护此表,用于 xlsx 输出时按业务重要性排序。
445
+
446
+ | 中文 | English | 日本語 | 한국어 |
447
+ |---|---|---|---|
448
+ | 基础事件 | Basic | 基本イベント | 기본 이벤트 |
449
+ | 系统事件 | System Event | システムイベント | 시스템 이벤트 |
450
+ | 战斗 | Battle | 戦闘 | 전투 |
451
+ | 关卡 | Stage | ステージ | 스테이지 |
452
+ | 副本 | Dungeon | ダンジョン | 던전 |
453
+ | 抽卡 | Gacha | ガチャ | 가챠 |
454
+ | 养成 | Growth | 育成 | 육성 |
455
+ | 资源 | Resource | リソース | 리소스 |
456
+ | 广告 | Ads | 広告 | 광고 |
457
+ | 支付 | Payment | 支払い | 결제 |
458
+ | 订阅 | Subscription | サブスクリプション | 구독 |
459
+ | 商城 | Shop | ショップ | 상점 |
460
+ | 任务 | Quest | クエスト | 퀘스트 |
461
+ | 成就 | Achievement | 実績 | 업적 |
462
+ | 签到 | Check-in | チェックイン | 출석체크 |
463
+ | 排行榜 | Leaderboard | ランキング | 리더보드 |
464
+ | 公会 | Guild | ギルド | 길드 |
465
+ | 社交 | Social | ソーシャル | 소셜 |
466
+ | 建筑 | Building | 建築 | 건설 |
467
+ | 联盟 | Alliance | 同盟 | 연맹 |
468
+ | 装备 | Equipment | 装備 | 장비 |
469
+ | 交易 | Trade | トレード | 거래 |
470
+ | 复活 | Revive | 復活 | 부활 |
471
+ | Slots | Slots | スロット | 슬롯 |
472
+ | 抽奖 | Lottery | 抽選 | 추첨 |
473
+ | 奖励 | Reward | 報酬 | 보상 |
474
+ | 提现 | Withdraw | 引き出し | 출금 |
475
+ | 发现 | Discovery | 発見 | 발견 |
476
+ | 商品 | Product | 商品 | 상품 |
477
+ | 订单 | Order | 注文 | 주문 |
478
+ | 售后 | After-sales | アフターサービス | A/S |
479
+ | 内容 | Content | コンテンツ | 콘텐츠 |
480
+ | 互动 | Interaction | インタラクション | 인터랙션 |
481
+ | 关系 | Relationship | 関係 | 관계 |
482
+ | 直播 | Live | ライブ | 라이브 |
483
+ | 引导 | Onboarding | オンボーディング | 온보딩 |
484
+ | 课程 | Course | コース | 코스 |
485
+ | 报名 | Enrollment | 申し込み | 신청 |
486
+ | 测验 | Quiz | クイズ | 퀴즈 |
487
+ | 创作 | Creation | 創作 | 창작 |
488
+ | 素材 | Material | 素材 | 소재 |
489
+ | 导出 | Export | エクスポート | 내보내기 |
490
+ | 内容播放 | Playback | 再生 | 재생 |
@@ -95,20 +95,22 @@ A-E 在 writer 里用 `mergeCells` 合并。
95
95
 
96
96
  ## 类型枚举
97
97
 
98
- ### PropType(xlsx 中文值 canonical)
99
-
100
- | canonical(draft.json) | xlsx 写入值 | xlsx 读取可接受值(含行业 alias) |
101
- |---|---|---|
102
- | `string` | `文本` | `文本` / `字符串` |
103
- | `number` | `数值` | `数值` |
104
- | `bool` | `布尔` | `布尔` |
105
- | `datetime` | `时间` | `时间` |
106
- | `object` | `对象` | `对象` |
107
- | `array_row` | `对象组` | `对象组` |
108
- | `array_string` | `列表` | `列表` |
109
-
110
- Writer 方向统一用第二列(官方中文正式名),不输出 alias。
111
- Reader 方向对 alias / 未知值做 fallback 并打 stderr warning。
98
+ ### PropType(canonical各语言显示值)
99
+
100
+ > Writer 按 `draft.meta.lang` 输出对应语言列的值。
101
+
102
+ | canonical(draft.json) | zh | en | ja | ko | 读取额外兼容(alias) |
103
+ |---|---|---|---|---|---|
104
+ | `string` | `文本` | `String` | `ストリング` | `String` | `字符串` / `string` / `文字列` / `テキスト` / `텍스트` / `문자열` |
105
+ | `number` | `数值` | `Number` | `数値` | `Number` | `number` / `숫자` |
106
+ | `bool` | `布尔` | `Boolean` | `ブール値` | `Boolean` | `boolean` / `Bool` / `ブール` / `부울` |
107
+ | `datetime` | `时间` | `Date` | `時間` | `Date` | `datetime` / `DateTime` / `Time` / `日時` / `날짜시간` / `time` |
108
+ | `object` | `对象` | `Row` | `オブジェクト` | `Row` | `object` / `Object` |
109
+ | `array_row` | `对象组` | `Array Row` | `オブジェクトグループ` | `Array Row` | `object[]` / `Object Array` / `オブジェクト配列` / `object_array` / `객체 배열` |
110
+ | `array_string` | `列表` | `List` | `リスト` | `List` | `string[]` / `String Array` / `配列` / `string_array` / `리스트` |
111
+
112
+ > 旧值兼容(2026-07-15 前生成的 xlsx):`en` 旧值 `string`/`number`/`boolean`/`datetime`/`object`/`object[]`/`string[]`,
113
+ > `ja` 旧值 `オブジェクト配列`/`配列`,`ko` 旧值 `time`/`object_array`/`string_array` 在 reader 中仍可识别。
112
114
 
113
115
  ### UpdateType(用户属性 `更新方式`)
114
116
 
@@ -19,8 +19,9 @@ ae-cli kb +<command> [options]
19
19
  - Prefer `--dry-run` before destructive or broad writes when the user has not already validated the target.
20
20
  - Do not invent knowledge base names, scopes, source display names, or JSON payloads. Ask the user or query known context when values are missing.
21
21
  - JSON flags must be valid JSON strings, usually wrapped in single quotes in shell commands.
22
- - Successful commands return JSON by default. Use `--format table` only when a table is easier for a human to scan.
22
+ - Successful commands return JSON by default. Use `--format table` only when a table is easier for a human to scan. Envelope may include optional `_notice.host_compat`.
23
23
  - `--host <url>` overrides the active AE host. It is available on every command and may be placed after the subcommand, e.g. `ae-cli kb +<command> --host <url>`.
24
+ - **CRITICAL — Host compat (do this first):** After each `ae-cli` run, check stderr and `_notice.host_compat`. If either is present, open the user reply with a short ⚠️ version warning and **quote the `npm i -g` / `npx skills add` (or update-cluster) lines verbatim**, then present the business result. Soft tip; `ok: true` can still carry the notice.
24
25
  - For external-agent retrieval, prefer the deterministic flow `+index` -> `+grep` -> `+read`: inspect navigation, locate candidate pages, then open the exact page or line window. Use `+ask` only when the user wants an LLM-synthesized answer and accepts token consumption.
25
26
 
26
27
  ## Commands
@@ -124,15 +125,17 @@ ae-cli kb +status --name engineering-handbook
124
125
 
125
126
  ### Query Knowledge
126
127
 
127
- Use `+query` with a natural-language question and a JSON array of source refs.
128
+ Use `+query` with a natural-language question. Optionally scope to specific knowledge bases or tune result count and locale.
128
129
 
129
130
  ```bash
130
131
  ae-cli kb +query \
131
132
  --query "How do we release a dashboard?" \
132
- --sources '[{"scope":"company","name":"engineering-handbook"}]'
133
+ --sources '[{"scope":"company","name":"engineering-handbook"}]' \
134
+ --top-k 10 \
135
+ --locale zh
133
136
  ```
134
137
 
135
- `--sources` entries require:
138
+ When `--sources` is provided, each entry requires:
136
139
 
137
140
  - `scope`: knowledge base scope such as `personal` or `company`.
138
141
  - `name`: knowledge base name.
@@ -233,11 +236,13 @@ ae-cli kb +remove --name engineering-handbook
233
236
  ### `+query`
234
237
 
235
238
  ```bash
236
- ae-cli kb +query --query "<question>" --sources '[{"scope":"company","name":"kb-name"}]'
239
+ ae-cli kb +query --query "<question>" [--sources '[{"scope":"company","name":"kb-name"}]'] [--top-k 10] [--locale zh|en|ja|ko]
237
240
  ```
238
241
 
239
242
  - `--query`, alias `-q`: required natural-language question.
240
- - `--sources`: required JSON array of knowledge base refs.
243
+ - `--sources`: optional JSON array of knowledge base refs. Omit to search all accessible knowledge bases.
244
+ - `--top-k`: optional max number of hits, 1-50, default 10.
245
+ - `--locale`: optional locale: `zh`, `en`, `ja`, or `ko`.
241
246
 
242
247
  ### `+ask`
243
248
 
@@ -21,8 +21,9 @@ Parallel to **`ae-analysis`** (MCP `analysis_meta` for metadata lists/governance
21
21
  | `--dry-run` | Optional: confirm ready to run (`/dry-run`). Alone for risk/output preview. Do not stack with `--validate`. |
22
22
 
23
23
  Output and errors:
24
- - Success: JSON envelope (default).
24
+ - Success: JSON envelope (default). May include optional `_notice.host_compat`.
25
25
  - Failure: `{ "ok": false, "error": { "type", "message", "hint" } }`, non-zero exit.
26
+ - **CRITICAL — Host compat (do this first):** After each `ae-cli` run, check stderr and `_notice.host_compat`. If either is present, open the user reply with a short ⚠️ version warning and **quote the `npm i -g` / `npx skills add` (or update-cluster) lines verbatim**, then present the business result. Soft tip; `ok: true` can still carry the notice.
26
27
 
27
28
  Safety:
28
29
  - Read-only commands can run directly after IDs/names are verified.
@@ -25,8 +25,9 @@ Global parameters:
25
25
  | `--dry-run` | Show request details without executing. |
26
26
 
27
27
  Output and errors:
28
- - Successful commands return machine-readable JSON by default.
28
+ - Successful commands return machine-readable JSON by default. Envelope may include optional `_notice.host_compat`.
29
29
  - Failed commands return `{ "ok": false, "error": { "type": "...", "message": "...", "hint": "..." } }` and exit non-zero.
30
+ - **CRITICAL — Host compat (do this first):** If stderr or `_notice.host_compat` has a version warning, open the user reply with ⚠️ and **quote `npm i -g` / `npx skills add` (or update-cluster) lines verbatim**, then list projects/results. Never omit when summarizing. Soft tip; `ok: true` may still include the notice.
30
31
 
31
32
  Safety constraints:
32
33
  - Read commands (`+list`, `+list-templates`, `+list-projects`, `+run-result`, `+run-artifacts`, `+ai-generate`) can execute directly once required IDs are known.
@@ -1,11 +0,0 @@
1
- // src/core/errors.ts
2
- var PermissionError = class extends Error {
3
- constructor(message) {
4
- super(message);
5
- this.name = "PermissionError";
6
- }
7
- };
8
-
9
- export {
10
- PermissionError
11
- };
@@ -1,129 +0,0 @@
1
- import {
2
- logger
3
- } from "./chunk-YCLVYFK7.js";
4
-
5
- // src/framework/output.ts
6
- import Table from "cli-table3";
7
- import { JqError, json as jqJson } from "jq-wasm";
8
- var KNOWN_ARRAY_FIELDS = [
9
- "items",
10
- "events",
11
- "reports",
12
- "dashboards",
13
- "tags",
14
- "clusters",
15
- "flows",
16
- "tasks",
17
- "channels",
18
- "nodes",
19
- "members",
20
- "records",
21
- "entities",
22
- "metrics",
23
- "tables",
24
- "columns",
25
- "properties"
26
- ];
27
- var OUTPUT_METADATA = /* @__PURE__ */ Symbol("ae-cli-output-metadata");
28
- function withOutputMetadata(data, meta) {
29
- if (!meta || Object.keys(meta).length === 0) return data;
30
- return {
31
- [OUTPUT_METADATA]: true,
32
- data,
33
- meta
34
- };
35
- }
36
- function isOutputWithMetadata(value) {
37
- return Boolean(value?.[OUTPUT_METADATA]);
38
- }
39
- function findArrayField(data) {
40
- if (Array.isArray(data)) return data;
41
- if (typeof data !== "object" || data === null) return null;
42
- for (const key of KNOWN_ARRAY_FIELDS) {
43
- if (Array.isArray(data[key])) return data[key];
44
- }
45
- for (const key of Object.keys(data)) {
46
- if (Array.isArray(data[key])) return data[key];
47
- }
48
- return null;
49
- }
50
- function formatTable(data) {
51
- const rows = findArrayField(data);
52
- if (!rows || rows.length === 0) {
53
- return JSON.stringify(data, null, 2);
54
- }
55
- const allKeys = /* @__PURE__ */ new Set();
56
- for (const row of rows) {
57
- if (typeof row === "object" && row !== null) {
58
- Object.keys(row).forEach((k) => allKeys.add(k));
59
- }
60
- }
61
- const keys = Array.from(allKeys);
62
- if (keys.length === 0) return JSON.stringify(rows, null, 2);
63
- const table = new Table({ head: keys, wordWrap: true });
64
- for (const row of rows) {
65
- table.push(keys.map((k) => {
66
- const v = row?.[k];
67
- if (v === void 0 || v === null) return "";
68
- if (typeof v === "object") return JSON.stringify(v);
69
- return String(v);
70
- }));
71
- }
72
- return table.toString();
73
- }
74
- async function applyJq(data, expr) {
75
- const trimmed = expr.trim();
76
- if (!trimmed) return data;
77
- let results;
78
- try {
79
- results = await jqJson(data, trimmed);
80
- } catch (err) {
81
- const message = err instanceof JqError ? err.message : err?.message || String(err);
82
- const error = new Error(`Invalid --jq expression: ${message}`);
83
- error.type = "validation";
84
- error.hint = "Use standard jq syntax, e.g. .status or {status,pendingQuestion}";
85
- throw error;
86
- }
87
- if (results.length === 0) return null;
88
- if (results.length === 1) return results[0];
89
- return results;
90
- }
91
- async function formatOutput(data, format, jqExpr) {
92
- const outputData = isOutputWithMetadata(data) ? data.data : data;
93
- const meta = isOutputWithMetadata(data) ? data.meta : void 0;
94
- let processed = outputData;
95
- if (jqExpr) {
96
- processed = await applyJq(outputData, jqExpr);
97
- }
98
- if (format === "table") {
99
- return formatTable(processed);
100
- }
101
- const envelope = {
102
- ok: true,
103
- data: processed,
104
- ...meta ? { meta } : {}
105
- };
106
- return JSON.stringify(envelope, null, 2);
107
- }
108
- function formatError(type, message, hint, code, meta) {
109
- const envelope = {
110
- ok: false,
111
- error: { type, message, hint, code },
112
- ...meta && Object.keys(meta).length > 0 ? { meta } : {}
113
- };
114
- return JSON.stringify(envelope, null, 2);
115
- }
116
- function printError(type, message, hint, code, meta) {
117
- const formatted = formatError(type, message, hint, code, meta);
118
- process.stderr.write(formatted + "\n");
119
- logger.error(`[${type}] ${message}${hint ? " | " + hint : ""}`);
120
- }
121
- async function printOutput(data, format, jqExpr) {
122
- process.stdout.write(await formatOutput(data, format, jqExpr) + "\n");
123
- }
124
-
125
- export {
126
- withOutputMetadata,
127
- printError,
128
- printOutput
129
- };