mirror of
https://github.com/nonebot/nonebot2.git
synced 2025-06-05 03:45:46 +00:00
82 lines
4.2 KiB
Markdown
82 lines
4.2 KiB
Markdown
---
|
||
sidebar_position: 4
|
||
description: 开源之夏 - 暑期 2025
|
||
mdx:
|
||
format: md
|
||
---
|
||
|
||
# 暑期 2025
|
||
|
||
**开源之夏 - 暑期 2025** 是**中国科学院软件研究所**发起的**开源软件供应链点亮计划**系列暑期活动,旨在鼓励高校学生积极参与开源软件的开发维护,培养和发掘更多优秀的开发者,促进优秀开源软件社区的蓬勃发展,助力开源软件供应链建设。活动联合各大开源社区,针对重要开源软件的开发与维护提供项目开发任务,并向全球高校学生开放报名。关于具体的活动规划、报名方式,请查看该活动的 [官网](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) 联系我们。
|
||
|
||
## NoneBot HTML 图片渲染插件
|
||
|
||
文字与图片一直是聊天机器人的两大主流交互方式,而图片的渲染一直是用户开发应用的一大痛点。常见的方式包括 PIL 图片编辑、浏览器渲染 HTML 截图等。PIL 图片编辑依赖人工构建图片布局,容易出现自适应问题,且提升图片特效、美观程度需要极大的开发成本。浏览器渲染方案通过 HTML 与 CSS 能够轻松完成美观自适应能力强的布局,但其部署门槛较高,难以支撑较大规模调用量。而其他轻量化渲染引擎通常不具有完整 HTML/CSS 现代化标准实现,且未提供 Python Binding 直接使用。
|
||
|
||
本项目希望调研并实现一种高效、便捷的图片渲染方案。该方案需要在保障跨平台一致性、最大程度保证 HTML 与 CSS 现代化标准的前提下,低成本(资源消耗与吞吐量)将 HTML 渲染为对应图片。
|
||
|
||
**难度**:进阶
|
||
|
||
**导师**:[@MelodyKnit](https://github.com/MelodyKnit)
|
||
|
||
**产出要求**
|
||
|
||
- 调研 HTML/CSS 渲染引擎
|
||
- 调研 litehtml 等渲染引擎 标准支持能力与兼容性
|
||
- 基于渲染引擎实现 HTML 图片渲染插件
|
||
- 将渲染引擎通过 binding 等方式集成为 Python 模块
|
||
- 基于集成模块实现 HTML 图片渲染能力
|
||
- 编写插件使用文档
|
||
|
||
**技术要求**
|
||
|
||
- 掌握 Python 及其异步编程
|
||
- 熟悉 NoneBot 框架及其插件编写
|
||
- 了解浏览器与 HTML 渲染原理
|
||
|
||
**成果仓库**
|
||
|
||
- <https://github.com/nonebot/plugin-htmlkit>
|
||
|
||
## NB-CLI 命令行工具交互优化
|
||
|
||
NB-CLI 作为 NoneBot 生态的核心入门与管理工具,主要负责新手引导项目创建、项目运行以及插件管理几大功能。目前该脚手架工具仍存在几点缺陷:
|
||
|
||
- 作为插件管理工具,由于存储数据的局限性,无法很好地展示用户项目当前安装插件状态,并进行卸载等操作;
|
||
- 当前插件管理高度依赖云端 registry 提供插件信息,在离线情况下完全无法使用;
|
||
- 由于插件信息繁多,工具未能向用户展示充分的信息,交互复杂 体验较差。
|
||
|
||
以上问题对用户使用 NB-CLI 管理项目插件造成了极大的阻碍。
|
||
本项目希望重点针对插件管理部分,重构工具插件管理模块,完善框架缺陷,并通过缓存等方式确保可用性。其次,调研同类工具方案与 TUI 等相关技术,优化信息展示能力、用户交互方式,提升工具整体交互体验。
|
||
|
||
**相关链接**
|
||
|
||
- https://github.com/nonebot/nb-cli/issues/138
|
||
- https://github.com/nonebot/nb-cli/issues/140
|
||
|
||
**难度**:基础
|
||
|
||
**导师**:[@yanyongyu](https://github.com/yanyongyu)
|
||
|
||
**产出要求**
|
||
|
||
- 重构 NB-CLI 插件管理模块
|
||
- 优化项目插件信息存储方式,支持列出、卸载插件等操作
|
||
- 通过缓存 registry 数据等方式确保离线场景的可用性
|
||
- 提升 NB-CLI 交互体验
|
||
- 调研同类工具方案与 TUI 等相关技术
|
||
- 优化 registry 多字段信息展示能力
|
||
- 基于 TUI 等技术优化用户交互方式,提升整体交互体验
|
||
|
||
**技术要求**
|
||
|
||
- 熟练掌握 Python 及其异步编程
|
||
- 熟悉 NoneBot 框架与 NB-CLI 使用方法
|
||
- 了解 TUI 等终端交互技术
|
||
|
||
**成果仓库**
|
||
|
||
- <https://github.com/nonebot/nb-cli>
|