# Colleges Chat

> 大学生活质量指北 — 从 colleges.chat 查询全国高校的真实学生反馈（宿舍、空调、独立卫浴、断电断网、食堂等生活质量信息）

- Skill: `publieople/colleges-chat` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add publieople/colleges-chat`
- Raw SKILL.md: https://api.skillmd.com/api/skills/publieople/colleges-chat/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: publieople (https://skillmd.com/u/publieople)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/publieople/colleges-chat

---


# 大学生活质量指北 (colleges.chat)

从 [colleges.chat](https://colleges.chat/) 查询各高校的真实学生反馈数据。

## 数据来源

colleges.chat 通过问卷调查收集全国高校学生的真实反馈，涵盖：

- 宿舍条件（上床下桌、空调、独立卫浴）
- 断电断网情况
- 食堂价格与品质
- 交通便利程度
- 查寝/门禁制度
- 跑步打卡要求
- 寒暑假长度
- 其他生活质量细节

每个学校的页面 URL 格式：`https://colleges.chat/universities/<学校全名拼音>/`

> ⚠️ 数据来源于学生自愿提交的问卷，可能存在偏差/过时。建议交叉验证。

## 查询方法

### 方法一：直接 Web 提取（推荐）

学校拼音通常为全称小写拼音，用 `-` 连接。例如：
- 吉林大学 → `ji-lin-da-xue`
- 上海交通大学 → `shang-hai-jiao-tong-da-xue`
- 北京大学 → `bei-jing-da-xue`

**不确定拼音时**，先搜索 `site:colleges.chat/universities 学校名` 找到正确 URL。

### 方法二：通过学校英文缩写

部分学校使用英文缩写：
- 清华大学 → `thu`
- 北京大学 → `pku`
- 复旦大学 → `fudan`
- 南京大学 → `nju`

如不确定，用搜索定位。

## 代理策略（重要）

colleges.chat 服务器在国内，从 WSL/海外/某些网络环境直接访问会 `ERR_CONNECTION_RESET`。

**如果 `web_extract()` 失败（Tavily extract failed / ERR_CONNECTION_RESET）：**

1. 先用 `web_search` 搜 `site:colleges.chat/universities 学校名` 获取 snippet 预览
2. 有代理的情况下，用 `terminal()` + `curl -x <代理地址>` 获取原始 HTML
   - 用户 WSL 环境：`-x http://127.0.0.1:7890`
3. 从 HTML 中提取 Q&A 内容（MkDocs 站点，内容在 `<article>` 内）
4. 结果中 URL 带 `/archived/` 前缀的页面同样有效，优先提取

**代理不可达时**，用 `web_search` 的 snippet 也能获得部分关键信息。

### HTML 解析实操（MkDocs 站点）

colleges.chat 基于 MkDocs，HTML 约 1.5-2MB，Q&A 内容在 `<article>` 标签内。

提取步骤：
1. `curl -x <代理> <url> -o /tmp/school.html`
2. 用 Python 正则提取 `<article>...</article>` 或 `<main>...</main>`
3. 去除 HTML 标签后，按 Q: 和 A\d+: 格式拆分
4. 多轮提取：先拉基础 Q（上床下桌、空调、卫浴），再拉第二组（断电、食堂、交通、门禁、热水等）
5. 用 `set()` 对 A\d+: 内容去重（多人回答相同则只取一个），保留分歧

```python
import re
m = re.search(r'<article[^>]*>(.*?)</article>', html, re.DOTALL)
content = m.group(1)
text = re.sub(r'<[^>]+>', '\n', content)
# 按 Q: 分割，每组取前几条不同回答
```

**代理不能用时**尝试 `/archived/` 路径：
- `https://colleges.chat/archived/universities/<拼音>/`
- 注意 archived 页面可能数据较旧

## Agent 工作流（查询某所学校）

```
1. 构造 URL: https://colleges.chat/universities/<拼音>/
2. 用 web_extract() 提取页面内容
3. 如果失败 → 有代理则 terminal(cmd=curl -x proxy URL) → 提取 HTML 正文
4. 如搜索到 /archived/ 路径，提取 archived 版本的页面
5. 解析 Q&A 格式内容，提取关键信息
6. 整理成结构化摘要，按以下模板输出
```

## Agent 工作流（搜索功能）

当用户说"看看 XX 大学怎么样"但不确定拼音时：

```
1. 用 web_search 搜索: "site:colleges.chat/universities XX大学"
2. 从搜索结果中找到正确 URL
3. 用 web_extract() 提取内容
4. 整理成结构化报告
```

### 完整输出模板

志愿填报场景下，深入问一所学校时，用完整模板：

