@thinkingai/ae-cli 6.1.27 → 6.1.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +52 -6
- package/README.zh.md +52 -6
- package/bin/ae-cli.js +5 -0
- package/bin/runtime-capabilities.json +5 -0
- package/cli-installation-guide.md +24 -3
- package/dist/{auth-WA7YGGRT.js → auth-OBQ5KVQM.js} +175 -45
- package/dist/{automation-VAAQBM7Y.js → automation-NAR5DDGL.js} +94 -38
- package/dist/{capability-GAAYJ3IQ.js → capability-LFSVNI5B.js} +57 -28
- package/dist/chunk-2UW3Y463.js +2289 -0
- package/dist/{chunk-VZZNLV3I.js → chunk-3SDHJOCR.js} +68 -18
- package/dist/chunk-6HAUVWOQ.js +132 -0
- package/dist/{chunk-5XJYLEVC.js → chunk-72NJKS7O.js} +4 -4
- package/dist/{chunk-Q5US7JC5.js → chunk-7JAVT5TK.js} +3 -3
- package/dist/{chunk-7KU2WNQE.js → chunk-CVCTFLSO.js} +37 -15
- package/dist/{chunk-GHXZK54S.js → chunk-H3K5UGYC.js} +41 -13
- package/dist/{chunk-OP44TT4H.js → chunk-IN7KKL6K.js} +4 -2
- package/dist/{chunk-S6M42KND.js → chunk-JEUXDY3B.js} +1 -1
- package/dist/{chunk-ZL7SGNIA.js → chunk-JNVVJ273.js} +58 -46
- package/dist/chunk-N6XBLRB7.js +105 -0
- package/dist/{chunk-AP7YP2NX.js → chunk-OAWPT7VP.js} +2 -2
- package/dist/{chunk-AQJPNWZF.js → chunk-PWXDWMCW.js} +7 -7
- package/dist/{chunk-CT7QDJS6.js → chunk-QVRIDN42.js} +2 -2
- package/dist/chunk-QZLRHGVH.js +222 -0
- package/dist/{chunk-RPBOAQQQ.js → chunk-QZUVLFNR.js} +1 -1
- package/dist/{chunk-3YVEAZUN.js → chunk-RJHGDWSC.js} +32 -21
- package/dist/{chunk-MWIA43UJ.js → chunk-VCZE3IWO.js} +10 -8
- package/dist/chunk-YVG6QD3V.js +233 -0
- package/dist/{chunk-WNGFSIOB.js → chunk-Z3Q2AEIN.js} +237 -86
- package/dist/{community-report-client-PEERQCX2.js → community-report-client-TJVCLZ3K.js} +1 -1
- package/dist/compat-check-CII6B74E.js +32 -0
- package/dist/{config-JOD5DOPE.js → config-YZ6O2UQ2.js} +40 -7
- package/dist/{context-NGVFPCBK.js → context-F6FCGTF3.js} +4 -4
- package/dist/{data-integration-BCLQFTGU.js → data-integration-6UAZO4GG.js} +207 -24
- package/dist/evaluation-4LO2O4AF.js +3714 -0
- package/dist/index.js +352 -81
- package/dist/{local-data-upload-client-TWMHFLUA.js → local-data-upload-client-KCMG6J62.js} +1 -1
- package/dist/{memory-CQKH2JAV.js → memory-HHPX3NF2.js} +6 -6
- package/dist/{metadata-NR3PHR23.js → metadata-TIFY24LW.js} +17 -9
- package/dist/{model-VX5M2CJ6.js → model-7UHGWYVR.js} +4 -4
- package/dist/{personal-semantic-preference-2RAI36P3.js → personal-semantic-preference-WKJEGPTM.js} +7 -6
- package/dist/{project-semantic-3BUGP3ZM.js → project-semantic-EIQVZNHW.js} +11 -10
- package/dist/{sync-RZIAV37C.js → sync-RV3OPCTI.js} +8 -7
- package/dist/{te-agent-AORRE2FM.js → te-agent-5ENVZJUH.js} +757 -94
- package/dist/{te-analysis-GP7DSQ7Q.js → te-analysis-USIK6ZZG.js} +584 -100
- package/dist/{te-community-42M7ICDO.js → te-community-WE2UU4XV.js} +722 -228
- package/dist/{te-dataops-BNKNZ4F2.js → te-dataops-XNMO7MBF.js} +9 -6
- package/dist/{te-engage-2CO6LRCX.js → te-engage-6C3HCFQR.js} +13 -12
- package/dist/{te-experiment-652CLXMU.js → te-experiment-LVTRI3QK.js} +55 -21
- package/dist/{te-kb-ULATOTQ3.js → te-kb-TUPGMVBY.js} +409 -85
- package/dist/{te-system-UGHVKBVV.js → te-system-YM657FKO.js} +6 -6
- package/dist/{te-team-YA6SNOJ3.js → te-team-G4VEJJNL.js} +64 -41
- package/dist/{things-DTCOQIQB.js → things-22KQWC23.js} +7 -7
- package/dist/{update-ESNYKUVR.js → update-XX4ILU7X.js} +11 -7
- package/dist/{workspace-JEOHKFPX.js → workspace-LYDAP647.js} +6 -6
- package/package.json +26 -11
- package/skills/ae-agent/SKILL.md +22 -3
- package/skills/ae-agent/references/command_index.md +8 -0
- package/skills/ae-agent/references/resource-package.md +57 -0
- package/skills/ae-analysis/SKILL.md +23 -10
- package/skills/ae-analysis/references/adhoc_export.md +1 -1
- package/skills/ae-analysis/references/agent_review_preflight.md +55 -10
- package/skills/ae-analysis/references/agent_review_priorities_comparisons.md +5 -3
- package/skills/ae-analysis/references/agent_review_submit_to_page.md +60 -24
- package/skills/ae-analysis/references/ai_models/event.md +58 -2
- package/skills/ae-analysis/references/ai_models/rank_list.md +1 -0
- package/skills/ae-analysis/references/ai_models/retention.md +2 -0
- package/skills/ae-analysis/references/ai_models/revenue.md +2 -0
- package/skills/ae-analysis/references/analysis_data_export.md +11 -1
- package/skills/ae-analysis/references/asset_batch_info_export.md +2 -2
- package/skills/ae-analysis/references/asset_batch_sql_export.md +2 -2
- package/skills/ae-analysis/references/asset_export.md +1 -1
- package/skills/ae-analysis/references/bi_panel_page_data_export.md +1 -1
- package/skills/ae-analysis/references/check_export.md +1 -1
- package/skills/ae-analysis/references/command_index.md +39 -26
- package/skills/ae-analysis/references/dashboard_report_data_export.md +2 -0
- package/skills/ae-analysis/references/dashboard_report_get.md +6 -2
- package/skills/ae-analysis/references/dashboard_report_update.md +24 -5
- package/skills/ae-analysis/references/feedback_submit.md +1 -1
- package/skills/ae-analysis/references/governance_recommendation_export.md +40 -18
- package/skills/ae-analysis/references/governance_recommendation_run_update.md +13 -0
- package/skills/ae-analysis/references/live_data_export.md +1 -1
- package/skills/ae-analysis/references/metric_create.md +29 -0
- package/skills/ae-analysis/references/metric_get.md +2 -0
- package/skills/ae-analysis/references/metric_update.md +2 -0
- package/skills/ae-analysis/references/operation_record_export.md +1 -1
- package/skills/ae-analysis/references/plan_change_log_export.md +1 -1
- package/skills/ae-analysis/references/plan_export.md +1 -1
- package/skills/ae-analysis/references/project_info_get.md +4 -0
- package/skills/ae-analysis/references/project_member_group_add_members.md +35 -0
- package/skills/ae-analysis/references/project_member_group_create.md +25 -0
- package/skills/ae-analysis/references/project_member_group_delete.md +34 -0
- package/skills/ae-analysis/references/project_member_group_list.md +29 -0
- package/skills/ae-analysis/references/project_member_group_members.md +28 -0
- package/skills/ae-analysis/references/project_member_group_remove_members.md +35 -0
- package/skills/ae-analysis/references/project_member_group_rename.md +26 -0
- package/skills/ae-analysis/references/project_semantic_knowledge_wiki.md +9 -1
- package/skills/ae-analysis/references/project_semantic_knowledge_wiki_plan_schema.md +6 -1
- package/skills/ae-analysis/references/report_data_export.md +1 -1
- package/skills/ae-analysis/references/scenario_append.md +31 -0
- package/skills/ae-analysis/references/scenario_begin.md +11 -0
- package/skills/ae-analysis/references/scenario_collect.md +43 -0
- package/skills/ae-analysis/references/scenario_evaluation.md +18 -0
- package/skills/ae-analysis/references/scenario_get.md +15 -0
- package/skills/ae-analysis/references/scenario_list.md +64 -0
- package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/build-project-semantic-wiki.mjs +73 -4
- package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/company-kb.mjs +14 -1
- package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/default-compile-schema.md +5 -1
- package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/execution-contract.mjs +173 -0
- package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/generate-build-ir.mjs +109 -64
- package/skills/ae-automation/SKILL.md +2 -2
- package/skills/ae-automation/references/cli.md +18 -1
- package/skills/ae-capability/SKILL.md +7 -3
- package/skills/ae-community/SKILL.md +77 -27
- package/skills/ae-community/references/community-analyzing-theme-comment.md +10 -8
- package/skills/ae-community/references/community-data-quality.md +68 -0
- package/skills/ae-community/references/community-query-evidence.md +85 -0
- package/skills/ae-community/references/community-scenario-capabilities.md +137 -0
- package/skills/ae-community/references/community-weekly-report.md +6 -3
- package/skills/ae-community/references/get_channel_info.md +7 -4
- package/skills/ae-community/references/get_comment_tag_analysis.md +3 -3
- package/skills/ae-community/references/get_comments_summary.md +4 -4
- package/skills/ae-community/references/get_corpus_tags.md +3 -3
- package/skills/ae-community/references/get_daily_summary.md +3 -3
- package/skills/ae-community/references/get_hot_topics.md +3 -3
- package/skills/ae-community/references/get_livestream_analysis.md +3 -3
- package/skills/ae-community/references/get_livestream_detail.md +4 -4
- package/skills/ae-community/references/get_livestream_list.md +3 -3
- package/skills/ae-community/references/get_livestream_overview.md +3 -3
- package/skills/ae-community/references/get_livestream_room_metrics.md +3 -3
- package/skills/ae-community/references/get_livestream_rooms.md +3 -3
- package/skills/ae-community/references/get_overview_metrics.md +3 -3
- package/skills/ae-community/references/get_post_detail.md +4 -4
- package/skills/ae-community/references/get_risk_content.md +5 -5
- package/skills/ae-community/references/get_sentiment_overview.md +4 -4
- package/skills/ae-community/references/get_tag_trends.md +3 -3
- package/skills/ae-community/references/get_topic_detail.md +3 -3
- package/skills/ae-community/references/list_sources.md +28 -0
- package/skills/ae-community/references/list_spaces.md +39 -0
- package/skills/ae-community/references/search_posts.md +21 -7
- package/skills/ae-data-integration/SKILL.md +6 -4
- package/skills/ae-data-integration/references/error-handling.md +1 -0
- package/skills/ae-data-integration/references/handoff.md +1 -1
- package/skills/ae-data-integration/references/sink-upload.md +11 -0
- package/skills/ae-data-integration/references/source-inspect.md +2 -1
- package/skills/ae-data-integration/references/transform.md +1 -1
- package/skills/ae-data-integration/references/ue-mapping.md +1 -1
- package/skills/ae-evaluation/SKILL.md +83 -0
- package/skills/ae-evaluation/references/access-and-members.md +55 -0
- package/skills/ae-evaluation/references/connections.md +78 -0
- package/skills/ae-evaluation/references/datasets.md +57 -0
- package/skills/ae-evaluation/references/evaluators.md +81 -0
- package/skills/ae-evaluation/references/files.md +33 -0
- package/skills/ae-evaluation/references/integrations.md +39 -0
- package/skills/ae-evaluation/references/runs.md +160 -0
- package/skills/ae-evaluation/references/schedules.md +31 -0
- package/skills/ae-experiment/SKILL.md +7 -1
- package/skills/ae-experiment/references/manage_experiment.md +18 -1
- package/skills/ae-experiment/references/query_experiment_detail.md +7 -0
- package/skills/ae-experiment/references/save_experiment.md +76 -2
- package/skills/ae-experiment/references/save_submit_experiment.md +7 -0
- package/skills/ae-kb/SKILL.md +33 -7
- package/skills/ae-kb/references/publication.md +81 -0
- package/skills/ae-kb/references/query-workflow.md +14 -1
- package/skills/ae-metadata/SKILL.md +3 -2
- package/skills/ae-metadata/references/metadata_data_table_download.md +7 -1
- package/skills/ae-metadata/references/metadata_data_table_get.md +37 -0
- package/skills/ae-system/SKILL.md +1 -1
- package/skills/ae-team/SKILL.md +2 -2
- package/skills/ae-team/references/run-start.md +1 -0
- package/skills/ae-team/references/run-watch.md +7 -5
- package/skills/ae-things/SKILL.md +53 -51
- package/skills/ae-things/references/cli.md +56 -54
- package/skills/ae-things-progress/SKILL.md +20 -20
- package/skills/ae-things-review/SKILL.md +19 -19
- package/skills/ae-workspace/SKILL.md +1 -1
- package/dist/chunk-6VNIR4AP.js +0 -1422
- package/dist/chunk-CI24BDR2.js +0 -43
|
@@ -12,8 +12,9 @@ You are "Director of Community Operations + Senior Data Analyst". The goal is no
|
|
|
12
12
|
## Time deduction rules
|
|
13
13
|
|
|
14
14
|
1. The user clearly gives the date: query strictly according to the user scope.
|
|
15
|
-
2. The user does not provide a date: automatically retrieve the past 7 days (`endTime=yesterday`, `startTime=endTime-
|
|
16
|
-
3.
|
|
15
|
+
2. The user does not provide a date: automatically retrieve the past 7 days (`endTime=yesterday`, `startTime=endTime-6d`).
|
|
16
|
+
3. These bounds include both dates: state the exact seven calendar days and service timezone. Use the preceding seven days for an equal-length comparison. Missing or failed data is unknown, never zero.
|
|
17
|
+
4. For filtered questions, use the same effective visual query for all comparisons and evidence. An unfiltered overview is not the denominator of a filtered search.
|
|
17
18
|
|
|
18
19
|
## Required tool chain
|
|
19
20
|
|
|
@@ -24,7 +25,9 @@ You are "Director of Community Operations + Senior Data Analyst". The goal is no
|
|
|
24
25
|
5. `+get_risk_content` (compliance risk control)
|
|
25
26
|
6. `+get_hot_topics` (hotspot assisted verification)
|
|
26
27
|
|
|
27
|
-
## Output structure
|
|
28
|
+
## Output structure
|
|
29
|
+
|
|
30
|
+
Mark unsupported or unavailable sections explicitly. Never invent results to fill this template.
|
|
28
31
|
|
|
29
32
|
1. **Core summary of the report**: Setting the tone for this week + hot keywords
|
|
30
33
|
2. **Overview indicator board**: total volume, sentiment distribution, channel matrix (table)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# ae-community +get_channel_info
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
Get the list of valid channels for the community space, including channel IDs and names. **This is the prerequisite step for most commands that require `--channel-id` / `--channel-id-list
|
|
4
|
+
Get the list of valid channels for the community space, including channel IDs and names. **This is the prerequisite step for most commands that require `--channel-id` / `--channel-id-list`**: first get the real channel ID here, then call `+search_posts`, `+get_post_detail`, `+get_comments_summary`, `+get_livestream_list`, etc. If the space ID is unknown, run `ae-cli community spaces list` first.
|
|
5
5
|
|
|
6
6
|
Mapping command: `ae-cli community +get_channel_info`
|
|
7
7
|
|
|
@@ -9,12 +9,15 @@ Mapping command: `ae-cli community +get_channel_info`
|
|
|
9
9
|
|
|
10
10
|
| Flag | Type | Required | Description |
|
|
11
11
|
|------|------|------|------|
|
|
12
|
-
| `--space-id` |
|
|
13
|
-
| `--game-id` |
|
|
12
|
+
| `--space-id` | int64 | yes | Community space ID returned by `community spaces list` |
|
|
13
|
+
| `--game-id` | int64 | no | Deprecated compatibility alias; omit it, or make it equal to `--space-id` |
|
|
14
14
|
|
|
15
15
|
## Example
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
18
|
# Get channel list
|
|
19
|
-
ae-cli community +get_channel_info --space-id 1
|
|
19
|
+
ae-cli community +get_channel_info --space-id 1
|
|
20
20
|
```
|
|
21
|
+
|
|
22
|
+
Copy returned channel IDs exactly. JSON output preserves IDs outside JavaScript's safe integer range
|
|
23
|
+
as strings.
|
|
@@ -9,8 +9,8 @@ Mapping command: `ae-cli community +get_comment_tag_analysis`
|
|
|
9
9
|
|
|
10
10
|
| Flag | Type | Required | Description |
|
|
11
11
|
|------|------|------|------|
|
|
12
|
-
| `--space-id` |
|
|
13
|
-
| `--game-id` |
|
|
12
|
+
| `--space-id` | int64 | yes | Community space ID returned by `community spaces list` |
|
|
13
|
+
| `--game-id` | int64 | no | Deprecated compatibility alias; omit it, or make it equal to `--space-id` |
|
|
14
14
|
| `--channel-id` | number | yes | channel ID |
|
|
15
15
|
| `--uuid` | string | yes | content UUID |
|
|
16
16
|
| `--resource-type` | number | Yes | Resource type: `0` for posts, `1` for videos |
|
|
@@ -23,7 +23,7 @@ Mapping command: `ae-cli community +get_comment_tag_analysis`
|
|
|
23
23
|
```bash
|
|
24
24
|
# Analyze comment tags
|
|
25
25
|
ae-cli community +get_comment_tag_analysis \
|
|
26
|
-
--space-id 1
|
|
26
|
+
--space-id 1 \
|
|
27
27
|
--channel-id 1 --uuid <uuid> \
|
|
28
28
|
--resource-type 0 --tag-code "sentiment"
|
|
29
29
|
```
|
|
@@ -9,8 +9,8 @@ Mapping command: `ae-cli community +get_comments_summary`
|
|
|
9
9
|
|
|
10
10
|
| Flag | Type | Required | Description |
|
|
11
11
|
|------|------|------|------|
|
|
12
|
-
| `--space-id` |
|
|
13
|
-
| `--game-id` |
|
|
12
|
+
| `--space-id` | int64 | yes | Community space ID returned by `community spaces list` |
|
|
13
|
+
| `--game-id` | int64 | no | Deprecated compatibility alias; omit it, or make it equal to `--space-id` |
|
|
14
14
|
| `--channel-id` | number | yes | channel ID |
|
|
15
15
|
| `--uuid` | string | yes | content UUID |
|
|
16
16
|
| `--start-time` | string | No | Earliest comment publish date, format yyyy-MM-dd, default is the publishing time of the post |
|
|
@@ -21,12 +21,12 @@ Mapping command: `ae-cli community +get_comments_summary`
|
|
|
21
21
|
```bash
|
|
22
22
|
# Get comment summary
|
|
23
23
|
ae-cli community +get_comments_summary \
|
|
24
|
-
--space-id 1
|
|
24
|
+
--space-id 1 \
|
|
25
25
|
--channel-id 1 --uuid <uuid>
|
|
26
26
|
|
|
27
27
|
#Specify time range
|
|
28
28
|
ae-cli community +get_comments_summary \
|
|
29
|
-
--space-id 1
|
|
29
|
+
--space-id 1 \
|
|
30
30
|
--channel-id 1 --uuid <uuid> \
|
|
31
31
|
--start-time 2024-01-01 --end-time 2024-01-07
|
|
32
32
|
```
|
|
@@ -9,12 +9,12 @@ Mapping command: `ae-cli community +get_corpus_tags`
|
|
|
9
9
|
|
|
10
10
|
| Flag | Type | Required | Description |
|
|
11
11
|
|------|------|------|------|
|
|
12
|
-
| `--space-id` |
|
|
13
|
-
| `--game-id` |
|
|
12
|
+
| `--space-id` | int64 | yes | Community space ID returned by `community spaces list` |
|
|
13
|
+
| `--game-id` | int64 | no | Deprecated compatibility alias; omit it, or make it equal to `--space-id` |
|
|
14
14
|
|
|
15
15
|
## Example
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
18
|
# Get the tag list
|
|
19
|
-
ae-cli community +get_corpus_tags --space-id 1
|
|
19
|
+
ae-cli community +get_corpus_tags --space-id 1
|
|
20
20
|
```
|
|
@@ -9,8 +9,8 @@ Mapping command: `ae-cli community +get_daily_summary`
|
|
|
9
9
|
|
|
10
10
|
| Flag | Type | Required | Description |
|
|
11
11
|
|------|------|------|------|
|
|
12
|
-
| `--space-id` |
|
|
13
|
-
| `--game-id` |
|
|
12
|
+
| `--space-id` | int64 | yes | Community space ID returned by `community spaces list` |
|
|
13
|
+
| `--game-id` | int64 | no | Deprecated compatibility alias; omit it, or make it equal to `--space-id` |
|
|
14
14
|
| `--date` | string | Yes | Date, format yyyy-MM-dd |
|
|
15
15
|
|
|
16
16
|
## Example
|
|
@@ -18,5 +18,5 @@ Mapping command: `ae-cli community +get_daily_summary`
|
|
|
18
18
|
```bash
|
|
19
19
|
# Get daily report
|
|
20
20
|
ae-cli community +get_daily_summary \
|
|
21
|
-
--space-id 1 --
|
|
21
|
+
--space-id 1 --date 2024-01-01
|
|
22
22
|
```
|
|
@@ -9,8 +9,8 @@ Mapping command: `ae-cli community +get_hot_topics`
|
|
|
9
9
|
|
|
10
10
|
| Flag | Type | Required | Description |
|
|
11
11
|
|------|------|------|------|
|
|
12
|
-
| `--space-id` |
|
|
13
|
-
| `--game-id` |
|
|
12
|
+
| `--space-id` | int64 | yes | Community space ID returned by `community spaces list` |
|
|
13
|
+
| `--game-id` | int64 | no | Deprecated compatibility alias; omit it, or make it equal to `--space-id` |
|
|
14
14
|
| `--start-time` | string | No | Topic statistics start time, format yyyy-MM-dd |
|
|
15
15
|
| `--end-time` | string | No | Topic statistics end time, format yyyy-MM-dd |
|
|
16
16
|
| `--order-by` | number | No | Sort: 0 by popularity desc, 1 by start time desc |
|
|
@@ -20,6 +20,6 @@ Mapping command: `ae-cli community +get_hot_topics`
|
|
|
20
20
|
```bash
|
|
21
21
|
# Get hot topics
|
|
22
22
|
ae-cli community +get_hot_topics \
|
|
23
|
-
--space-id 1
|
|
23
|
+
--space-id 1 \
|
|
24
24
|
--start-time 2024-01-01 --end-time 2024-01-07
|
|
25
25
|
```
|
|
@@ -9,14 +9,14 @@ Mapping command: `ae-cli community +get_livestream_analysis`
|
|
|
9
9
|
|
|
10
10
|
| Flag | Type | Required | Description |
|
|
11
11
|
|------|------|------|------|
|
|
12
|
-
| `--space-id` |
|
|
13
|
-
| `--game-id` |
|
|
12
|
+
| `--space-id` | int64 | yes | Community space ID returned by `community spaces list` |
|
|
13
|
+
| `--game-id` | int64 | no | Deprecated compatibility alias; omit it, or make it equal to `--space-id` |
|
|
14
14
|
| `--stream-id` | string | Yes | Livestream session ID, streamId from `get_livestream_list` |
|
|
15
15
|
|
|
16
16
|
## Example
|
|
17
17
|
|
|
18
18
|
```bash
|
|
19
19
|
ae-cli community +get_livestream_analysis \
|
|
20
|
-
--space-id 1
|
|
20
|
+
--space-id 1 \
|
|
21
21
|
--stream-id <stream-id>
|
|
22
22
|
```
|
|
@@ -9,8 +9,8 @@ Mapping command: `ae-cli community +get_livestream_detail`
|
|
|
9
9
|
|
|
10
10
|
| Flag | Type | Required | Description |
|
|
11
11
|
|------|------|------|------|
|
|
12
|
-
| `--space-id` |
|
|
13
|
-
| `--game-id` |
|
|
12
|
+
| `--space-id` | int64 | yes | Community space ID returned by `community spaces list` |
|
|
13
|
+
| `--game-id` | int64 | no | Deprecated compatibility alias; omit it, or make it equal to `--space-id` |
|
|
14
14
|
| `--stream-id` | string | Yes | Live session ID, obtained from get_livestream_list |
|
|
15
15
|
| `--activity-types` | string | No | Interaction type filtering: 0 danmaku, 1 gift, 2 eye-catching message, 3 premium, comma separated |
|
|
16
16
|
| `--anchor-time` | string | No | Interaction anchor time, format yyyy-MM-dd HH:mm |
|
|
@@ -24,10 +24,10 @@ Mapping command: `ae-cli community +get_livestream_detail`
|
|
|
24
24
|
```bash
|
|
25
25
|
# Get livestream details
|
|
26
26
|
ae-cli community +get_livestream_detail \
|
|
27
|
-
--space-id 1 --
|
|
27
|
+
--space-id 1 --stream-id <stream-id>
|
|
28
28
|
|
|
29
29
|
# Filter danmaku types
|
|
30
30
|
ae-cli community +get_livestream_detail \
|
|
31
|
-
--space-id 1 --
|
|
31
|
+
--space-id 1 --stream-id <stream-id> \
|
|
32
32
|
--activity-types 0,1
|
|
33
33
|
```
|
|
@@ -9,8 +9,8 @@ Mapping command: `ae-cli community +get_livestream_list`
|
|
|
9
9
|
|
|
10
10
|
| Flag | Type | Required | Description |
|
|
11
11
|
|------|------|------|------|
|
|
12
|
-
| `--space-id` |
|
|
13
|
-
| `--game-id` |
|
|
12
|
+
| `--space-id` | int64 | yes | Community space ID returned by `community spaces list` |
|
|
13
|
+
| `--game-id` | int64 | no | Deprecated compatibility alias; omit it, or make it equal to `--space-id` |
|
|
14
14
|
| `--channel-id` | number | no | Channel ID (obtain via `get_livestream_rooms`) |
|
|
15
15
|
| `--room-id` | string | No | Room ID (obtain via `get_livestream_rooms`) |
|
|
16
16
|
| `--start-time` | string | No | Start date for statistics, format yyyy-MM-dd |
|
|
@@ -21,5 +21,5 @@ Mapping command: `ae-cli community +get_livestream_list`
|
|
|
21
21
|
```bash
|
|
22
22
|
# Get the livestream session list
|
|
23
23
|
ae-cli community +get_livestream_list \
|
|
24
|
-
--space-id 1 --
|
|
24
|
+
--space-id 1 --channel-id 1
|
|
25
25
|
```
|
|
@@ -9,8 +9,8 @@ Mapping command: `ae-cli community +get_livestream_overview`
|
|
|
9
9
|
|
|
10
10
|
| Flag | Type | Required | Description |
|
|
11
11
|
|------|------|------|------|
|
|
12
|
-
| `--space-id` |
|
|
13
|
-
| `--game-id` |
|
|
12
|
+
| `--space-id` | int64 | yes | Community space ID returned by `community spaces list` |
|
|
13
|
+
| `--game-id` | int64 | no | Deprecated compatibility alias; omit it, or make it equal to `--space-id` |
|
|
14
14
|
| `--start-time` | string | No | Start date for statistics, format yyyy-MM-dd |
|
|
15
15
|
| `--end-time` | string | No | End date for statistics, format yyyy-MM-dd |
|
|
16
16
|
|
|
@@ -19,6 +19,6 @@ Mapping command: `ae-cli community +get_livestream_overview`
|
|
|
19
19
|
```bash
|
|
20
20
|
# Get livestream overview
|
|
21
21
|
ae-cli community +get_livestream_overview \
|
|
22
|
-
--space-id 1
|
|
22
|
+
--space-id 1 \
|
|
23
23
|
--start-time 2024-01-01 --end-time 2024-01-07
|
|
24
24
|
```
|
|
@@ -9,8 +9,8 @@ Mapping command: `ae-cli community +get_livestream_room_metrics`
|
|
|
9
9
|
|
|
10
10
|
| Flag | Type | Required | Description |
|
|
11
11
|
|------|------|------|------|
|
|
12
|
-
| `--space-id` |
|
|
13
|
-
| `--game-id` |
|
|
12
|
+
| `--space-id` | int64 | yes | Community space ID returned by `community spaces list` |
|
|
13
|
+
| `--game-id` | int64 | no | Deprecated compatibility alias; omit it, or make it equal to `--space-id` |
|
|
14
14
|
| `--channel-id` | number | Yes | Channel ID (obtain via `get_livestream_rooms`) |
|
|
15
15
|
| `--room-id` | string | yes | Room ID (obtain via `get_livestream_rooms`) |
|
|
16
16
|
| `--year` | string | No | Year, format yyyy, default is the current year |
|
|
@@ -20,6 +20,6 @@ Mapping command: `ae-cli community +get_livestream_room_metrics`
|
|
|
20
20
|
```bash
|
|
21
21
|
# Get the annual indicators of the livestream room
|
|
22
22
|
ae-cli community +get_livestream_room_metrics \
|
|
23
|
-
--space-id 1
|
|
23
|
+
--space-id 1 \
|
|
24
24
|
--channel-id 1 --room-id <room-id> --year 2024
|
|
25
25
|
```
|
|
@@ -9,8 +9,8 @@ Mapping command: `ae-cli community +get_livestream_rooms`
|
|
|
9
9
|
|
|
10
10
|
| Flag | Type | Required | Description |
|
|
11
11
|
|------|------|------|------|
|
|
12
|
-
| `--space-id` |
|
|
13
|
-
| `--game-id` |
|
|
12
|
+
| `--space-id` | int64 | yes | Community space ID returned by `community spaces list` |
|
|
13
|
+
| `--game-id` | int64 | no | Deprecated compatibility alias; omit it, or make it equal to `--space-id` |
|
|
14
14
|
| `--channel-id-list` | string | No | List of channel IDs, comma separated |
|
|
15
15
|
| `--start-time` | string | No | Start date for statistics, format yyyy-MM-dd |
|
|
16
16
|
| `--end-time` | string | No | End date for statistics, format yyyy-MM-dd |
|
|
@@ -20,6 +20,6 @@ Mapping command: `ae-cli community +get_livestream_rooms`
|
|
|
20
20
|
```bash
|
|
21
21
|
# Search livestream room
|
|
22
22
|
ae-cli community +get_livestream_rooms \
|
|
23
|
-
--space-id 1
|
|
23
|
+
--space-id 1 \
|
|
24
24
|
--start-time 2024-01-01 --end-time 2024-01-07
|
|
25
25
|
```
|
|
@@ -9,8 +9,8 @@ Mapping command: `ae-cli community +get_overview_metrics`
|
|
|
9
9
|
|
|
10
10
|
| Flag | Type | Required | Description |
|
|
11
11
|
|------|------|------|------|
|
|
12
|
-
| `--space-id` |
|
|
13
|
-
| `--game-id` |
|
|
12
|
+
| `--space-id` | int64 | yes | Community space ID returned by `community spaces list` |
|
|
13
|
+
| `--game-id` | int64 | no | Deprecated compatibility alias; omit it, or make it equal to `--space-id` |
|
|
14
14
|
| `--channel-id-list` | string | No | List of channel IDs, comma separated |
|
|
15
15
|
| `--start-time` | string | Yes | Start date for statistics, format yyyy-MM-dd |
|
|
16
16
|
| `--end-time` | string | Yes | End date for statistics, format yyyy-MM-dd |
|
|
@@ -20,6 +20,6 @@ Mapping command: `ae-cli community +get_overview_metrics`
|
|
|
20
20
|
```bash
|
|
21
21
|
# Get overall indicators
|
|
22
22
|
ae-cli community +get_overview_metrics \
|
|
23
|
-
--space-id 1
|
|
23
|
+
--space-id 1 \
|
|
24
24
|
--start-time 2024-01-01 --end-time 2024-01-07
|
|
25
25
|
```
|
|
@@ -9,8 +9,8 @@ Mapping command: `ae-cli community +get_post_detail`
|
|
|
9
9
|
|
|
10
10
|
| Flag | Type | Required | Description |
|
|
11
11
|
|------|------|------|------|
|
|
12
|
-
| `--space-id` |
|
|
13
|
-
| `--game-id` |
|
|
12
|
+
| `--space-id` | int64 | yes | Community space ID returned by `community spaces list` |
|
|
13
|
+
| `--game-id` | int64 | no | Deprecated compatibility alias; omit it, or make it equal to `--space-id` |
|
|
14
14
|
| `--channel-id` | number | yes | channel ID |
|
|
15
15
|
| `--uuid` | string | yes | content UUID |
|
|
16
16
|
| `--resource-type` | number | Yes | Resource type: `0` for posts, `1` for videos |
|
|
@@ -26,12 +26,12 @@ Mapping command: `ae-cli community +get_post_detail`
|
|
|
26
26
|
```bash
|
|
27
27
|
# Get post details
|
|
28
28
|
ae-cli community +get_post_detail \
|
|
29
|
-
--space-id 1
|
|
29
|
+
--space-id 1 \
|
|
30
30
|
--channel-id 1 --uuid <uuid> --resource-type 0
|
|
31
31
|
|
|
32
32
|
# Get video details and page comments
|
|
33
33
|
ae-cli community +get_post_detail \
|
|
34
|
-
--space-id 1
|
|
34
|
+
--space-id 1 \
|
|
35
35
|
--channel-id 1 --uuid <uuid> --resource-type 1 \
|
|
36
36
|
--reply-page-num 1 --reply-page-size 20
|
|
37
37
|
```
|
|
@@ -9,8 +9,8 @@ Mapping command: `ae-cli community +get_risk_content`
|
|
|
9
9
|
|
|
10
10
|
| Flag | Type | Required | Description |
|
|
11
11
|
|------|------|------|------|
|
|
12
|
-
| `--space-id` |
|
|
13
|
-
| `--game-id` |
|
|
12
|
+
| `--space-id` | int64 | yes | Community space ID returned by `community spaces list` |
|
|
13
|
+
| `--game-id` | int64 | no | Deprecated compatibility alias; omit it, or make it equal to `--space-id` |
|
|
14
14
|
| `--start-time` | string | Yes | Lower limit of release time for risky content, format yyyy-MM-dd |
|
|
15
15
|
| `--end-time` | string | yes | upper limit of release time for risky content, format yyyy-MM-dd |
|
|
16
16
|
| `--risk-codes` | string | No | List of risk type codes, comma separated |
|
|
@@ -25,18 +25,18 @@ Mapping command: `ae-cli community +get_risk_content`
|
|
|
25
25
|
```bash
|
|
26
26
|
# Query risk content
|
|
27
27
|
ae-cli community +get_risk_content \
|
|
28
|
-
--space-id 1
|
|
28
|
+
--space-id 1 \
|
|
29
29
|
--start-time 2024-01-01 --end-time 2024-01-07
|
|
30
30
|
|
|
31
31
|
# Filter by risk type
|
|
32
32
|
ae-cli community +get_risk_content \
|
|
33
|
-
--space-id 1
|
|
33
|
+
--space-id 1 \
|
|
34
34
|
--start-time 2024-01-01 --end-time 2024-01-07 \
|
|
35
35
|
--risk-codes 1,2
|
|
36
36
|
|
|
37
37
|
# Keyword search
|
|
38
38
|
ae-cli community +get_risk_content \
|
|
39
|
-
--space-id 1
|
|
39
|
+
--space-id 1 \
|
|
40
40
|
--start-time 2024-01-01 --end-time 2024-01-07 \
|
|
41
41
|
--search-word "violating keywords"
|
|
42
42
|
```
|
|
@@ -9,8 +9,8 @@ Mapping command: `ae-cli community +get_sentiment_overview`
|
|
|
9
9
|
|
|
10
10
|
| Flag | Type | Required | Description |
|
|
11
11
|
|------|------|------|------|
|
|
12
|
-
| `--space-id` |
|
|
13
|
-
| `--game-id` |
|
|
12
|
+
| `--space-id` | int64 | yes | Community space ID returned by `community spaces list` |
|
|
13
|
+
| `--game-id` | int64 | no | Deprecated compatibility alias; omit it, or make it equal to `--space-id` |
|
|
14
14
|
| `--channel-id-list` | string | No | List of channel IDs, comma separated |
|
|
15
15
|
| `--start-time` | string | Yes | Start date for statistics, format yyyy-MM-dd |
|
|
16
16
|
| `--end-time` | string | Yes | End date for statistics, format yyyy-MM-dd |
|
|
@@ -22,12 +22,12 @@ Mapping command: `ae-cli community +get_sentiment_overview`
|
|
|
22
22
|
```bash
|
|
23
23
|
#emotionoverview
|
|
24
24
|
ae-cli community +get_sentiment_overview \
|
|
25
|
-
--space-id 1
|
|
25
|
+
--space-id 1 \
|
|
26
26
|
--start-time 2024-01-01 --end-time 2024-01-07
|
|
27
27
|
|
|
28
28
|
# Limit the number of returns
|
|
29
29
|
ae-cli community +get_sentiment_overview \
|
|
30
|
-
--space-id 1
|
|
30
|
+
--space-id 1 \
|
|
31
31
|
--start-time 2024-01-01 --end-time 2024-01-07 \
|
|
32
32
|
--limit 50
|
|
33
33
|
```
|
|
@@ -9,8 +9,8 @@ Mapping command: `ae-cli community +get_tag_trends`
|
|
|
9
9
|
|
|
10
10
|
| Flag | Type | Required | Description |
|
|
11
11
|
|------|------|------|------|
|
|
12
|
-
| `--space-id` |
|
|
13
|
-
| `--game-id` |
|
|
12
|
+
| `--space-id` | int64 | yes | Community space ID returned by `community spaces list` |
|
|
13
|
+
| `--game-id` | int64 | no | Deprecated compatibility alias; omit it, or make it equal to `--space-id` |
|
|
14
14
|
| `--tag-code` | string | Yes | Tag code (obtain via `get_corpus_tags`) |
|
|
15
15
|
| `--channel-id-list` | string | No | List of channel IDs, comma separated |
|
|
16
16
|
| `--start-time` | string | No | Start date for statistics, format yyyy-MM-dd |
|
|
@@ -21,7 +21,7 @@ Mapping command: `ae-cli community +get_tag_trends`
|
|
|
21
21
|
```bash
|
|
22
22
|
# Get tag trends
|
|
23
23
|
ae-cli community +get_tag_trends \
|
|
24
|
-
--space-id 1
|
|
24
|
+
--space-id 1 \
|
|
25
25
|
--tag-code "game_version" \
|
|
26
26
|
--start-time 2024-01-01 --end-time 2024-01-07
|
|
27
27
|
```
|
|
@@ -9,8 +9,8 @@ Mapping command: `ae-cli community +get_topic_detail`
|
|
|
9
9
|
|
|
10
10
|
| Flag | Type | Required | Description |
|
|
11
11
|
|------|------|------|------|
|
|
12
|
-
| `--space-id` |
|
|
13
|
-
| `--game-id` |
|
|
12
|
+
| `--space-id` | int64 | yes | Community space ID returned by `community spaces list` |
|
|
13
|
+
| `--game-id` | int64 | no | Deprecated compatibility alias; omit it, or make it equal to `--space-id` |
|
|
14
14
|
| `--topic-id` | string | yes | Topic ID, obtained from get_hot_topics |
|
|
15
15
|
| `--start-time` | string | Yes | Statistics start date, format yyyy-MM-dd, priority is given to the start time of the topic |
|
|
16
16
|
| `--end-time` | string | Yes | Statistics end date, format yyyy-MM-dd, priority is given to the end time of the topic |
|
|
@@ -20,7 +20,7 @@ Mapping command: `ae-cli community +get_topic_detail`
|
|
|
20
20
|
```bash
|
|
21
21
|
# Get topic details
|
|
22
22
|
ae-cli community +get_topic_detail \
|
|
23
|
-
--space-id 1
|
|
23
|
+
--space-id 1 \
|
|
24
24
|
--topic-id <topic-id> \
|
|
25
25
|
--start-time 2024-01-01 --end-time 2024-01-07
|
|
26
26
|
```
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# List Configured Community Sources
|
|
2
|
+
|
|
3
|
+
Use this L2 command when an ingestion or reporting workflow needs the exact source and channel IDs
|
|
4
|
+
configured in a selected community space.
|
|
5
|
+
|
|
6
|
+
## Command
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
ae-cli community sources list --space-id <space-id>
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Input
|
|
13
|
+
|
|
14
|
+
| Flag | Required | Description |
|
|
15
|
+
|---|---|---|
|
|
16
|
+
| `--space-id` | yes | Positive signed int64 space ID returned by `community spaces list`. |
|
|
17
|
+
|
|
18
|
+
The command is backed by `community.source.list` and requires the product's data-configuration view
|
|
19
|
+
permission. A permission error does not mean that the space has no data sources.
|
|
20
|
+
|
|
21
|
+
## Output and next step
|
|
22
|
+
|
|
23
|
+
Each source includes its `sourceId`, `sourceName`, `sourceType`, `channelId`, and `channelName`, plus
|
|
24
|
+
the configured template/config metadata. Preserve every digit of IDs exactly.
|
|
25
|
+
|
|
26
|
+
For `community data report`, select the source that matches the real data producer, then pass its
|
|
27
|
+
`sourceId` as `--source-id` and its `channelId` as `--channel-id`. Do not choose a source by position
|
|
28
|
+
in the list and never fabricate a missing source.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# ae-community spaces list
|
|
2
|
+
|
|
3
|
+
List the community spaces available to the authenticated user. Run this before curated community
|
|
4
|
+
analysis when the real `spaceId` is unknown.
|
|
5
|
+
|
|
6
|
+
Mapping command: `ae-cli community spaces list`
|
|
7
|
+
|
|
8
|
+
Capability: `community.space.list`
|
|
9
|
+
|
|
10
|
+
## Flags
|
|
11
|
+
|
|
12
|
+
No command-specific flags are required. Authentication and host selection use the standard ae-cli
|
|
13
|
+
configuration and global flags.
|
|
14
|
+
|
|
15
|
+
## Example
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
ae-cli community spaces list
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Use the returned `spaceId` as `--space-id` for `+get_channel_info` and the other curated commands.
|
|
22
|
+
IDs outside JavaScript's safe integer range are emitted as strings in JSON. Copy all digits exactly
|
|
23
|
+
and never convert an ID to a floating-point number.
|
|
24
|
+
|
|
25
|
+
## Returned count and failures
|
|
26
|
+
|
|
27
|
+
A successful array response includes `meta.returned_count`, calculated by the CLI from the number
|
|
28
|
+
of entries in `data`. Use it when reporting how many entries this call returned; verify that the
|
|
29
|
+
number matches the rows you display. It is not a global total or a count of unique space IDs.
|
|
30
|
+
If the server also supplies `returned_count`, the CLI's array count takes precedence. Other server
|
|
31
|
+
metadata, including `total` when present, is preserved with its original meaning.
|
|
32
|
+
|
|
33
|
+
The count describes the original response before any `--jq` projection or filtering. If you filter
|
|
34
|
+
the displayed rows locally, state the displayed count separately rather than presenting
|
|
35
|
+
`meta.returned_count` as the filtered count.
|
|
36
|
+
|
|
37
|
+
`ok: true`, `data: []`, and `meta.returned_count: 0` mean this successful call returned no visible
|
|
38
|
+
spaces. Authentication, permission, routing, and capability failures remain failures; never turn
|
|
39
|
+
them into an empty successful list or infer zero available spaces from an error.
|
|
@@ -9,8 +9,8 @@ Mapping command: `ae-cli community +search_posts`
|
|
|
9
9
|
|
|
10
10
|
| Flag | Type | Required | Description |
|
|
11
11
|
|------|------|------|------|
|
|
12
|
-
| `--space-id` |
|
|
13
|
-
| `--game-id` |
|
|
12
|
+
| `--space-id` | int64 | yes | Community space ID returned by `community spaces list` |
|
|
13
|
+
| `--game-id` | int64 | no | Deprecated compatibility alias; omit it, or make it equal to `--space-id` |
|
|
14
14
|
| `--channel-id-list` | string | No | List of channel IDs, comma separated |
|
|
15
15
|
| `--keywords` | string | No | List of keywords, comma separated |
|
|
16
16
|
| `--start-time` | string | Yes | Minimum content post time, format yyyy-MM-dd |
|
|
@@ -20,6 +20,8 @@ Mapping command: `ae-cli community +search_posts`
|
|
|
20
20
|
| `--search-mode` | number | No | Search mode: 0 word (default), 1 exact match, 2 author names |
|
|
21
21
|
| `--search-word` | string | No | Full-text search term, in conjunction with searchMode |
|
|
22
22
|
| `--sentiment-types` | string | No | Emotion type: 0 negative, 1 positive, 2 neutral, comma separated |
|
|
23
|
+
| `--topic-id-list` | string | No | Topic IDs returned by `+get_hot_topics`, comma separated |
|
|
24
|
+
| `--tag-filters` | JSON | No | Corpus tag filter array using `tagName`, `tagCode`, `inferenceType`, `calcuSymbol`, and optional `ftv` |
|
|
23
25
|
| `--order-by` | number | No | Sort: 0 time desc, 1 weight desc, 2 time asc, 3 replies desc, 4 heat desc |
|
|
24
26
|
| `--page-num` | number | No | Page from 1 |
|
|
25
27
|
| `--page-size` | number | No | Number of bars per page |
|
|
@@ -27,21 +29,33 @@ Mapping command: `ae-cli community +search_posts`
|
|
|
27
29
|
Examples
|
|
28
30
|
|
|
29
31
|
```bash
|
|
30
|
-
Basic search
|
|
32
|
+
# Basic search
|
|
31
33
|
ae-cli community +search_posts \
|
|
32
|
-
--space-id 1
|
|
34
|
+
--space-id 1 \
|
|
33
35
|
--start-time 2024-01-01 --end-time 2024-01-07
|
|
34
36
|
|
|
35
37
|
# Filter by channel and sentiment
|
|
36
38
|
ae-cli community +search_posts \
|
|
37
|
-
--space-id 1
|
|
39
|
+
--space-id 1 \
|
|
38
40
|
--start-time 2024-01-01 --end-time 2024-01-07 \
|
|
39
41
|
--channel-id-list 1,2 \
|
|
40
42
|
--sentiment-types 0,1
|
|
41
43
|
|
|
42
|
-
Pagination
|
|
44
|
+
# Pagination query
|
|
43
45
|
ae-cli community +search_posts \
|
|
44
|
-
--space-id 1
|
|
46
|
+
--space-id 1 \
|
|
45
47
|
--start-time 2024-01-01 --end-time 2024-01-07 \
|
|
46
48
|
--page-num 1 --page-size 20
|
|
49
|
+
|
|
50
|
+
# Filter by topic and corpus tag
|
|
51
|
+
ae-cli community +search_posts \
|
|
52
|
+
--space-id 1 \
|
|
53
|
+
--start-time 2024-01-01 --end-time 2024-01-07 \
|
|
54
|
+
--topic-id-list topic-1,topic-2 \
|
|
55
|
+
--tag-filters '[{"tagName":"Character","tagCode":"hero","inferenceType":"label","calcuSymbol":"C04"}]'
|
|
47
56
|
```
|
|
57
|
+
|
|
58
|
+
`inferenceType` must be `label` or `score` and should be copied from `+get_corpus_tags`.
|
|
59
|
+
Label filters support `C04` (has value) and `C05` (no value). Score filters support
|
|
60
|
+
`C00`, `C01`, `C02`, `C020`, `C03`, `C030`, `C04`, `C05`, and `C06`; comparisons other
|
|
61
|
+
than `C04`/`C05` require an `ftv` JSON array, and `C06` requires at least two values.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ae-data-integration
|
|
3
|
-
description: "Bring local CSV, TSV, TXT, JSON, JSONL (NDJSON), XLS, and
|
|
3
|
+
description: "Bring local CSV, TSV, TXT, JSON, JSONL (NDJSON), XLS, XLSX, and Parquet files — and Feishu sheet / Bitable (多维表格) URLs — into AE end-to-end: identify the source's business meaning, generate and confirm a tracking plan, transform rows into UE records, and upload. Also supports privacy-preserving local analysis and handing a small file to AE Agent. Use whenever a user wants to import offline/local data or a Feishu sheet / Bitable into AE, or analyze a file without uploading it. Trigger words: 本地数据导入 / 离线数据 / 数据文件 / 文件导入 / 文件上报 / CSV 导入 / Excel 导入 / TSV 导入 / JSON 导入 / Parquet 导入 / 飞书表格导入 / 在线表格导入 / 飞书多维表格导入 / 多维表格导入 / 在线多维表格导入 / 导入到 AE / 导入到 ThinkingAI / local data import / import local file / parquet import / import Feishu sheet / import Feishu Bitable."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# AE Data Integration
|
|
@@ -11,7 +11,7 @@ When remaining work is outside this skill's scope, or a necessary prerequisite n
|
|
|
11
11
|
|
|
12
12
|
Turn local/offline files and Feishu sheet / Bitable (多维表格) URLs into AE data through one fixed pipeline of four submodules: **Source → Tracking plan → Transform → Sink**. A file or sheet is never uploaded merely because it is present: its business meaning is understood, confirmed once by a human, and only then ingested. The tracking plan is generated and confirmed **before** ingestion (data governance shift-left) — see [references/tracking-plan.md](references/tracking-plan.md).
|
|
13
13
|
|
|
14
|
-
Two entrances lead here: the AE Agent dialog (attach / plus-button upload) and `ae-cli`. Two sink paths exist: RESTful
|
|
14
|
+
Two entrances lead here: the AE Agent dialog (attach / plus-button upload) and `ae-cli`. Two sink paths exist: RESTful `/sync_json` upload for one-time/small loads, and file / LogBus2 delivery (convert-only — writes `valid.ue.jsonl` to a watched directory, never uploads) for recurring/high-volume loads. Which path applies is always the user's choice, never a default. Source and Sink are pluggable — adding one does not change the main pipeline.
|
|
15
15
|
|
|
16
16
|
## Mandatory safety rules
|
|
17
17
|
|
|
@@ -31,7 +31,7 @@ Two entrances lead here: the AE Agent dialog (attach / plus-button upload) and `
|
|
|
31
31
|
|
|
32
32
|
## When to use / When NOT to use
|
|
33
33
|
|
|
34
|
-
Use this skill when the user wants to bring a **local data file** (CSV/TSV/TXT/JSON/JSONL/XLS/XLSX) or a **Feishu sheet / Bitable (多维表格) URL** into AE, or analyze a local file without uploading.
|
|
34
|
+
Use this skill when the user wants to bring a **local data file** (CSV/TSV/TXT/JSON/JSONL/XLS/XLSX/Parquet) or a **Feishu sheet / Bitable (多维表格) URL** into AE, or analyze a local file without uploading.
|
|
35
35
|
|
|
36
36
|
| User intent | Use this instead |
|
|
37
37
|
| --- | --- |
|
|
@@ -53,7 +53,9 @@ Walk the four submodules in order. Each submodule is its own reference; follow i
|
|
|
53
53
|
2. **Reuse check.** If the profile is `ue_eligible`, read [references/reuse.md](references/reuse.md) and match the recommended mapping against the handoff index. `reuse` searches the current directory's `.ae-cli/data-integration/` upward, then `~/.ae-cli/data-integration/`, so a package written elsewhere is still found. A match proposes a frozen package; after one explicit confirmation, run the returned `transform.mjs` command and jump to Sink (step 5). No match → continue.
|
|
54
54
|
3. **Tracking plan.** Read [references/tracking-plan.md](references/tracking-plan.md). The plan is generated from the mapping (`plan --mapping`), so confirm the recommended mapping's key system fields with the user first — `mode`, `#account_id`/`#distinct_id`, `#time` + timezone, `#event_name`, `#ip`/`#uuid` (see [references/transform.md](references/transform.md) steps 1–5) — then generate the event/property plan and get a single explicit confirmation from the user before touching data. The plan is a separate, required deliverable from the transform mapping: a user who supplies a column→field mapping directly has **not** completed this step, so build the plan from the confirmed mapping anyway. `user_set` still requires a plan (no events; every property becomes a user property). This step runs for **every** file: a second or later file merges its new events and properties into the existing project plan (tracking-plan.md step 4) — an existing plan is never a reason to skip it.
|
|
55
55
|
4. **Transform.** Read [references/transform.md](references/transform.md). Map columns to AE system fields and properties, convert, and quarantine dirty rows per [references/ue-mapping.md](references/ue-mapping.md).
|
|
56
|
-
5. **Sink —
|
|
56
|
+
5. **Sink — choose the path first, then act.** Read [references/sink-upload.md](references/sink-upload.md). Before resolving any destination, ask the user which sink path this data takes — never default one silently (the user handing you an endpoint/APPID is not a sink decision):
|
|
57
|
+
- **RESTful `/sync_json` upload** — one-time / small loads. Resolve the destination, dry-run, confirm, then upload per [references/sync-json-upload.md](references/sync-json-upload.md). `receiver_accepted` is not persistence: after a ~1-minute ingestion delay, verify the data landed with ae-cli (`tracking live-data list` / `tracking ingest summary` / `tracking ingest-error list`) rather than telling the user to check the console.
|
|
58
|
+
- **File / LogBus2 mode — JSONL only, never uploads** — recurring / high-volume loads (e.g. daily parquet exports). Run `convert` (or the handoff `bin/run.sh`) so `valid.ue.jsonl` lands in the directory LogBus2 watches — never `upload.sh`, which posts to the RESTful receiver. Use the output directory confirmed in step 4. The same rows must not go through both paths: RESTful upload plus LogBus2 pickup double-ingests.
|
|
57
59
|
6. **Handoff.** Read [references/handoff.md](references/handoff.md). Export the reusable package (pipeline descriptor + frozen mappings + stage executors + docs) and a shareable zip; in the completion response, state the absolute zip path, the package directory, and the one-line way to run the next same-shape file.
|
|
58
60
|
|
|
59
61
|
## Error handling
|
|
@@ -50,6 +50,7 @@ the user decide — never to guess an encoding or structure and retry silently.
|
|
|
50
50
|
| `LOCAL_DATA_INPUT_NOT_FOUND` | Path is not a readable file | Ask for the correct path |
|
|
51
51
|
| `LOCAL_DATA_FILE_TOO_LARGE` | XLS over 1 GB | Convert to XLSX or split the workbook |
|
|
52
52
|
| `LOCAL_DATA_INPUT_INVALID` | Generic parse failure (malformed CSV/TSV/JSON/XLS) | Verify encoding and structure, then retry without changing the source |
|
|
53
|
+
| `LOCAL_DATA_PARQUET_INVALID` | File cannot be read as Parquet | Verify the file is a valid Parquet file and retry without changing the source |
|
|
53
54
|
| `LOCAL_DATA_JSONL_INVALID` | A JSONL line is not valid JSON (`location.record` names the line) | Point at the offending record |
|
|
54
55
|
| `LOCAL_DATA_JSON_ROOT_INVALID` | JSON root is not an object or array | Check the file's top-level shape |
|
|
55
56
|
| `LOCAL_DATA_XLSX_INVALID` | Workbook metadata missing / no readable sheets / worksheet entry missing | Re-export the workbook (sheet recognition accepts `<sheet>` and namespaced `<x:sheet>` alike, so this is a real metadata gap) |
|
|
@@ -48,7 +48,7 @@ A shareable archive is written next to the package root: `<parent>/ae-data-integ
|
|
|
48
48
|
|
|
49
49
|
## Pipeline descriptor
|
|
50
50
|
|
|
51
|
-
`pipeline.json` declares the three stages and their types. Only `source: local_file` and `sink: restful_sync_json` are implemented today; the `type` fields reserve logbus / datax / mysql for later phases. `bin/run.sh` and `bin/upload.sh` read the descriptor and dispatch each stage by its `type` to `ae-cli data-integration inspect / convert / upload` — they are executors, not a second runtime engine.
|
|
51
|
+
`pipeline.json` declares the three stages and their types. Only `source: local_file` and `sink: restful_sync_json` are implemented today; the `type` fields reserve logbus / datax / mysql for later phases. `bin/run.sh` and `bin/upload.sh` read the descriptor and dispatch each stage by its `type` to `ae-cli data-integration inspect / convert / upload` — they are executors, not a second runtime engine. A Parquet source runs the same `local_file` path: `bin/run.sh` converts it to `valid.ue.jsonl` on disk. When the destination is LogBus2 (or any file-watch sink), hand the runs directory to it and **never run `bin/upload.sh`**, which posts to the RESTful receiver.
|
|
52
52
|
|
|
53
53
|
## Recorded destination
|
|
54
54
|
|