Skip to content

Releases: smartThise/OneTHU

OneTHU v0.10.0 · Complex Variable —— 首个大规模公测版

Choose a tag to compare

@smartThise smartThise released this 22 Sep 16:18

One THUer should have OneTHU.

OneTHU 是面向清华学生的校园应用:统一身份、统一数据、统一界面,覆盖 macOS / Windows / Android,
并内置 AI Agent(OneTHU Harness)。v0.10.0「Complex Variable」是第一个面向所有 THUer 的大规模
公测版
——作业、文件预览、桌面小组件与 Agent 四条主线在这一版全部跑通,欢迎上手试用并把问题
丢回来。

⚠️ 升级须知(Android,仅此一次)

本版更换了 Android 签名证书,从 0.9.0 或更早版本升级必须先卸载旧版再安装:

  • 直接覆盖安装会失败(INSTALL_FAILED_UPDATE_INCOMPATIBLE)。
  • 卸载会清除本机数据:登录状态、外部作业源(雨课堂 / TUOJ / Tyche / DSA OJ)凭据、设置、
    桌面小组件与使用统计;安装后重新登录一次即可恢复。
  • 从 0.11 起可正常覆盖升级,无需再卸载。

macOS 与 Windows 不受影响。APK 签名指纹(可自行校验):

证书主体  CN=OneTHU, OU=OneTHU, O=smartThise, L=Beijing, ST=Beijing, C=CN
SHA-256  CC:14:D7:35:66:7B:B8:B5:D3:13:4E:7D:FD:CC:F6:A4:D9:35:3E:1A:2F:CE:54:50:3F:4A:29:70:54:23:AA:97

一个对话入口:OneTHU Harness

左下角常驻的校园 Agent。用一句话查作业、课表、成绩、电费、图书馆座位与学校新闻;本版让它能直接
打开在线服务的官方页面、把结果收进收藏夹,并可接入 MCP 服务器扩展自己的工具。

原子化:收藏夹、小组件与 Agent 共用同一个引用

页面、组件与校园数据(课程、作业、通知、文件、新闻、洗衣机、教室、场馆、图书馆)统一为「原子」:
可搜索、可收藏、可通过链接直接打开,也可放置到桌面。同一个对象在收藏夹、桌面小组件与 Agent 对话
中的行为完全一致。

作业:一处看全,还能就地提交

  • 网络学堂与雨课堂 / TUOJ / Tyche / DSA OJ 合并进「全部作业」与「今日」,在一个位置查看。
  • 忽略:不再提醒、不再出现在日程,随时可在「已忽略」分组找回。
  • 网络学堂附件支持拍照直接上传;必交附件的作业在本地预检,不再白跑一次提交。
  • 雨课堂主观题可在应用内撰写与提交:图文与公式编辑、草稿、剩余次数提示、提交前确认。
    只做「用户亲笔的便捷提交」,不生成、不代写、不自动提交。

文件预览:PDF 连续滚动,pptx 真正渲染

  • PDF 改为连续滚动,按需渲染当前页附近内容,几十页的课件也不卡顿。
  • pptx 直接渲染幻灯片页面(此前只显示文字大纲)。
  • 修复手机端 PDF 乱码与渲染失败。

界面与提醒

  • 首启导览:界面定制 → 账号接入(雨课堂 / OJ 平台 / 清华邮箱日历 / 清华云盘)→ 桌面小组件,
    每步均可跳过。
  • 今日页新增「最近使用」与「猜你喜欢」;在线服务目录可收藏,也可由 Agent 一句话打开。
  • 桌面小组件按当前时间原生重算(倒计时、正在上课),在翻转点自动刷新,深色模式跟随系统。
  • 三端系统通知;提醒支持静默时段,通知不再打扰休息。

稳定性

  • 新增根级错误边界:渲染异常不再导致整窗白屏。
  • 网络学堂登录状态失效后静默恢复;TUOJ 会话过夜自动续期。
  • 修复 Windows 独立窗口白屏、Android release 包中插件命令崩溃等一批问题。

下载

平台 文件 说明
Android OneTHU-0.10.0-*.apk arm64,正式签名;升级前请先看上面的须知
macOS OneTHU_0.10.0_aarch64.dmg Apple Silicon;首次打开若被 Gatekeeper 阻止,在「系统设置 → 隐私与安全性」中放行
Windows OneTHU_0.10.0_x64-setup.exe x64 安装器