```
🏫 学校名 · 专业组XXX 专业名

**定位**：分数/位次，三年走势，冲/稳/保

### 指北生活数据

🏠 宿舍：上床下桌？空调？独立卫浴？
⚡ 断电：几点断？断网？限电？
🍚 食堂：价格？卫生？
🚇 交通：地铁？进城时间？
🏃 跑步：打卡要求？
📋 查寝/门禁：频率？时间？
💡 其他亮点/槽点

### 专项短板

- ❌ 每个短板用符号开头，简短
- 专业方向匹配度、招生名额风险、历史数据缺失、校区偏僻等
```

**输出原则**：每个短板一目了然，不长篇大论。对专业方向严重不匹配的（如意向计算机却报了化工），用最强烈信号。

## 多校区陷阱 ⚠️

**扬州大学、广州中医药大学、南京林业大学等有多校区的学校，不同校区的生活条件可能天差地别。**

- 同一个学校，一个校区在上床下桌+独立卫浴+市中心，另一个校区在八人寝+公共澡堂+郊区
- 关键问题：**考生所报专业在哪个校区？** 指北数据中若没有明确信息，标注"需向招办确认所在校区"
- 示例：扬州大学数科院通常在瘦西湖/文汇路校区（市中心但上下铺+公共澡堂），不是扬子津校区

## 中外合作/分校区数据独立陷阱 ⚠️

colleges.chat **只收录了主校区**的生活数据。当办学点在分校区/外地/教育实验区时：

| 场景 | 指北数据 | 正确做法 |
|------|---------|---------|
| 中国传媒大学海南陵水 | 只有北京主校区 | 主校区数据作废，陵水实验区无单独收录 |
| 南京医科大学常州校区 | 标注"常州校区不知道" | 承认无数据，按新建校区推断 |
| 汕头大学土木工程 | 指北有汕大数据 | 但专业在陵水/合作办学点就不适用 |

**操作流程**：
1. 从专业备注中提取实际办学地点
2. 若与主校区不同，指北主校区数据**标注为"主校区数据，当页无该办学点信息"**
3. 对无独立数据的办学点：搜索新闻稿（宿舍新建招标）、知乎/小红书实地体验
4. 搜索不到 → 基于"新建/合作办学=宿舍条件较好"做合理推断，并明确标注为推断

## 数据验证

- 全员反馈一致 → 可信
- 多人反馈冲突 → 标注分歧
- 2023年及之前的数据 → 标注年份，提醒可能过时
- 学生的"自由补充"区往往有最真实的槽点

## 体检硬卡点（招生章程必查）⚠️

**触发**：任何"高校专项 / 实验班 / 中外合作 / 提前批"专业组，每次查询前**必须**翻一遍招生章程最后那段"录取规则"+"体检要求"。

**常见硬卡点**（出现频次高、用户容易漏）：

| 专业方向 | 体检限制 | 学校样例 |
|---------|---------|---------|
| 化学/化工/制药/材料/生物/医学 | 不招色盲色弱（部分还限单色识别不全） | 北化工化工与制药类、中南财大应用化学/纳米材料、西南大学植物科学/动物科学 |
| 飞行技术/航海技术/航空航天 | 身高/视力/色觉/既往病史多重限制 | 北航航空航天类（含部分方向）、沈航飞行器 |
| 公安/军事/司法 | 政审 + 体检 + 面试 | 公安院校、军校 |
| 师范定向（公费师范） | 部分省份要求面试或签约 | 西南大学公费师范、北师大公费师范 |

**操作**：
```bash
web_search "<校名> 2025年 招生章程"
```
或抓 `<校名>.edu.cn/_upload/article/files/.../2025zsjz.pdf`（章程原文 PDF，几乎所有 985/211 公开）。

**输出时硬规则**：当专业组备注或章程明确写"不招 X"，必须在短板的"🚩 体检硬卡点"段落用最强烈信号标记，**不能漏**——这是比分数线还硬的拒录条件。

## 专业大类分流陷阱 ⚠️

**触发**：专业组是大类招生（"工科试验班 XXX 类""经济管理类""化工与制药类"），而不是具体专业。

**为什么危险**：大类内部的分流专业差距极大，热门专业（计算机/电气）和冷门专业（采矿/安全/化工）可能塞进同一个专业组。**录取分数线只锁住大类入口**，分流要看大一成绩+志愿，热门方向分数远高于大类线。

**已踩过的雷（用户必须知道）**：

