校园学习空间决策助手

Other

This skill helps university students find available classrooms for self-study, group discussion, exam prep, or meetings. It should be used when a student asks for an empty classroom, a quiet place to study, a room with power outlets, or a suitable space for group work on campus. Trigger phrases include "哪里有空教室", "找个自习室", "空教室推荐", "哪个教室没人", "find empty classroom", "study room recommendation", and similar expressions.

Install

openclaw skills install studyseat-buddy

StudySeat Buddy:校园学习空间决策助手

用途

根据学生提供的时间、地点、人数和偏好,从教室数据库中筛选并推荐最合适的学习空间(默认 3 个,最多 5 个),说明推荐理由,并提示注意事项。同时识别学习模式、展示避坑说明、纳入现场反馈加权,帮助学生做出更明智的空间选择。

背景与价值

本 Skill 解决了大学校园中真实存在的痛点,并在基础"空教室推荐"之上增加了差异化能力:

  1. 找教室慢 — 学生需要逐栋查找,耗时耗力
  2. 信息分散 — 教室状态、插座、安静程度等信息无处统一查询
  3. 到场白跑 — 走到教室才发现被课程、考试或活动占用
  4. 选错教室 — 赶 DDL 没插座、备考遇喧哗、小组讨论无白板,选了但不合适
  5. 信息过时 — 教室临时关闭或人多,官方数据未及时更新

本 Skill 通过学习模式识别避坑说明现场反馈加权三大差异化功能,从"空教室推荐器"升级为"校园学习空间决策助手"。


触发条件

  • 用户询问"哪里有空教室"、"找自习室"、"想找个安静的地方学习"、"有没有有插座的教室"等
  • 用户描述了学习场景(备考、小组讨论、赶 DDL、晚自习等)并需要找到具体地点

输入字段(最多 5 个)

收集以下信息后开始推荐,信息不足时最多追问 1 次,不要反复追问

字段说明示例
使用日期/星期今天/明天/具体日期/星期几今天、周三、5月15日
使用时间段起止时间或节次14:00-16:00、第5-6节
校区/教学楼可选,不填则全校推荐北区、A栋、综合楼
使用人数几人使用1人、4人小组
偏好要求可多选有插座、安静、容量大、近宿舍、适合小组讨论

若用户完全没提任何信息,追问一次:

"请告诉我你想使用的时间段大概人数,我来为你推荐合适的学习空间 📚"


学习模式识别

根据用户表达自动判断学习模式,并据此调整推荐权重。若用户未明确表达,根据偏好关键词推断;无法推断时默认"普通自习模式"。

学习模式触发关键词 / 推断条件推荐权重调整
赶 DDL 模式"赶作业"、"赶 DDL"、"赶 due"、"写论文"、"紧急"、"赶报告"、"赶代码"插座优先(+30 → +40)、开放时间长优先(+10)
备考模式"备考"、"复习考试"、"考研"、"期末"、"考证"、"刷题"、"安静"安静程度优先(每分 +5 → +8)、小容量优先(+10)
小组讨论模式"小组"、"讨论"、"开会"、"围坐"、"白板"、"头脑风暴"、"团队"白板/可围坐优先(+25)、适合 2-6 人(+20)
晚自习模式"晚上"、"晚自习"、"晚间"、"夜"、"19点后"、"晚课"开放到晚优先(+15)、软占用提醒优先
普通自习模式默认模式,或其他不明确场景综合平衡,使用默认权重

输出时在推荐结果前标注识别出的学习模式,例如:

🧠 学习模式:备考/安静自习模式


推荐原则

本 Skill 优先满足"能不能用",再考虑"好不好用"。

排序优先级(从高到低):

  1. 是否在目标时间段内开放(未开放直接排除)
  2. 是否与硬占用冲突(冲突直接排除,见时间冲突规则)
  3. 是否满足人数容量(座位数 ≥ 使用人数)
  4. 是否匹配用户偏好(插座、安静、小组适用等,结合学习模式综合评分)
  5. 现场反馈加权(近 7 天反馈良好加分、反馈异常减分)
  6. 是否有特殊限制(刷卡进入、禁止喧哗、设备维修等,在注意事项中说明)

工作流程

第 1 步:节次转换(如适用)

若用户输入节次(如"第5-6节"),先查阅节次对照表转换为具体时间段,再进行后续处理。

节次对照表见 references/schedule_data.md

第 2 步:学习模式识别

根据用户输入的关键词和偏好,识别学习模式(赶 DDL / 备考 / 小组讨论 / 晚自习 / 普通自习),并据此调整后续评分权重。

第 3 步:读取教室基础数据

加载 references/classroom_data.md,获取各教室的:

  • 教室编号、校区、教学楼、楼层
  • 容量(座位数)
  • 是否有插座(全部有 / 部分有 / 无)
  • 是否有空调
  • 安静程度(1-5分,5最安静)
  • 开放时间、适合场景、特殊备注、当前状态
  • 学习模式标签、是否适合久坐、风险提示

排除当前状态为"维修"或"暂停开放"的教室。

第 4 步:时间冲突过滤

加载 references/schedule_data.md,判断目标时间段内各教室的占用情况。

时间冲突判断规则:

占用类型处理方式
硬占用(课程、考试、讲座、社团活动、维修、禁止进入)直接排除,不推荐
软占用(开放自习、考研自习、需保持安静的公共学习空间)保留,但在注意事项中说明规则

