核心用法
webuntis skill 通过调用 WebUntis 官方 JSON-RPC API,为用户提供学生课程表的只读查询能力。用户需通过环境变量配置学校服务器地址、校名、账号密码等凭证,即可使用 today 命令查询当日课表,或使用 range 命令指定日期范围获取完整日程。该 skill 支持多账户并行配置,通过 --profile 参数切换不同学生档案,适合管理多个学生账户的家庭或教育机构场景。
显著优点
1. 功能聚焦单一:仅执行只读查询,无写入操作,从根本上降低数据损坏风险。
2. 凭证管理规范:强制使用环境变量传递敏感信息,避免密码硬编码或命令行泄露。
3. 多账户支持:内置 profile 机制,可并行管理多个学生账户,扩展性强。
4. 输出简洁直观:每行课程信息包含日期时间、科目、教室、教师,便于快速浏览和二次处理。
5. 自动 ID 推断:支持自动检测 element-id,降低配置门槛。
潜在缺点与局限性
- 依赖外部服务:完全依赖学校 WebUntis 实例的可用性和网络连通性,若学校服务器故障则无法使用。
- 仅支持学生视角:默认 element_type 为 5(学生),教师或教室视角需手动配置,文档说明有限。
- 无缓存机制:每次查询均实时请求 API,高频调用可能触发学校端限流。
- 错误处理较基础:自动检测失败时需用户手动查找 element-id,对非技术用户不够友好。
适合的目标群体
- 需要定期查看孩子课程表的家长
- 希望自动化日程提醒的学生
- 教育机构 IT 管理员集成至内部系统
- 开发教育类应用的工程师作为数据层组件
使用风险
- 凭证安全:虽使用环境变量,但若部署环境日志配置不当,仍可能泄露敏感信息。
- 网络稳定性:HTTPS 依赖学校证书有效性,证书过期或配置错误将导致连接失败。
- API 变更风险:WebUntis 官方 API 若发生不兼容更新,skill 可能需同步维护。
- 性能瓶颈:大规模并发查询可能受限于学校服务器响应能力,不适合高并发场景。