gaokao-pro 0.3.6 → 0.3.7

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.
@@ -133,7 +133,7 @@
133
133
  "schools_985": ["南开大学", "天津大学"],
134
134
  "schools_211": ["河北工业大学", "天津医科大学"],
135
135
  "schools_shuangyiliu": ["天津工业大学", "天津中医药大学"],
136
- "advice": "环京家长曲线救国 (天津户籍考生分数线显著低于北京); 南开数学/经济; 天大化工/建筑; 想去北京但分数差点考虑 天津曲线"
136
+ "advice": "环京家长曲线救国 (天津户籍考生分数线显著低于 河北/山东; 接近北京); 南开数学/经济; 天大化工/建筑; 想去北京但分数差点考虑 天津曲线"
137
137
  },
138
138
  {
139
139
  "city": "重庆",
@@ -157,7 +157,7 @@
157
157
  "schools_985": [],
158
158
  "schools_211": ["苏州大学"],
159
159
  "schools_shuangyiliu": ["西交利物浦大学"],
160
- "advice": "苏州大学 211 综合; 西浦 9.5 万/年 学费 + 2+2 海外路径; 离上海 30 分钟高铁 (实习/就业方便); 江苏综评 B 类 (苏大) 30% 校测权重"
160
+ "advice": "苏州大学 211 综合; 西浦 9.5 万/年 学费 + 2+2 海外路径; 离上海 30 分钟高铁 (实习/就业方便); 江苏综评 B 类 (南师/南信/南工/南邮/南医/南林/南通/江大/扬大/南中医 等 12 校) 校测 30% 权重 — 苏大不开综评"
161
161
  },
162
162
  {
163
163
  "city": "厦门",
@@ -169,7 +169,7 @@
169
169
  "schools_985": ["厦门大学"],
170
170
  "schools_211": [],
171
171
  "schools_shuangyiliu": ["华侨大学", "福州大学"],
172
- "advice": "环境最美 985; 厦大经济/海洋/化学/会计 顶尖; 华侨大学侨胞通道; 厦大马来分校 2.8 万林吉特/年; 福建本省综评 厦大覆盖好"
172
+ "advice": "环境最美 985; 厦大经济/海洋/化学/会计 顶尖; 华侨大学侨胞通道; 厦大马来分校 2.6-3.0 万林吉特/学年 (按专业); 厦大走 强基 + 凤凰高校专项 + 中外合作, 综评不开 (与杭工大/南大双轨不同)"
173
173
  },
174
174
  {
175
175
  "city": "长沙",
@@ -177,11 +177,11 @@
177
177
  "tier": "新一线",
178
178
  "tier_rank": 2,
179
179
  "cost_of_living": {"rent_1bed_month_cny": 2500, "food_month_cny": 1200, "total_student_month_cny": 2200},
180
- "highlights": "中部新崛起 + 中南/湖大/湘大 三 985 (中南/湖大 985, 湘大 985 平台双一流); 文娱产业 (芒果)",
180
+ "highlights": "中部新崛起 + 中南/湖大/国防科大 三 985 (含军校 国防科大) + 湘潭大学 双一流; 文娱产业 (芒果)",
181
181
  "schools_985": ["中南大学", "湖南大学", "国防科技大学"],
182
182
  "schools_211": ["湖南师范大学"],
183
183
  "schools_shuangyiliu": ["湘潭大学"],
184
- "advice": "国防科大 (军校体系, 全国录取最神秘) + 湖大土木 + 中南医学/材料/矿冶; 湖南本地考生 112 志愿无调剂 务必梯度; 性价比中部第二仅次武汉"
184
+ "advice": "国防科大 (军校体系, 全国录取最神秘) + 湖大土木 + 中南医学/材料/矿冶; 湖南本地考生 45 院校专业组 × 6 含调剂 务必梯度 (不勾服从+选科不符 仍是退档主因); 性价比中部第二仅次武汉"
185
185
  },
186
186
  {
187
187
  "city": "合肥",
@@ -217,7 +217,7 @@
217
217
  "schools_985": ["中国海洋大学"],
218
218
  "schools_211": [],
219
219
  "schools_shuangyiliu": [],
220
- "advice": "中海大 海洋科学 全国第一; 山大青岛校区 (山大本部 = 济南); 海尔/海信 大厂; 适合海洋/水产/船舶 方向"
220
+ "advice": "中海大 海洋科学 全国第一; 山大青岛校区 (山大本部 = 济南); 海尔/海信/中海油/青啤 大厂; 适合海洋/水产/船舶/能源 方向"
221
221
  },
222
222
  {
223
223
  "city": "大连",
@@ -228,8 +228,8 @@
228
228
  "highlights": "东北经济引擎 + 大工 985 + 海事大学 + 软件/造船强势",
229
229
  "schools_985": ["大连理工大学"],
230
230
  "schools_211": ["大连海事大学"],
231
- "schools_shuangyiliu": ["大连医科大学"],
232
- "advice": "大工综合 + 软件/化工/机械; 海事 海运/航海 行业垄断; 东北人口外流, 但大连相对宜居; 大工盘锦校区 (注意校区差)"
231
+ "schools_shuangyiliu": ["东北财经大学"],
232
+ "advice": "大工综合 + 软件/化工/机械; 海事 海运/航海 行业垄断; 东财 财政部共建 + 公考友好 (211 + 双一流学科 应用经济学); 大连医科 省重点 临床医学 强势; 东北人口外流但大连相对宜居; 大工盘锦校区 (注意校区差)"
233
233
  },