公测说明与已知限制

  • OneTHU 是非官方的个人项目,与清华大学无关;数据来自学校公开系统的网页接口,仅供个人学习
    与日常使用。
  • 体育场馆模块仅提供查询(场馆 / 场次 / 余量 / 我的预约 / 退订),预约请在官方网页完成。
    依据清华大学体育部场馆中心 2025 年 12 月 3 日公告第七条第 12 款,以脚本或插件等非正常途径
    预定场地会被封禁预订权限 6 个月并函告院系。
  • macOS 安装包为 ad-hoc 签名(尚无 Apple 开发者证书),首次打开需手动放行。
  • 各平台接口均为逆向自其公开网页端的非官方用法,可能随对方改版失效。
  • 插件生态处于早期:插件市场名单仍在扩充,欢迎提交自己的插件。

反馈

  • 问题与建议:GitHub Issues——附上应用版本与
    设置页「自检」的结果,定位会快很多。
  • 用户交流群见仓库 README。

许可

自有代码以 MIT 许可开源,并附两条限制:严禁商业用途;严禁用于对清华大学信息服务的
攻击性访问(抢课、体育场馆或图书馆座位等自动预约提交)。第三方组件按其自带许可,详见
LICENSE 与
第三方组件许可。

v0.9.0 "Fishman"

Choose a tag to compare

@smartThise smartThise released this 09 Sep 18:24

OneTHU v0.9.0 “Fishman”

自 v0.8.0 “Fried Chicken”(2026-09-07)以来的 51 个提交。新增两大页面(邮箱、清华云盘)、寻迹导航与系统日历的多轮实测修复、Android 端三处系统能力接入,以及本版本起生效的版本更新检测。

新增功能

邮箱(新页面)

  • 基于 IMAP/SMTP 的校园邮箱客户端:收件箱/已发送双列表、分页加载、正文阅读(HTML 渲染)、标记已读、撰写发送、发件人/主题/正文搜索。
  • 邮箱凭据与云日历共用一份配置(授权码一次录入两处生效)。
  • 支持收藏「收件箱」「已发送」及进入邮箱的可搜索操作原子。

清华云盘(新页面,Seafile API 完整接入)

  • 资料库列表(容量条)、目录浏览(面包屑导航)、文件下载(写入系统下载目录)、文件上传(系统文件选择器,支持多选)、分享链接生成(可设有效期)。
  • 按资料库搜索:输入关键词回车触发,等待期显示进度状态与骨架行,返回结果数与耗时。
  • Token 配置引导页(网页端一次性生成 Token 粘贴)。

寻迹(地图日程)

  • 今日课程/考试/云日历/本地日程按地点聚合到地图(高德瓦片,GCJ-02 坐标对齐),标注显示时间与预计到达耗时,颜色按紧迫度分级。
  • 定位:macOS 原生 CoreLocation 桥 + 移动端官方插件 + 12 小时内缓存 + 校园中心四层降级。
  • 「前往」按所选交通方式(步行/骑行/驾车)调用高德/腾讯/百度/苹果地图;Android 直跳地图 App(intent 深链,未安装时回退网页版)。

小 OH(ChatDock)与系统级集成

  • 底部胶囊形态的助手入口,Android 原生语音输入(SpeechRecognizer 长按会话式转写)。
  • 作业 DDL 写入日历(VALARM 提醒)、课表与作业自动上云(CalDAV)。
  • 系统日历原生同步:Android CalendarProvider / macOS EventKit,无需配置账户。

OH 助手工具(插件内核)

  • 邮箱四件套:查询/阅读/搜索/发送(发送需确认)。
  • 云盘四件套:资料库列表/目录浏览/搜索/分享与上传(写操作需确认)。
  • 日程四件套:查询/创建/修改/删除。

版本更新检测(本版本起)

  • 启动时静默检查 GitHub Releases,有新版本且未忽略时提示一次。
  • 设置 → 关于:手动检查、当前/最新版本展示、查看发布页、忽略指定版本。

修复

清华云盘

  • 资料库列表重复:服务端四路平铺不去重,同库经多通道返回多条——按 ID 去重并过滤虚拟子库。
  • 上传后文件不显示:目录缓存永不过期——改为上传后强制刷新 + 15 秒 TTL 兜底。
  • 新上传文件排在列表深处:排序由字典序改为按修改时间倒序,新文件位于文件区顶部。
  • 搜索无等待反馈、搜索框无样式:补齐进度提示与统一输入框外观。

