siluzan-tso-cli 1.1.19-beta.17 → 1.1.19-beta.18
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
CHANGED
|
@@ -51,7 +51,7 @@ siluzan-tso init -d /path/to/skills # 写入自定义目录
|
|
|
51
51
|
siluzan-tso init --force # 强制覆盖已存在文件
|
|
52
52
|
```
|
|
53
53
|
|
|
54
|
-
> **注意**:当前为测试版(1.1.19-beta.
|
|
54
|
+
> **注意**:当前为测试版(1.1.19-beta.18),供内部测试使用。正式发布后安装命令将改为 `npm install -g siluzan-tso-cli`。
|
|
55
55
|
|
|
56
56
|
| 助手 | 建议 `--ai` |
|
|
57
57
|
| ----------------------- | ------------------------------------ |
|
package/dist/index.js
CHANGED
|
@@ -4948,110 +4948,215 @@ var init_geo_en2zh = __esm({
|
|
|
4948
4948
|
"src/commands/google-analysis/geo-en2zh.json"() {
|
|
4949
4949
|
geo_en2zh_default = {
|
|
4950
4950
|
Afghanistan: "\u963F\u5BCC\u6C57",
|
|
4951
|
+
Albania: "\u963F\u5C14\u5DF4\u5C3C\u4E9A",
|
|
4951
4952
|
Algeria: "\u963F\u5C14\u53CA\u5229\u4E9A",
|
|
4953
|
+
Andorra: "\u5B89\u9053\u5C14",
|
|
4954
|
+
Angola: "\u5B89\u54E5\u62C9",
|
|
4955
|
+
"Antigua & Barbuda": "\u5B89\u63D0\u74DC\u548C\u5DF4\u5E03\u8FBE",
|
|
4956
|
+
"Antigua and Barbuda": "\u5B89\u63D0\u74DC\u548C\u5DF4\u5E03\u8FBE",
|
|
4952
4957
|
Argentina: "\u963F\u6839\u5EF7",
|
|
4958
|
+
Armenia: "\u4E9A\u7F8E\u5C3C\u4E9A",
|
|
4953
4959
|
Australia: "\u6FB3\u5927\u5229\u4E9A",
|
|
4954
4960
|
Austria: "\u5965\u5730\u5229",
|
|
4961
|
+
Azerbaijan: "\u963F\u585E\u62DC\u7586",
|
|
4962
|
+
Bahamas: "\u5DF4\u54C8\u9A6C",
|
|
4955
4963
|
Bahrain: "\u5DF4\u6797",
|
|
4956
4964
|
Bangladesh: "\u5B5F\u52A0\u62C9\u56FD",
|
|
4965
|
+
Barbados: "\u5DF4\u5DF4\u591A\u65AF",
|
|
4957
4966
|
Belarus: "\u767D\u4FC4\u7F57\u65AF",
|
|
4958
4967
|
Belgium: "\u6BD4\u5229\u65F6",
|
|
4968
|
+
Belize: "\u4F2F\u5229\u5179",
|
|
4969
|
+
Benin: "\u8D1D\u5B81",
|
|
4970
|
+
Bhutan: "\u4E0D\u4E39",
|
|
4971
|
+
Bolivia: "\u73BB\u5229\u7EF4\u4E9A",
|
|
4972
|
+
"Bosnia & Herzegovina": "\u6CE2\u65AF\u5C3C\u4E9A\u548C\u9ED1\u585E\u54E5\u7EF4\u90A3",
|
|
4973
|
+
"Bosnia and Herzegovina": "\u6CE2\u65AF\u5C3C\u4E9A\u548C\u9ED1\u585E\u54E5\u7EF4\u90A3",
|
|
4974
|
+
Botswana: "\u535A\u8328\u74E6\u7EB3",
|
|
4959
4975
|
Brazil: "\u5DF4\u897F",
|
|
4960
4976
|
Brunei: "\u6587\u83B1",
|
|
4961
4977
|
Bulgaria: "\u4FDD\u52A0\u5229\u4E9A",
|
|
4962
4978
|
"Burkina Faso": "\u5E03\u57FA\u7EB3\u6CD5\u7D22",
|
|
4979
|
+
Burundi: "\u5E03\u9686\u8FEA",
|
|
4980
|
+
"Cabo Verde": "\u4F5B\u5F97\u89D2",
|
|
4963
4981
|
Cambodia: "\u67EC\u57D4\u5BE8",
|
|
4982
|
+
Cameroon: "\u5580\u9EA6\u9686",
|
|
4964
4983
|
Canada: "\u52A0\u62FF\u5927",
|
|
4984
|
+
"Central African Republic": "\u4E2D\u975E\u5171\u548C\u56FD",
|
|
4985
|
+
Chad: "\u4E4D\u5F97",
|
|
4965
4986
|
Chile: "\u667A\u5229",
|
|
4966
4987
|
China: "\u4E2D\u56FD",
|
|
4967
4988
|
Colombia: "\u54E5\u4F26\u6BD4\u4E9A",
|
|
4989
|
+
Comoros: "\u79D1\u6469\u7F57",
|
|
4990
|
+
"Costa Rica": "\u54E5\u65AF\u8FBE\u9ECE\u52A0",
|
|
4968
4991
|
"Cote d'Ivoire": "\u79D1\u7279\u8FEA\u74E6",
|
|
4969
4992
|
Croatia: "\u514B\u7F57\u5730\u4E9A",
|
|
4993
|
+
Cuba: "\u53E4\u5DF4",
|
|
4994
|
+
Cyprus: "\u585E\u6D66\u8DEF\u65AF",
|
|
4970
4995
|
Czechia: "\u6377\u514B",
|
|
4971
4996
|
"Democratic Republic of the Congo": "\u521A\u679C\u6C11\u4E3B\u5171\u548C\u56FD",
|
|
4972
4997
|
Denmark: "\u4E39\u9EA6",
|
|
4998
|
+
Djibouti: "\u5409\u5E03\u63D0",
|
|
4999
|
+
Dominica: "\u591A\u7C73\u5C3C\u514B",
|
|
5000
|
+
"Dominican Republic": "\u591A\u7C73\u5C3C\u52A0\u5171\u548C\u56FD",
|
|
5001
|
+
Ecuador: "\u5384\u74DC\u591A\u5C14",
|
|
4973
5002
|
Egypt: "\u57C3\u53CA",
|
|
5003
|
+
"El Salvador": "\u8428\u5C14\u74E6\u591A",
|
|
5004
|
+
"Equatorial Guinea": "\u8D64\u9053\u51E0\u5185\u4E9A",
|
|
5005
|
+
Eritrea: "\u5384\u7ACB\u7279\u91CC\u4E9A",
|
|
5006
|
+
Estonia: "\u7231\u6C99\u5C3C\u4E9A",
|
|
5007
|
+
Eswatini: "\u65AF\u5A01\u58EB\u5170",
|
|
4974
5008
|
Ethiopia: "\u57C3\u585E\u4FC4\u6BD4\u4E9A",
|
|
5009
|
+
Fiji: "\u6590\u6D4E",
|
|
4975
5010
|
Finland: "\u82AC\u5170",
|
|
4976
5011
|
France: "\u6CD5\u56FD",
|
|
5012
|
+
Gabon: "\u52A0\u84EC",
|
|
5013
|
+
Gambia: "\u5188\u6BD4\u4E9A",
|
|
4977
5014
|
Georgia: "\u683C\u9C81\u5409\u4E9A",
|
|
4978
5015
|
Germany: "\u5FB7\u56FD",
|
|
4979
5016
|
Ghana: "\u52A0\u7EB3",
|
|
4980
5017
|
Greece: "\u5E0C\u814A",
|
|
5018
|
+
Grenada: "\u683C\u6797\u7EB3\u8FBE",
|
|
5019
|
+
Guatemala: "\u5371\u5730\u9A6C\u62C9",
|
|
4981
5020
|
Guinea: "\u51E0\u5185\u4E9A",
|
|
5021
|
+
"Guinea-Bissau": "\u51E0\u5185\u4E9A\u6BD4\u7ECD",
|
|
5022
|
+
Guyana: "\u572D\u4E9A\u90A3",
|
|
5023
|
+
Haiti: "\u6D77\u5730",
|
|
5024
|
+
Honduras: "\u6D2A\u90FD\u62C9\u65AF",
|
|
4982
5025
|
"Hong Kong": "\u9999\u6E2F",
|
|
4983
5026
|
Hungary: "\u5308\u7259\u5229",
|
|
5027
|
+
Iceland: "\u51B0\u5C9B",
|
|
4984
5028
|
India: "\u5370\u5EA6",
|
|
4985
5029
|
Indonesia: "\u5370\u5EA6\u5C3C\u897F\u4E9A",
|
|
5030
|
+
Iran: "\u4F0A\u6717",
|
|
4986
5031
|
Iraq: "\u4F0A\u62C9\u514B",
|
|
4987
5032
|
Ireland: "\u7231\u5C14\u5170",
|
|
4988
5033
|
"Isle of Man": "\u9A6C\u6069\u5C9B",
|
|
4989
5034
|
Israel: "\u4EE5\u8272\u5217",
|
|
4990
5035
|
Italy: "\u610F\u5927\u5229",
|
|
5036
|
+
Jamaica: "\u7259\u4E70\u52A0",
|
|
4991
5037
|
Japan: "\u65E5\u672C",
|
|
4992
5038
|
Johannesburg: "\u7EA6\u7FF0\u5185\u65AF\u5821",
|
|
4993
5039
|
Jordan: "\u7EA6\u65E6",
|
|
4994
5040
|
Kazakhstan: "\u54C8\u8428\u514B\u65AF\u5766",
|
|
4995
5041
|
Kenya: "\u80AF\u5C3C\u4E9A",
|
|
5042
|
+
Kiribati: "\u57FA\u91CC\u5DF4\u65AF",
|
|
5043
|
+
Kosovo: "\u79D1\u7D22\u6C83",
|
|
4996
5044
|
Kuwait: "\u79D1\u5A01\u7279",
|
|
4997
5045
|
Kyrgyzstan: "\u5409\u5C14\u5409\u65AF\u65AF\u5766",
|
|
4998
5046
|
Laos: "\u8001\u631D",
|
|
5047
|
+
Latvia: "\u62C9\u8131\u7EF4\u4E9A",
|
|
4999
5048
|
Lebanon: "\u9ECE\u5DF4\u5AE9",
|
|
5049
|
+
Lesotho: "\u83B1\u7D22\u6258",
|
|
5050
|
+
Liberia: "\u5229\u6BD4\u91CC\u4E9A",
|
|
5000
5051
|
Libya: "\u5229\u6BD4\u4E9A",
|
|
5052
|
+
Liechtenstein: "\u5217\u652F\u6566\u58EB\u767B",
|
|
5053
|
+
Lithuania: "\u7ACB\u9676\u5B9B",
|
|
5001
5054
|
Luxembourg: "\u5362\u68EE\u5821",
|
|
5055
|
+
Macau: "\u6FB3\u95E8",
|
|
5056
|
+
Madagascar: "\u9A6C\u8FBE\u52A0\u65AF\u52A0",
|
|
5057
|
+
Malawi: "\u9A6C\u62C9\u7EF4",
|
|
5002
5058
|
Malaysia: "\u9A6C\u6765\u897F\u4E9A",
|
|
5059
|
+
Maldives: "\u9A6C\u5C14\u4EE3\u592B",
|
|
5003
5060
|
Mali: "\u9A6C\u91CC",
|
|
5061
|
+
Malta: "\u9A6C\u8033\u4ED6",
|
|
5062
|
+
"Marshall Islands": "\u9A6C\u7ECD\u5C14\u7FA4\u5C9B",
|
|
5004
5063
|
Mauritania: "\u6BDB\u91CC\u5854\u5C3C\u4E9A",
|
|
5005
5064
|
Mauritius: "\u6BDB\u91CC\u6C42\u65AF",
|
|
5006
5065
|
Mexico: "\u58A8\u897F\u54E5",
|
|
5066
|
+
Micronesia: "\u5BC6\u514B\u7F57\u5C3C\u897F\u4E9A",
|
|
5067
|
+
Moldova: "\u6469\u5C14\u591A\u74E6",
|
|
5068
|
+
Monaco: "\u6469\u7EB3\u54E5",
|
|
5069
|
+
Mongolia: "\u8499\u53E4",
|
|
5070
|
+
Montenegro: "\u9ED1\u5C71",
|
|
5007
5071
|
Morocco: "\u6469\u6D1B\u54E5",
|
|
5072
|
+
Mozambique: "\u83AB\u6851\u6BD4\u514B",
|
|
5008
5073
|
"Myanmar (Burma)": "\u7F05\u7538",
|
|
5074
|
+
Namibia: "\u7EB3\u7C73\u6BD4\u4E9A",
|
|
5075
|
+
Nauru: "\u7459\u9C81",
|
|
5009
5076
|
Nepal: "\u5C3C\u6CCA\u5C14",
|
|
5010
5077
|
Netherlands: "\u8377\u5170",
|
|
5011
5078
|
"New Zealand": "\u65B0\u897F\u5170",
|
|
5079
|
+
Nicaragua: "\u5C3C\u52A0\u62C9\u74DC",
|
|
5012
5080
|
Niger: "\u5C3C\u65E5\u5C14",
|
|
5013
5081
|
Nigeria: "\u5C3C\u65E5\u5229\u4E9A",
|
|
5082
|
+
"North Korea": "\u671D\u9C9C",
|
|
5014
5083
|
"North Macedonia": "\u5317\u9A6C\u5176\u987F",
|
|
5015
5084
|
Norway: "\u632A\u5A01",
|
|
5016
5085
|
Oman: "\u963F\u66FC",
|
|
5017
5086
|
Pakistan: "\u5DF4\u57FA\u65AF\u5766",
|
|
5087
|
+
Palau: "\u5E15\u52B3",
|
|
5018
5088
|
Palestine: "\u5DF4\u52D2\u65AF\u5766",
|
|
5089
|
+
Panama: "\u5DF4\u62FF\u9A6C",
|
|
5090
|
+
"Papua New Guinea": "\u5DF4\u5E03\u4E9A\u65B0\u51E0\u5185\u4E9A",
|
|
5091
|
+
Paraguay: "\u5DF4\u62C9\u572D",
|
|
5019
5092
|
Peru: "\u79D8\u9C81",
|
|
5020
5093
|
Philippines: "\u83F2\u5F8B\u5BBE",
|
|
5021
5094
|
Poland: "\u6CE2\u5170",
|
|
5022
5095
|
Portugal: "\u8461\u8404\u7259",
|
|
5096
|
+
"Puerto Rico": "\u6CE2\u591A\u9ECE\u5404",
|
|
5023
5097
|
Qatar: "\u5361\u5854\u5C14",
|
|
5024
5098
|
"Republic of the Congo": "\u521A\u679C\u5171\u548C\u56FD",
|
|
5025
5099
|
Romania: "\u7F57\u9A6C\u5C3C\u4E9A",
|
|
5026
5100
|
Russia: "\u4FC4\u7F57\u65AF",
|
|
5101
|
+
Rwanda: "\u5362\u65FA\u8FBE",
|
|
5102
|
+
"Saint Kitts and Nevis": "\u5723\u57FA\u8328\u548C\u5C3C\u7EF4\u65AF",
|
|
5103
|
+
"Saint Lucia": "\u5723\u5362\u897F\u4E9A",
|
|
5104
|
+
"Saint Vincent and the Grenadines": "\u5723\u6587\u68EE\u7279\u548C\u683C\u6797\u7EB3\u4E01\u65AF",
|
|
5105
|
+
Samoa: "\u8428\u6469\u4E9A",
|
|
5106
|
+
"San Marino": "\u5723\u9A6C\u529B\u8BFA",
|
|
5107
|
+
"S\xE3o Tom\xE9 & Pr\xEDncipe": "\u5723\u591A\u7F8E\u548C\u666E\u6797\u897F\u6BD4",
|
|
5108
|
+
"Sao Tome and Principe": "\u5723\u591A\u7F8E\u548C\u666E\u6797\u897F\u6BD4",
|
|
5027
5109
|
"Saudi Arabia": "\u6C99\u7279\u963F\u62C9\u4F2F",
|
|
5028
5110
|
Senegal: "\u585E\u5185\u52A0\u5C14",
|
|
5029
5111
|
Serbia: "\u585E\u5C14\u7EF4\u4E9A",
|
|
5112
|
+
Seychelles: "\u585E\u820C\u5C14",
|
|
5030
5113
|
"Sierra Leone": "\u585E\u62C9\u5229\u6602",
|
|
5031
5114
|
Singapore: "\u65B0\u52A0\u5761",
|
|
5032
5115
|
Slovakia: "\u65AF\u6D1B\u4F10\u514B",
|
|
5033
5116
|
Slovenia: "\u65AF\u6D1B\u6587\u5C3C\u4E9A",
|
|
5117
|
+
"Solomon Islands": "\u6240\u7F57\u95E8\u7FA4\u5C9B",
|
|
5118
|
+
Somalia: "\u7D22\u9A6C\u91CC",
|
|
5034
5119
|
"South Africa": "\u5357\u975E",
|
|
5035
5120
|
"South Korea": "\u97E9\u56FD",
|
|
5121
|
+
"South Sudan": "\u5357\u82CF\u4E39",
|
|
5036
5122
|
Spain: "\u897F\u73ED\u7259",
|
|
5037
5123
|
"Spanish Fork": "Spanish Fork",
|
|
5038
5124
|
"Sri Lanka": "\u65AF\u91CC\u5170\u5361",
|
|
5125
|
+
"St. Kitts & Nevis": "\u5723\u57FA\u8328\u548C\u5C3C\u7EF4\u65AF",
|
|
5126
|
+
"St. Lucia": "\u5723\u5362\u897F\u4E9A",
|
|
5127
|
+
"St. Vincent & Grenadines": "\u5723\u6587\u68EE\u7279\u548C\u683C\u6797\u7EB3\u4E01\u65AF",
|
|
5128
|
+
Sudan: "\u82CF\u4E39",
|
|
5129
|
+
Suriname: "\u82CF\u91CC\u5357",
|
|
5039
5130
|
Sweden: "\u745E\u5178",
|
|
5040
5131
|
Switzerland: "\u745E\u58EB",
|
|
5132
|
+
Syria: "\u53D9\u5229\u4E9A",
|
|
5041
5133
|
Taiwan: "\u53F0\u6E7E",
|
|
5042
5134
|
Tajikistan: "\u5854\u5409\u514B\u65AF\u5766",
|
|
5043
5135
|
Tanzania: "\u5766\u6851\u5C3C\u4E9A",
|
|
5044
5136
|
Thailand: "\u6CF0\u56FD",
|
|
5045
5137
|
"Timor-Leste": "\u4E1C\u5E1D\u6C76",
|
|
5046
5138
|
Togo: "\u591A\u54E5",
|
|
5139
|
+
Tonga: "\u6C64\u52A0",
|
|
5140
|
+
"Trinidad & Tobago": "\u7279\u7ACB\u5C3C\u8FBE\u548C\u591A\u5DF4\u54E5",
|
|
5141
|
+
"Trinidad and Tobago": "\u7279\u7ACB\u5C3C\u8FBE\u548C\u591A\u5DF4\u54E5",
|
|
5142
|
+
Tunisia: "\u7A81\u5C3C\u65AF",
|
|
5047
5143
|
Turkiye: "\u571F\u8033\u5176",
|
|
5144
|
+
Turkmenistan: "\u571F\u5E93\u66FC\u65AF\u5766",
|
|
5145
|
+
Tuvalu: "\u56FE\u74E6\u5362",
|
|
5146
|
+
Uganda: "\u4E4C\u5E72\u8FBE",
|
|
5048
5147
|
Ukraine: "\u4E4C\u514B\u5170",
|
|
5049
5148
|
"United Arab Emirates": "\u963F\u8054\u914B",
|
|
5050
5149
|
"United Kingdom": "\u82F1\u56FD",
|
|
5051
5150
|
"United States": "\u7F8E\u56FD",
|
|
5151
|
+
Uruguay: "\u4E4C\u62C9\u572D",
|
|
5052
5152
|
Uzbekistan: "\u4E4C\u5179\u522B\u514B\u65AF\u5766",
|
|
5153
|
+
Vanuatu: "\u74E6\u52AA\u963F\u56FE",
|
|
5154
|
+
"Vatican City": "\u68B5\u8482\u5188",
|
|
5155
|
+
Venezuela: "\u59D4\u5185\u745E\u62C9",
|
|
5053
5156
|
Vietnam: "\u8D8A\u5357",
|
|
5054
|
-
Yemen: "\u4E5F\u95E8"
|
|
5157
|
+
Yemen: "\u4E5F\u95E8",
|
|
5158
|
+
Zambia: "\u8D5E\u6BD4\u4E9A",
|
|
5159
|
+
Zimbabwe: "\u6D25\u5DF4\u5E03\u97E6"
|
|
5055
5160
|
};
|
|
5056
5161
|
}
|
|
5057
5162
|
});
|
package/dist/skill/_meta.json
CHANGED
|
@@ -1,195 +1,226 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_meta": {
|
|
3
3
|
"description": "国家中文名 → 大洲映射,用于 google-inquiry-analysis.md Sheet 3 国家维度透视的「所属大洲」列。",
|
|
4
|
-
"buckets": [
|
|
5
|
-
|
|
4
|
+
"buckets": [
|
|
5
|
+
"亚洲",
|
|
6
|
+
"中东",
|
|
7
|
+
"欧洲",
|
|
8
|
+
"北美",
|
|
9
|
+
"南美",
|
|
10
|
+
"非洲",
|
|
11
|
+
"大洋洲"
|
|
12
|
+
],
|
|
13
|
+
"coverage": "覆盖 ISO 3166-1 主权国家 + 港澳台、巴勒斯坦、马恩岛、波多黎各等常用领土;与 tso-cli/src/commands/google-analysis/geo-en2zh.json 由 scripts/generate-geo-dictionaries.mjs 同步生成;新增国家请在脚本的 ISO_TO_CONTINENT 中加映射后重跑。",
|
|
6
14
|
"secondary_merge_hint": "运营常用 5 桶(<重点国> / 中东 / 非洲 / 欧美 / 亚洲(除重点国)):由 Agent 脚本在写表前对本字典做二次合并;重点国 focusCountries 由运营每次会议前配置(默认取分析月询盘 Top1 国家),伪代码与默认规则见 google-inquiry-analysis.md「国家 → 大洲映射」「重点国家配置」两节。",
|
|
7
15
|
"unmatched_policy": "未命中标 `未知大洲`,不阻塞;脚本结尾打印未命中清单,运营回流补字典。"
|
|
8
16
|
},
|
|
9
17
|
|
|
10
|
-
"中国": "亚洲",
|
|
11
|
-
"香港": "亚洲",
|
|
12
|
-
"台湾": "亚洲",
|
|
13
|
-
"日本": "亚洲",
|
|
14
|
-
"韩国": "亚洲",
|
|
15
|
-
"蒙古": "亚洲",
|
|
16
|
-
"印度": "亚洲",
|
|
17
|
-
"印度尼西亚": "亚洲",
|
|
18
|
-
"巴基斯坦": "亚洲",
|
|
19
|
-
"孟加拉国": "亚洲",
|
|
20
|
-
"斯里兰卡": "亚洲",
|
|
21
|
-
"尼泊尔": "亚洲",
|
|
22
18
|
"阿富汗": "亚洲",
|
|
23
|
-
"
|
|
19
|
+
"澳门": "亚洲",
|
|
20
|
+
"巴基斯坦": "亚洲",
|
|
24
21
|
"不丹": "亚洲",
|
|
25
|
-
"
|
|
26
|
-
"马来西亚": "亚洲",
|
|
27
|
-
"泰国": "亚洲",
|
|
28
|
-
"越南": "亚洲",
|
|
29
|
-
"菲律宾": "亚洲",
|
|
30
|
-
"缅甸": "亚洲",
|
|
31
|
-
"柬埔寨": "亚洲",
|
|
32
|
-
"老挝": "亚洲",
|
|
33
|
-
"文莱": "亚洲",
|
|
22
|
+
"朝鲜": "亚洲",
|
|
34
23
|
"东帝汶": "亚洲",
|
|
24
|
+
"菲律宾": "亚洲",
|
|
35
25
|
"哈萨克斯坦": "亚洲",
|
|
36
|
-
"
|
|
26
|
+
"韩国": "亚洲",
|
|
37
27
|
"吉尔吉斯斯坦": "亚洲",
|
|
28
|
+
"柬埔寨": "亚洲",
|
|
29
|
+
"老挝": "亚洲",
|
|
30
|
+
"马尔代夫": "亚洲",
|
|
31
|
+
"马来西亚": "亚洲",
|
|
32
|
+
"蒙古": "亚洲",
|
|
33
|
+
"孟加拉国": "亚洲",
|
|
34
|
+
"缅甸": "亚洲",
|
|
35
|
+
"尼泊尔": "亚洲",
|
|
36
|
+
"日本": "亚洲",
|
|
37
|
+
"斯里兰卡": "亚洲",
|
|
38
38
|
"塔吉克斯坦": "亚洲",
|
|
39
|
+
"台湾": "亚洲",
|
|
40
|
+
"泰国": "亚洲",
|
|
39
41
|
"土库曼斯坦": "亚洲",
|
|
42
|
+
"文莱": "亚洲",
|
|
43
|
+
"乌兹别克斯坦": "亚洲",
|
|
44
|
+
"香港": "亚洲",
|
|
45
|
+
"新加坡": "亚洲",
|
|
46
|
+
"印度": "亚洲",
|
|
47
|
+
"印度尼西亚": "亚洲",
|
|
48
|
+
"越南": "亚洲",
|
|
49
|
+
"中国": "亚洲",
|
|
40
50
|
|
|
41
|
-
"沙特阿拉伯": "中东",
|
|
42
51
|
"阿联酋": "中东",
|
|
43
|
-
"
|
|
52
|
+
"阿曼": "中东",
|
|
53
|
+
"阿塞拜疆": "中东",
|
|
54
|
+
"巴勒斯坦": "中东",
|
|
44
55
|
"巴林": "中东",
|
|
56
|
+
"格鲁吉亚": "中东",
|
|
57
|
+
"卡塔尔": "中东",
|
|
45
58
|
"科威特": "中东",
|
|
46
|
-
"阿曼": "中东",
|
|
47
|
-
"也门": "中东",
|
|
48
|
-
"伊朗": "中东",
|
|
49
|
-
"伊拉克": "中东",
|
|
50
|
-
"约旦": "中东",
|
|
51
59
|
"黎巴嫩": "中东",
|
|
52
|
-
"叙利亚": "中东",
|
|
53
|
-
"以色列": "中东",
|
|
54
|
-
"巴勒斯坦": "中东",
|
|
55
|
-
"土耳其": "中东",
|
|
56
60
|
"塞浦路斯": "中东",
|
|
57
|
-
"
|
|
61
|
+
"沙特阿拉伯": "中东",
|
|
62
|
+
"土耳其": "中东",
|
|
63
|
+
"叙利亚": "中东",
|
|
58
64
|
"亚美尼亚": "中东",
|
|
59
|
-
"
|
|
65
|
+
"也门": "中东",
|
|
66
|
+
"伊拉克": "中东",
|
|
67
|
+
"伊朗": "中东",
|
|
68
|
+
"以色列": "中东",
|
|
69
|
+
"约旦": "中东",
|
|
60
70
|
|
|
61
|
-
"
|
|
71
|
+
"阿尔巴尼亚": "欧洲",
|
|
62
72
|
"爱尔兰": "欧洲",
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"意大利": "欧洲",
|
|
66
|
-
"西班牙": "欧洲",
|
|
67
|
-
"葡萄牙": "欧洲",
|
|
68
|
-
"荷兰": "欧洲",
|
|
69
|
-
"比利时": "欧洲",
|
|
70
|
-
"卢森堡": "欧洲",
|
|
71
|
-
"瑞士": "欧洲",
|
|
73
|
+
"爱沙尼亚": "欧洲",
|
|
74
|
+
"安道尔": "欧洲",
|
|
72
75
|
"奥地利": "欧洲",
|
|
73
|
-
"
|
|
74
|
-
"瑞典": "欧洲",
|
|
75
|
-
"挪威": "欧洲",
|
|
76
|
-
"丹麦": "欧洲",
|
|
77
|
-
"芬兰": "欧洲",
|
|
78
|
-
"冰岛": "欧洲",
|
|
79
|
-
"波兰": "欧洲",
|
|
80
|
-
"捷克": "欧洲",
|
|
81
|
-
"斯洛伐克": "欧洲",
|
|
82
|
-
"匈牙利": "欧洲",
|
|
83
|
-
"罗马尼亚": "欧洲",
|
|
76
|
+
"白俄罗斯": "欧洲",
|
|
84
77
|
"保加利亚": "欧洲",
|
|
85
|
-
"克罗地亚": "欧洲",
|
|
86
|
-
"斯洛文尼亚": "欧洲",
|
|
87
|
-
"塞尔维亚": "欧洲",
|
|
88
78
|
"北马其顿": "欧洲",
|
|
79
|
+
"比利时": "欧洲",
|
|
80
|
+
"冰岛": "欧洲",
|
|
81
|
+
"波兰": "欧洲",
|
|
89
82
|
"波斯尼亚和黑塞哥维那": "欧洲",
|
|
90
|
-
"
|
|
83
|
+
"丹麦": "欧洲",
|
|
84
|
+
"德国": "欧洲",
|
|
85
|
+
"俄罗斯": "欧洲",
|
|
86
|
+
"法国": "欧洲",
|
|
87
|
+
"梵蒂冈": "欧洲",
|
|
88
|
+
"芬兰": "欧洲",
|
|
89
|
+
"荷兰": "欧洲",
|
|
91
90
|
"黑山": "欧洲",
|
|
92
|
-
"
|
|
91
|
+
"捷克": "欧洲",
|
|
92
|
+
"科索沃": "欧洲",
|
|
93
|
+
"克罗地亚": "欧洲",
|
|
94
|
+
"拉脱维亚": "欧洲",
|
|
95
|
+
"立陶宛": "欧洲",
|
|
96
|
+
"列支敦士登": "欧洲",
|
|
97
|
+
"卢森堡": "欧洲",
|
|
98
|
+
"罗马尼亚": "欧洲",
|
|
93
99
|
"马恩岛": "欧洲",
|
|
94
|
-
"
|
|
95
|
-
"白俄罗斯": "欧洲",
|
|
96
|
-
"俄罗斯": "欧洲",
|
|
100
|
+
"马耳他": "欧洲",
|
|
97
101
|
"摩尔多瓦": "欧洲",
|
|
98
|
-
"
|
|
99
|
-
"
|
|
100
|
-
"
|
|
102
|
+
"摩纳哥": "欧洲",
|
|
103
|
+
"挪威": "欧洲",
|
|
104
|
+
"葡萄牙": "欧洲",
|
|
105
|
+
"瑞典": "欧洲",
|
|
106
|
+
"瑞士": "欧洲",
|
|
107
|
+
"塞尔维亚": "欧洲",
|
|
108
|
+
"圣马力诺": "欧洲",
|
|
109
|
+
"斯洛伐克": "欧洲",
|
|
110
|
+
"斯洛文尼亚": "欧洲",
|
|
111
|
+
"乌克兰": "欧洲",
|
|
112
|
+
"西班牙": "欧洲",
|
|
113
|
+
"希腊": "欧洲",
|
|
114
|
+
"匈牙利": "欧洲",
|
|
115
|
+
"意大利": "欧洲",
|
|
116
|
+
"英国": "欧洲",
|
|
101
117
|
|
|
102
|
-
"
|
|
103
|
-
"
|
|
104
|
-
"
|
|
118
|
+
"安提瓜和巴布达": "北美",
|
|
119
|
+
"巴巴多斯": "北美",
|
|
120
|
+
"巴哈马": "北美",
|
|
121
|
+
"巴拿马": "北美",
|
|
122
|
+
"波多黎各": "北美",
|
|
123
|
+
"伯利兹": "北美",
|
|
124
|
+
"多米尼加共和国": "北美",
|
|
125
|
+
"多米尼克": "北美",
|
|
126
|
+
"哥斯达黎加": "北美",
|
|
127
|
+
"格林纳达": "北美",
|
|
105
128
|
"古巴": "北美",
|
|
106
129
|
"海地": "北美",
|
|
107
|
-
"多米尼加共和国": "北美",
|
|
108
|
-
"牙买加": "北美",
|
|
109
|
-
"巴哈马": "北美",
|
|
110
|
-
"危地马拉": "北美",
|
|
111
130
|
"洪都拉斯": "北美",
|
|
112
|
-
"
|
|
131
|
+
"加拿大": "北美",
|
|
132
|
+
"美国": "北美",
|
|
133
|
+
"墨西哥": "北美",
|
|
113
134
|
"尼加拉瓜": "北美",
|
|
114
|
-
"
|
|
115
|
-
"
|
|
116
|
-
"
|
|
135
|
+
"萨尔瓦多": "北美",
|
|
136
|
+
"圣基茨和尼维斯": "北美",
|
|
137
|
+
"圣卢西亚": "北美",
|
|
138
|
+
"圣文森特和格林纳丁斯": "北美",
|
|
117
139
|
"特立尼达和多巴哥": "北美",
|
|
140
|
+
"危地马拉": "北美",
|
|
141
|
+
"牙买加": "北美",
|
|
118
142
|
|
|
119
|
-
"巴西": "南美",
|
|
120
143
|
"阿根廷": "南美",
|
|
121
|
-
"智利": "南美",
|
|
122
|
-
"秘鲁": "南美",
|
|
123
|
-
"哥伦比亚": "南美",
|
|
124
|
-
"委内瑞拉": "南美",
|
|
125
|
-
"厄瓜多尔": "南美",
|
|
126
|
-
"玻利维亚": "南美",
|
|
127
|
-
"乌拉圭": "南美",
|
|
128
144
|
"巴拉圭": "南美",
|
|
145
|
+
"巴西": "南美",
|
|
146
|
+
"玻利维亚": "南美",
|
|
147
|
+
"厄瓜多尔": "南美",
|
|
148
|
+
"哥伦比亚": "南美",
|
|
129
149
|
"圭亚那": "南美",
|
|
150
|
+
"秘鲁": "南美",
|
|
130
151
|
"苏里南": "南美",
|
|
152
|
+
"委内瑞拉": "南美",
|
|
153
|
+
"乌拉圭": "南美",
|
|
154
|
+
"智利": "南美",
|
|
131
155
|
|
|
132
|
-
"埃及": "非洲",
|
|
133
|
-
"利比亚": "非洲",
|
|
134
|
-
"突尼斯": "非洲",
|
|
135
156
|
"阿尔及利亚": "非洲",
|
|
136
|
-
"
|
|
137
|
-
"毛里塔尼亚": "非洲",
|
|
138
|
-
"苏丹": "非洲",
|
|
139
|
-
"南苏丹": "非洲",
|
|
157
|
+
"埃及": "非洲",
|
|
140
158
|
"埃塞俄比亚": "非洲",
|
|
141
|
-
"
|
|
142
|
-
"
|
|
143
|
-
"
|
|
144
|
-
"
|
|
159
|
+
"安哥拉": "非洲",
|
|
160
|
+
"贝宁": "非洲",
|
|
161
|
+
"博茨瓦纳": "非洲",
|
|
162
|
+
"布基纳法索": "非洲",
|
|
145
163
|
"布隆迪": "非洲",
|
|
146
|
-
"
|
|
147
|
-
"
|
|
164
|
+
"赤道几内亚": "非洲",
|
|
165
|
+
"多哥": "非洲",
|
|
148
166
|
"厄立特里亚": "非洲",
|
|
149
|
-
"
|
|
150
|
-
"尼日尔": "非洲",
|
|
151
|
-
"马里": "非洲",
|
|
152
|
-
"布基纳法索": "非洲",
|
|
153
|
-
"塞内加尔": "非洲",
|
|
167
|
+
"佛得角": "非洲",
|
|
154
168
|
"冈比亚": "非洲",
|
|
155
|
-
"几内亚比绍": "非洲",
|
|
156
|
-
"几内亚": "非洲",
|
|
157
|
-
"塞拉利昂": "非洲",
|
|
158
|
-
"利比里亚": "非洲",
|
|
159
|
-
"科特迪瓦": "非洲",
|
|
160
|
-
"加纳": "非洲",
|
|
161
|
-
"多哥": "非洲",
|
|
162
|
-
"贝宁": "非洲",
|
|
163
|
-
"喀麦隆": "非洲",
|
|
164
|
-
"中非共和国": "非洲",
|
|
165
|
-
"乍得": "非洲",
|
|
166
169
|
"刚果共和国": "非洲",
|
|
167
170
|
"刚果民主共和国": "非洲",
|
|
171
|
+
"吉布提": "非洲",
|
|
172
|
+
"几内亚": "非洲",
|
|
173
|
+
"几内亚比绍": "非洲",
|
|
174
|
+
"加纳": "非洲",
|
|
168
175
|
"加蓬": "非洲",
|
|
169
|
-
"赤道几内亚": "非洲",
|
|
170
|
-
"圣多美和普林西比": "非洲",
|
|
171
|
-
"安哥拉": "非洲",
|
|
172
|
-
"赞比亚": "非洲",
|
|
173
176
|
"津巴布韦": "非洲",
|
|
177
|
+
"喀麦隆": "非洲",
|
|
178
|
+
"科摩罗": "非洲",
|
|
179
|
+
"科特迪瓦": "非洲",
|
|
180
|
+
"肯尼亚": "非洲",
|
|
181
|
+
"莱索托": "非洲",
|
|
182
|
+
"利比里亚": "非洲",
|
|
183
|
+
"利比亚": "非洲",
|
|
184
|
+
"卢旺达": "非洲",
|
|
185
|
+
"马达加斯加": "非洲",
|
|
174
186
|
"马拉维": "非洲",
|
|
187
|
+
"马里": "非洲",
|
|
188
|
+
"毛里求斯": "非洲",
|
|
189
|
+
"毛里塔尼亚": "非洲",
|
|
190
|
+
"摩洛哥": "非洲",
|
|
175
191
|
"莫桑比克": "非洲",
|
|
176
|
-
"博茨瓦纳": "非洲",
|
|
177
192
|
"纳米比亚": "非洲",
|
|
178
193
|
"南非": "非洲",
|
|
179
|
-
"
|
|
180
|
-
"
|
|
181
|
-
"
|
|
182
|
-
"
|
|
194
|
+
"南苏丹": "非洲",
|
|
195
|
+
"尼日尔": "非洲",
|
|
196
|
+
"尼日利亚": "非洲",
|
|
197
|
+
"塞拉利昂": "非洲",
|
|
198
|
+
"塞内加尔": "非洲",
|
|
183
199
|
"塞舌尔": "非洲",
|
|
184
|
-
"
|
|
200
|
+
"圣多美和普林西比": "非洲",
|
|
201
|
+
"斯威士兰": "非洲",
|
|
202
|
+
"苏丹": "非洲",
|
|
203
|
+
"索马里": "非洲",
|
|
204
|
+
"坦桑尼亚": "非洲",
|
|
205
|
+
"突尼斯": "非洲",
|
|
206
|
+
"乌干达": "非洲",
|
|
185
207
|
"约翰内斯堡": "非洲",
|
|
208
|
+
"赞比亚": "非洲",
|
|
209
|
+
"乍得": "非洲",
|
|
210
|
+
"中非共和国": "非洲",
|
|
186
211
|
|
|
187
212
|
"澳大利亚": "大洋洲",
|
|
188
|
-
"新西兰": "大洋洲",
|
|
189
213
|
"巴布亚新几内亚": "大洋洲",
|
|
190
214
|
"斐济": "大洋洲",
|
|
215
|
+
"基里巴斯": "大洋洲",
|
|
216
|
+
"马绍尔群岛": "大洋洲",
|
|
217
|
+
"密克罗尼西亚": "大洋洲",
|
|
218
|
+
"瑙鲁": "大洋洲",
|
|
219
|
+
"帕劳": "大洋洲",
|
|
220
|
+
"萨摩亚": "大洋洲",
|
|
191
221
|
"所罗门群岛": "大洋洲",
|
|
222
|
+
"汤加": "大洋洲",
|
|
223
|
+
"图瓦卢": "大洋洲",
|
|
192
224
|
"瓦努阿图": "大洋洲",
|
|
193
|
-
"
|
|
194
|
-
"汤加": "大洋洲"
|
|
225
|
+
"新西兰": "大洋洲"
|
|
195
226
|
}
|
|
@@ -119,7 +119,7 @@ for month in <S月, S+1月, E月>:
|
|
|
119
119
|
|
|
120
120
|
## 国家 → 大洲映射
|
|
121
121
|
|
|
122
|
-
- **数据源**:`references/geo-continents.json`(中文国家名 → 7
|
|
122
|
+
- **数据源**:`references/geo-continents.json`(中文国家名 → 7 大洲,覆盖 200+ 主权国家 + 港澳台/巴勒斯坦/马恩岛/波多黎各等领土,由 `tso-cli/scripts/generate-geo-dictionaries.mjs` 与 `geo-en2zh.json` 同步生成;新增国家请加 `ISO_TO_CONTINENT` 映射后跑 `pnpm --filter siluzan-tso-cli run geo:generate`,**不要**手改 JSON)。
|
|
123
123
|
- **默认 7 桶**:`亚洲` / `中东` / `欧洲` / `北美` / `南美` / `非洲` / `大洋洲`。
|
|
124
124
|
- **运营常用 5 桶合并**(与样表 Sheet 3 一致):`<重点国>` / `中东` / `非洲` / `欧美` / `亚洲(除重点国)`。**由脚本在写表前做二次合并**,伪代码:
|
|
125
125
|
|
|
@@ -200,6 +200,18 @@ for month in <S月, S+1月, E月>:
|
|
|
200
200
|
|
|
201
201
|
按 `month` + `seq` 升序。**不**对询盘做去重 / 校验。
|
|
202
202
|
|
|
203
|
+
**`数据质量提示`**(主表下方空 1 行接续;Agent 基于本表数据自动生成,**禁止**编造;纯观察、不带建议口吻):
|
|
204
|
+
|
|
205
|
+
| # | 观察 | 数据依据 |
|
|
206
|
+
| --- | --- | --- |
|
|
207
|
+
| 1 | 询盘总量与月分布 | 3 个月共 `{N}` 条;分月:S月 `{n1}` / 中月 `{n2}` / E月 `{n3}` |
|
|
208
|
+
| 2 | 字段缺失率(IP / 产品 / 客户来源) | `IP` 缺失 `{x}%`、`产品` 缺失 `{y}%`、`客户来源` 缺失 `{z}%`(任一字段缺失率 > 30% 时高亮) |
|
|
209
|
+
| 3 | 重复 IP(同 IP 出现 ≥ 2 条询盘) | `{m}` 条,涉及 `{k}` 个 IP(列出 Top3) |
|
|
210
|
+
| 4 | 国家集中度 | Top1 国家 `{country}` 占 `{p1}%`、Top3 合计 `{p3}%`(> 60% 时高亮"高度集中") |
|
|
211
|
+
| 5 | 询盘时间分布异常 | 若存在单日 ≥ 5 条询盘的"尖峰日",列日期与条数;否则填 `—` |
|
|
212
|
+
|
|
213
|
+
**口径硬约束**:所有 `{...}` 占位符**必须**替换为本期真实数字;某项若数据不足则填 `—`,**禁止**写"约""大概"等模糊词。
|
|
214
|
+
|
|
203
215
|
---
|
|
204
216
|
|
|
205
217
|
### Sheet 3 `询盘分析-最近3个月`
|
|
@@ -225,6 +237,19 @@ for month in <S月, S+1月, E月>:
|
|
|
225
237
|
`消耗`:产品维度的消耗在 `campaigns-*.json` 中需运营自配「产品 → 系列前缀映射」(见下方「可选:产品 → 系列前缀映射」节)。如未配置,**留空** + 脚注:`[ 数据不可用:未配置产品→系列映射 ]`,**禁止**编造分摊;
|
|
226
238
|
`CPL` = `消耗 / 询盘个数`,询盘个数为 0 时填 `—`。
|
|
227
239
|
|
|
240
|
+
**`Agent 数据洞察`**(4 个透视下方留空 1 行接续;Agent 基于本 Sheet 数据自动生成,**禁止**编造;每条**必带**具体数字):
|
|
241
|
+
|
|
242
|
+
| # | 洞察类别 | 内容(每条引用本 Sheet 具体数字) |
|
|
243
|
+
| --- | --- | --- |
|
|
244
|
+
| 1 | **高消耗 0 询盘国家**(透视 1 交叉) | 列出消耗 > `{阈值}` 但询盘 = 0 的国家清单(按消耗降序,最多 5 个);阈值取本期国家消耗中位数 |
|
|
245
|
+
| 2 | **0 消耗有询盘国家**(透视 1 交叉,可能是自然流量/远端品牌词) | 列出消耗 ≈ 0(< `¥10`)但询盘 ≥ 1 的国家(按询盘降序,最多 5 个) |
|
|
246
|
+
| 3 | **客户来源集中度**(透视 2) | Top1 渠道占 `{p1}%`、Top3 合计 `{p3}%`;> 70% 高亮"渠道高度集中,风险敞口大" |
|
|
247
|
+
| 4 | **长尾渠道**(透视 2) | 占比 < 5% 的渠道数量与合计占比;用于会议讨论"是否归并/精简" |
|
|
248
|
+
| 5 | **产品 CPL 偏差**(透视 3,仅当产品→系列映射已配置) | 列出 CPL > 整体均值 × 1.5 的产品(拖累),CPL < 整体均值 × 0.5 的产品(明星) |
|
|
249
|
+
| 6 | **大洲映射缺漏** | 透视 1 中"所属大洲 = 未知大洲"的国家清单(提示运营回流 `geo-continents.json`) |
|
|
250
|
+
|
|
251
|
+
**条数**:上表 6 条为**完整模板**;若某条数据为空(如未配置产品映射、无大洲缺漏),可省略该行,但其余必出。
|
|
252
|
+
|
|
228
253
|
---
|
|
229
254
|
|
|
230
255
|
### Sheet 4 `账号分析-最近3个月`
|
|
@@ -248,6 +273,19 @@ for month in <S月, S+1月, E月>:
|
|
|
248
273
|
| R7 | `时间` \| `国家` \| `消费` \| `线索数` \| `成本` \| `备注`|
|
|
249
274
|
| R8..R13 | 每月一对(`<focusLabel>` / `非<focusLabel>`,其中 `focusLabel` = `focusCountries.join("+")`):脚本读 `./<YYYY-MM>/geographic-*.json`,按 `focusCountries.includes(countryOrRegionZh) \|\| focusCountries.includes(geoEn2Zh[countryOrRegion])` 二分;`消费` = 该桶 `spend` 求和;`线索数` = `inquiries.json` 同月同桶(按 `country` 字段匹配 `focusCountries`) count;`成本` = `消费 / 线索数`,线索 0 填 `—` |
|
|
250
275
|
|
|
276
|
+
**`Agent 数据洞察`**(下区下方留空 1 行接续;Agent 基于本 Sheet 上 + 下区数据自动生成,**禁止**编造;每条**必带**具体数字):
|
|
277
|
+
|
|
278
|
+
| # | 洞察类别 | 内容(每条引用本 Sheet 具体数字) |
|
|
279
|
+
| --- | --- | --- |
|
|
280
|
+
| 1 | **CPL 月环比**(上区) | E月 CPL `¥{x_E}` vs 中月 `¥{x_M}` vs S月 `¥{x_S}`;E月环比 `{±%}`;幅度 \|`> 30%`\| 高亮"显著波动" |
|
|
281
|
+
| 2 | **CTR / CVR 月环比**(上区) | CTR:`{ctr_E}` / `{ctr_M}` / `{ctr_S}`(趋势 ↑↓→);CVR:`{cvr_E}` / `{cvr_M}` / `{cvr_S}`(趋势 ↑↓→) |
|
|
282
|
+
| 3 | **消耗与询盘相关性**(上区) | 列出 3 个月 `费用` 与 `询盘个数` 的同向 / 反向关系(如"消耗 ↓ 但询盘 ↑"提示效率提升) |
|
|
283
|
+
| 4 | **重点国 vs 非重点国成本差额**(下区) | E月:重点国 CPL `¥{a}` vs 非重点国 `¥{b}`,差额 `{|a-b|}`;若重点国 CPL < 非重点国 CPL × 0.5 高亮"重点国成本显著低于其他市场" |
|
|
284
|
+
| 5 | **重点国线索贡献占比**(下区) | E月重点国线索 `{n}` 条,占总量 `{p}%`;3 个月平均占比 `{avg_p}%`;< 20% 提示"重点国线索贡献低,考虑扩展其他市场" |
|
|
285
|
+
| 6 | **重点国趋势**(下区,3 月对比) | 重点国线索数 / 消耗 / CPL 三个月趋势(如"重点国 CPL 连续 3 月下降"或"消耗稳定线索下降") |
|
|
286
|
+
|
|
287
|
+
**条数**:6 条为完整模板;若 `focusCountries = []`(本期无询盘),仅出第 1~3 条上区洞察,下区 3 条标 `[ 本期无重点国,省略下区洞察 ]`。
|
|
288
|
+
|
|
251
289
|
---
|
|
252
290
|
|
|
253
291
|
### Sheet 5 `广告系列消费明细`
|
|
@@ -283,6 +321,19 @@ for month in <S月, S+1月, E月>:
|
|
|
283
321
|
|
|
284
322
|
> **月份列用 Excel 日期序列号**还是 `YYYY-MM` 字符串?运营样表用日期序列号(如 `45931`、`46023`);本模板**任选其一**,但**全表统一**;若用字符串则 R1 表头改为 `月份(YYYY-MM)`。
|
|
285
323
|
|
|
324
|
+
**`Agent 数据洞察`**(笛卡尔积主表下方留空 1 行接续;Agent 基于本 Sheet 数据自动生成,**禁止**编造):
|
|
325
|
+
|
|
326
|
+
| # | 洞察类别 | 内容(每条引用本 Sheet 具体数字) |
|
|
327
|
+
| --- | --- | --- |
|
|
328
|
+
| 1 | **国家月趋势 · 连续下降** | 列出 `费用` 连续 3 个月下降的国家(S → 中 → E 单调递减),按 E月消耗降序前 5 |
|
|
329
|
+
| 2 | **国家月趋势 · 连续上升** | 列出 `费用` 连续 3 个月上升的国家(S → 中 → E 单调递增),按 E月消耗降序前 5 |
|
|
330
|
+
| 3 | **新进入国家**(E 月有消耗,S 月消耗 = 0) | 列国家、E 月消耗、E 月询盘;提示"本期新铺量国家" |
|
|
331
|
+
| 4 | **退出国家**(S 月有消耗,E 月消耗 = 0) | 列国家、S 月消耗、3 月累计询盘;提示"本期已停投国家,可与暂停系列对照" |
|
|
332
|
+
| 5 | **高消耗 0 询盘国家**(与 Sheet 3 透视 1 交叉验证) | 列 3 月累计 `费用` Top10 中 3 月累计 `询盘个数` = 0 的国家 |
|
|
333
|
+
| 6 | **CPA 异常国家** | 列 3 月平均 `每次转化费用` > 整体平均 × 2 的国家(且转化数 ≥ 3,排除小样本噪声) |
|
|
334
|
+
|
|
335
|
+
**条数**:6 条为完整模板;某类无数据时该行填 `[ 无 ]`,**禁止**省略(保持出表完整)。
|
|
336
|
+
|
|
286
337
|
---
|
|
287
338
|
|
|
288
339
|
### Sheet 7 `关键词`
|
|
@@ -295,6 +346,19 @@ for month in <S月, S+1月, E月>:
|
|
|
295
346
|
|
|
296
347
|
按 `转化` 降序、`消耗` 降序双排序。
|
|
297
348
|
|
|
349
|
+
**`Agent 数据洞察`**(关键词主表下方留空 1 行接续;Agent 基于本 Sheet 数据自动生成,**禁止**编造):
|
|
350
|
+
|
|
351
|
+
| # | 洞察类别 | 内容(每条引用本 Sheet 具体数字) |
|
|
352
|
+
| --- | --- | --- |
|
|
353
|
+
| 1 | **匹配方式占比** | `Broad`:`{n_b}` 个、占消耗 `{p_b}%`;`Phrase`:`{n_p}` 个、占消耗 `{p_p}%`;`Exact`:`{n_e}` 个、占消耗 `{p_e}%`;Broad 消耗占比 > 70% 高亮"过度依赖广泛匹配" |
|
|
354
|
+
| 2 | **高消耗 0 转化关键词**(精准止损候选) | 列 `消耗` Top20 中 `转化` = 0 的关键词,按消耗降序前 5;每条标 `关键词` + `匹配方式` + `消耗` |
|
|
355
|
+
| 3 | **CPA 异常关键词**(拖累候选) | 列 `CPA` > 整体平均 × 2 且 `转化` ≥ 2 的关键词,前 5;每条标 `关键词` + `CPA` + `转化数` |
|
|
356
|
+
| 4 | **明星关键词**(性价比候选) | 列 `CPA` < 整体平均 × 0.5 且 `转化` ≥ 3 的关键词,前 5;每条标 `关键词` + `CPA` + `转化数` |
|
|
357
|
+
| 5 | **单关键词消耗集中度** | Top3 关键词合计消耗占比 `{p3}%`;> 50% 高亮"消耗高度集中于少数关键词,风险敞口大" |
|
|
358
|
+
| 6 | **跨系列关键词重复** | 同一 `关键词` + `匹配方式` 出现在 ≥ 2 个 `系列` 中的条目数;提示"内部互抢候选" |
|
|
359
|
+
|
|
360
|
+
**条数**:6 条为完整模板;某类无数据时该行填 `[ 无 ]`。
|
|
361
|
+
|
|
298
362
|
---
|
|
299
363
|
|
|
300
364
|
### Sheet 8 `搜索字词`
|
|
@@ -310,6 +374,18 @@ for month in <S月, S+1月, E月>:
|
|
|
310
374
|
|
|
311
375
|
> **关于"绝对页首展示次数百分比 / 页首展示次数百分比"**:当前 `SearchTermListRow` 类型只显式声明了通用指标,但 `[key: string]: unknown` 兜底使原始字段照常落盘。脚本应读 JSON 原始字段名(实际跑一次确认网关返回字段名,如 `absoluteTopImpressionPercentage` / `topImpressionPercentage`),命中即写、未返回则填 `—`。
|
|
312
376
|
|
|
377
|
+
**`Agent 数据洞察`**(搜索字词主表下方留空 1 行接续;Agent 基于本 Sheet 数据自动生成,**禁止**编造):
|
|
378
|
+
|
|
379
|
+
| # | 洞察类别 | 内容(每条引用本 Sheet 具体数字) |
|
|
380
|
+
| --- | --- | --- |
|
|
381
|
+
| 1 | **未添加但高转化搜索词**(候选加为关键词) | 列 `已添加/已排除` ≠ "已添加" 且 `转化次数` ≥ `{阈值}` 的搜索词,按转化降序前 10;阈值取本期搜索词转化中位数 |
|
|
382
|
+
| 2 | **已添加但 0 转化高消耗搜索词**(候选加为否定关键词) | 列 `已添加/已排除` = "已添加" 且 `转化次数` = 0 且 `费用` > `¥{阈值}` 的搜索词,按消耗降序前 10;阈值取本期搜索词消耗 P75 |
|
|
383
|
+
| 3 | **无关搜索词**(意图偏离候选) | 基于 `搜索字词` 文本扫描,标出与广告组 / 关键字 主题明显不符的词(如"工厂"系列出现"价格便宜""免费""教程"等),前 5;**仅展示**,**不**自动判定,由运营会上拍板 |
|
|
384
|
+
| 4 | **匹配方式分布** | `Broad`:`{n_b}` 个、占消耗 `{p_b}%`;`Phrase`:`{n_p}` 个、占消耗 `{p_p}%`;`Exact`:`{n_e}` 个、占消耗 `{p_e}%` |
|
|
385
|
+
| 5 | **页首展示低 / 高消耗搜索词**(仅当 `页首展示次数百分比` 字段可用) | 列 `费用` Top20 中 `页首展示次数百分比` < 50% 的搜索词,前 5;提示"花了钱但很少展示到页首,出价/质量得分待优化" |
|
|
386
|
+
|
|
387
|
+
**条数**:5 条为完整模板;若网关未返回页首展示字段(第 5 条),整行填 `[ 字段不可用 ]`;其余无数据填 `[ 无 ]`。
|
|
388
|
+
|
|
313
389
|
---
|
|
314
390
|
|
|
315
391
|
## 重点国家配置(Sheet 3 大洲桶 + Sheet 4 下半区切片共用)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "siluzan-tso-cli",
|
|
3
|
-
"version": "1.1.19-beta.
|
|
3
|
+
"version": "1.1.19-beta.18",
|
|
4
4
|
"description": "Siluzan 广告账户管理 CLI — 查询账户、余额、消耗数据,管理绑定关系与充值。",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ad-account",
|
|
@@ -77,6 +77,8 @@
|
|
|
77
77
|
"build:prod": "node scripts/write-defaults.mjs --env production && tsup && node scripts/copy-skill-assets.mjs --env production",
|
|
78
78
|
"build:test": "node scripts/write-defaults.mjs --env test && tsup && node scripts/copy-skill-assets.mjs --env test",
|
|
79
79
|
"eval:export-cases": "tsx eval/scripts/export-scenarios.mts",
|
|
80
|
+
"geo:generate": "node scripts/generate-geo-dictionaries.mjs",
|
|
81
|
+
"geo:check": "node scripts/generate-geo-dictionaries.mjs --check",
|
|
80
82
|
"test:ad-read": "node scripts/test-ad-api-read.mjs",
|
|
81
83
|
"start": "node dist/index.js",
|
|
82
84
|
"typecheck": "tsc --noEmit -p tsconfig.json"
|