• 0.5.0 6502efd84f

    pluv released this 2026-05-08 18:56:04 +08:00 | 2 commits to dev since this release

    经过 137 天在 refactor/v0.5.0 分支上的开发, 我们释出了 HeurAMS 0.5.x 系列的第一个稳定版本.

    此版本对程序库与基本用户界面做出了多项重构, 交互与设计优化, 性能与稳定性增强, 并进一步完善了项目架构设计与开发流程, 为后续的现代前端 KiriMemo 及单元集辅助软件 HeurStudio 铺路.

    0.5.x 的 API 版本代号为 Fulcrum "支点", 不与 0.4.x Fledge "雏鸟" 及更早的版本兼容.

    此外, 为 AGPL-3.0 许可证增加了一条本机 API 调用的豁免条款用以支持第三方前端的开发.

    主要变更

    包管理与依赖迁移

    • 全面使用 uv, Python 要求 >=3.12
    • 移除 requirements.txt, 新增 uv.lock 和可选依赖分组
    • 完善了网络安装基础设施
    • 旧版的 pip 安装依然可用

    配置系统重构

    • 使用新的配置数据结构与分层目录树配置 (data/config/)
    • 配置文件自解释
    • 首次运行自动复制默认配置

    性能改进

    • 优化模块导入, 加速启动速度至 180ms 内
    • 为大型单元集启用了懒加载优化
    • 通过优化界面逻辑, 提高了反应速度并显著降低内存占用
    • 通过脏标记优化 Lict 对象多数操作复杂度至 O(1)

    内核改进与重构

    • 算法注册: 手动注册改为算法模块自动注册
    • 状态机: 从原始实现迁移至 transitions 库, 提高性能的同时降低了复杂性
    • 数据模型: 增加了仓库系统(repolib), 将文件与粒子对象相隔离,
    • 粒子对象: 粒子对象改为纯运行时对象, 进行了部分重构与改进

    算法改进

    • 改进并完善了 SM-15M 实现
    • 基于 fsrs 库, 适配了功能完备的 FSRS 算法, 但优化器暂不可用
    • 新增 NSP-0 非间隔重复快速筛选算法
    • 现在 HeurAMS 内置了 4 种可直接使用的算法

    界面改进

    • 改进了仪表盘, 增加统计功能
    • 改进了学习队列多项界面与交互设计
    • 改进了学习准备页面界面与交互设计
    • 新增收藏管理器, 导航器与设置页
    • 移除不成熟的单元集创建器, 计划在 HeurStudio 中实现完备的单元集创建与编辑功能
    • 进行 TCSS 文件伪分离, 各界面使用独立样式文件
    • 快捷键调整与键盘操作改进

    测试改进与完善

    • 改进了测试架构
    • 扁平化测试目录结构
    • 完善了内核功能测试文件

    其他改进

    • 新增 ZMQ 调试服务器
    • 升级 playsound 至 playsound3, 提高可用性
    • 升级框架版本
    • 多项底层改进
    • 文档大幅改进
    Downloads