234
234
  {
235
235
  "city": "沈阳",
@@ -239,9 +239,9 @@
239
239
  "cost_of_living": {"rent_1bed_month_cny": 1800, "food_month_cny": 1000, "total_student_month_cny": 1800},
240
240
  "highlights": "东北重工业 + 东大 985 + 老牌工科",
241
241
  "schools_985": ["东北大学"],
242
- "schools_211": ["中国医科大学", "沈阳农业大学", "辽宁大学"],
242
+ "schools_211": ["辽宁大学"],
243
243
  "schools_shuangyiliu": ["沈阳药科大学"],
244
- "advice": "东北 985 老牌; 学风扎实; 学费 + 生活成本最低; 适合预算紧的寒门考生; 缺点 北方城市人口外流, 留在沈阳就业机会少"
244
+ "advice": "东北 985 老牌; 学风扎实; 学费 + 生活成本最低; 适合预算紧的寒门考生; 中国医科 + 沈阳农业 省重点 (非 211, 但临床医学/农学 强); 缺点 北方城市人口外流, 留在沈阳就业机会少"
245
245
  },
246
246
  {
247
247
  "city": "长春",
@@ -297,11 +297,11 @@
297
297
  "tier": "二线",
298
298
  "tier_rank": 3,
299
299
  "cost_of_living": {"rent_1bed_month_cny": 2000, "food_month_cny": 1100, "total_student_month_cny": 1900},
300
- "highlights": "东盟门户 + 广西大学 211 + 民族多元 (壮/瑶/侗 加分)",
300
+ "highlights": "东盟门户 + 广西大学 211 + 民族多元 (瑶/苗/侗 +15 / 壮族 +3-7)",
301
301
  "schools_985": [],
302
302
  "schools_211": ["广西大学"],
303
- "schools_shuangyiliu": ["广西师范大学"],
304
- "advice": "广西大学 211 综合 (土木/林学突围); 北部湾经济区 / 东盟贸易 国家战略; 民族 加分政策 利于本省壮/瑶族考生; 越南语小语种考生注意北外 eligible"
303
+ "schools_shuangyiliu": [],
304
+ "advice": "广西大学 211 综合 (土木/林学突围); 北部湾经济区 / 东盟贸易 国家战略; 民族加分 8 档: 瑶/苗/侗/水/仡佬 等 10 世居少民 +15 (三统一), 壮族 +3-7 (城内/城外/三统一 差异); 越南语小语种考生 注意 北外+广西民族大学 + 一带一路 东盟商务; 广西师大在桂林 (非南宁)"
305
305
  },
306
306
  {
307
307
  "city": "昆明",
@@ -947,7 +947,7 @@
947
947
  "zs_code": "10108",
948
948
  "tier_label": "双一流",
949
949
  "city": "太原",
950
- "rates": {"baoyan_rate_pct": 10, "domestic_grad_school_pct": 35, "abroad_pct": 5, "direct_employment_pct": 50, "big_tech_hire_rate_est": 4, "civil_service_rate_est": 28},
950
+ "rates": {"baoyan_rate_pct": 14, "domestic_grad_school_pct": 38, "abroad_pct": 5, "direct_employment_pct": 46, "big_tech_hire_rate_est": 4, "civil_service_rate_est": 28},
951
951
  "specialty_strength": "物理/化学/历史 双一流; 山西体制内 主输送",
952
952
  "notable_employers": ["山西体制内", "国家电网", "华为", "晋能控股", "山西焦煤", "字节跳动", "中国移动", "工商银行"],
953
953
  "confidence_level": "medium"
@@ -957,7 +957,7 @@
957
957
  "zs_code": "10112",
958
958
  "tier_label": "211/双一流",
959
959
  "city": "太原",
960
- "rates": {"baoyan_rate_pct": 10, "domestic_grad_school_pct": 38, "abroad_pct": 4, "direct_employment_pct": 48, "big_tech_hire_rate_est": 6, "civil_service_rate_est": 24},
960
+ "rates": {"baoyan_rate_pct": 14, "domestic_grad_school_pct": 40, "abroad_pct": 4, "direct_employment_pct": 46, "big_tech_hire_rate_est": 6, "civil_service_rate_est": 24},
961
961
  "specialty_strength": "机械/采矿/化工; 山西煤炭+能源 行业垄断输送",
962
962
  "notable_employers": ["晋能控股", "山西焦煤", "国家电网", "华为", "中铁集团", "字节跳动", "中信证券", "中国电科"],
963
963
  "confidence_level": "medium"
@@ -1868,7 +1868,7 @@
1868
1868
  "tier_label": "省重点",
1869
1869
  "city": "太原",
1870
1870
  "rates": {"baoyan_rate_pct": 8, "domestic_grad_school_pct": 30, "abroad_pct": 3, "direct_employment_pct": 59, "big_tech_hire_rate_est": 6, "civil_service_rate_est": 22},
1871
- "specialty_strength": "兵器/电子/机械 (国防七子); 中国兵器/航天 输送",
1871
+ "specialty_strength": "兵器/电子/机械 (兵工七子); 中国兵器/航天 输送",
1872
1872
  "notable_employers": ["中国兵器", "中国航天", "中国电科", "国家电网", "字节跳动", "华为", "中航工业", "山西体制内"],
1873
1873
  "confidence_level": "medium"
1874
1874
  },
@@ -2004,7 +2004,7 @@
2004
2004
  },
2005
2005
  {
2006
2006
  "school": "西藏农牧学院",
2007
- "zs_code": "10694C",
2007
+ "zs_code": "10693",
2008
2008
  "tier_label": "省重点",
2009
2009
  "city": "林芝",
2010
2010
  "rates": {"baoyan_rate_pct": 4, "domestic_grad_school_pct": 20, "abroad_pct": 2, "direct_employment_pct": 74, "big_tech_hire_rate_est": 1, "civil_service_rate_est": 48},
@@ -2023,7 +2023,7 @@
2023
2023
  "confidence_level": "medium"
2024
2024
  },
2025
2025
  {
2026
- "school": "宁夏师范学院",
2026
+ "school": "宁夏师范大学",
2027
2027
  "zs_code": "10753",
2028
2028
  "tier_label": "省重点",
2029
2029
  "city": "固原",
@@ -812,13 +812,13 @@
812
812
  },
