Khan Academy Perseus 核心库11.0.0版本发布:安全性与功能增强
Perseus是Khan Academy开发的一个开源数学题目渲染引擎,主要用于教育领域。它能够处理各种复杂的数学表达式和交互式题目类型,为在线学习平台提供强大的题目展示和交互能力。本次发布的11.0.0版本带来了多项重要改进,特别是在安全性、稳定性和功能完善方面。
主要变更:防止未授权组件使用
本次发布的一个重大改进是解决了组件授权机制的安全性问题。在之前的版本中,存在一个潜在风险:系统可能在没有任何组件被正确授权的情况下就尝试使用组件注册表。这可能导致运行时错误或不可预期的行为。
新版本通过强制检查组件授权状态,确保了组件系统的稳定性。这种防御性编程的改进使得整个系统更加健壮,特别是在复杂的教育应用场景中,能够避免因组件加载顺序或初始化问题导致的意外错误。
功能增强
匹配器组件改进
-
确定性公共选项生成:对匹配器组件的公共选项生成算法进行了改进,确保每次生成的选项都是确定性的。这意味着相同的输入总是会产生相同的输出,提高了系统的可预测性。
-
答案隐藏机制:改进了匹配器组件的初始状态处理,确保正确答案不会在初始状态下意外显示给学习者。这对于保持测试的公平性和安全性至关重要。
-
类型支持与故事书示例:新增了类型定义和Storybook示例,确保匹配器组件能够处理不含答案的数据。这使得组件更加灵活,可以适应更多使用场景。
排序器组件安全改进
排序器组件也获得了类似的安全增强。通过修改公共选项生成逻辑,移除了其中包含的答案信息。现在,卡片排序是在获取公共选项时完成的,而不是依赖于可能暴露答案的内部状态。
JSON解析功能扩展
parseAndMigratePerseusItem函数现在变得更加灵活。除了接受JSON字符串外,现在还可以直接处理JavaScript对象。当传入对象时,函数会跳过JSON解析步骤,提高了处理效率并减少了潜在的错误点。
内部优化
-
依赖项更新:更新了Wonder Blocks相关依赖的版本,确保使用最新的稳定组件库。
-
代码质量工具调整:移除了eslint-plugin-functional检查器,简化了开发流程,同时保持了代码质量。
-
相关包同步更新:与核心库配套的
@khanacademy/kas和@khanacademy/perseus-utils也进行了相应更新,确保整个生态系统的兼容性。
总结
Perseus 11.0.0版本的发布标志着这个教育渲染引擎在安全性和稳定性方面迈出了重要一步。通过防止未授权组件的使用、改进匹配器和排序器组件的答案处理机制,以及扩展JSON处理能力,这个版本为教育应用开发者提供了更加可靠和安全的工具。这些改进不仅提升了系统的整体质量,也为未来的功能扩展奠定了更坚实的基础。
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
LongCat-AudioDiT-1BLongCat-AudioDiT 是一款基于扩散模型的文本转语音(TTS)模型,代表了当前该领域的最高水平(SOTA),它直接在波形潜空间中进行操作。00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0245- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
HivisionIDPhotos⚡️HivisionIDPhotos: a lightweight and efficient AI ID photos tools. 一个轻量级的AI证件照制作算法。Python05