| 学校 | 大类名称 | 分流规模 | 重点提示 |
|------|---------|---------|---------|
| 北航 | 工科试验班类（航空航天类）17 个方向 | 17 个分流专业含飞行器设计/动力/控制（王牌）+ 具身智能/智能制造/机器人（2025 新方向）+ 纳米材料/智慧交通 | "含 X 个专业，详见招生网"——务必查具体列表 |
| 北理工 | 理科试验班（理学与材料菁英班） | 24 个分流方向含碳中和/量子信息/生物技术-AI 双学位 | 2024 新增碳中和、量子信息是机会，传统材料坑多 |
| 南理工 | 化工与制药类（高校专项） | 含化学工程与工艺/精细化工/制药工程/高分子材料/安全工程 | **安全工程是冷门分流**，可能掉坑 |
| 北化工 | 工科试验班（智能制造与智能车辆菁英班）（高校专项） | 7 个方向含车辆/能动（王牌）+ 能动-工商管理/机械-德语 双学位 | 双学位是稀缺组合 |
| 大连理工 | 化工与制药类（高校专项） | 5 个方向含化学工程与工艺/精细化工/制药工程/高分子材料/安全工程 | **不招色盲色弱**——硬卡点 |
| 北师大珠海 | 理科试验班（未来理工） | 含数学与应用数学/物理学/工程力学/量子信息科学 | 物理/力学是真正的王牌 |

**操作流程**：
1. **强制读章程附录**：web_search "<校名> 2025年 招生章程 附录 分流" 或抓 PDF 找"专业类所含专业"附表
2. **标记"分流任选"vs"分流按成绩"**：前者自由度高（可去热门），后者热门专业靠大一分流抢
3. **新方向（碳中和/量子/智能/AI 双学位）** = 机会信号，但**师资/培养方案成熟度低**，首届毕业生就业数据真空
4. **输出时必须列出分流范围**：不能只写大类名，要点出具体包含哪些专业、哪些是王牌、哪些是冷门

## 新建/首届招生专业的就业数据真空 ⚠️

**触发**：专业组备注里出现"2022 年首次招生"/"2024 年新增"/"2025 年新批"等表述。

**风险**：所有指北数据、就业报告、保研去向、校友资源都是**0**——因为根本没有毕业生。专业真实评价完全靠学校宣传+师资名单。

**典型案例（2025 高考志愿场景）**：

| 专业 | 学校 | 首届招生年 | 真实风险 |
|------|------|----------|---------|
| 人工智能（智能精准诊疗） | 浙江师范大学 | 2022 | 2026 才出首届毕业生，培养方案未经验证 |
| 智能医学工程 | 浙江师范大学 | 2024 | 2028 才出首届毕业生 |
| 植物科学与技术（中外合作办学） | 西南大学 | 2018 | 首批已毕业，但 MSU 美国学位国内认可度有限 |
| 智能感知工程 | 江苏科技大学 | 新专业 | 非学校强势方向，师资弱 |
| 碳中和科学与工程 | 北京理工大学 | 2024 | 新工科机会 + 培养方案待观察 |
| 量子信息科学 | 北京理工大学 | 2023 | 全国首批开设之一，师资强但就业路径未知 |

**操作**：
1. 招生章程/招生网确认首届招生年
2. 计算"距离首届毕业生"的年数 → 1–3 年内的专业，**全部就业数据是真空**
3. **强制标注**："⚠️ 首届毕业生尚未出炉，培养方案/师资/就业出口全部未经市场验证"
4. 不能用指北的"学长学姐反馈"作为该专业真实评价——指北回复的是同校其他专业的学生
5. 同分段如果存在成熟的同类专业（计算机 vs 智能感知工程），优先选成熟专业

## 高校专业组 → 校区定位工作流（核心前置步骤）

**触发**：用户问"这个专业组在哪个校区"、报高校专项 / 实验班 / 拔尖班 / 中外合作、报带具体专业方向的查询。

**为什么先做**：colleges.chat 多校区学校数据按校区独立（如华科分 `hua-zhong-ke-ji-da-xue-zhu-xiao-qu` 主校区 vs `hua-zhong-ke-ji-da-xue-tong-ji-yi-xue-yuan` 同济医学院）。即使主校区有数据，专业可能在另一个完全不同待遇的校区。

### 步骤 A：学院官网定位（最快）

```
web_search "<校名> <学院名> 校区" 
# 找学院"联系我们"页或页脚，正文会写"地址：松江校区 上海市松江区..."
```

多学院联合招生的实验班（如"智慧化工与低碳工程"由化工学院+环境能源学院联合），需要查**培养方案页**或**分流说明**，通常会写"1+3 培养模式，第 X 学期分流"。

### 步骤 B：官方招生 xlsx 兜底（最准）

