westlake_survival
面向西湖大学师生的校园服务聚合工具包与开发套件。
提供 Python 库、命令行工具(CLI)、本地 Web 仪表盘与 MCP 服务端,兼顾日常使用与自动化接入。
pip install westlake-survival # PyPI 直装
westlake # 启动本地 Web 仪表盘
能力总览
| 领域 | 覆盖 | 需账号 |
|---|---|---|
| 学业(SIS) | 课表、成绩、考试安排、选课车、评教、第二课堂、学籍异动、学业导师、课表 ICS、周网格冲突检测 | 统一密码 |
| 教学(AMS) | 另一套课表、教学周次、学籍与选课入口 | 统一密码 |
| Canvas | 课程、截止与测验、待办、模块、文件下载、讨论区、公告、收件箱、作业详情;交作业/回帖/回私信 | 令牌或统一密码 |
| 场地预约 | 17 类场地:分类、逐日可约、空闲校验、我的预约、预约与取消 | 统一密码 |
| 体育场馆 | 场景、场地、逐日可约、我的预约(只读) | 统一密码 |
| 任务与门户 | 办事大厅目录、我的待办、门户个人卡片 | 统一密码 |
| 学术科研 | 数据库注册表、CARSI 校外 SSO、DOI→PDF、导师名录、HPC、报销制度 | 部分免账号 |
| 就业 / 培养方案 / 校园生活 / 讲义下载 / 信息检索 / 系统盘点 | 详见 GitHub README | 多数免账号 |
核心设计原则
- 默认只读:写操作受限于五项核心动作(Canvas 作业提交、回帖、私信,以及场地预约与取消),统一经由结构化确认拦截(缺少
--yes参数时打印风险提示并退出);不提供选课与抢课功能。 - 凭据本地存储:优先使用系统钥匙串,保持单一存储源,终端默认不提示输入明文密码。
- 合规边界:本工具为开源社区项目,仅用于访问使用者本人有权查看与操作的数据。