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处理能力,这个版本为教育应用开发者提供了更加可靠和安全的工具。这些改进不仅提升了系统的整体质量,也为未来的功能扩展奠定了更坚实的基础。
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 StartedRust0148- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
auto-devAutoDev 是一个 AI 驱动的辅助编程插件。AutoDev 支持一键生成测试、代码、提交信息等,还能够与您的需求管理系统(例如Jira、Trello、Github Issue 等)直接对接。 在IDE 中,您只需简单点击,AutoDev 会根据您的需求自动为您生成代码。Kotlin03
Intern-S2-PreviewIntern-S2-Preview,这是一款高效的350亿参数科学多模态基础模型。除了常规的参数与数据规模扩展外,Intern-S2-Preview探索了任务扩展:通过提升科学任务的难度、多样性与覆盖范围,进一步释放模型能力。Python00
skillhubopenJiuwen 生态的 Skill 托管与分发开源方案,支持自建与可选 ClawHub 兼容。Python0111