核心功能
WebUntis Skill 提供对学生课表的安全只读访问,通过 JSON-RPC 接口与 WebUntis 教务系统交互。主要能力包括:
- 课表查询:获取今日、本周或指定日期范围的完整课程安排
- 课程详情:包含科目名称、上课时间、教室、任课教师
- 调课信息:自动获取替代课程(substitutions)信息
- 多账户支持:支持多学生档案并行配置
显著优点
1. 数据权威性:直接对接学校官方教务系统,数据实时准确
2. 标准化输出:统一格式 YYYY-MM-DD HH:MM-HH:MM · <subject> · Raum <room> · bei <teacher>,便于后续处理
3. 灵活查询:支持单点查询(today)和批量区间查询(range)
4. 企业级架构:支持多 profile 并行,适合家庭多子女或机构场景
潜在局限
- 只读限制:无法修改课表或进行选课操作
- 依赖学校系统:需学校启用 WebUntis 并开放 API 访问
- 配置复杂度:需正确配置 BASE_URL、SCHOOL 等参数,初次 setup 门槛较高
- 元素 ID 问题:部分学校需手动指定
WEBUNTIS_ELEMENT_ID
适合人群
- 需要定期查看课表的学生及家长
- 开发个人课表提醒/同步工具的开发者
- 需要批量处理课表数据的自动化工作流
安全风险与建议
| 风险点 | 缓解措施 |
|--------|---------|
| 凭据泄露 | 强制使用环境变量,禁止聊天窗口输入密码 |
| 权限过大 | 建议使用学校提供的只读学生账户 |
| 会话安全 | 由操作者安全注入凭据,不持久化存储 |
技术实现
基于 Python 脚本封装,通过命令行调用:./webuntis.py [command] [args],支持 --profile 参数切换账户。底层使用 WebUntis JSON-RPC API 进行认证和数据拉取。