Khan Academy Perseus 50.0.0 版本发布:核心架构优化与交互功能增强
Perseus 是 Khan Academy 开源的一个数学教育内容渲染引擎,主要用于呈现交互式数学题目和教学内容。作为 Khan Academy 教育平台的核心组件之一,Perseus 提供了丰富的数学题目类型和交互功能,支持从基础算术到高等数学的各种教学内容展示。
本次发布的 50.0.0 版本是一个重要的里程碑更新,主要围绕核心架构重构和交互功能增强展开。版本引入了多项重大变更,包括模块化重构、类型安全改进以及新的交互图形功能。这些改进不仅提升了开发体验,也为最终用户带来了更丰富的数学交互体验。
核心架构重构与模块化
50.0.0 版本对 Perseus 的核心架构进行了重要重构,将部分功能模块从主包中分离出来,形成了更加清晰的模块化结构:
-
Perseus-Core 模块增强:将原本属于 Perseus 的一些核心功能迁移到了 Perseus-Core 模块中,包括数据模式定义和工具函数等。这种分离使得核心逻辑更加集中,便于维护和复用。
-
新增 Perseus-Score 模块:专门处理评分相关逻辑的独立模块,将答案类型(AnswerTypes)等评分相关定义从主包中迁移出来。这种专业化分工有助于提高代码的可维护性和可测试性。
-
类型安全改进:引入了
parseAndMigratePerseusItem()和parseAndMigratePerseusArticle()两个新的类型安全解析函数,取代了原有的parsePerseusItem()。这些新函数不仅提供更好的类型支持,还能自动将旧格式的内容迁移到最新格式,确保了向后兼容性。
交互式图形功能增强
本次更新为交互式图形功能带来了显著改进:
-
新增坐标轴标记类型:在交互式图形编辑器中增加了对坐标轴(axes)标记的支持。这一功能扩展了图形交互的可能性,使教师能够创建更多样化的数学题目类型。
-
屏幕阅读器支持增强:
- 为交互式图形编辑器添加了屏幕阅读器树结构,提升了视障用户的可访问性
- 完善了圆形元素的完整图形描述,确保屏幕阅读器能够准确描述图形内容
开发者体验改进
针对开发者体验,本次更新也做了多项优化:
-
测试工具增强:新增了 Mock Widget 测试工具,简化了组件测试的编写过程,提高了测试的可靠性和可维护性。
-
内容解析改进:
parsePerseusItem现在能够解析所有已发布的内容格式,并自动将旧格式升级到当前版本。这一改进简化了内容迁移过程,确保了系统的向前兼容性。 -
工具函数整理:将一些辅助函数如
objective_系列工具迁移到了更合适的模块中,使代码组织更加合理。
总结
Perseus 50.0.0 版本通过核心架构的重构和模块化,为项目的长期健康发展奠定了基础。同时,新增的交互图形功能和改进的可访问性支持,进一步丰富了数学教学的可能性。对于开发者而言,类型安全的改进和测试工具的增强将显著提升开发效率和代码质量。这些变化共同推动了 Perseus 作为一个专业数学教育渲染引擎的成熟度。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust099- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
MiMo-V2.5-ProMiMo-V2.5-Pro作为旗舰模型,擅⻓处理复杂Agent任务,单次任务可完成近千次⼯具调⽤与⼗余轮上 下⽂压缩。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
Kimi-K2.6Kimi K2.6 是一款开源的原生多模态智能体模型,在长程编码、编码驱动设计、主动自主执行以及群体任务编排等实用能力方面实现了显著提升。Python00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00