THEIA v0.5.1
重点更新
启动性能与体验
- 增加 THEIA 品牌启动画面(深色背景 + "THEIA" 文字 + 旋转动画),消除启动时的黑屏等待
- 校历刷新、培养计划 PDF 解析等重型初始化移至后台执行,不阻塞窗口出现
- 主窗口在渲染器首次绘制后才显示,彻底消除窗口创建时的暗色闪烁
- 启动耗时埋点记录到诊断日志,便于后续分析瓶颈
抢课系统
- 选课推荐不再依赖 EvidenceRegistry,改为按培养方案学分缺口推荐课程
- 修复正方选课提交字段(
do_jxb_id而非jxb_id) - 修复网络课程选课过滤(
kch而非kch_id)
教室查询
- 修复 N2155 教室查询接口(
cdjy/cdjy_cxKxcdlb.html) - 过滤器使用内部 ID(名称 → 无结果,ID → 正常)
- 前端下拉框传递 ID 而非显示名称
- 缓存策略:教室每天信息不变,使用缓存;场馆状态实时拉取
IRIS(QQ 伴侣)
- 教室查询:支持单节次(
theia classroom 1)和节次范围(theia classroom 3-5) - 场馆查询:返回图片表格,排序按楼梯优先 + 升序,时间段显示为范围(如"3-4")
- 单实例锁增加心跳机制,避免进程 PID 重用导致启动失败
- 修复图片回复未捕获异常、模板字符串错误等
Ultimate 模式
- 修复 Ultra 模型 403 失败后 Agent 一直转圈的问题:适配器发射
tool: { type: 'error', name: 'ultra' }事件,前端重置状态并显示错误 - Token 显示修复:从仅显示输出改为分别显示"输入 X · 输出 Y tokens"
全量代码评审修复
- 本地 API:Electron I/O 临时文件写入错误重试、敏感列过滤不同步、limit 默认值、HTML 转义、顶层 try/catch
- 学期排序:数值比较而非 localeCompare("2026-12" 应在 "2026-3" 之后)
- 场馆状态:并发拉取代替串行(3 并发,12-24s → 2-4s),批量写入代替逐次
- 教室查询:bitmask OR 运算、去重、空数组归一化、参数解析、座位数校验
- 渲染器:图片尺寸限制、data-URL 长度检查、80ms 固定延迟移除
- IRIS 配置 Token 填充、本地时区 weekday 修正
稳定性与兼容性
- Windows 11 25H2 卸载文件锁定修复:等待 store 操作完成后再退出
- 启动失败对话框:单实例锁冲突 / 启动异常时弹出错误提示而非静默退出
- 单实例锁心跳:每 30 秒刷新锁文件,60 秒未刷新视为过期
MOTION 场馆
- 公开匿名 GET,无需 Cookie
- 详情页
detailUrl携带 xq/xm 参数选择具体场馆,不传venue=activity - 并发拉取(最多 3 个同时),单次批量写入 store
MCP 集成
- 支持通过
theia:install-mcp-clients安装 MCP 客户端 - 在
%USERPROFILE%\.cursor\mcp.json中注册 THEIA 顾问工具
发布文件
release-bin/THEIA-0.5.1-x64-win.exe— Windows x64 NSIS 安装包,248,775,952 bytes,SHA-256D5F347AFCE7BF37309300D267514AC1BE402D31B24F0AC844FBD83E753FFFF04release-bin/THEIA-0.5.1-source.zip— 带SOURCE-MANIFEST.json的源码归档,109,425,571 bytes,SHA-256D9D4D744C7DDF5CB87C775A2427B5D4B5FEFD392908CD3FC751E95F352002FAFrelease-bin/THEIA-0.5.1-x64-win.exe.blockmap— electron-builder 更新块映射,266,399 bytes,SHA-256217A9350C688C26A709069E92CAD36BA57B1274E0DA25FB006578593011E3A29
源码归档 manifest 校验结果:459 个源文件,verified: true。
验证
npm test:通过npx tsc -b --pretty false:通过npm run dist:installer:通过,生成安装包、blockmap 和源码归档
分发说明
当前构建未配置可公开验证的 Authenticode 证书,安装包状态为 NotSigned;Windows 可能显示未知发布者提示。发布前请核对上面的 SHA-256。