mirror of
https://github.com/nonebot/nonebot2.git
synced 2024-11-26 01:55:05 +08:00
104 lines
5.6 KiB
Markdown
104 lines
5.6 KiB
Markdown
---
|
||
sidebar_position: 3
|
||
description: 开源之夏 - 暑期 2024
|
||
---
|
||
|
||
# 暑期 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> 联系我们。
|
||
|
||
## 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 索引原理等
|
||
|
||
**成果仓库**
|
||
|
||
- <https://github.com/nonebot/docusaurus-theme-nonepress>
|
||
|
||
## 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 工作流
|
||
|
||
**成果仓库**
|
||
|
||
- <https://github.com/nonebot/noneflow>
|
||
|
||
## 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 低代码框架的使用和开发
|
||
|
||
**成果仓库**
|
||
|
||
- <https://github.com/nonebot/noneblockly>
|