985/211 通常公开当年录取数据 xlsx 在 `<校名>.edu.cn/_upload/article/files/...`，含 "专业 → 学院 → 校区" 映射。

**示例**：华南理工 `https://www2.scut.edu.cn/_upload/article/files/.../xxx.xlsx`
- 单元格如 `"化学与化工学院, 化学类拔尖基地班, 五山校区"` 或 `"智慧化工与低碳工程, 大学城校区, 753, 751"`

操作：
```
curl -L "https://<校>/<xlsx>" -o /tmp/campus.xlsx
# openpyxl 读 Sheet2 / Sheet1 的"学院 / 专业 / 校区" 三列
```

xlsx 路径在搜索引擎的 snippet 里经常能看到完整 URL，直接拿来用。

### 步骤 C：把校区带回到 colleges.chat 查询

- 单校区学校 → 直接查主校区 URL
- 多校区学校 → 找指北里**该校区独立页面**（如 `hua-zhong-ke-ji-da-xue-zhu-xiao-qu`）
- 没有独立页面 → 看主校区数据 + 标注"主校区数据，该专业是否在此校区待确认"

### 校区子页面 URL 命名规律（已验证）

colleges.chat 多校区学校按以下拼写模式收录子页面（其他学校遇到可直接试，不要再 search）：

| 校区类型 | 命名后缀 | 已验证样例 |
|---------|---------|-----------|
| 主校区/本部 | `-zhu-xiao-qu` 或 `-zhu-bu` | `bei-jing-shi-fan-da-xue-zhu-xiao-qu`（北师大珠海）、`hua-zhong-ke-ji-da-xue-zhu-xiao-qu`（华科主校区） |
| 分校区 X | `-X-xiao-qu` 拼写学校名 | `bei-jing-hua-gong-da-xue-chang-ping-xiao-qu`（北化昌平）、`zhe-jiang-da-xue-yu-quan-xiao-qu`（浙大玉泉）、`bei-jing-li-gong-da-xue-liang-xiang-xiao-qu`（北理良乡） |
| 同名学院 | 学院名拼音全称 | `hua-zhong-ke-ji-da-xue-tong-ji-yi-xue-yuan`（华科同济医学院） |

**搜索技巧**：当 web_extract 主校区页面内容已包含"分校区 X 怎么样"的 Q&A，说明 colleges.chat 收录了该子页面 → 直接构造 `https://colleges.chat/universities/<校名拼音>-<校区拼音>-xiao-qu/` 试抓，失败再 search。

**数据稀疏陷阱**：部分新收录的校区子页面只有 2–5 条 Q&A（如北化昌平、北师大珠海），远少于主校区的 20–40 条 → 在报告中**显式标注"该校区仅 X 条独立反馈，其余参照主校区"**，不要把主校区数据当校区数据用。

### 输出时显式标注

每份指北报告顶部加一行"📍 数据校区：XX 校区"，避免用户套错。

## colleges.chat 未收录的学校

**典型未收录**：华南理工大学、武汉理工大学、暨南大学（部分）等。

**处理**：
1. 承认指北无数据
2. web_search 学校官方页面/百度百科/小红书/知乎 兜底
3. 一句话定位（"老 985，广东最强工科之一"）
4. **不要套用指北数据格式**，避免误导用户以为有实证数据

## 实际可用的简短输出模板（推荐场景：单校快速对比）

当用户连续发多所学校的 URL，每所只需要 1 屏的对比表时：

```markdown
## 学校名（XX 城市，关键标签）

### 🚩 明显短板
- 🚩 多频短句才上榜的最强信号 1
- 🚩 最强信号 2
- 🚩 强专业方向不匹配的用最强烈信号

### ✅ 合格项
- ✅ 基础项 1
- ✅ 基础项 2

### 总结
⚠️ 一句话分类：性价比 / 慎选 / 专业对口的可冲 / 跑
```

**vs 完整输出模板的区别**：本模板省略位次表、生活质量完整分项（宿舍/食堂/交通单列）。适合"快速过一遍志愿表"的连续查询场景。**完整模板**用在用户专门深入问一所学校时。

## 已积累参考

- `references/major-cities-summary.md` — 主要城市/学校生活质量速查表（session 持续积累），新查到的显著口碑学校追加进去

## 与 gaokao-volunteer-guide 配合

在志愿填报场景中，colleges.chat 用于**逐个排查**阶段的"生活质量"维度。配合流程：

1. 用户从志愿表发送一个专业组
2. 用本 skill 查询该校生活质量
3. 结合专业方向匹配度、位次走势、招生人数做综合分析
4. 输出生活质量 + 专项短板

