--- sidebar_position: 3 description: 开源之夏 - 暑期 2024 mdx: format: md --- # 暑期 2024 **开源之夏 - 暑期 2024** 是**中国科学院软件研究所**发起的**开源软件供应链点亮计划**系列暑期活动,旨在鼓励高校学生积极参与开源软件的开发维护,促进优秀开源软件社区的蓬勃发展。活动联合各大开源社区,针对重要开源软件的开发与维护提供项目开发任务,并向全球高校学生开放报名。关于具体的活动规划、报名方式,请查看该活动的 [官网](https://summer-ospp.ac.cn/) 和 [帮助文档](https://summer-ospp.ac.cn/help/)。 NoneBot 社区有幸作为开源社区 [参与](https://summer-ospp.ac.cn/org/orgdetail/e1fb5b8d-125a-4138-b756-25bd32c0a31a?lang=zh) 了本次活动,下面列出了目前我们已经发布的项目,欢迎感兴趣的同学通过 [contact@nonebot.dev](mailto:contact@nonebot.dev) 联系我们。 ## NonePress 官网组件库更新与优化 NoneBot 官网目前采用基于 TailwindCSS 自研的 NonePress 组件库及 Docusaurus 框架进行构建。由于相关依赖版本迭代迅速,目前官网组件库已产生了较大的版本落后。本项目希望在跟进框架新版本的基础上,对文档整体视觉体验进行重新设计,提升页面的无障碍访问性,基于 React Hydrate 特性实现完整的静态网站生成(SSG)以提升搜索引擎优化(SEO)水平。在解决以上问题的基础上,可对网页的开发以及生产构建性能做相应的优化提升,例如在生产构建使用自有的 webpack loader、替换现有的热重载逻辑以减少开发环境启动耗时等。 **难度**:进阶 **导师**:[@yanyongyu](https://github.com/yanyongyu) **产出要求** - 基于 Docusaurus v3 重构 NonePress 组件库及相关插件 - 升级相关依赖并重新打造 Docusaurus theme(布局与组件) - 根据需求实现/修改 Docusaurus 插件使得官网内容构建正常 - 能够提升页面渲染性能与 MDX 相关能力 - 升级官网采用新版组件库 - Algolia 索引与 SEO 正常 - 桌面端与移动端显示正常 - 优化官网开发与生产构建体验 - (可选)优化官网部分页面 - 优化官网过长的 changelog - 优化官网插件商店的展示细节 **技术要求** - 熟练掌握 TS、PostCSS、TSX、MDX等相关技术 - 掌握 React、Docusaurus、tailwind css 等框架 - 熟悉静态网站生成 SSG、SEO 优化与 Algolia 索引原理等 **成果仓库** - ## NoneFlow 社区自动化工作流管理优化 NoneFlow 在 NoneBot 社区中承担着重要的角色,它由 NoneBot 框架基于 GitHub APP 编写而成,能够自动化的完成许多复杂流程的处理,如:用户请求提交插件到商店时进行自动化检测,并在人工审核通过后自动存储至 registry;定时自动更新 registry 内插件信息,跟进插件新版本情况等。但是,在长期的使用中发现了一些问题和不足的地方,例如:项目本身结构复杂耦合,添加新自动化流程与维护现有流程困难;目前采用了 GitHub 用户名作为插件作者名,但已有不少插件作者改名;插件存储至 registry 并定时更新,缺少统计相关信息以帮助商店更好的展示当前插件状态;插件作者想要修改插件信息时无法便捷的找到操作方式等。本项目希望针对以上问题与不足的地方进行修复与优化,提升用户体验。 **难度**:进阶 **导师**:[@uy/sun](https://github.com/he0119) **产出要求** - 重构现有工作流处理结构 - 整合现有 Issue、Pull Request、Git 相关操作 - 提供用户修改信息的处理方式 - 正确处理 PR 的 Open、Close、Draft 状态 - 修复流程中存在的问题 - 插件作者名正确展示 - registry 定时更新中需要插件测试环境隔离 - 在 registry 定时更新的同时提供统计数据 **技术要求** - 掌握 GitHub APP 开发 - 熟悉 GitHub REST API、GraphQL 等 - 熟悉 GitHub APP 权限限制 - 熟悉 NoneBot 框架与 Python 相关技术 - 熟悉 Git、GitHub Action、GitHub 工作流 **成果仓库** - ## NoneBlockly 低代码框架开发 经过深入分析社区反馈,我们发现部分新手因不熟悉编程概念或框架本身而遇到问题。为了解决初学者在使用面向开发者的聊天机器人框架 NoneBot 时遇到的挑战,我们计划引入 Blockly 提供低代码编程支持。通过减少常见的编码错误和降低入门门槛,使框架对初学者更加友好,从而提升用户体验并有助于 NoneBot 生态的成长。本项目将基于 Blockly 实现 NoneBot 插件的低代码编写,使得用户能够快速搭建聊天机器人。 **难度**:进阶 **导师**:[@mnixry](https://github.com/mnixry) **产出要求** - 实现 NoneBlockly 低代码开发框架 - 能够基于 Alconna 编写跨平台插件 - 确保插件对 Python 和 NoneBot 版本的兼容性 - 支持对多种类型 NoneBot 事件的响应 - 支持对 NoneBot 消息对象的便捷操作 - 集成 localstore 文件存储、apscheduler 定时任务、网络请求等常用功能 - 对接 NB-CLI 脚手架,通过脚手架扩展使用低代码框架 **技术要求** - 掌握 Python 与 NoneBot 框架的使用 - 熟悉 NoneBot 插件的开发,包括事件响应与消息处理等 - 熟悉 NoneBot 生态组件(Alconna、localstore、apscheduler等)的使用 - 了解 NB-CLI 脚手架的扩展开发 - 熟悉 Blockly 低代码框架的使用和开发 **成果仓库** -