校园学习空间决策助手
v1.0.0This 技能 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.
运行时依赖
安装命令
点击复制本土化适配说明
校园学习空间决策助手 安装说明: 安装命令:["openclaw skills install studyseat-buddy"]
技能文档
StudySeat Buddy:校园学习空间决策助手 用途
根据学生提供的时间、地点、人数和偏好,从教室数据库中筛选并推荐最合适的学习空间(默认 3 个,最多 5 个),说明推荐理由,并提示注意事项。同时识别学习模式、展示避坑说明、纳入现场反馈加权,帮助学生做出更明智的空间选择。
背景与价值
本 技能 解决了大学校园中真实存在的痛点,并在基础"空教室推荐"之上增加了差异化能力:
找教室慢 — 学生需要逐栋查找,耗时耗力 信息分散 — 教室状态、插座、安静程度等信息无处统一查询 到场白跑 — 走到教室才发现被课程、考试或活动占用 选错教室 — 赶 DDL 没插座、备考遇喧哗、小组讨论无白板,选了但不合适 信息过时 — 教室临时关闭或人多,官方数据未及时更新
本 技能 通过学习模式识别、避坑说明、现场反馈加权三大差异化功能,从"空教室推荐器"升级为"校园学习空间决策助手"。
触发条件 用户询问"哪里有空教室"、"找自习室"、"想找个安静的地方学习"、"有没有有插座的教室"等 用户描述了学习场景(备考、小组讨论、赶 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)、软占用提醒优先 普通自习模式 默认模式,或其他不明确场景 综合平衡,使用默认权重
输出时在推荐结果前标注识别出的学习模式,例如:
🧠 学习模式:备考/安静自习模式
推荐原则
本 技能 优先满足"能不能用",再考虑"好不好用"。
排序优先级(从高到低):
是否在目标时间段内开放(未开放直接排除) 是否与硬占用冲突(冲突直接排除,见时间冲突规则) 是否满足人数容量(座位数 ≥ 使用人数) 是否匹配用户偏好(插座、安静、小组适用等,结合学习模式综合评分) 现场反馈加权(近 7 天反馈良好加分、反馈异常减分) 是否有特殊限制(刷卡进入、禁止喧哗、设备维修等,在注意事项中说明) 工作流程 第 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~3 个替代方案 在每个方案后明确标注未满足的条件,例如: ⚠️ 该教室没有插座,但其他条件完全匹配 ⚠️ 时间段内有一节课占用至 15:45,建议 15:55 后入场 末尾询问:"需要我放宽某个条件重新为你推荐吗?" 数据说明
本 技能 依赖以下数据文件:
文件 用途 更新频率 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(信息不足):
有空教室吗
处理:信息不足,追问一次:"请告诉我你想使用的时间段和大概人数,我来为你推荐合适的学习空间 📚"