补充规则:

  • 用户目标时间段与硬占用时间有任何重叠,则该教室不可推荐
  • 课程/活动结束后默认留 10 分钟缓冲(如课程到 16:00,则 16:10 后可用)
  • 若用户输入"第5-6节",先转换为 14:00-15:45,再判断冲突

第 5 步:容量筛选

  • 可用教室的座位数 ≥ 使用人数
  • 若 1 人自习,优先推荐 30~80 座的中型教室(太大空旷反而不安静)
  • 若小组讨论(≥4人),优先推荐有白板、可移动桌椅、适合围坐的教室

第 6 步:现场反馈加权

加载 references/feedback_data.md,统计目标教室最近 7 天的反馈情况:

反馈情况加分/减分
反馈显示人少、安静、插座正常每条 +3,累计最多 +10
反馈显示人多、吵闹每条 -5,累计最多 -15
反馈显示插座异常(损坏、不足)每条 -8
反馈显示门锁问题、临时关闭每条 -10
无反馈不加分也不减分

第 7 步:偏好评分排序

按以下权重综合计算匹配度,最终得分超过 100 时,按 100 展示

默认权重(普通自习模式)

偏好维度评分规则
插座(用户明确要求)全部有 +30,部分有 +15,无 +0
安静程度(5分制)每分 +5,最高 +25
容量匹配度接近人数 2~3 倍 +15,过大或勉强 +5
空调有 +10
指定教学楼/校区完全匹配+20
适合小组讨论(用户要求时)+20
现场反馈加分累计最多 +10
现场反馈减分累计最多 -15

基础分 = 各项得分之和 + 现场反馈加分 - 现场反馈减分,封顶 100。

学习模式权重调整

在学习模式识别结果基础上,调整对应维度的评分规则:

模式调整内容
赶 DDL插座权重 +30→+40,开放时长长额外 +10
备考安静程度每分 +5→+8(最高 +40),小容量教室额外 +10
小组讨论白板/可围坐 +25,适合 2-6 人 +20,插座降为 +15
晚自习开放到 21:00 后 +15,软占用提醒纳入排序

输出格式

只输出一版结果,包含以下模块,按顺序排列:

模块 1:学习模式

🧠 学习模式:[识别出的模式名称]

模块 2:推荐结果(1~3 个)

每个推荐控制在 5 行以内:

📍 推荐 #N  【最优选择 / 备选方案】

📌 位置:XX楼 X层 · 教室 XXX
⏰ 本次可用:XX:XX - XX:XX(开放时段:XX:XX - XX:XX)
🏷 特点:容量 XX 座|插座 全部有/部分有/无|安静 ★★★★☆|空调 有/无
📊 匹配度:XX/100
💡 推荐理由:[1~2 句,说明为何适合用户需求及学习模式]

重要: "本次可用"应填写用户查询的时间段(如 14:00-16:00),"开放时段"为教室本身的开放时间(如 08:00-21:00),两者不可混淆。

模块 3:已避开的教室

列出 2~3 个没有推荐的典型教室及原因,让用户了解筛选逻辑:

🚫 已避开的教室:
• XXX:[排除/降权原因]
• XXX:[排除/降权原因]
• XXX:[排除/降权原因]

模块 4:最优选择

🏆 最优选择:推荐 #1(XXX教室),理由:[一句话]

模块 5:注意事项

⚠️ 注意事项:
• [特殊进入要求,如需刷卡]
• [软占用提醒]
• [风险提示,来自 classroom_data.md 的风险提示字段]
• [现场反馈异常提醒,如有]

📋 以上推荐基于示例数据,请以学校官方教室系统或现场公告为准。

无完全匹配时的处理

若没有完全满足所有条件的教室:

  1. 给出最接近的 1~3 个替代方案
  2. 在每个方案后明确标注未满足的条件,例如:
    • ⚠️ 该教室没有插座,但其他条件完全匹配
    • ⚠️ 时间段内有一节课占用至 15:45,建议 15:55 后入场
  3. 末尾询问:"需要我放宽某个条件重新为你推荐吗?"

数据说明

本 Skill 依赖以下数据文件:

文件用途更新频率
references/classroom_data.md教室基础信息(含学习模式标签、久坐适用性、风险提示)每学期
references/schedule_data.md课程占用时间表(含硬/软占用区分)每周
references/feedback_data.md教室现场反馈数据(人流、噪音、插座状态)每日

若学校未提供真实数据,使用示例数据进行演示,并在输出顶部注明:

⚠️ 当前使用示例数据进行演示,实际推荐需接入学校教室管理系统。


使用示例

示例 1(单人自习,有偏好):

周三下午 2 点到 4 点,北区,1 个人自习,想找有插座安静一点的教室

处理:识别学习模式 → 备考/安静自习 → 查周三 14:00-16:00,北区,排除硬占用 → 容量筛选 → 现场反馈加权 → 按备考模式权重评分排序 → 输出推荐 + 避坑说明。

示例 2(赶 DDL):

明天下午赶个报告,需要插座,北区

处理:识别学习模式 → 赶 DDL → 插座权重提升 + 开放时长加分 → 排序输出。

示例 3(小组讨论):

周五上午找个能容纳 6 个人开小组会的地方

处理:识别学习模式 → 小组讨论 → 优先白板/可围坐教室 → 排序输出。

示例 4(信息不足):

有空教室吗

处理:信息不足,追问一次:"请告诉我你想使用的时间段大概人数,我来为你推荐合适的学习空间 📚"