813
813
  {
814
814
  "case_id": "composite-044",
815
- "year": 2024,
815
+ "year": 2025,
816
816
  "province": "宁夏",
817
817
  "type": "退档",
818
818
  "school": null,
819
819
  "category": "新高考首届",
820
820
  "candidate_profile_summary": "本科批 A 段 45 + B 段 45;A 段提前 A 顺序志愿第一志愿失败",
821
- "what_happened": "宁夏 2024 首届 3+1+2,A 段提前部分为顺序志愿。考生家长按平行志愿思路填 A 段第一志愿,第一志愿落空后顺序志愿后续基本不投档,直接滑到 B 段。",
821
+ "what_happened": "宁夏 2025 首届 3+1+2,A 段提前部分为顺序志愿。考生家长按平行志愿思路填 A 段第一志愿,第一志愿落空后顺序志愿后续基本不投档,直接滑到 B 段。",
822
822
  "lesson": "宁夏 A 段含顺序志愿——顺序志愿的第一志愿至关重要,第一志愿失败后续投档机会大幅缩水。这与平行志愿心智完全不同。",
823
823
  "tags": [
824
824
  "新高考首届",
@@ -1059,8 +1059,8 @@
1059
1059
  "type": "退档",
1060
1060
  "school": null,
1061
1061
  "category": "新高考首届",
1062
- "candidate_profile_summary": "理科转物理类 425 分;2025 首届第二年;专项资格审核失败",
1063
- "what_happened": "青海 2024 已是首届,2025 是第二年。但 2025 起省内专项资格核验流程电子化,部分家长仍按 2024 纸质流程操作,错过电子复核窗口,专项资格作废,投档后被退档。",
1062
+ "candidate_profile_summary": "理科转物理类 425 分;2025 首届 3+1+2;专项资格审核失败",
1063
+ "what_happened": "青海 2025 是首届新高考 (3+1+2)。2025 起省内专项资格核验流程电子化,部分家长按老高考 (2024 及之前) 纸质流程操作,错过电子复核窗口,专项资格作废,投档后被退档。",
1064
1064
  "lesson": "新高考过渡期间,省考试院的操作流程几乎每年都在微调。专项资格、加分核验、志愿确认这些'非分数'流程必须每年重新读一遍最新通知,不要按上一年经验操作。",
1065
1065
  "tags": [
1066
1066
  "新高考首届",
@@ -1078,8 +1078,8 @@
1078
1078
  "type": "滑档",
1079
1079
  "school": null,
1080
1080
  "category": "新高考首届",
1081
- "candidate_profile_summary": "首选物理 / 再选化生;2025 首届第二年;A 段 45 全冲",
1082
- "what_happened": "宁夏 2024 首届,2025 第二年但样本量仍小。家长 A 段 45 志愿全部冲省外双一流,B 段 45 也填高校,无真正保底。A 段 + B 段全部不投,落到征集。",
1081
+ "candidate_profile_summary": "首选物理 / 再选化生;2025 首届 3+1+2;A 段 45 全冲",
1082
+ "what_happened": "宁夏 2025 首届新高考 (3+1+2),样本量小波动大。家长 A 段 45 志愿全部冲省外双一流,B 段 45 也填高校,无真正保底。A 段 + B 段全部不投,落到征集。",
1083
1083
  "lesson": "宁夏 A+B 段 45+45 总志愿数看似多,但小省考生基数小、波动大。建议 A 段冲 15 / 稳 15 / 保 15,B 段全部用于绝对保底(位次宽 3000+)。",
1084
1084
  "tags": [
1085
1085
  "新高考首届",
@@ -1337,21 +1337,21 @@
1337
1337
  },
1338
1338
  {
1339
1339
  "case_id": "composite-072",
1340
- "year": 2025,
1340
+ "year": 2024,
1341
1341
  "province": "甘肃",
1342
1342
  "type": "滑档",
1343
1343
  "school": null,
1344
1344
  "category": "新高考首届",
1345
- "candidate_profile_summary": "首选物理 / 再选化生;2025 首届 3+1+2;按 2024 老理科位次填",
1346
- "what_happened": "甘肃 2025 首届 3+1+2,家长按 2024 老高考理科位次估算物理组位次。新模式物理组实际竞争结构不同,省内某 211 投档线偏离预测 15 分,冲稳保全部错位。",
1345
+ "candidate_profile_summary": "首选物理 / 再选化生;2024 首届 3+1+2;按 2023 老理科位次填",
1346
+ "what_happened": "甘肃 2024 首届 3+1+2,家长按 2023 老高考理科位次估算物理组位次。新模式物理组实际竞争结构不同,省内某 211 投档线偏离预测 15 分,冲稳保全部错位。",
1347
1347
  "lesson": "首届新高考省份等首届一分一段表(6 月 25 日后)再填报。提前用老数据'预测'位次的家长往往最早爆雷——多 1 周时间换准确数据完全值得。",
1348
1348
  "tags": [
1349
1349
  "新高考首届",
1350
1350
  "甘肃",
1351
- "2025",
1351
+ "2024",
1352
1352
  "3+1+2"
1353
1353
  ],
1354
- "source_hint": "甘肃考试院 2025 首届说明; 甘肃家长帮 2025",
1354
+ "source_hint": "甘肃考试院 2024 首届说明; 甘肃家长帮 2024",
1355
1355
  "is_composite": true
1356
1356
  },
1357
1357
  {
@@ -186,7 +186,7 @@
186
186
  {
187
187
  "rank": 16,
188
188
  "major_name": "公安学 / 治安学",
189
- "professional_code": "030503",
189
+ "professional_code": "030601K",
190
190
  "kaogong_score": 10,
191
191
  "available_posts_5yr": 9000,
192
192
  "available_posts_pct": 3.0,
@@ -42,7 +42,7 @@
42
42
  {"zs_code":"10561","name":"华南理工大学"},
43
43
  {"zs_code":"10610","name":"四川大学"},
44
44
  {"zs_code":"10611","name":"重庆大学"},
45
- {"zs_code":"10618","name":"电子科技大学"},
45
+ {"zs_code":"10614","name":"电子科技大学"},
46
46
  {"zs_code":"10698","name":"西安交通大学"},
47
47
  {"zs_code":"10699","name":"西北工业大学"},
48
48
  {"zs_code":"10730","name":"兰州大学"},
@@ -0,0 +1,281 @@
1
+ {
2
+ "_kind": "31 省 高考分数体系 — 赋分制 vs 原始分 + 满分 + 等级换算",
3
+ "_year": 2025,
4
+ "_source": "各省教育考试院 2025 招生工作通知 + 浙江/上海考试院 等级赋分规则原文",
5
+ "_caveat": "本数据集只描述 per-subject 赋分规则; 我们其他数据集 (一分一段/录取线/综评公式) 都基于 final 总分 — 总分本身已是赋分后值, 不需要 用户额外换算",
6
+ "_schema": {
7
+ "province": "省份名",
8
+ "reform": "3+3 | 3+1+2 | 老高考",
9
+ "total_score": "高考总分 (final, 赋分后)",
10
+ "raw_subjects": "原始分计分科目 (无赋分)",
11
+ "scaled_subjects": "赋分科目 (等级赋分)",
12
+ "scaling_formula": "赋分公式 + 等级数 + 比例",
13
+ "_advice": "家长视角一句话: 你说的物理 90 分 是原始 还是赋分?"
14
+ },
15
+ "provinces": [
16
+ {
17
+ "province": "北京",
18
+ "reform": "3+3",
19
+ "total_score": 750,
20
+ "raw_subjects": [
21
+ {"name": "语文", "max": 150, "type": "原始"},
22
+ {"name": "数学", "max": 150, "type": "原始"},
23
+ {"name": "外语", "max": 150, "type": "原始 (含听说)"}
24
+ ],
25
+ "scaled_subjects": [
26
+ {"name": "物理/化学/生物/政治/历史/地理 6 选 3", "max": 100, "type": "等级赋分 (5 等 21 级, 40-100, 每 3 分一级)"}
27
+ ],
28
+ "scaling_formula": "5 等 21 级: 1-3% A+, 3-15% A, 15-37% B+, 37-63% B, 63-85% C+, 85-97% C, 97-100% D. 赋分区间 [100,97,94,...,43,40] 每 3 分一级.",
29
+ "_advice": "北京家长说'我家娃物理 90 分' 大概率是 **赋分后** (因为 总分中物理就是 赋分分). 选考三科 各 100 满分 都已是赋分."
30
+ },
31
+ {
32
+ "province": "天津",
33
+ "reform": "3+3",
34
+ "total_score": 750,
35
+ "raw_subjects": [
36
+ {"name": "语文", "max": 150, "type": "原始"},
37
+ {"name": "数学", "max": 150, "type": "原始"},
38
+ {"name": "外语", "max": 150, "type": "原始"}
39
+ ],
40
+ "scaled_subjects": [
41
+ {"name": "物化生政史地 6 选 3", "max": 100, "type": "等级赋分 (5 等 21 级, 40-100)"}
42
+ ],
43
+ "scaling_formula": "同北京, 5 等 21 级",
44
+ "_advice": "同北京. 注: 天津户籍报考 国考天津机关 有 户籍优势."
45
+ },
46
+ {
47
+ "province": "上海",
48
+ "reform": "3+3",
49
+ "total_score": 660,
50
+ "raw_subjects": [
51
+ {"name": "语文", "max": 150, "type": "原始"},
52
+ {"name": "数学", "max": 150, "type": "原始"},
53
+ {"name": "外语", "max": 150, "type": "原始"}
54
+ ],
55
+ "scaled_subjects": [
56
+ {"name": "物化生政史地 6 选 3", "max": 70, "type": "等级赋分 (11 等, 40-70)"}
57
+ ],
58
+ "scaling_formula": "11 等: A+(5%)/A(10%)/A-(11%)/B+(13%)/B(14%)/B-(13%)/C+(11%)/C(10%)/C-(7%)/D+(4%)/D(2%). 赋分 [70,67,64,61,58,55,52,49,46,43,40].",
59
+ "_advice": "上海 选考各科 70 分满 (不是 100). 上海家长说'物理 65' = 赋分后, 等级 A- 左右."
60
+ },
61
+ {
62
+ "province": "浙江",
63
+ "reform": "3+3 独有 (7 选 3 含技术)",
64
+ "total_score": 750,
65
+ "raw_subjects": [
66
+ {"name": "语文", "max": 150, "type": "原始"},
67
+ {"name": "数学", "max": 150, "type": "原始"},
68
+ {"name": "外语", "max": 150, "type": "原始"}
69
+ ],
70
+ "scaled_subjects": [
71
+ {"name": "物化生政史地技 7 选 3", "max": 100, "type": "等级赋分 (5 等 21 级, 40-100)"}
72
+ ],
73
+ "scaling_formula": "5 等 21 级: 1% A+, 2-9% A1, 10-20% A2, 21-37% B1, ...; 赋分 [100,97,94,...,43,40] 每 3 分一级",
74
+ "_advice": "浙江 选考 100 满分 都已是 赋分后. 浙大三位一体 50:30:20 中的高考 50% = 总分 750 × 0.5 = 375 折算, 浙江本地考生熟悉这一公式."
75
+ },
76
+ {
77
+ "province": "山东",
78
+ "reform": "3+3 独有 (6 选 3)",
79
+ "total_score": 750,
80
+ "raw_subjects": [
81
+ {"name": "语文", "max": 150, "type": "原始"},
82
+ {"name": "数学", "max": 150, "type": "原始"},
83
+ {"name": "外语", "max": 150, "type": "原始"}
84
+ ],
85
+ "scaled_subjects": [
86
+ {"name": "物化生政史地 6 选 3", "max": 100, "type": "等级赋分 (8 等)"}
87
+ ],
88
+ "scaling_formula": "8 等比例 3%/7%/16%/24%/24%/16%/7%/3%, 赋分区间 [91-100, 81-90, 71-80, 61-70, 51-60, 41-50, 31-40, 21-30] 等距换算.",
89
+ "_advice": "山东 选考 100 满分 已是 赋分后, 但 8 等 (vs 浙江/北京 5 等 21 级) 区分度略低. 山大综评 70:30 比例中 高考 70% = 总分."
90
+ },
91
+ {
92
+ "province": "海南",
93
+ "reform": "3+3 标准分900",
94
+ "total_score": 900,
95
+ "raw_subjects": [],
96
+ "scaled_subjects": [
97
+ {"name": "全 6 科", "max": 900, "type": "标准分 z-score 转换"}
98
+ ],
99
+ "scaling_formula": "海南独有标准分制: 单科原始分 → 等级位次 → 标准分 (基于 全省 cohort z-score, 100-900 范围). 单科满分 300, 总分 900.",
100
+ "_advice": "海南是 全国唯一 标准分制. 海南家长说'我家娃 700 分' = 标准分 700 (不要与 750 制对比!). 跨省策略需 标准分↔原始分 换算表 (海南考试院 2024 数据)."
101
+ },
102
+ {
103
+ "province": "河北",
104
+ "reform": "3+1+2",
105
+ "total_score": 750,
106
+ "raw_subjects": [
107
+ {"name": "语文", "max": 150, "type": "原始"},
108
+ {"name": "数学", "max": 150, "type": "原始"},
109
+ {"name": "外语", "max": 150, "type": "原始"},
110
+ {"name": "首选 物理 或 历史", "max": 100, "type": "原始 (不赋分)"}
111
+ ],
112
+ "scaled_subjects": [
113
+ {"name": "再选 2 科 (化生政地 4 选 2)", "max": 100, "type": "等级赋分 (5 等 21 级, 30-100)"}
114
+ ],
115
+ "scaling_formula": "5 等比例 15%/35%/35%/13%/2%; 赋分区间 100-86, 85-71, 70-56, 55-41, 40-30 等距 21 级换算.",
116
+ "_advice": "3+1+2 模式: 物理/历史 100 是 原始分 (不赋分), 再选 2 科 100 是 赋分后. 河北家长说'物理 92' = 原始; '化学 95' = 赋分后 (大概率等级 A 顶档)."
117
+ },
118
+ {
119
+ "province": "辽宁",
120
+ "reform": "3+1+2",
121
+ "total_score": 750,
122
+ "raw_subjects": [
123
+ {"name": "语文", "max": 150, "type": "原始"},
124
+ {"name": "数学", "max": 150, "type": "原始"},
125
+ {"name": "外语", "max": 150, "type": "原始"},
126
+ {"name": "首选 物理/历史", "max": 100, "type": "原始"}
127
+ ],
128
+ "scaled_subjects": [
129
+ {"name": "再选 2 科 (化生政地 4 选 2)", "max": 100, "type": "等级赋分 (5 等 21 级, 30-100)"}
130
+ ],
131
+ "scaling_formula": "同河北, 5 等 21 级",
132
+ "_advice": "辽宁 112 志愿无调剂, 等级赋分 同河北. 同样 物理/历史 是 原始, 再选 是 赋分."
133
+ },
134
+ {
135
+ "province": "江苏",
136
+ "reform": "3+1+2",
137
+ "total_score": 750,
138
+ "raw_subjects": [
139
+ {"name": "语文", "max": 150, "type": "原始"},
140
+ {"name": "数学", "max": 150, "type": "原始"},
141
+ {"name": "外语", "max": 150, "type": "原始"},
142
+ {"name": "首选 物理/历史", "max": 100, "type": "原始"}
143
+ ],
144
+ "scaled_subjects": [
145
+ {"name": "再选 2 科 (化生政地 4 选 2)", "max": 100, "type": "等级赋分 (5 等 21 级, 30-100)"}
146
+ ],
147
+ "scaling_formula": "同河北/辽宁, 5 等 21 级",
148
+ "_advice": "江苏综评 A 类 (南大/东大) 用 100 制 (高考 × 85 + 校测 × 15) — 高考 100 = 总分/750 × 100 = 赋分后 总分 折算 100. B 类 (南师/南信等 12 校) 30% 校测权重."
149
+ },
150
+ {
151
+ "province": "福建",
152
+ "reform": "3+1+2",
153
+ "total_score": 750,
154
+ "raw_subjects": [
155
+ {"name": "语文/数学/外语", "max": 150, "type": "原始"},
156
+ {"name": "首选物理/历史", "max": 100, "type": "原始"}
157
+ ],
158
+ "scaled_subjects": [
159
+ {"name": "再选 2 科", "max": 100, "type": "等级赋分 (5 等 21 级, 30-100)"}
160
+ ],
161
+ "scaling_formula": "同河北, 5 等 21 级",
162
+ "_advice": "福建 厦大 走 强基 + 凤凰高校专项 (高校专项), 不走综评. 综评全国校 (北外/南科/上科 等) 福建考生可报."
163
+ },
164
+ {
165
+ "province": "湖北",
166
+ "reform": "3+1+2",
167
+ "total_score": 750,
168
+ "raw_subjects": [
169
+ {"name": "语文/数学/外语", "max": 150, "type": "原始"},
170
+ {"name": "首选物理/历史", "max": 100, "type": "原始"}
171
+ ],
172
+ "scaled_subjects": [
173
+ {"name": "再选 2 科", "max": 100, "type": "等级赋分 (5 等 21 级, 30-100)"}
174
+ ],
175
+ "scaling_formula": "同河北",
176
+ "_advice": "湖北 艺术 ×2 系数 还原 是文化分维度, 与赋分制独立. 艺术统考分 ×2 折算文化课."
177
+ },
178
+ {
179
+ "province": "湖南",
180
+ "reform": "3+1+2",
181
+ "total_score": 750,
182
+ "raw_subjects": [
183
+ {"name": "语文/数学/外语", "max": 150, "type": "原始"},
184
+ {"name": "首选物理/历史", "max": 100, "type": "原始"}
185
+ ],
186
+ "scaled_subjects": [
187
+ {"name": "再选 2 科", "max": 100, "type": "等级赋分 (5 等 21 级, 30-100)"}
188
+ ],
189
+ "scaling_formula": "同河北",
190
+ "_advice": "湖南 45 院校专业组 × 6 含调剂; 公费师范 6 校省级是本地寒门铁饭碗."
191
+ },
192
+ {
193
+ "province": "广东",
194
+ "reform": "3+1+2",
195
+ "total_score": 750,
196
+ "raw_subjects": [
197
+ {"name": "语文/数学/外语", "max": 150, "type": "原始"},
198
+ {"name": "首选物理/历史", "max": 100, "type": "原始"}
199
+ ],
200
+ "scaled_subjects": [
201
+ {"name": "再选 2 科", "max": 100, "type": "等级赋分 (5 等 21 级, 30-100)"}
202
+ ],
203
+ "scaling_formula": "同河北",
204
+ "_advice": "广东 港中深综评 11.5 万/年 学费; 港校综评 18 万 HKD/年 + 英语 130+ 门槛."
205
+ },
206
+ {
207
+ "province": "重庆",
208
+ "reform": "3+1+2",
209
+ "total_score": 750,
210
+ "raw_subjects": [
211
+ {"name": "语文/数学/外语", "max": 150, "type": "原始"},
212
+ {"name": "首选物理/历史", "max": 100, "type": "原始"}
213
+ ],
214
+ "scaled_subjects": [
215
+ {"name": "再选 2 科", "max": 100, "type": "等级赋分 (5 等 21 级, 30-100)"}
216
+ ],
217
+ "scaling_formula": "同河北",
218
+ "_advice": "重庆 96 志愿 无调剂, 务必梯度精准. 西南大学公费师范 6 部属之一."
219
+ },
220
+ {
221
+ "province": "甘肃|安徽|江西|广西|贵州|黑龙江|吉林",
222
+ "reform": "3+1+2 (批4: 2024 首届)",
223
+ "total_score": 750,
224
+ "raw_subjects": [
225
+ {"name": "语文/数学/外语", "max": 150, "type": "原始"},
226
+ {"name": "首选物理/历史", "max": 100, "type": "原始"}
227
+ ],
228
+ "scaled_subjects": [
229
+ {"name": "再选 2 科", "max": 100, "type": "等级赋分 (5 等 21 级, 30-100)"}
230
+ ],
231
+ "scaling_formula": "同河北",
232
+ "_advice": "批4 (2024 首届) 7 省 赋分制完全一致. 2024 首届数据样本仅 1 年, 跨改革位次预测不可比."
233
+ },
234
+ {
235
+ "province": "山西|内蒙古|河南|四川|陕西|云南|青海|宁夏",
236
+ "reform": "3+1+2 (批5: 2025 首届)",
237
+ "total_score": 750,
238
+ "raw_subjects": [
239
+ {"name": "语文/数学/外语", "max": 150, "type": "原始"},
240
+ {"name": "首选物理/历史", "max": 100, "type": "原始"}
241
+ ],
242
+ "scaled_subjects": [
243
+ {"name": "再选 2 科", "max": 100, "type": "等级赋分 (5 等 21 级, 30-100)"}
244
+ ],
245
+ "scaling_formula": "同河北",
246
+ "_advice": "批5 (2025 首届) 8 省 赋分制完全一致. 2025 首届数据样本仅 1 年, 2026 是第 2 届 — 位次断档警告必查."
247
+ },
248
+ {
249
+ "province": "西藏",
250
+ "reform": "老高考",
251
+ "total_score": 750,
252
+ "raw_subjects": [
253
+ {"name": "语数外", "max": 150, "type": "原始"},
254
+ {"name": "文综 或 理综", "max": 300, "type": "原始 (3 科 × 100)"}
255
+ ],
256
+ "scaled_subjects": [],
257
+ "scaling_formula": "无赋分; 全部原始分.",
258
+ "_advice": "西藏 仍 老高考 文/理 分科; A/B 双线 (进藏干部子女+30 / 双联户+10) 是 西藏独有 加分制. 改革延期 (预计 2027/2028 首届 3+1+2)."
259
+ },
260
+ {
261
+ "province": "新疆",
262
+ "reform": "老高考",
263
+ "total_score": 750,
264
+ "raw_subjects": [
265
+ {"name": "语数外", "max": 150, "type": "原始"},
266
+ {"name": "文综 或 理综", "max": 300, "type": "原始"}
267
+ ],
268
+ "scaled_subjects": [],
269
+ "scaling_formula": "无赋分",
270
+ "_advice": "新疆 改革延期至 2027 首届 3+1+2. 2025 仍 老高考 文/理. 民语言/民考汉/双语班 是 新疆独有 多 track."
271
+ }
272
+ ],
273
+ "_common_misunderstandings": [
274
+ "误区 1: 浙江/上海 选考 100 分 是 原始分 → 实际都是 赋分后 (浙江 5 等 21 级; 上海 11 等 70 满分)",
275
+ "误区 2: 3+1+2 首选物理/历史 也是 赋分 → 实际首选用 原始分, 再选才赋分",
276
+ "误区 3: 海南 700 分 ≈ 其他省 700 分 → 错; 海南 700 标准分 ≈ 其他省 600+ 原始分 (跨省比需用 标准分↔原始分 换算表)",
277
+ "误区 4: 跨改革年 (2024→2025 首届) 位次 直接可比 → 错; 老高考末年 vs 新高考首届 报名人数+科目结构 都变, 位次完全不可对应",
278
+ "误区 5: 综评公式 (浙大 50:30:20) 高考 50% = 原始分 → 实际是 总分/750 × 100 折算 100 制 (赋分已包含)"
279
+ ],
280
+ "_key_takeaway": "对 95% 用户场景, 不需要关心 赋分 细节 — 你的高考总分 已经是 赋分后 final 分数, 直接用. 只有 (a) 跨改革年位次比对, (b) 海南标准分跨省比对, (c) 综评公式 100 制 折算 时需要 awareness."
281
+ }
@@ -58,7 +58,17 @@
58
58
  {
59
59
  "region_id": 15,
60
60
  "year": 2025,
61
- "bonus_tiers": [],
61
+ "bonus_tiers": [
62
+ {
63
+ "scope": "蒙古族/达斡尔族/鄂温克族/鄂伦春族/俄罗斯族",
64
+ "bonus": 5,
65
+ "requirements": "民族成份核验; 2024 起从 +10 降至 +5; 不适用于艺术校考/高水平运动队/高校专项",
66
+ "scope_universities": "all",
67
+ "rollback_schedule": {
68
+ "2026": "A 类 36 旗县 (三统一: 户籍+学籍+实际就读) 保留 +5; B 类 67 旗县取消"
69
+ }
70
+ }
71
+ ],
62
72
  "minzu_ban_discount": -40,
63
73
  "minzu_yuke_discount": -80,
64
74
  "host_schools": [
@@ -6,7 +6,7 @@
6
6
  {"province":"山东","reform":"3+3 独有","常规批":{"志愿数":96,"unit":"专业+学校","调剂":false},"vs_2025":"延续96+3次填报","滑档风险":"⚠️无调剂托底","策略":"用足96个志愿"},
7
7
  {"province":"海南","reform":"3+3 标准分900","本科批":{"unit":"院校专业组","count":30,"majors":6,"调剂":true},"vs_2025":"30组延续","滑档风险":"档案仅投一次,退档落征集","策略":"冲11/稳9/保10"},
8
8
  {"province":"重庆","reform":"3+1+2 自2021","本科批":{"志愿数":96,"unit":"专业+院校","调剂":false},"vs_2025":"公安提前批改专业平行","滑档风险":"⚠️无调剂兜底","策略":"至少60个,冲9/稳53/保34"},
9
- {"province":"河北","reform":"3+1+2 自2021","本科批":{"志愿数":96,"unit":"专业+学校","调剂":false},"vs_2025":"延续","滑档风险":"单科/体检/语种不符退档","策略":"物理冲30/稳33/保33;历史保底更宽"},
9
+ {"province":"河北","reform":"3+1+2 自2021","本科批":{"志愿数":96,"unit":"院校专业组","majors":6,"调剂":true},"vs_2025":"延续 96 组+6 专业+调剂","滑档风险":"单科/体检/语种不符仍退档;服从调剂兜底但小心组内冷门","策略":"物理冲30/稳33/保33;历史保底更宽"},
10
10
  {"province":"山西","reform":"3+1+2 第2年","本科批":{"unit":"院校专业组","count":45,"majors":6,"调剂":true},"vs_2025":"完全延续2025首届方案","滑档风险":"首届数据少参考有限","策略":"冲16/稳14/保15"},
11
11
  {"province":"内蒙古","reform":"3+1+2 第2年","本科批":{"unit":"院校专业组","count":45,"majors":12,"调剂":true},"vs_2024":"动态投档已废止改平行志愿","滑档风险":"家长按旧动态投档经验冲高致退档","策略":"组内12专业宽容度高"},
12
12
  {"province":"辽宁","reform":"3+1+2 自2021","本科批":{"志愿数":112,"unit":"专业+学校","调剂":false},"vs_2025":"提前批拆A/B段可兼报","滑档风险":"112志愿不勾服从直接退档","策略":"专业平行精准对位"},
@@ -310,6 +310,8 @@ export declare function findCitiesByProvince(province: string): any[];
310
310
  export declare function findCitiesByTier(tier: string): any[];
311
311
  export declare function findPitsForSchool(schoolName: string): any[];
312
312
  export declare function findBudgetTier(tierName: string): any;
313
+ export declare function loadScoreSystem(): any;
314
+ export declare function findScoreSystemByProvince(provinceName: string): any;
313
315
  export declare function loadEmploymentOutcomes(): any;
314
316
  export declare function findEmploymentOutcomeBySchool(schoolName: string): any;
315
317
  export declare function employmentCoverageByProvince(): Record<string, {
package/dist/datasets.js CHANGED
@@ -421,6 +421,27 @@ export function findBudgetTier(tierName) {
421
421
  const q = tierName.trim();
422
422
  return (f.tiers || []).find((t) => t.tier === q || q.includes(t.tier)) ?? null;
423
423
  }
424
+ // ---- 0.3.7 score system (赋分制 vs 原始分) ----
425
+ let scoreSystemCache = null;
426
+ export function loadScoreSystem() {
427
+ if (scoreSystemCache)
428
+ return scoreSystemCache;
429
+ const data = load("score-system-2025.json");
430
+ if (!data)
431
+ throw missingDataset("score-system-2025.json");
432
+ scoreSystemCache = data;
433
+ return data;
434
+ }
435
+ export function findScoreSystemByProvince(provinceName) {
436
+ const f = loadScoreSystem();
437
+ const q = provinceName.trim();
438
+ return (f.provinces || []).find((p) => {
439
+ // Province key may be "河北" or "甘肃|安徽|江西|..." (group form)
440
+ if (typeof p.province !== "string")
441
+ return false;
442
+ return p.province === q || p.province.split("|").includes(q);
443
+ }) ?? null;
444
+ }
424
445
  // ---- 0.3.7 employment-outcomes (5 维就业出口) ----
425
446
  let employmentOutcomesCache = null;
426
447
  export function loadEmploymentOutcomes() {
package/dist/index.js CHANGED
@@ -15,7 +15,7 @@ import { match } from "./match.js";
15
15
  import { recommendMajor } from "./recommend-major.js";
16
16
  import { chartCheck } from "./chart-check.js";
17
17
  import { readFileSync, existsSync } from "node:fs";
18
- import { findSchoolAdapter, listSchoolsOfferingProgram, findProvinceSpecialty, listProvinceKeys, getCrossProvincePrograms, listGaoshuiSchoolsBySport, listZongheSchoolsByProvince, listTiqianProgramsByProvince, listTiqianProgramsByType, listTiqianProgramTypes, listTiqianProgramsBySchool, findXiaoceDetailBySchool, findCasesByProvince, loadHuadangCases, findCalendarByProvince, loadZhiyuanCalendar2026, loadSchoolsAdapters as loadSchoolsAdaptersFn, verbWarning, loadDataYearStatus, loadZhuanyeOutlook, findOutlookByMajor, loadCityTier, loadMistakeZone, loadFamilyBudget, loadKaogongMajors, findCityByName, findCitiesByProvince, findCitiesByTier, findPitsForSchool, findBudgetTier, loadEmploymentOutcomes, findEmploymentOutcomeBySchool, employmentCoverageByProvince } from "./datasets.js";
18
+ import { findSchoolAdapter, listSchoolsOfferingProgram, findProvinceSpecialty, listProvinceKeys, getCrossProvincePrograms, listGaoshuiSchoolsBySport, listZongheSchoolsByProvince, listTiqianProgramsByProvince, listTiqianProgramsByType, listTiqianProgramTypes, listTiqianProgramsBySchool, findXiaoceDetailBySchool, findCasesByProvince, loadHuadangCases, findCalendarByProvince, loadZhiyuanCalendar2026, loadSchoolsAdapters as loadSchoolsAdaptersFn, verbWarning, loadDataYearStatus, loadZhuanyeOutlook, findOutlookByMajor, loadCityTier, loadMistakeZone, loadFamilyBudget, loadKaogongMajors, findCityByName, findCitiesByProvince, findCitiesByTier, findPitsForSchool, findBudgetTier, loadEmploymentOutcomes, findEmploymentOutcomeBySchool, employmentCoverageByProvince, loadScoreSystem, findScoreSystemByProvince } from "./datasets.js";
19
19
  import { compare } from "./compare.js";
20
20
  import { paiming } from "./paiming.js";
21
21
  import { findEmployment, listEmploymentCoverage } from "./employment.js";
@@ -2405,6 +2405,29 @@ const VERBS = {
2405
2405
  throw new Error(`${school} 暂未在 employment-outcomes 数据集; 已覆盖 ${(f.schools || []).length} 校, 示例: ${sample} (扩展中, 每省一本批次推进)`);
2406
2406
  }
2407
2407
  printJson({ ok: true, school_outcome: s });
2408
+ },
2409
+ async "score-system"(args) {
2410
+ const { positional, flags } = parseFlags(args);
2411
+ const f = loadScoreSystem();
2412
+ if (flags["common-misunderstandings"] === true || flags["common-misunderstandings"] === "" || flags["common-misunderstandings"] === "true") {
2413
+ printJson({ ok: true, common_misunderstandings: f._common_misunderstandings, key_takeaway: f._key_takeaway });
2414
+ return;
2415
+ }
2416
+ const province = positional[0] ?? (typeof flags.province === "string" ? flags.province : null);
2417
+ if (!province) {
2418
+ printJson({
2419
+ ok: true,
2420
+ usage: "gaokao-pro score-system <省份> | --common-misunderstandings",
2421
+ key_takeaway: f._key_takeaway,
2422
+ covered_provinces: (f.provinces || []).map((p) => p.province)
2423
+ });
2424
+ return;
2425
+ }
2426
+ const rec = findScoreSystemByProvince(province);
2427
+ if (!rec) {
2428
+ throw new Error(`${province} 不在 score-system 数据集; 检查省名拼写或用 --common-misunderstandings 看通用建议`);
2429
+ }
2430
+ printJson({ ok: true, score_system: rec });
2408
2431
  }
2409
2432
  };
2410
2433
  async function main() {
package/dist/recommend.js CHANGED
@@ -97,7 +97,8 @@ export function inferTrack(provinceId, subjects) {
97
97
  throw new Error("3+1+2 provinces require either 物理 or 历史 in --subjects");
98
98
  }
99
99
  // Old-reform (文/理) provinces: 山西/内蒙古 moved to 3+1+2, leaving 西藏 (54)
100
- // as the remaining 老高考 region in this dataset. The decisive subject is
100
+ // 和 新疆 (65) as the remaining 老高考 regions in this dataset (新疆 改革
101
+ // 延期至 2027 首届). The decisive subject is
101
102
  // 物理 (理/science, type code "1") vs 历史 (文/liberal, type code "2"):
102
103
  // a 老高考 candidate takes 文综 OR 理综 as a fixed bundle, so 物理⇒理科,
103
104
  // 历史⇒文科. We do NOT count individual science vs liberal subjects (the old
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gaokao-pro",
3
- "version": "0.3.6",
3
+ "version": "0.3.7",
4
4
  "description": "中国高考志愿规划 CLI · 用 Claude Code / Codex / Cursor 帮你查招生数据、出冲稳保。",
5
5
  "type": "module",
6
6
  "bin": {