---
sidebar_position: 1
description: 开源之夏 - 暑期 2022
---

# 暑期 2022

**开源之夏 - 暑期 2022** 是由**开源软件供应链点亮计划**发起、由**中国科学院软件研究所**与 **openEuler 社区**主办的一项面向高校学生的暑期活动，类似 Google Summer of Code（GSoC），旨在鼓励在校学生积极参与开源软件的开发维护，促进优秀开源软件社区的蓬勃发展。关于具体的活动规划、报名方式，请查看该活动的 [官网](https://summer-ospp.ac.cn/) 和 [帮助文档](https://summer-ospp.ac.cn/help/)。

NoneBot 社区有幸作为开源社区 [参与](https://summer-ospp.ac.cn/#/org/orgdetail/e1fb5b8d-125a-4138-b756-25bd32c0a31a/) 了本次活动，下面列出了目前我们已经发布的项目，欢迎感兴趣的同学加入 QQ 群 [737131827](https://jq.qq.com/?_wv=1027&k=PEgyGeEu) 或通过 <contact@nonebot.dev> 联系我们。

## NoneBot2 命令行 CLI 交互体验升级

NoneBot2 为用户提供了命令行脚手架 ──`nb-cli`，辅助用户更好地上手项目以及进行开发。nb-cli 主要包括：创建项目、运行项目、安装与卸载插件、部署项目等功能。随着 NoneBot2 Beta 版本的发布，脚手架功能存在一定的定位不明确、功能体验不佳。本项目旨在重新设计 nb-cli 功能框架，完善功能，优化用户体验。

**难度**：进阶

**导师**：[@yanyongyu](https://github.com/yanyongyu)

**产出要求**

- 设计 nb-cli 功能框架
  - 明确各功能模块
  - 设计用户交互模式
- 完成 nb-cli 主要功能代码
  - 项目管理
  - 插件管理
  - 其它
- 同步更新使用文档

**技术要求**

- 熟悉 Python 命令行交互代码编写
- 熟悉 NoneBot2 框架功能
- 熟悉 NoneBot2 项目组织方式

**成果仓库**

- <https://github.com/nonebot/nb-cli>
- <https://github.com/nonebot/nonebot2>

## NoneBot2 命令行即时交互通信设计与实现

NoneBot2 在早期提供了基于网页的 nonebot-plugin-test 插件，无需平台适配接入即可对机器人进行测试，方便了开发者直观的感受机器人文本交互功能。我们希望提供一款基于命令行的适配器/驱动器，用于无平台适配接入、可以运行机器人的场景进行功能体验或测试。

**难度**：进阶

**导师**：[@mnixry](https://github.com/mnixry)

**产出要求**

- 设计命令行与 NoneBot2 通信模式
  - 直接调用/HTTP/WebSocket
- 设计命令行交互界面
- 实现相应适配器/驱动器
- 同步更新使用说明文档

**技术要求**

- 熟悉 Python 命令行交互代码编写
- 熟悉 NoneBot2 框架功能
- 熟悉 NoneBot2 项目组织方式

**成果仓库**

- <https://github.com/nonebot/adapter-console>

## NoneBot2 用户上手与深入教程设计

NoneBot2 为用户提供了详细的文档介绍，辅助用户更好的上手项目以及进行开发。文档分为基础与进阶两个部分。基础部分帮助新用户快速上手开发，主要包括：安装 NoneBot2、使用脚手架、创建配置项目、使用适配器、加载插件、定义消息事件、处理消息事件、调用平台 API 等。进阶部分向已经熟悉开发流程的用户介绍更多高级技巧，主要包括：NoneBot2 工作原理、定时任务、权限控制、钩子函数、跨插件访问、单元测试、发布插件等。目前文档对于用户而言过于费解，导致用户难以理解 NoneBot2 开发。本项目旨在优化文档内容，使其更加通俗易懂，不让文档成为用户上手的阻碍，同时完善进阶内容，让有更复杂需求的用户，同样能从文档中受益。

相关 issue：

- <https://github.com/nonebot/nonebot2/issues/793>
- <https://github.com/nonebot/nonebot2/issues/295>

**难度**：进阶

**导师**：[@SK-415](https://github.com/SK-415)

**产出要求**

- 文档通俗易懂
  - 附有适当的图片指引（如 asciinema）
- 内容完整，由浅入深
- 适当的界面美化，合理分配布局

**技术要求**

- 熟悉文档结构组织与语言表达
- 熟悉 NoneBot2 框架功能
- 熟悉 NoneBot2 项目组织方式

**成果仓库**

- <https://github.com/nonebot/nonebot2>