寻迹

  • 骑行耗时显示为问号:v3 骑行接口对个人 Key 返回 SERVICE_NOT_AVAILABLE,改用 v5。
  • Android 端「前往」始终进入驾车路线:废弃 scheme(androidamap://route)不识别交通方式参数,改用现行 amapuri://route/plan/。
  • 导航方式固定为驾车:网页版与深链 URI 均未携带交通方式参数,已全链路跟随所选方式。

Android

  • 定位静默失败:getCurrentPosition 不请求运行时权限——改为先调用 requestPermissions 触发系统弹窗。
  • 下载文件落在应用私有目录:新建 onethu-mobile 插件(Rust + Kotlin),经 MediaStore 写入系统「下载」目录(API 29+;旧机型直写公共目录)。
  • 交叉编译失败:imap 默认特性引入的 native-tls/openssl-sys 在 Android NDK 不可用,已去除默认特性。

插件系统与凭据

  • 内置 OH 权限自愈重注册时清空用户设置(API Key 需重复粘贴):重注册前快照并恢复 settings。
  • HTTP 204/205/304 无体状态被构造为带 body 的响应,导致云端删除/修改操作失败。

系统日历

  • macOS 清理旧事件按对象指针匹配不可靠导致重复创建,改为按标题匹配。
  • 自动跟随策略改为任何成功同步即开启(未明确停止过);旧配置版本化作废,强制全量重写自愈。

修复(重发版)

系统日历(Android 运行时权限)

  • 课程表页「同步到系统日历」直接执行同步,未经过权限请求步骤:Android 上无授权写入被系统拒绝,提示「没有系统日历权限」。现已将权限请求收口到同步入口(所有路径统一):首次点击同步时弹出系统授权窗,授权后写入;拒绝授权时提示可到系统设置重新允许。

CI 构建修复

  • 移除包含本机绝对路径的 cargo target-dir 配置文件:该路径在 GitHub Actions runner 上不存在,导致 macOS/Windows 安装包构建失败(权限拒绝)。本地开发构建行为不变(脚本显式注入)。
  • macOS 安装包链接失败:新版 clang 对 @available 语法生成 ___isPlatformVersionAtLeast 调用(定义在 clang_rt 运行时库),Rust 链接不自动携带该库。已在构建脚本中显式链入(构建期自动定位 clang 资源目录)。

平台产物

  • Android arm64 APK(versionCode 9000),Honor 真机验证:启动无崩溃、定位授权、地图深链、系统下载目录写入、日历授权弹窗。
  • macOS 桌面端(pnpm tauri:build)。

元数据

  • 版本:0.8.0 → 0.9.0(package.json / tauri.conf.json / Cargo.toml 统一)。
  • 版本代号:Fishman。

v0.8.0 "Fried Chicken"

Choose a tag to compare

@smartThise smartThise released this 07 Sep 18:10

对话助手 OH 登场:自然语言直达校园服务。

未来已来

OneTHU v0.7.11

Choose a tag to compare

@smartThise smartThise released this 01 Sep 13:56

v0.7.11

日程与提醒:竖字彻底终结

手机上日程行改为两行式网格布局——标题通栏一行(实测 251px 单行显示,此前被 flex 收缩捏成 51px 竖排三行),日期与状态胶囊(进行中/未开始)移到第二行右侧。CJK 文本的最小内容宽度恒为单字,任何 flex 收缩方案都治不了本,换结构才是正解

电子身份(移动端)

修复 invalid args 报错(mobile 命令参数未具名);多窗口原生窗口仅桌面端支持,移动端现自动跳转系统浏览器打开 id.tsinghua.edu.cn

设置页

  • 移除「设备诊断」调试卡(使命完成)
  • 新增「关于」:版本号标注 + GitHub 项目页直达按钮

安装包

  • Android(推荐):OneTHU_0.7.11_arm64.apk
  • Android(备用):OneTHU_0.7.11_universal.apk
  • Windows: OneTHU_0.7.11_x64-setup.exe · macOS: OneTHU_0.7.11_aarch64.dmg

OneTHU v0.6.1

Choose a tag to compare

@smartThise smartThise released this 31 Aug 18:56

OneTHU v0.6.1

One THUer should have OneTHU.

下载

文件 平台 说明
OneTHU_0.6.1_x64-setup.exe Windows 10/11 (x64) NSIS 安装向导
OneTHU_0.6.1_aarch64.dmg macOS (Apple Silicon) 拖入 Applications

Intel Mac / Linux 暂不提供,Android APK 随后单独发布。

本版亮点

  • 全新品牌标识 (One / THU):代码体圆括号 × 衬线 One × 现代黑体 THU,逐列对齐
  • 登录页 slogan 渲染:衬线 One · 黑体 THUer · 等宽其余,句尾完整标识
  • 移动端布局适配:顶栏导航横滚、卡片贴边、表格卡内滚动、触控目标下限、safe-area
  • 兜底强化:错误先自动硬刷新(防循环上限),上游维护显示倒计时卡(体育 01:00-02:00 例行维护自动识别)
  • 公共空间:门户页兜底找回 + 协议自动通过稳定性增强

⚠️ 稳定性提示

项目仍在快速迭代,部分校内服务链路尚不稳定。遇到页面报错或数据为空,请先点击右下角硬刷新按钮;刷新后仍复现,再开 Issue(附上日志文件更佳)。