[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-nonebot--nonebot2":3,"tool-nonebot--nonebot2":64},[4,17,26,36,44,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",143909,2,"2026-04-07T11:33:18",[13,14,15],"开发框架","Agent","语言模型","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":10,"last_commit_at":23,"category_tags":24,"status":16},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[25,13],"插件",{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":16},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,3,"2026-04-06T11:19:32",[15,35,14,13],"图像",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":10,"last_commit_at":42,"category_tags":43,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,15],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85013,"2026-04-06T11:09:19",[35,52,53,25,14,54,15,13,55],"数据工具","视频","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":32,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[14,35,13,15,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":79,"owner_email":80,"owner_twitter":79,"owner_website":81,"owner_url":82,"languages":83,"stars":108,"forks":109,"last_commit_at":110,"license":111,"difficulty_score":10,"env_os":112,"env_gpu":113,"env_ram":113,"env_deps":114,"category_tags":121,"github_topics":122,"view_count":10,"oss_zip_url":79,"oss_zip_packed_at":79,"status":16,"created_at":135,"updated_at":136,"faqs":137,"releases":138},5201,"nonebot\u002Fnonebot2","nonebot2","跨平台 Python 异步聊天机器人框架 \u002F Asynchronous multi-platform chatbot framework written in Python","NoneBot2 是一款基于 Python 编写的跨平台异步聊天机器人框架，旨在帮助开发者轻松构建功能强大的智能机器人。它主要解决了在不同即时通讯平台（如 QQ、微信、Telegram 等）上重复开发机器人底层对接逻辑的痛点，让创作者能够专注于业务逻辑与插件功能的实现。\n\n这款工具非常适合具备一定 Python 基础的开发者使用，无论是想为社群打造自动化管理助手，还是希望探索人机交互场景的技术爱好者，都能从中受益。NoneBot2 的核心亮点在于其“异步”架构，能够高效处理高并发消息请求，确保机器人在繁忙时段依然响应迅速；同时，它深度支持 OneBot 标准，实现了“一次编写，多端运行”的便捷体验。配合其模块化的插件系统设计，用户可以灵活扩展功能，社区中丰富的现成插件也能进一步降低开发门槛。如果你渴望用代码赋予聊天窗口更多智慧与趣味，NoneBot2 将是一个稳定且高效的选择。","\u003C!-- markdownlint-disable MD033 MD041 -->\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fnonebot.dev\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnonebot_nonebot2_readme_2a63bac044df.png\" width=\"200\" height=\"200\" alt=\"nonebot\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cdiv align=\"center\">\n\n# NoneBot\n\n\u003C!-- prettier-ignore-start -->\n\u003C!-- markdownlint-disable-next-line MD036 -->\n_✨ 跨平台 Python 异步机器人框架 ✨_\n\u003C!-- prettier-ignore-end -->\n\n\u003C\u002Fdiv>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fnonebot\u002Fnonebot2\u002Fmaster\u002FLICENSE\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fnonebot\u002Fnonebot2\" alt=\"license\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fpypi.python.org\u002Fpypi\u002Fnonebot2\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fnonebot2?logo=python&logoColor=edb641\" alt=\"pypi\">\n  \u003C\u002Fa>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.10+-blue?logo=python&logoColor=edb641\" alt=\"python\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpsf\u002Fblack\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcode%20style-black-000000.svg?logo=python&logoColor=edb641\" alt=\"black\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FMicrosoft\u002Fpyright\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Ftypes-pyright-797952.svg?logo=python&logoColor=edb641\" alt=\"pyright\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fastral-sh\u002Fruff\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https:\u002F\u002Fraw.githubusercontent.com\u002Fcharliermarsh\u002Fruff\u002Fmain\u002Fassets\u002Fbadge\u002Fv2.json\" alt=\"ruff\">\n  \u003C\u002Fa>\n  \u003Cbr \u002F>\n  \u003Ca href=\"https:\u002F\u002Fcodecov.io\u002Fgh\u002Fnonebot\u002Fnonebot2\">\n    \u003Cimg src=\"https:\u002F\u002Fcodecov.io\u002Fgh\u002Fnonebot\u002Fnonebot2\u002Fbranch\u002Fmaster\u002Fgraph\u002Fbadge.svg?token=2P0G0VS7N4\" alt=\"codecov\"\u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Factions\u002Fworkflows\u002Fwebsite-deploy.yml\">\n    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Factions\u002Fworkflows\u002Fwebsite-deploy.yml\u002Fbadge.svg?branch=master&event=push\" alt=\"site\"\u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fresults.pre-commit.ci\u002Flatest\u002Fgithub\u002Fnonebot\u002Fnonebot2\u002Fmaster\">\n    \u003Cimg src=\"https:\u002F\u002Fresults.pre-commit.ci\u002Fbadge\u002Fgithub\u002Fnonebot\u002Fnonebot2\u002Fmaster.svg\" alt=\"pre-commit\" \u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Factions\u002Fworkflows\u002Fpyright.yml\">\n    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Factions\u002Fworkflows\u002Fpyright.yml\u002Fbadge.svg?branch=master&event=push\" alt=\"pyright\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Factions\u002Fworkflows\u002Fruff.yml\">\n    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Factions\u002Fworkflows\u002Fruff.yml\u002Fbadge.svg?branch=master&event=push\" alt=\"ruff\">\n  \u003C\u002Fa>\n  \u003Cbr \u002F>\n  \u003Ca href=\"https:\u002F\u002Fonebot.dev\u002F\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FOneBot-v11-black?style=social&logo=data:image\u002Fpng;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAAAIVBMVEUAAAAAAAADAwMHBwceHh4UFBQNDQ0ZGRkoKCgvLy8iIiLWSdWYAAAAAXRSTlMAQObYZgAAAQVJREFUSMftlM0RgjAQhV+0ATYK6i1Xb+iMd0qgBEqgBEuwBOxU2QDKsjvojQPvkJ\u002FZL5sXkgWrFirK4MibYUdE3OR2nEpuKz1\u002Fq8CdNxNQgthZCXYVLjyoDQftaKuniHHWRnPh2GCUetR2\u002F9HsMAXyUT4\u002F3UHwtQT2AggSCGKeSAsFnxBIOuAggdh3AKTL7pDuCyABcMb0aQP7aM4AnAbc\u002FwHwA5D2wDHTTe56gIIOUA\u002F4YYV2e1sg713PXdZJAuncdZMAGkAukU9OAn40O849+0ornPwT93rphWF0mgAbauUrEOthlX8Zu7P5A6kZyKCJy75hhw1Mgr9RAUvX7A3csGqZegEdniCx30c3agAAAABJRU5ErkJggg==\" alt=\"onebot\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fonebot.dev\u002F\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FOneBot-v12-black?style=social&logo=data:image\u002Fpng;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAAAIVBMVEUAAAAAAAADAwMHBwceHh4UFBQNDQ0ZGRkoKCgvLy8iIiLWSdWYAAAAAXRSTlMAQObYZgAAAQVJREFUSMftlM0RgjAQhV+0ATYK6i1Xb+iMd0qgBEqgBEuwBOxU2QDKsjvojQPvkJ\u002FZL5sXkgWrFirK4MibYUdE3OR2nEpuKz1\u002Fq8CdNxNQgthZCXYVLjyoDQftaKuniHHWRnPh2GCUetR2\u002F9HsMAXyUT4\u002F3UHwtQT2AggSCGKeSAsFnxBIOuAggdh3AKTL7pDuCyABcMb0aQP7aM4AnAbc\u002FwHwA5D2wDHTTe56gIIOUA\u002F4YYV2e1sg713PXdZJAuncdZMAGkAukU9OAn40O849+0ornPwT93rphWF0mgAbauUrEOthlX8Zu7P5A6kZyKCJy75hhw1Mgr9RAUvX7A3csGqZegEdniCx30c3agAAAABJRU5ErkJggg==\" alt=\"onebot\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fbot.q.qq.com\u002Fwiki\u002F\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FQQ-Bot-lightgrey?style=social&logo=data:image\u002Fsvg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMTIuODIgMTMwLjg5Ij48ZyBkYXRhLW5hbWU9IuWbvuWxgiAyIj48ZyBkYXRhLW5hbWU9IuWbvuWxgiAxIj48cGF0aCBkPSJNNTUuNjMgMTMwLjhjLTcgMC0xMy45LjA4LTIwLjg2IDAtMTkuMTUtLjI1LTMxLjcxLTExLjQtMzQuMjItMzAuMy00LjA3LTMwLjY2IDE0LjkzLTU5LjIgNDQuODMtNjYuNjQgMi0uNTEgNS4yMS0uMzEgNS4yMS0xLjYzIDAtMi4xMy4xNC0yLjEzLjE0LTUuNTcgMC0uODktMS4zLTEuNDYtMi4yMi0yLjMxLTYuNzMtNi4yMy03LjY3LTEzLjQxLTEtMjAuMTggNS40LTUuNTIgMTEuODctNS40IDE3LjgtLjU5IDYuNDkgNS4yNiA2LjMxIDEzLjA4LS44NiAyMS0uNjguNzQtMS43OCAxLjYtMS43OCAyLjY3djQuMjFjMCAxLjM1IDIuMiAxLjYyIDQuNzkgMi4zNSAzMS4wOSA4LjY1IDQ4LjE3IDM0LjEzIDQ1IDY2LjM3LTEuNzYgMTguMTUtMTQuNTYgMzAuMjMtMzIuNyAzMC42My04LjAyLjE5LTE2LjA3LS4wMS0yNC4xMy0uMDF6IiBmaWxsPSIjMDI5OWZlIi8+PHBhdGggZD0iTTMxLjQ2IDExOC4zOGMtMTAuNS0uNjktMTYuOC02Ljg2LTE4LjM4LTE3LjI3LTMtMTkuNDIgMi43OC0zNS44NiAxOC40Ni00Ny44MyAxNC4xNi0xMC44IDI5Ljg3LTEyIDQ1LjM4LTMuMTkgMTcuMjUgOS44NCAyNC41OSAyNS44MSAyNCA0NS4yOS0uNDkgMTUuOS04LjQyIDIzLjE0LTI0LjM4IDIzLjUtNi41OS4xNC0xMy4xOSAwLTE5Ljc5IDAiIGZpbGw9IiNmZWZlZmUiLz48cGF0aCBkPSJNNDYuMDUgNzkuNThjLjA5IDUgLjIzIDkuODItNyA5Ljc3LTcuODItLjA2LTYuMS01LjY5LTYuMjQtMTAuMTktLjE1LTQuODItLjczLTEwIDYuNzMtOS44NHM2LjM3IDUuNTUgNi41MSAxMC4yNnoiIGZpbGw9IiMxMDlmZmUiLz48cGF0aCBkPSJNODAuMjcgNzkuMjdjLS41MyAzLjkxIDEuNzUgOS42NC01Ljg4IDEwLTcuNDcuMzctNi44MS00LjgyLTYuNjEtOS41LjItNC4zMi0xLjgzLTEwIDUuNzgtMTAuNDJzNi41OSA0Ljg5IDYuNzEgOS45MnoiIGZpbGw9IiMwODljZmUiLz48L2c+PC9nPjwvc3ZnPg==\" alt=\"QQ\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fcore.telegram.org\u002Fbots\u002Fapi\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Ftelegram-Bot-lightgrey?style=social&logo=telegram\" alt=\"telegram\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fopen.feishu.cn\u002Fdocument\u002Fhome\u002Findex\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%E9%A3%9E%E4%B9%A6-Bot-lightgrey?style=social&logo=data:image\u002Fsvg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDQ4IDQ4IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNyAyOUMyMSAyOSAyNSAyNi45MzM5IDI4IDIzLjQwNjVDMzYgMTQgNDEuNDI0MiAxNi44MTY2IDQ0IDE3Ljk5OThDMzguNSAyMC45OTk4IDQwLjUgMjkuNjIzMyAzMyAzNS45OTk4QzI4LjM4MiAzOS45MjU5IDIzLjQ5NDUgNDEuMDE0IDE5IDQxQzEyLjUyMzEgNDAuOTc5OSA2Ljg2MjI2IDM3Ljc2MzcgNCAzNS40MDYzVjE2Ljk5OTgiIHN0cm9rZT0iIzMzMyIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNNS42NDgwOCAxNS44NjY5QzUuMDIyMzEgMTQuOTU2NyAzLjc3NzE1IDE0LjcyNjEgMi44NjY5NCAxNS4zNTE5QzEuOTU2NzMgMTUuOTc3NyAxLjcyNjE1IDE3LjIyMjggMi4zNTE5MiAxOC4xMzMxTDUuNjQ4MDggMTUuODY2OVpNMzYuMDAyMSAzNS43MzA5QzM2Ljk1OCAzNS4xNzc0IDM3LjI4NDMgMzMuOTUzOSAzNi43MzA5IDMyLjk5NzlDMzYuMTc3NCAzMi4wNDIgMzQuOTUzOSAzMS43MTU3IDMzLjk5NzkgMzIuMjY5MUwzNi4wMDIxIDM1LjczMDlaTTIuMzUxOTIgMTguMTMzMUM1LjI0MzUgMjIuMzM5IDEwLjc5OTIgMjguMTQ0IDE2Ljg4NjUgMzIuMjIzOUMxOS45MzQ1IDM0LjI2NjcgMjMuMjE3IDM1Ljk0NiAyNi40NDkgMzYuNzMyNEMyOS42OTQ2IDM3LjUyMiAzMy4wNDUxIDM3LjQ0MjggMzYuMDAyMSAzNS43MzA5TDMzLjk5NzkgMzIuMjY5MUMzMi4yMDQ5IDMzLjMwNzIgMjkuOTkyOSAzMy40NzggMjcuMzk0NyAzMi44NDU4QzI0Ljc4MyAzMi4yMTAzIDIxLjk0MDUgMzAuNzk1OCAxOS4xMTM1IDI4LjkwMTFDMTMuNDUwOCAyNS4xMDYgOC4yNTY1IDE5LjY2MSA1LjY0ODA4IDE1Ljg2NjlMMi4zNTE5MiAxOC4xMzMxWiIgZmlsbD0iIzMzMyIvPjxwYXRoIGQ9Ik0zMy41OTQ1IDE3QzMyLjgzOTggMTQuNzAyNyAzMC44NTQ5IDkuOTQwNTQgMjcuNTk0NSA3SDExLjU5NDVDMTUuMjE3MSAxMC42NzU3IDIzIDE2IDI3IDI0IiBzdHJva2U9IiMzMzMiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+\" alt=\"feishu\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fdocs.github.com\u002Fen\u002Fdevelopers\u002Fapps\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGitHub-Bot-181717?style=social&logo=github\" alt=\"github\"\u002F>\n  \u003C\u002Fa>\n  \u003C!-- \u003Ca href=\"https:\u002F\u002Fding-doc.dingtalk.com\u002Fdocument#\u002Forg-dev-guide\u002Felzz1p\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%E9%92%89%E9%92%89-Bot-lightgrey?style=social&logo=data:image\u002Fpng;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAnFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4jUzeAAAAM3RSTlMAQKSRaA+\u002Ff0YyFevh29R3cyklIfrlyrGsn41tVUs48c\u002FHqJm9uZdhX1otGwkF9IN8V1CX0Q+IAAABY0lEQVRYw+3V2W7CMBAF0JuNQAhhX9OEfYdu9\u002F\u002F\u002FrUVWpagE27Ef2gfO+0zGozsKnv6bMGzAhkNytIe5gDdzrwtTCwrbI8x4\u002FNF668NAxgI3Q3UtFi3TyPwNQtPLUUmDd8YfqGLNe4v22XwEYb5zoOuF5baHq2UHtsKe5ivWfGAwrWu2mC34QM0PoCAuqZdOmiwV+5BLyMRtZ7dTSEcs48rzWfzwptMLyzpApka1SJ5FtR4kfCqNIBPEVDmqoqgwUYY5plQOlf6UEjNoOPnuKB6wzDyCrks\u002F\u002F\u002FTDza8+PnR109WQdxLo8RKWq0PPnuXG0OXKQ6wWLFnCg75uYYbhmMIVVdQ709q33aHbGIj6Duz+2k1HQFX9VwqmY8xYsEJll2ahvhWgsjYLHFRXvIi2Qb0jzMQCzC3FAoydxCma88UCzE3JCWwkjCNYyMUCzHX4DiuTMawEwwhW6hnshPhjZzzJfAH0YacpbmRd7QAAAABJRU5ErkJggg==\" alt=\"dingtalk\"> -->\n  \u003C\u002Fa>\n  \u003Cbr \u002F>\n  \u003Ca href=\"https:\u002F\u002Fjq.qq.com\u002F?_wv=1027&k=5OFifDh\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FQQ%E7%BE%A4-768887710-orange?style=flat-square\" alt=\"QQ Chat Group\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fqun.qq.com\u002Fqqweb\u002Fqunpro\u002Fshare?_wv=3&_wwv=128&appChannel=share&inviteCode=7b4a3&appChannel=share&businessType=9&from=246610&biz=ka\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FQQ%E9%A2%91%E9%81%93-NoneBot-5492ff?style=flat-square\" alt=\"QQ Channel\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Ft.me\u002Fbotuniverse\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Ftelegram-botuniverse-blue?style=flat-square\" alt=\"Telegram Channel\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FVKtE6Gdc4h\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnonebot_nonebot2_readme_f7ffac196eac.png\" alt=\"Discord Server\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fnonebot.dev\u002F\">文档\u003C\u002Fa>\n  ·\n  \u003Ca href=\"https:\u002F\u002Fnonebot.dev\u002Fdocs\u002Fquick-start\">快速上手\u003C\u002Fa>\n  ·\n  \u003Ca href=\"#插件\">文档打不开？\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fasciinema.org\u002Fa\u002F569440\">\n    \u003Cimg src=\"https:\u002F\u002Fnonebot.dev\u002Fimg\u002Fsetup.svg\" alt=\"setup\" >\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n## 简介\n\nNoneBot2 是一个现代、跨平台、可扩展的 Python 聊天机器人框架，它基于 Python 的类型注解和异步特性，能够为你的需求实现提供便捷灵活的支持。\n\n## 特色\n\n- 异步优先：基于 Python 的异步特性，即使是~~非常~~大量的消息，也能吞吐自如\n- 易于开发：配合 NB-CLI 脚手架，代码编写上手简单，没有过多的冗余代码，可以让开发者专注于业务逻辑\n- 生而可靠：100% 类型注解覆盖，配合编辑器的类型推导功能，能将绝大多数的 Bug 杜绝在编辑器中 ([编辑器支持](https:\u002F\u002Fnonebot.dev\u002Fdocs\u002Feditor-support))\n- 社区丰富：社区用户众多，直接和间接用户超过十万人，每天都有大量的活跃用户 ([社区资源](#社区资源))\n- 海纳百川：一个框架，支持多个聊天软件平台，可自定义通信协议\n\n  |                                                       协议名称                                                        | 状态 |                                   注释                                    |\n  | :-------------------------------------------------------------------------------------------------------------------: | :--: | :-----------------------------------------------------------------------: |\n  |               OneBot（[仓库](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fadapter-onebot)，[协议](https:\u002F\u002Fonebot.dev\u002F)）                |  ✅  | 支持 QQ、TG、微信公众号、KOOK 等[平台](https:\u002F\u002Fonebot.dev\u002Fecosystem.html) |\n  |      Telegram（[仓库](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fadapter-telegram)，[协议](https:\u002F\u002Fcore.telegram.org\u002Fbots\u002Fapi)）      |  ✅  |                                                                           |\n  |     飞书（[仓库](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fadapter-feishu)，[协议](https:\u002F\u002Fopen.feishu.cn\u002Fdocument\u002Fhome\u002Findex)）     |  ✅  |                                                                           |\n  |         GitHub（[仓库](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fadapter-github)，[协议](https:\u002F\u002Fdocs.github.com\u002Fen\u002Fapps)）          |  ✅  |                          GitHub APP & OAuth APP                           |\n  |                QQ（[仓库](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fadapter-qq)，[协议](https:\u002F\u002Fbot.q.qq.com\u002Fwiki\u002F)）                |  ✅  |                            QQ 官方接口调整较多                            |\n  |                             Console（[仓库](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fadapter-console)）                             |  ✅  |                                控制台交互                                 |\n  |     Red（[仓库](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fadapter-red)，[协议](https:\u002F\u002Fchrononeko.github.io\u002FQQNTRedProtocol\u002F)）      |  ✅  |                                 QQNT 协议                                  |\n  |           Satori（[仓库](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fadapter-satori)，[协议](https:\u002F\u002Fsatori.js.org\u002Fzh-CN)）            |  ✅  |               支持 Onebot、TG、飞书、微信公众号、Koishi 等                |\n  |   Discord（[仓库](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fadapter-discord)，[协议](https:\u002F\u002Fdiscord.com\u002Fdevelopers\u002Fdocs\u002Fintro)）    |  ✅  |                             Discord Bot 协议                              |\n  |               DoDo（[仓库](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fadapter-dodo)，[协议](https:\u002F\u002Fopen.imdodo.com\u002F)）               |  ✅  |                               DoDo Bot 协议                               |\n  |        Kritor（[仓库](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fadapter-kritor)，[协议](https:\u002F\u002Fgithub.com\u002FKarinJS\u002Fkritor)）         |  ✅  |                Kritor (OnebotX) 协议，QQNT 机器人接口标准                  |\n  |    Mirai（[仓库](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fadapter-mirai)，[协议](https:\u002F\u002Fdocs.mirai.mamoe.net\u002Fmirai-api-http\u002F)）    |  ✅  |                                  QQ 协议                                  |\n  |    Milky（[仓库](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fadapter-milky)，[协议](https:\u002F\u002Fmilky.ntqqrev.org\u002F)）                      |  ✅  |                           QQNT 机器人应用接口标准                          |\n  |         钉钉（[仓库](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fadapter-ding)，[协议](https:\u002F\u002Fopen.dingtalk.com\u002Fdocument\u002F)）          |  🤗  |                        寻找 Maintainer（暂不可用）                        |\n  |     开黑啦（[仓库](https:\u002F\u002Fgithub.com\u002FTian-que\u002Fnonebot-adapter-kaiheila)，[协议](https:\u002F\u002Fdeveloper.kookapp.cn\u002F)）     |  ↗️  |                                由社区贡献                                 |\n  |                          Ntchat（[仓库](https:\u002F\u002Fgithub.com\u002FJustUndertaker\u002Fadapter-ntchat)）                           |  ↗️  |                           微信协议，由社区贡献                            |\n  |                      MineCraft（[仓库](https:\u002F\u002Fgithub.com\u002F17TheWord\u002Fnonebot-adapter-minecraft)）                      |  ↗️  |                                由社区贡献                                 |\n  |                       Walle-Q（[仓库](https:\u002F\u002Fgithub.com\u002Fonebot-walle\u002Fnonebot_adapter_walleq)）                       |  ↗️  |                            QQ 协议，由社区贡献                            |\n  |                       Villa（[仓库](https:\u002F\u002Fgithub.com\u002FCMHopeSunshine\u002Fnonebot-adapter-villa)）                        |  ❌  |                     米游社大别野 Bot 协议，官方已下线                     |\n  | Rocket.Chat（[仓库](https:\u002F\u002Fgithub.com\u002FIUnlimit\u002Fnonebot-adapter-rocketchat)，[协议](https:\u002F\u002Fdeveloper.rocket.chat\u002F)） |  ↗️  |                     Rocket.Chat Bot 协议，由社区贡献                      |\n  |     Tailchat（[仓库](https:\u002F\u002Fgithub.com\u002Feya46\u002Fnonebot-adapter-tailchat)，[协议](https:\u002F\u002Ftailchat.msgbyte.com\u002F)）      |  ↗️  |                  Tailchat 开放平台 Bot 协议，由社区贡献                   |\n  |                             Mail（[仓库](https:\u002F\u002Fgithub.com\u002Fmobyw\u002Fnonebot-adapter-mail)）                             |  ↗️  |                         邮件收发协议，由社区贡献                          |\n  |     黑盒语音（[仓库](https:\u002F\u002Fgithub.com\u002Flclbm\u002Fadapter-heybox)，[协议](https:\u002F\u002Fgithub.com\u002FQingFengOpen\u002FHeychatDoc)）     |  ↗️  |                       黑盒语音机器人协议，由社区贡献                             |\n  | 微信公众平台（[仓库](https:\u002F\u002Fgithub.com\u002FYangRucheng\u002Fnonebot-adapter-wxmp)，[协议](https:\u002F\u002Fdevelopers.weixin.qq.com\u002Fdoc\u002F)）|  ↗️  |                       微信公众平台协议，由社区贡献                             |\n  | Gewechat（[仓库](https:\u002F\u002Fgithub.com\u002FShine-Light\u002Fnonebot-adapter-gewechat)，[协议](https:\u002F\u002Fgithub.com\u002FDevo919\u002FGewechat)）|  ❌  |                      Gewechat 微信协议，Gewechat不再维护及可用                            |\n  |  EFChat（[仓库](https:\u002F\u002Fgithub.com\u002Fmolanp\u002Fnonebot_adapter_efchat)，[协议](https:\u002F\u002Firinu-live.melon.fish\u002Fefc-help\u002F)）   |  ↗️  |                            恒五聊平台协议，由社区贡献                          |\n  |  VoceChat （[仓库](https:\u002F\u002Fgithub.com\u002F5656565566\u002Fnonebot-adapter-vocechat)，[协议](https:\u002F\u002Fdoc.voce.chat\u002Fzh-cn\u002Fbot\u002Fbot-and-webhook)）   |  ↗️  |                            VoceChat 平台协议，由社区贡献                          |\n  |  B站直播间（[仓库](https:\u002F\u002Fgithub.com\u002FMingxuanGame\u002Fnonebot-adapter-bilibili-live)，[Web API 协议](https:\u002F\u002Fgithub.com\u002FSocialSisterYi\u002Fbilibili-API-collect\u002Fblob\u002Fmaster\u002Fdocs\u002Flive)，[开放平台协议](https:\u002F\u002Fopen-live.bilibili.com\u002Fdocument)）   |  ↗️  |                            B站直播间（Web API\u002F开放平台）协议，由社区贡献                          |\n\n- 坚实后盾：支持多种 web 框架，可自定义替换、组合\n\n  |                              驱动框架                               |  类型  |\n  | :-----------------------------------------------------------------: | :----: |\n  |              [FastAPI](https:\u002F\u002Ffastapi.tiangolo.com\u002F)               | 服务端 |\n  | [Quart](https:\u002F\u002Fquart.palletsprojects.com\u002Fen\u002Flatest\u002F)（异步 Flask） | 服务端 |\n  |           [aiohttp](https:\u002F\u002Fdocs.aiohttp.org\u002Fen\u002Fstable\u002F)            | 客户端 |\n  |               [httpx](https:\u002F\u002Fwww.python-httpx.org\u002F)                | 客户端 |\n  |     [websockets](https:\u002F\u002Fwebsockets.readthedocs.io\u002Fen\u002Fstable\u002F)      | 客户端 |\n\n更多：[概览](https:\u002F\u002Fnonebot.dev\u002Fdocs\u002F)\n\n## 什么不是 NoneBot2\n\nNoneBot2 不是某个平台或者协议的具体实现，它只负责和已有协议适配器通信，并处理接收到的事件。所以，“NoneBot 有 blabla 平台的 blabla 功能吗？”这种问题是与 NoneBot2 无关的。请在相应平台的功能文档中确认，或与相应平台的协议适配开发者联系。\n\nNoneBot2 不是 NoneBot1 的替代品。事实上，它们都在被积极的维护着。但是，如果你想尝试一些新功能，或者想要支持更多的平台，可以考虑使用 NoneBot2。\n\n> ~~NoneBot2 和 NoneBot1 的区别，就像是 VisualStudio Code 和 VisualStudio 一样~~\n\n## 即刻开始\n\n~~完整~~文档可以在 [这里](https:\u002F\u002Fnonebot.dev\u002F) 查看。\n\n懒得看文档？下面是快速安装指南：\n\n1. 安装 [pipx](https:\u002F\u002Fpypa.github.io\u002Fpipx\u002F)\n\n   ```bash\n   python -m pip install --user pipx\n   python -m pipx ensurepath\n   ```\n\n2. 安装脚手架\n\n   ```bash\n   pipx install nb-cli\n   ```\n\n3. 使用脚手架创建项目\n\n   ```bash\n   nb create\n   ```\n\n4. 运行项目\n\n   ```bash\n   nb run\n   ```\n\n## 社区资源\n\n### 常见问题\n\n- [常见问题解答(FAQ)](https:\u002F\u002Ffaq.nonebot.dev\u002F)\n- [论坛(Discussion)](https:\u002F\u002Fdiscussions.nonebot.dev\u002F)\n\n### 教程\u002F实际项目\u002F经验分享\n\n- [awesome-nonebot](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fawesome-nonebot)\n\n### 插件\n\n此外，NoneBot2 还有丰富的官方以及第三方现成的插件供大家使用：\n\n- [NoneBot-Plugin-Docs](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Ftree\u002Fmaster\u002Fpackages\u002Fnonebot-plugin-docs)：离线文档至本地项目使用 (别再说文档打不开了！)\n\n  在项目目录下执行：\n\n  ```bash\n  nb plugin install nonebot_plugin_docs\n  ```\n\n  或者尝试以下镜像：\n\n  - [文档镜像(中国境内)](https:\u002F\u002Fnb2.baka.icu)\n\n- 其他插件请查看 [商店](https:\u002F\u002Fnonebot.dev\u002Fstore\u002Fplugins)\n\n## 许可证\n\n`NoneBot` 采用 `MIT` 许可证进行开源\n\n```text\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n```\n\n## 贡献\n\n请参考 [贡献指南](.\u002FCONTRIBUTING.md)\n\n## 鸣谢\n\n### 赞助者\n\n感谢以下产品对 NoneBot 项目提供的赞助：\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002F\">\n    \u003Cpicture>\n      \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fassets.nonebot.dev\u002Fgithub-dark.png\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnonebot_nonebot2_readme_5de797583556.png\" height=\"50\" alt=\"GitHub\">\n    \u003C\u002Fpicture>\n  \u003C\u002Fa>&nbsp;&nbsp;&nbsp;&nbsp;\n  \u003Ca href=\"https:\u002F\u002Fwww.netlify.com\u002F\">\n    \u003Cpicture>\n      \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fassets.nonebot.dev\u002Fnetlify-dark.svg\">\n      \u003Cimg src=\"https:\u002F\u002Fassets.nonebot.dev\u002Fnetlify-light.svg\" height=\"50\" alt=\"netlify\">\n    \u003C\u002Fpicture>\n  \u003C\u002Fa>&nbsp;&nbsp;&nbsp;&nbsp;\n  \u003Ca href=\"https:\u002F\u002Fsentry.io\u002F\">\n    \u003Cpicture>\n      \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fassets.nonebot.dev\u002Fsentry-dark.svg\">\n      \u003Cimg src=\"https:\u002F\u002Fassets.nonebot.dev\u002Fsentry-light.svg\" height=\"50\" alt=\"sentry\">\n    \u003C\u002Fpicture>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fwww.docker.com\u002F\">\n    \u003Cpicture>\n      \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fassets.nonebot.dev\u002Fdocker-dark.svg\">\n      \u003Cimg src=\"https:\u002F\u002Fassets.nonebot.dev\u002Fdocker-light.svg\" height=\"50\" alt=\"docker\">\n    \u003C\u002Fpicture>\n  \u003C\u002Fa>&nbsp;&nbsp;&nbsp;&nbsp;\n  \u003Ca href=\"https:\u002F\u002Fwww.algolia.com\u002F\">\n    \u003Cpicture>\n      \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fassets.nonebot.dev\u002Falgolia-dark.svg\">\n      \u003Cimg src=\"https:\u002F\u002Fassets.nonebot.dev\u002Falgolia-light.svg\" height=\"50\" alt=\"algolia\">\n    \u003C\u002Fpicture>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fwww.jetbrains.com\u002F\">\n    \u003Cimg src=\"https:\u002F\u002Fresources.jetbrains.com\u002Fstorage\u002Fproducts\u002Fcompany\u002Fbrand\u002Flogos\u002Fjb_beam.svg\" height=\"80\" alt=\"JetBrains\" >\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n感谢以下赞助者对 NoneBot 项目提供的资金支持：\n\n\u003Ca href=\"https:\u002F\u002Fassets.nonebot.dev\u002Fsponsors.svg\">\n  \u003Cimg src=\"https:\u002F\u002Fassets.nonebot.dev\u002Fsponsors.svg\" alt=\"sponsors\" \u002F>\n\u003C\u002Fa>\n\n### 开发者\n\n感谢以下开发者对 NoneBot2 作出的贡献：\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnonebot_nonebot2_readme_d65af15d008f.png\" alt=\"contributors\" \u002F>\n\u003C\u002Fa>\n","\u003C!-- markdownlint-disable MD033 MD041 -->\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fnonebot.dev\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnonebot_nonebot2_readme_2a63bac044df.png\" width=\"200\" height=\"200\" alt=\"nonebot\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cdiv align=\"center\">\n\n# NoneBot\n\n\u003C!-- prettier-ignore-start -->\n\u003C!-- markdownlint-disable-next-line MD036 -->\n_✨ 跨平台 Python 异步机器人框架 ✨_\n\u003C!-- prettier-ignore-end -->\n\n\u003C\u002Fdiv>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fnonebot\u002Fnonebot2\u002Fmaster\u002FLICENSE\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fnonebot\u002Fnonebot2\" alt=\"license\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fpypi.python.org\u002Fpypi\u002Fnonebot2\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fnonebot2?logo=python&logoColor=edb641\" alt=\"pypi\">\n  \u003C\u002Fa>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.10+-blue?logo=python&logoColor=edb641\" alt=\"python\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpsf\u002Fblack\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcode%20style-black-000000.svg?logo=python&logoColor=edb641\" alt=\"black\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FMicrosoft\u002Fpyright\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Ftypes-pyright-797952.svg?logo=python&logoColor=edb641\" alt=\"pyright\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fastral-sh\u002Fruff\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https:\u002F\u002Fraw.githubusercontent.com\u002Fcharliermarsh\u002Fruff\u002Fmain\u002Fassets\u002Fbadge\u002Fv2.json\" alt=\"ruff\">\n  \u003C\u002Fa>\n  \u003Cbr \u002F>\n  \u003Ca href=\"https:\u002F\u002Fcodecov.io\u002Fgh\u002Fnonebot\u002Fnonebot2\">\n    \u003Cimg src=\"https:\u002F\u002Fcodecov.io\u002Fgh\u002Fnonebot\u002Fnonebot2\u002Fbranch\u002Fmaster\u002Fgraph\u002Fbadge.svg?token=2P0G0VS7N4\" alt=\"codecov\"\u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Factions\u002Fworkflows\u002Fwebsite-deploy.yml\">\n    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Factions\u002Fworkflows\u002Fwebsite-deploy.yml\u002Fbadge.svg?branch=master&event=push\" alt=\"site\"\u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fresults.pre-commit.ci\u002Flatest\u002Fgithub\u002Fnonebot\u002Fnonebot2\u002Fmaster\">\n    \u003Cimg src=\"https:\u002F\u002Fresults.pre-commit.ci\u002Fbadge\u002Fgithub\u002Fnonebot\u002Fnonebot2\u002Fmaster.svg\" alt=\"pre-commit\" \u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Factions\u002Fworkflows\u002Fpyright.yml\">\n    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Factions\u002Fworkflows\u002Fpyright.yml\u002Fbadge.svg?branch=master&event=push\" alt=\"pyright\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Factions\u002Fworkflows\u002Fruff.yml\">\n    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Factions\u002Fworkflows\u002Fruff.yml\u002Fbadge.svg?branch=master&event=push\" alt=\"ruff\">\n  \u003C\u002Fa>\n  \u003Cbr \u002F>\n  \u003Ca href=\"https:\u002F\u002Fonebot.dev\u002F\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FOneBot-v11-black?style=social&logo=data:image\u002Fpng;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAAAIVBMVEUAAAAAAAADAwMHBwceHh4UFBQNDQ0ZGRkoKCgvLy8iIiLWSdWYAAAAAXRSTlMAQObYZgAAAQVJREFUSMftlM0RgjAQhV+0ATYK6i1Xb+iMd0qgBEqgBEuwBOxU2QDKsjvojQPvkJ\u002FZL5sXkgWrFirK4MibYUdE3OR2nEpuKz1\u002Fq8CdNxNQgthZCXYVLjyoDQftaKuniHHWRnPh2GCUetR2\u002F9HsMAXyUT4\u002F3UHwtQT2AggSCGKeSAsFnxBIOuAggdh3AKTL7pDuCyABcMb0aQP7aM4AnAbc\u002FwHwA5D2wDHTTe56gIIOUA\u002F4YYV2e1sg713PXdZJAuncdZMAGkAukU9OAn40O849+0ornPwT93rphWF0mgAbauUrEOthlX8Zu7P5A6kZyKCJy75hhw1Mgr9RAUvX7A3csGqZegEdniCx30c3agAAAABJRU5ErkJggg==\" alt=\"onebot\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fonebot.dev\u002F\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FOneBot-v12-black?style=social&logo=data:image\u002Fpng;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAAAIVBMVEUAAAAAAAADAwMHBwceHh4UFBQNDQ0ZGRkoKCgvLy8iIiLWSdWYAAAAAXRSTlMAQObYZgAAAQVJREFUSMftlM0RgjAQhV+0ATYK6i1Xb+iMd0qgBEqgBEuwBOxU2QDKsjvojQPvkJ\u002FZL5sXkgWrFirK4MibYUdE3OR2nEpuKz1\u002Fq8CdNxNQgthZCXYVLjyoDQftaKuniHHWRnPh2GCUetR2\u002F9HsMAXyUT4\u002F3UHwtQT2AggSCGKeSAsFnxBIOuAggdh3AKTL7pDuCyABcMb0aQP7aM4AnAbc\u002FwHwA5D2wDHTTe56gIIOUA\u002F4YYV2e1sg713PXdZJAuncdZMAGkAukU9OAn40O849+0ornPwT93rphWF0mgAbauUrEOthlX8Zu7P5A6kZyKCJy75hhw1Mgr9RAUvX7A3csGqZegEdniCx30c3agAAAABJRU5ErkJggg==\" alt=\"onebot\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fbot.q.qq.com\u002Fwiki\u002F\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FQQ-Bot-lightgrey?style=social&logo=data:image\u002Fsvg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMTIuODIgMTMwLjg5Ij48ZyBkYXRhLW5hbWU9IuWbvuWxgiAyIj48ZyBkYXRhLW5hbWU9IuWbvuWxgiAxIj48cGF0aCBkPSJNNTUuNjMgMTMwLjhjLTcgMC0xMy45LjA4LTIwLjg2IDAtMTkuMTUtLjI1LTMxLjcxLTExLjQtMzQuMjItMzAuMy00LjA3LTMwLjY2IDE0LjkzLTU5LjIgNDQuODMtNjYuNjQgMi0uNTEgNS4yMS0uMzEgNS4yMS0xLjYzIDAtMi4xMy4xNC0yLjEzLjE0LTUuNTcgMC0uODktMS4zLTEuNDYtMi4yMi0yLjMxLTYuNzMtNi4yMy03LjY3LTEzLjQxLTEtMjAuMTggNS40LTUuNTIgMTEuODctNS40IDE3LjgtLjU5IDYuNDkgNS4yNiA2LjMxIDEzLjA4LS44NiAyMS0uNjguNzQtMS43OCAxLjYtMS43OCAyLjY3djQuMjFjMCAxLjM1IDIuMiAxLjYyIDQuNzkgMi4zNSAzMS4wOSA4LjY1IDQ4LjE3IDM0LjEzIDQ1IDY2LjM3LTEuNzYgMTguMTUtMTQuNTYgMzAuMjMtMzIuNyAzMC42My04LjAyLjE5LTE2LjA3LS4wMS0yNC4xMy0uMDF6IiBmaWxsPSIjMDI5OWZlIi8+PHBhdGggZD0iTTMxLjQ2IDExOC4zOGMtMTAuNS0uNjktMTYuOC02Ljg2LTE4LjM4LTE3LjI3LTMtMTkuNDIgMi43OC0zNS44NiAxOC40Ni00Ny44MyAxNC4xNi0xMC44IDI5Ljg3LTEyIDQ1LjM4LTMuMTkgMTcuMjUgOS44NCAyNC41OSAyNS44MSAyNCA0NS4yOS0uNDkgMTUuOS04LjQyIDIzLjE0LTI0LjM4IDIzLjUtNi41OS4xNC0xMy4xOSAwLTE5Ljc5IDAiIGZpbGw9IiNmZWZlZmUiLz48cGF0aCBkPSJNNDYuMDUgNzkuNThjLjA5IDUgLjIzIDkuODItNyA5Ljc3LTcuODItLjA2LTYuMS01LjY5LTYuMjQtMTAuMTktLjE1LTQuODItLjczLTEwIDYuNzMtOS44NHM2LjM3IDUuNTUgNi41MSAxMC4yNnoiIGZpbGw9IiMxMDlmZmUiLz48cGF0aCBkPSJNODAuMjcgNzkuMjdjLS41MyAzLjkxIDEuNzUgOS42NC01Ljg4IDEwLTcuNDcuMzctNi44MS00LjgyLTYuNjEtOS41LjItNC4zMi0xLjgzLTEwIDUuNzgtMTAuNDJzNi41OSA0Ljg5IDYuNzEgOS45MnoiIGZpbGw9IiMwODljZmUiLz48L2c+PC9nPjwvc3ZnPg==\" alt=\"QQ\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fcore.telegram.org\u002Fbots\u002Fapi\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Ftelegram-Bot-lightgrey?style=social&logo=telegram\" alt=\"telegram\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fopen.feishu.cn\u002Fdocument\u002Fhome\u002Findex\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%E9%A3%9E%E4%B9%A6-Bot-lightgrey?style=social&logo=data:image\u002Fsvg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDQ4IDQ4IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNyAyOUMyMSAyOSAyNSAyNi45MzM5IDI4IDIzLjQwNjVDMzYgMTQgNDEuNDI0MiAxNi44MTY2IDQ0IDE3Ljk5OThDMzguNSAyMC45OTk4IDQwLjUgMjkuNjIzMyAzMyAzNS45OTk4QzI4LjM4MiAzOS45MjU5IDIzLjQ5NDUgNDEuMDE0IDE5IDQxQzEyLjUyMzEgNDAuOTc5OSA2Ljg2MjI2IDM3Ljc2MzcgNCAzNS40MDYzVjE2Ljk5OTgiIHN0cm9rZT0iIzMzMyIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNNS42NDgwOCAxNS44NjY5QzUuMDIyMzEgMTQuOTU2NyAzLjc3NzE1IDE0LjcyNjEgMi44NjY5NCAxNS4zNTE5QzEuOTU2NzMgMTUuOTc3NyAxLjcyNjE1IDE3LjIyMjggMi4zNTE5MiAxOC4xMzMxTDUuNjQ4MDggMTUuODY2OVpNMzYuMDAyMSAzNS43MzA5QzM2Ljk1OCAzNS4xNzc0IDM3LjI4NDMgMzMuOTUzOSAzNi43MzA5IDMyLjk5NzlDMzYuMTc3NCAzMi4wNDIgMzQuOTUzOSAzMS43MTU3IDMzLjk5NzkgMzIuMjY5MUwzNi4wMDIxIDM1LjczMDlaTTIuMzUxOTIgMTguMTMzMUM1LjI0MzUgMjIuMzM5IDEwLjc5OTIgMjguMTQ0IDE2Ljg4NjUgMzIuMjIzOUMxOS45MzQ1IDM0LjI2NjcgMjMuMjE3IDM1Ljk0NiAyNi40NDkgMzYuNzMyNEMyOS42OTQ2IDM3LjUyMiAzMy4wNDUxIDM3LjQ0MjggMzYuMDAyMSAzNS43MzA5TDMzLjk5NzkgMzIuMjY5MUMzMi4yMDQ5IDMzLjMwNzIgMjkuOTkyOSAzMy40NzggMjcuMzk0NyAzMi44NDU4QzI0Ljc4MyAzMi4yMTAzIDIxLjk0MDUgMzAuNzk1OCAxOS4xMTM1IDI4LjkwMTFDMTMuNDUwOCAyNS4xMDYgOC4yNTY1IDE5LjY2MSA1LjY0ODA4IDE1Ljg2NjlMMi4zNTE5MiAxOC4xMzMxWiIgZmlsbD0iIzMzMyIvPjxwYXRoIGQ9Ik0zMy41OTQ1IDE3QzMyLjgzOTggMTQuNzAyNyAzMC44NTQ5IDkuOTQwNTQgMjcuNTk0NSA3SDExLjU5NDVDMTUuMjE3MSAxMC42NzU3IDIzIDE2IDI3IDI0IiBzdHJva2U9IiMzMzMiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+\" alt=\"feishu\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fdocs.github.com\u002Fen\u002Fdevelopers\u002Fapps\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGitHub-Bot-181717?style=social&logo=github\" alt=\"github\"\u002F>\n  \u003C\u002Fa>\n  \u003C!-- \u003Ca href=\"https:\u002F\u002Fding-doc.dingtalk.com\u002Fdocument#\u002Forg-dev-guide\u002Felzz1p\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%E9%92%89%E9%92%89-Bot-lightgrey?style=social&logo=data:image\u002Fpng;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAnFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4jUzeAAAAM3RSTlMAQKSRaA+\u002Ff0YyFevh29R3cyklIfrlyrGsn41tVUs48c\u002FHqJm9uZdhX1otGwkF9IN8V1CX0Q+IAAABY0lEQVRYw+3V2W7CMBAF0JuNQAhhX9OEfYdu9\u002F\u002F\u002FrUVWpagE27Ef2gfO+0zGozsKnv6bMGzAhkNytIe5gDdzrwtTCwrbI8x4\u002FNF668NAxgI3Q3UtFi3TyPwNQtPLUUmDd8YfqGLNe4v22XwEYb5zoOuF5baHq2UHtsKe5ivWfGAwrWu2mC34QM0PoCAuqZdOmiwV+5BLyMRtZ7dTSEcs48rzWfzwptMLyzpApka1SJ5FtR4kfCqNIBPEVDmqoqgwUYY5plQOlf6UEjNoOPnuKB6wzDyCrks\u002F\u002F\u002FTDza8+PnR109WQdxLo8RKWq0PPnuXG0OXKQ6wWLFnCg75uYYbhmMIVVdQ709q33aHbGIj6Duz+2k1HQFX9VwqmY8xYsEJll2ahvhWgsjYLHFRXvIi2Qb0jzMQCzC3FAoydxCma88UCzE3JCWwkjCNYyMUCzHX4DiuTMawEwwhW6hnshPhjZzzJfAH0YacpbmRd7QAAAABJRU5ErkJggg==\" alt=\"dingtalk\"> -->\n  \u003C\u002Fa>\n  \u003Cbr \u002F>\n  \u003Ca href=\"https:\u002F\u002Fjq.qq.com\u002F?_wv=1027&k=5OFifDh\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FQQ%E7%BE%A4-768887710-orange?style=flat-square\" alt=\"QQ Chat Group\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fqun.qq.com\u002Fqqweb\u002Fqunpro\u002Fshare?_wv=3&_wwv=128&appChannel=share&inviteCode=7b4a3&appChannel=share&businessType=9&from=246610&biz=ka\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FQQ%E9%A2%91%E9%81%93-NoneBot-5492ff?style=flat-square\" alt=\"QQ Channel\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Ft.me\u002Fbotuniverse\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Ftelegram-botuniverse-blue?style=flat-square\" alt=\"Telegram Channel\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FVKtE6Gdc4h\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnonebot_nonebot2_readme_f7ffac196eac.png\" alt=\"Discord Server\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fnonebot.dev\u002F\">文档\u003C\u002Fa>\n  ·\n  \u003Ca href=\"https:\u002F\u002Fnonebot.dev\u002Fdocs\u002Fquick-start\">快速上手\u003C\u002Fa>\n  ·\n  \u003Ca href=\"#插件\">文档打不开？\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fasciinema.org\u002Fa\u002F569440\">\n    \u003Cimg src=\"https:\u002F\u002Fnonebot.dev\u002Fimg\u002Fsetup.svg\" alt=\"setup\" >\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\n\n## 简介\n\nNoneBot2 是一个现代、跨平台、可扩展的 Python 聊天机器人框架，它基于 Python 的类型注解和异步特性，能够为你的需求实现提供便捷灵活的支持。\n\n## 特色\n\n- 异步优先：基于 Python 的异步特性，即使是~~非常~~大量的消息，也能吞吐自如\n- 易于开发：配合 NB-CLI 脚手架，代码编写上手简单，没有过多的冗余代码，可以让开发者专注于业务逻辑\n- 生而可靠：100% 类型注解覆盖，配合编辑器的类型推导功能，能将绝大多数的 Bug 杜绝在编辑器中 ([编辑器支持](https:\u002F\u002Fnonebot.dev\u002Fdocs\u002Feditor-support))\n- 社区丰富：社区用户众多，直接和间接用户超过十万人，每天都有大量的活跃用户 ([社区资源](#社区资源))\n- 海纳百川：一个框架，支持多个聊天软件平台，可自定义通信协议\n\n  |                                                       协议名称                                                        | 状态 |                                   注释                                    |\n  | :-------------------------------------------------------------------------------------------------------------------: | :--: | :-----------------------------------------------------------------------: |\n  |               OneBot（[仓库](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fadapter-onebot)，[协议](https:\u002F\u002Fonebot.dev\u002F)）                |  ✅  | 支持 QQ、TG、微信公众号、KOOK 等[平台](https:\u002F\u002Fonebot.dev\u002Fecosystem.html) |\n  |      Telegram（[仓库](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fadapter-telegram)，[协议](https:\u002F\u002Fcore.telegram.org\u002Fbots\u002Fapi)）      |  ✅  |                                                                           |\n  |     飞书（[仓库](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fadapter-feishu)，[协议](https:\u002F\u002Fopen.feishu.cn\u002Fdocument\u002Fhome\u002Findex)）     |  ✅  |                                                                           |\n  |         GitHub（[仓库](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fadapter-github)，[协议](https:\u002F\u002Fdocs.github.com\u002Fen\u002Fapps)）          |  ✅  |                          GitHub APP & OAuth APP                           |\n  |                QQ（[仓库](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fadapter-qq)，[协议](https:\u002F\u002Fbot.q.qq.com\u002Fwiki\u002F)）                |  ✅  |                            QQ 官方接口调整较多                            |\n  |                             Console（[仓库](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fadapter-console)）                             |  ✅  |                                控制台交互                                 |\n  |     Red（[仓库](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fadapter-red)，[协议](https:\u002F\u002Fchrononeko.github.io\u002FQQNTRedProtocol\u002F)）      |  ✅  |                                 QQNT 协议                                  |\n  |           Satori（[仓库](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fadapter-satori)，[协议](https:\u002F\u002Fsatori.js.org\u002Fzh-CN)）            |  ✅  |               支持 Onebot、TG、飞书、微信公众号、Koishi 等                |\n  |   Discord（[仓库](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fadapter-discord)，[协议](https:\u002F\u002Fdiscord.com\u002Fdevelopers\u002Fdocs\u002Fintro)）    |  ✅  |                             Discord Bot 协议                              |\n  |               DoDo（[仓库](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fadapter-dodo)，[协议](https:\u002F\u002Fopen.imdodo.com\u002F)）               |  ✅  |                               DoDo Bot 协议                               |\n  |        Kritor（[仓库](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fadapter-kritor)，[协议](https:\u002F\u002Fgithub.com\u002FKarinJS\u002Fkritor)）         |  ✅  |                Kritor (OnebotX) 协议，QQNT 机器人接口标准                  |\n  |    Mirai（[仓库](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fadapter-mirai)，[协议](https:\u002F\u002Fdocs.mirai.mamoe.net\u002Fmirai-api-http\u002F)）    |  ✅  |                                  QQ 协议                                  |\n  |    Milky（[仓库](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fadapter-milky)，[协议](https:\u002F\u002Fmilky.ntqqrev.org\u002F)）                      |  ✅  |                           QQNT 机器人应用接口标准                          |\n  |         钉钉（[仓库](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fadapter-ding)，[协议](https:\u002F\u002Fopen.dingtalk.com\u002Fdocument\u002F)）          |  🤗  |                        寻找 Maintainer（暂不可用）                        |\n  |     开黑啦（[仓库](https:\u002F\u002Fgithub.com\u002FTian-que\u002Fnonebot-adapter-kaiheila)，[协议](https:\u002F\u002Fdeveloper.kookapp.cn\u002F)）     |  ↗️  |                                由社区贡献                                 |\n  |                          Ntchat（[仓库](https:\u002F\u002Fgithub.com\u002FJustUndertaker\u002Fadapter-ntchat)）                           |  ↗️  |                           微信协议，由社区贡献                            |\n  |                      MineCraft（[仓库](https:\u002F\u002Fgithub.com\u002F17TheWord\u002Fnonebot-adapter-minecraft)）                      |  ↗️  |                                由社区贡献                                 |\n  |                       Walle-Q（[仓库](https:\u002F\u002Fgithub.com\u002Fonebot-walle\u002Fnonebot_adapter_walleq)）                       |  ↗️  |                            QQ 协议，由社区贡献                            |\n  |                       Villa（[仓库](https:\u002F\u002Fgithub.com\u002FCMHopeSunshine\u002Fnonebot-adapter-villa)）                        |  ❌  |                     米游社大别野 Bot 协议，官方已下线                     |\n  | Rocket.Chat（[仓库](https:\u002F\u002Fgithub.com\u002FIUnlimit\u002Fnonebot-adapter-rocketchat)，[协议](https:\u002F\u002Fdeveloper.rocket.chat\u002F)） |  ↗️  |                     Rocket.Chat Bot 协议，由社区贡献                      |\n  |     Tailchat（[仓库](https:\u002F\u002Fgithub.com\u002Feya46\u002Fnonebot-adapter-tailchat)，[协议](https:\u002F\u002Ftailchat.msgbyte.com\u002F)）      |  ↗️  |                  Tailchat 开放平台 Bot 协议，由社区贡献                   |\n  |                             Mail（[仓库](https:\u002F\u002Fgithub.com\u002Fmobyw\u002Fnonebot-adapter-mail)）                             |  ↗️  |                         邮件收发协议，由社区贡献                          |\n  |     黑盒语音（[仓库](https:\u002F\u002Fgithub.com\u002Flclbm\u002Fadapter-heybox)，[协议](https:\u002F\u002Fgithub.com\u002FQingFengOpen\u002FHeychatDoc)）     |  ↗️  |                       黑盒语音机器人协议，由社区贡献                             |\n  | 微信公众平台（[仓库](https:\u002F\u002Fgithub.com\u002FYangRucheng\u002Fnonebot-adapter-wxmp)，[协议](https:\u002F\u002Fdevelopers.weixin.qq.com\u002Fdoc\u002F)）|  ↗️  |                       微信公众平台协议，由社区贡献                             |\n  | Gewechat（[仓库](https:\u002F\u002Fgithub.com\u002FShine-Light\u002Fnonebot-adapter-gewechat)，[协议](https:\u002F\u002Fgithub.com\u002FDevo919\u002FGewechat)）|  ❌  |                      Gewechat 微信协议，Gewechat不再维护及可用                            |\n  |  EFChat（[仓库](https:\u002F\u002Fgithub.com\u002Fmolanp\u002Fnonebot_adapter_efchat)，[协议](https:\u002F\u002Firinu-live.melon.fish\u002Fefc-help\u002F)）   |  ↗️  |                            恒五聊平台协议，由社区贡献                          |\n  |  VoceChat （[仓库](https:\u002F\u002Fgithub.com\u002F5656565566\u002Fnonebot-adapter-vocechat)，[协议](https:\u002F\u002Fdoc.voce.chat\u002Fzh-cn\u002Fbot\u002Fbot-and-webhook)）   |  ↗️  |                            VoceChat 平台协议，由社区贡献                          |\n  |  B站直播间（[仓库](https:\u002F\u002Fgithub.com\u002FMingxuanGame\u002Fnonebot-adapter-bilibili-live)，[Web API 协议](https:\u002F\u002Fgithub.com\u002FSocialSisterYi\u002Fbilibili-API-collect\u002Fblob\u002Fmaster\u002Fdocs\u002Flive)，[开放平台协议](https:\u002F\u002Fopen-live.bilibili.com\u002Fdocument)）   |  ↗️  |                            B站直播间（Web API\u002F开放平台）协议，由社区贡献                          |\n\n- 坚实后盾：支持多种 web 框架，可自定义替换、组合\n\n  |                              驱动框架                               |  类型  |\n  | :-----------------------------------------------------------------: | :----: |\n  |              [FastAPI](https:\u002F\u002Ffastapi.tiangolo.com\u002F)               | 服务端 |\n  | [Quart](https:\u002F\u002Fquart.palletsprojects.com\u002Fen\u002Flatest\u002F)（异步 Flask） | 服务端 |\n  |           [aiohttp](https:\u002F\u002Fdocs.aiohttp.org\u002Fen\u002Fstable\u002F)            | 客户端 |\n  |               [httpx](https:\u002F\u002Fwww.python-httpx.org\u002F)                | 客户端 |\n  |     [websockets](https:\u002F\u002Fwebsockets.readthedocs.io\u002Fen\u002Fstable\u002F)      | 客户端 |\n\n更多：[概览](https:\u002F\u002Fnonebot.dev\u002Fdocs\u002F)\n\n## 什么不是 NoneBot2\n\nNoneBot2 并不是某个特定平台或协议的具体实现，它仅负责与现有的协议适配器进行通信，并处理接收到的事件。因此，“NoneBot 是否支持某平台的某某功能？”这类问题与 NoneBot2 无关。请查阅相应平台的功能文档，或联系该平台的协议适配开发者以获取答案。\n\nNoneBot2 也并非 NoneBot1 的替代品。事实上，这两个版本目前都在积极维护中。不过，如果你希望尝试新功能，或者需要支持更多平台，那么可以考虑使用 NoneBot2。\n\n> ~~NoneBot2 和 NoneBot1 的区别，就像 VisualStudio Code 和 VisualStudio 一样~~\n\n## 即刻开始\n\n~~完整~~ 文档可以在 [这里](https:\u002F\u002Fnonebot.dev\u002F) 查看。\n\n懒得看文档？下面是快速安装指南：\n\n1. 安装 [pipx](https:\u002F\u002Fpypa.github.io\u002Fpipx\u002F)\n\n   ```bash\n   python -m pip install --user pipx\n   python -m pipx ensurepath\n   ```\n\n2. 安装脚手架\n\n   ```bash\n   pipx install nb-cli\n   ```\n\n3. 使用脚手架创建项目\n\n   ```bash\n   nb create\n   ```\n\n4. 运行项目\n\n   ```bash\n   nb run\n   ```\n\n## 社区资源\n\n### 常见问题\n\n- [常见问题解答(FAQ)](https:\u002F\u002Ffaq.nonebot.dev\u002F)\n- [论坛(Discussion)](https:\u002F\u002Fdiscussions.nonebot.dev\u002F)\n\n### 教程\u002F实际项目\u002F经验分享\n\n- [awesome-nonebot](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fawesome-nonebot)\n\n### 插件\n\n此外，NoneBot2 还提供了丰富的官方及第三方现成插件供用户使用：\n\n- [NoneBot-Plugin-Docs](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Ftree\u002Fmaster\u002Fpackages\u002Fnonebot-plugin-docs)：可将离线文档集成到本地项目中（再也不用担心文档打不开啦！）\n\n  在项目目录下执行：\n\n  ```bash\n  nb plugin install nonebot_plugin_docs\n  ```\n\n  或者尝试以下镜像：\n\n  - [文档镜像(中国境内)](https:\u002F\u002Fnb2.baka.icu)\n\n- 其他插件请查看 [商店](https:\u002F\u002Fnonebot.dev\u002Fstore\u002Fplugins)\n\n## 许可证\n\n`NoneBot` 采用 `MIT` 许可证进行开源\n\n```text\n本软件按“原样”提供，不提供任何明示或暗示的担保，包括但不限于适销性、特定用途适用性及非侵权性的担保。在任何情况下，作者或版权所有者均不对任何索赔、损害或其他责任负责，无论其是基于合同、侵权行为或其他原因而产生，且与本软件或其使用有关。\n```\n\n## 贡献\n\n请参考 [贡献指南](.\u002FCONTRIBUTING.md)\n\n## 鸣谢\n\n### 赞助者\n\n感谢以下产品对 NoneBot 项目提供的赞助：\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002F\">\n    \u003Cpicture>\n      \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fassets.nonebot.dev\u002Fgithub-dark.png\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnonebot_nonebot2_readme_5de797583556.png\" height=\"50\" alt=\"GitHub\">\n    \u003C\u002Fpicture>\n  \u003C\u002Fa>&nbsp;&nbsp;&nbsp;&nbsp;\n  \u003Ca href=\"https:\u002F\u002Fwww.netlify.com\u002F\">\n    \u003Cpicture>\n      \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fassets.nonebot.dev\u002Fnetlify-dark.svg\">\n      \u003Cimg src=\"https:\u002F\u002Fassets.nonebot.dev\u002Fnetlify-light.svg\" height=\"50\" alt=\"netlify\">\n    \u003C\u002Fpicture>\n  \u003C\u002Fa>&nbsp;&nbsp;&nbsp;&nbsp;\n  \u003Ca href=\"https:\u002F\u002Fsentry.io\u002F\">\n    \u003Cpicture>\n      \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fassets.nonebot.dev\u002Fsentry-dark.svg\">\n      \u003Cimg src=\"https:\u002F\u002Fassets.nonebot.dev\u002Fsentry-light.svg\" height=\"50\" alt=\"sentry\">\n    \u003C\u002Fpicture>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fwww.docker.com\u002F\">\n    \u003Cpicture>\n      \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fassets.nonebot.dev\u002Fdocker-dark.svg\">\n      \u003Cimg src=\"https:\u002F\u002Fassets.nonebot.dev\u002Fdocker-light.svg\" height=\"50\" alt=\"docker\">\n    \u003C\u002Fpicture>\n  \u003C\u002Fa>&nbsp;&nbsp;&nbsp;&nbsp;\n  \u003Ca href=\"https:\u002F\u002Fwww.algolia.com\u002F\">\n    \u003Cpicture>\n      \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fassets.nonebot.dev\u002Falgolia-dark.svg\">\n      \u003Cimg src=\"https:\u002F\u002Fassets.nonebot.dev\u002Falgolia-light.svg\" height=\"50\" alt=\"algolia\">\n    \u003C\u002Fpicture>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fwww.jetbrains.com\u002F\">\n    \u003Cimg src=\"https:\u002F\u002Fresources.jetbrains.com\u002Fstorage\u002Fproducts\u002Fcompany\u002Fbrand\u002Flogos\u002Fjb_beam.svg\" height=\"80\" alt=\"JetBrains\" >\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n感谢以下赞助者对 NoneBot 项目提供的资金支持：\n\n\u003Ca href=\"https:\u002F\u002Fassets.nonebot.dev\u002Fsponsors.svg\">\n  \u003Cimg src=\"https:\u002F\u002Fassets.nonebot.dev\u002Fsponsors.svg\" alt=\"sponsors\" \u002F>\n\u003C\u002Fa>\n\n### 开发者\n\n感谢以下开发者对 NoneBot2 作出的贡献：\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnonebot_nonebot2_readme_d65af15d008f.png\" alt=\"contributors\" \u002F>\n\u003C\u002Fa>","# NoneBot2 快速上手指南\n\nNoneBot2 是一个现代、跨平台、可扩展的 Python 异步机器人框架。本指南将帮助你快速搭建环境并运行第一个机器人。\n\n## 环境准备\n\n在开始之前，请确保你的开发环境满足以下要求：\n\n*   **操作系统**：Windows, macOS 或 Linux\n*   **Python 版本**：3.10 或更高版本\n*   **包管理工具**：pip (通常随 Python 安装) 或 uv\u002Fpoetry\n*   **推荐编辑器**：VS Code 或 PyCharm (配合类型检查插件体验更佳)\n\n> **提示**：国内用户建议使用国内镜像源加速依赖下载，后续安装命令已默认配置清华源。\n\n## 安装步骤\n\n推荐使用官方提供的命令行工具 `nb-cli` 来初始化项目，它会自动处理依赖和配置文件。\n\n### 1. 安装 nb-cli\n\n打开终端，执行以下命令安装脚手架工具（使用清华镜像源）：\n\n```bash\npip install nb-cli -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n### 2. 创建新项目\n\n使用 `nb` 命令创建一个新的 NoneBot2 项目：\n\n```bash\nnb create\n```\n\n按照终端提示操作：\n1.  输入项目名称（例如：`my-bot`）。\n2.  选择适配器（推荐新手选择 `OneBot V11` 以对接 QQ 等平台，或 `Console` 进行本地测试）。\n3.  确认创建。\n\n### 3. 进入项目目录\n\n```bash\ncd my-bot\n```\n\n### 4. 安装项目依赖\n\n在项目目录下运行以下命令安装核心库及所选适配器：\n\n```bash\nnb run\n```\n*首次运行时，`nb-cli` 会自动检测并安装 `pyproject.toml` 中定义的依赖。*\n\n## 基本使用\n\n下面演示如何编写一个简单的指令插件，当用户发送 `\u002Fhello` 时，机器人回复\"Hello, World!\"。\n\n### 1. 创建插件文件\n\n在项目根目录下的 `src\u002Fplugins` 文件夹中，新建一个文件 `hello.py`。\n\n### 2. 编写代码\n\n在 `hello.py` 中输入以下代码：\n\n```python\nfrom nonebot import on_command\nfrom nonebot.adapters import Message\nfrom nonebot.params import CommandArg\n\n# 创建一个匹配 \"\u002Fhello\" 命令的处理器\nhello_cmd = on_command(\"hello\", priority=5, block=True)\n\n@hello_cmd.handle()\nasync def handle_hello(args: Message = CommandArg()):\n    # 获取命令参数（可选）\n    arg_str = args.extract_plain_text()\n    \n    if arg_str:\n        await hello_cmd.finish(f\"Hello, {arg_str}!\")\n    else:\n        await hello_cmd.finish(\"Hello, World!\")\n```\n\n### 3. 配置连接 (以 OneBot V11 为例)\n\n如果你选择了 OneBot 适配器，需要配置机器人连接信息。\n打开项目根目录下的 `.env` 文件，填入你的机器人配置（以下为示例，需替换为实际数据）：\n\n```ini\n# .env 文件内容\nHOST=127.0.0.1\nPORT=8080\nONEBOT_ACCESS_TOKEN=your_token_here\n```\n\n> **注意**：如果你使用的是反向 WebSocket 连接，请在对应的聊天软件客户端（如 go-cqhttp 或 Lagrange）中配置连接地址为 `ws:\u002F\u002F127.0.0.1:8080\u002Fonebot\u002Fv11\u002Fws`。\n\n### 4. 运行机器人\n\n在项目根目录下执行以下命令启动机器人：\n\n```bash\nnb run\n```\n\n如果看到类似 `Running NoneBot...` 的日志且无报错，说明启动成功。现在尝试在聊天窗口发送 `\u002Fhello`，机器人将会回复你。\n\n---\n更多高级用法（如事件监听、权限控制、定时任务等），请访问 [NoneBot2 官方文档](https:\u002F\u002Fnonebot.dev\u002F)。","某高校计算机社团希望为成员打造一个能同时响应 QQ 群、Telegram 和 Discord 消息的自动化助手，用于日常签到、技术问答及活动通知。\n\n### 没有 nonebot2 时\n- **多平台适配成本极高**：开发者需分别研究各平台的 API 文档，为每个渠道编写独立的接收与发送逻辑，代码重复率高达 80%。\n- **并发处理能力薄弱**：传统同步框架在面对群组高频消息轰炸时容易阻塞，导致机器人响应延迟甚至掉线。\n- **功能扩展维护困难**：每新增一个功能（如天气查询），都需要在所有平台的代码分支中重复修改，极易引入 Bug。\n- **缺乏统一生态支持**：社区插件无法通用，开发者必须从零造轮子实现基础指令解析和权限管理。\n\n### 使用 nonebot2 后\n- **一次开发，多端运行**：基于 OneBot 等标准协议，只需编写一套核心逻辑，即可通过适配器无缝部署到 QQ、TG 等多个平台。\n- **异步架构保障流畅**：原生支持 Python Async\u002FAwait 语法，轻松应对高并发消息场景，确保指令毫秒级响应。\n- **插件化热加载机制**：功能以独立插件形式存在，新增“每日早报”功能仅需放置一个新文件，无需重启主程序或修改核心代码。\n- **享受丰富生态红利**：直接调用社区成熟的插件库（如管理员权限控制、敏感词过滤），将开发重心聚焦于业务创新。\n\nnonebot2 通过统一的异步架构与插件生态，将跨平台机器人开发从繁琐的底层对接中解放出来，让开发者专注于创造真正的智能交互价值。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnonebot_nonebot2_8b9a4f5c.png","nonebot","NoneBot","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fnonebot_15422365.png","跨平台的 Python 异步聊天机器人开发框架",null,"contact@nonebot.dev","https:\u002F\u002Fnonebot.dev","https:\u002F\u002Fgithub.com\u002Fnonebot",[84,88,92,96,100,104],{"name":85,"color":86,"percentage":87},"Python","#3572A5",63.1,{"name":89,"color":90,"percentage":91},"MDX","#fcb32c",21.9,{"name":93,"color":94,"percentage":95},"TypeScript","#3178c6",12.4,{"name":97,"color":98,"percentage":99},"JavaScript","#f1e05a",1.6,{"name":101,"color":102,"percentage":103},"CSS","#663399",0.9,{"name":105,"color":106,"percentage":107},"Shell","#89e051",0.1,7467,654,"2026-04-07T07:53:07","MIT","Linux, macOS, Windows","未说明",{"notes":115,"python":116,"dependencies":117},"NoneBot2 是一个跨平台 Python 异步机器人框架，本身不依赖 GPU。具体资源需求取决于所选的适配器（如 OneBot、Telegram 等）及开发的插件功能。建议使用虚拟环境管理依赖。","3.10+",[67,118,119,120],"pydantic","loguru","yarl",[15,54,25],[75,123,124,125,126,67,127,128,129,130,131,132,133,134],"cqhttp","bot","qq","onebot","fastapi","telegram-bot","mirai-bot","lark-bot","dingtalk-robot","qq-guild","chatbot","python","2026-03-27T02:49:30.150509","2026-04-08T01:47:41.580769",[],[139,144,149,154,159,164,169,174,179,184,189,194,199,204,209,214,219,224,229,234],{"id":140,"version":141,"summary_zh":142,"released_at":143},145100,"v2.5.0","### 💥 破坏性变更\n\n- 移除：移除对 Python 3.9 的支持 [@shoucandanghehe](https:\u002F\u002Fgithub.com\u002Fshoucandanghehe) ([#3860](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3860))\n\n### 🚀 新功能\n\n- 功能：放宽 pydantic 兼容模型的 dump 类型 [@shoucandanghehe](https:\u002F\u002Fgithub.com\u002Fshoucandanghehe) ([#3898](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3898))\n\n### 🐛 Bug 修复\n\n- 修复：修正 http\u002Fwebsocket 客户端超时问题 [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#3923](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3923))\n- 修复：修复 aiohttp 流式响应分块大小不固定的问题 [@KeepingRunning](https:\u002F\u002Fgithub.com\u002FKeepingRunning) ([#3919](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3919))\n- 修复：aiohttp 驱动未处理 WSMsgType.CLOSED 类型 [@shoucandanghehe](https:\u002F\u002Fgithub.com\u002Fshoucandanghehe) ([#3862](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3862))\n\n### 📝 文档\n\n- 文档：升级 Docusaurus 3.9.2 [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#3861](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3861))\n- 文档：修复插件元数据链接错误 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3894](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3894))\n- 文档：完善「发布插件」章节的文档描述 [@NCBM](https:\u002F\u002Fgithub.com\u002FNCBM) ([#3865](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3865))\n- 文档：Docker 部署镜像添加 latest 标签 [@AhsokaTano26](https:\u002F\u002Fgithub.com\u002FAhsokaTano26) ([#3787](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3787))\n- 文档：调整文档 `on_command` 的 import 路径 [@Xfjie314](https:\u002F\u002Fgithub.com\u002FXfjie314) ([#3747](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3747))\n- 文档：修复插件编写准备文档中的文本错误 [@Xfjie314](https:\u002F\u002Fgithub.com\u002FXfjie314) ([#3746](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3746))\n- 文档：修复格式化导致的语法错误 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3737](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3737))\n\n### 💫 杂项\n\n- 插件：删除旧插件 group-config [@USTC-XeF2](https:\u002F\u002Fgithub.com\u002FUSTC-XeF2) ([#3934](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3934))\n- 修复：修正云湖适配器的 module_name [@he0119](https:\u002F\u002Fgithub.com\u002Fhe0119) ([#3937](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3937))\n- 开发：修复 devcontainer 中 corepack 安装 yarn 卡死的问题 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3893](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3893))\n- 插件：skland 插件添加标签 [@FrostN0v0](https:\u002F\u002Fgithub.com\u002FFrostN0v0) ([#3853](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3853))\n- CI：修改 `test_depend` cpython 版本范围 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3828](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3828))\n- 插件：删除插件 nonebot_plugin_acmd [@hlfzsi](https:\u002F\u002Fgithub.com\u002Fhlfzsi) ([#3750](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3750))\n\n### 🍻 插件发布\n\n- 插件：TS3 Tracker [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3902](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3902))\n- 插件：CS2 Radar [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3908](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3908))\n- 插件：舞萌服务器监控 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3910](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3910))\n- 插件：Endfield [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3884](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3884))\n- 插","2026-04-01T03:33:45",{"id":145,"version":146,"summary_zh":147,"released_at":148},145101,"v2.4.4","### 🚀 新功能\n\n- 功能：允许插件从环境变量中读取配置项，并支持别名 [@AzideCupric](https:\u002F\u002Fgithub.com\u002FAzideCupric) ([#3673](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3673))\n- 功能：更新 NB-CLI 新版插件加载格式与文档 [@NCBM](https:\u002F\u002Fgithub.com\u002FNCBM) ([#3614](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3614))\n\n### 🐛 Bug 修复\n\n- 修复：日志级别配置项无法使用 int 类型配置 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3732](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3732))\n- 修复：兼容 pydantic v2.12 `FieldInfo` 改动 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3722](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3722))\n\n### 📝 文档\n\n- 文档：更新适配器编写指南中的链接 [@xjh2009](https:\u002F\u002Fgithub.com\u002Fxjh2009) ([#3731](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3731))\n- 功能：更新 NB-CLI 新版插件加载格式与文档 [@NCBM](https:\u002F\u002Fgithub.com\u002FNCBM) ([#3614](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3614))\n- 文档：将 htmlkit 文档添加至最佳实践 [@BlueGlassBlock](https:\u002F\u002Fgithub.com\u002FBlueGlassBlock) ([#3682](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3682))\n- 文档：修复 userinfo 插件链接 [@XieXiLin2](https:\u002F\u002Fgithub.com\u002FXieXiLin2) ([#3660](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3660))\n- 文档：升级 docusaurus 3.8.1 [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#3649](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3649))\n- 文档：更新文档《手动创建项目》 [@Chen-Luan](https:\u002F\u002Fgithub.com\u002FChen-Luan) ([#3623](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3623))\n- 文档：增加 B站直播间 适配器说明 [@MingxuanGame](https:\u002F\u002Fgithub.com\u002FMingxuanGame) ([#3636](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3636))\n- 文档：增加 VoceChat 适配器说明 [@5656565566](https:\u002F\u002Fgithub.com\u002F5656565566) ([#3627](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3627))\n\n### 💫 杂项\n\n- CI：严格约束 `test_depend` CPython 版本范围 [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#3713](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3713))\n- CI：升级文档构建 node 版本 [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#3668](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3668))\n- CI：测试矩阵加入 Python 3.13 [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#3605](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3605))\n\n### 🍻 插件发布\n\n- 插件：海龟汤游戏 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3697](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3697))\n- 插件：每日必应壁纸 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3721](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3721))\n- 插件：pxchat [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3712](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3712))\n- 插件：nonebot-plugin-memory [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3701](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3701))\n- 插件：远程文件打开 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3717](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3717))\n- 插件：MC新闻更新检测 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3699](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3699))\n- 插件：kook卡片消息编写适配插件 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3708](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3708))\n- 插件：链接分享自动解析 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3706](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F37","2025-10-29T04:02:53",{"id":150,"version":151,"summary_zh":152,"released_at":153},145102,"v2.4.3","### 🚀 新功能\n\n- 功能：支持 PEP 695 类型别名 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3621](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3621))\n- 功能：升级至新版本 websockets 客户端 API [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3606](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3606))\n- 功能：细化内置驱动器请求参数中的超时控制颗粒度 [@Ailitonia](https:\u002F\u002Fgithub.com\u002FAilitonia) ([#3571](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3571))\n- 功能：为 `HTTPClient` 等内置驱动器添加流式请求方法 [@Ailitonia](https:\u002F\u002Fgithub.com\u002FAilitonia) ([#3560](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3560))\n\n### 📝 文档\n\n- 文档：更新 Alconna 主页面 [@RF-Tar-Railt](https:\u002F\u002Fgithub.com\u002FRF-Tar-Railt) ([#3598](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3598))\n- 文档：添加插件 metadata 缺失的 docstring [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3583](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3583))\n- 文档：修复组织成员提交 issue 时不遵守表单 [@ProgramRipper](https:\u002F\u002Fgithub.com\u002FProgramRipper) ([#3558](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3558))\n- 文档：增加 `EFChat` 适配器说明 [@molanp](https:\u002F\u002Fgithub.com\u002Fmolanp) ([#3544](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3544))\n- 文档：插件发布表单描述优化 [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#3520](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3520))\n- 文档：增加 `Milky` 适配器说明 [@RF-Tar-Railt](https:\u002F\u002Fgithub.com\u002FRF-Tar-Railt) ([#3492](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3492))\n- 文档：添加 OSPP 2025 项目 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3466](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3466))\n- 文档：更新最佳实践 `Alconna` 章节 [@RF-Tar-Railt](https:\u002F\u002Fgithub.com\u002FRF-Tar-Railt) ([#3447](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3447))\n- 文档：修复移动端侧边栏折叠状态异常 [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#3414](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3414))\n- 文档：添加 Gewechat 适配器描述 [@Shine-Light](https:\u002F\u002Fgithub.com\u002FShine-Light) ([#3372](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3372))\n\n### 💫 杂项\n\n- 开发：迁移使用 uv 管理项目依赖 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3607](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3607))\n- 修复：`RUF005` tuple 拼接 [@Ailitonia](https:\u002F\u002Fgithub.com\u002FAilitonia) ([#3572](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3572))\n- 插件：更新插件维护情况 [@Agnes4m](https:\u002F\u002Fgithub.com\u002FAgnes4m) ([#3555](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3555))\n- 插件：修改 nailong 插件作者 [@superbot-ai445](https:\u002F\u002Fgithub.com\u002Fsuperbot-ai445) ([#3554](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3554))\n- CI：适配 NoneFlow 4.4.0 [@he0119](https:\u002F\u002Fgithub.com\u002Fhe0119) ([#3539](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3539))\n- 开发：修复 devcontainer feature 配置 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3515](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3515))\n- CI：修复 Ruff 并发组名称 [@KomoriDev](https:\u002F\u002Fgithub.com\u002FKomoriDev) ([#3434](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3434))\n\n### 🍻 插件发布\n\n- 插件：FinalShell 离线激活码 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3574](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3574))\n- 插件：天气查询 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3596](https:\u002F\u002Fgithub.co","2025-08-07T10:15:10",{"id":155,"version":156,"summary_zh":157,"released_at":158},145103,"v2.4.2","### 🚀 新功能\n\n- 功能：添加 Pydantic 验证器兼容函数 [@RF-Tar-Railt](https:\u002F\u002Fgithub.com\u002FRF-Tar-Railt) ([#3291](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3291))\n\n### 🐛 Bug 修复\n\n- 修复：Shell 命令词法解析错误未被捕获 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3290](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3290))\n\n### 📝 文档\n\n- 文档：添加第三方插件模板 [@fllesser](https:\u002F\u002Fgithub.com\u002Ffllesser) ([#3361](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3361))\n- 文档：商店头像占位图 [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#3362](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3362))\n- 文档：添加 localstore `use_cwd` 配置项说明 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3345](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3345))\n- 文档：商店插件可用性筛选 & 更新排序 [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#3334](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3334))\n- 文档：添加微信公众平台适配器说明 [@YangRucheng](https:\u002F\u002Fgithub.com\u002FYangRucheng) ([#3264](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3264))\n- 文档：添加黑盒语音适配器说明 [@lclbm](https:\u002F\u002Fgithub.com\u002Flclbm) ([#3259](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3259))\n\n### 💫 杂项\n\n- 代码规范检查：修复异步函数返回值问题 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3364](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3364))\n- 修复：修复 pyright 类型推导问题 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3347](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3347))\n- 修复：修复 ruff 代码规范检查错误 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3346](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3346))\n- 插件：移除插件 `pjsk` [@lgc2333](https:\u002F\u002Fgithub.com\u002Flgc2333) ([#3332](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3332))\n- CI：使用官方版本 ruff action [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3286](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3286))\n- CI：使 pyright 版本与 pylance 保持一致 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3285](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3285))\n- CI：临时降级 release-drafter [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3284](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3284))\n- 插件：移除 bawiki [@lgc2333](https:\u002F\u002Fgithub.com\u002Flgc2333) ([#3265](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3265))\n- 插件：移除插件 nonebot_plugin_clovers [@KarisAya](https:\u002F\u002Fgithub.com\u002FKarisAya) ([#3254](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3254))\n\n### 🍻 插件发布\n\n- 插件：ChatGPT（OpenAI API 接口版）[@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3340](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3340))\n- 插件：卡牌信息查询 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3324](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3324))\n- 插件：唐菲检测 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3338](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3338))\n- 插件：nonebot-plugin-whois [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3330](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3330))\n- 插件：表情包贴纸 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3333](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3333))\n- 插件：群昵称更新 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3336](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3336))\n- 插件：简易 AI 聊天","2025-03-12T03:57:33",{"id":160,"version":161,"summary_zh":162,"released_at":163},145104,"v2.4.1","### 🚀 新功能\n\n- 功能：存储 matcher 发送 prompt 的结果 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3155](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3155))\n- 功能：提升已加载的适配器日志等级 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3110](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3110))\n\n### 🐛 Bug 修复\n\n- 修复：httpx 代理与 aiohttp 超时参数在新版本中的修改 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3152](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3152))\n- 修复：屏蔽 pydantic 2.10.0 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3137](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3137))\n\n### 📝 文档\n\n- 文档：添加 localstore 插件配置 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3197](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3197))\n- 文档：使用勾选框而不是评论来重新测试插件 [@he0119](https:\u002F\u002Fgithub.com\u002Fhe0119) ([#3158](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3158))\n- 文档：添加 pytest-asyncio 配置 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3136](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3136))\n- 文档：移除侧栏遮罩及启用构建加速 [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#3135](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3135))\n- 文档：添加 Mail 适配器说明 [@mobyw](https:\u002F\u002Fgithub.com\u002Fmobyw) ([#3134](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3134))\n- 文档：修复 wwads 造成的 client 水合不匹配 [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#3106](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3106))\n- 文档：修复 wwads [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#3105](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3105))\n- 文档：修复侧边栏折叠状态问题 [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#3101](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3101))\n- 文档：Changelog 按页码挂载 route [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#3100](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3100))\n- 文档：修复 changelog 链接 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3098](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3098))\n\n### 💫 杂项\n\n- 开发：发布议题模板增加 Publish 标签 [@he0119](https:\u002F\u002Fgithub.com\u002Fhe0119) ([#3174](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3174))\n- 插件：移除插件 riffusion [@lgc2333](https:\u002F\u002Fgithub.com\u002Flgc2333) ([#3171](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3171))\n- CI：删除 NoneFlow 中关于 pre-commit 的部分 [@he0119](https:\u002F\u002Fgithub.com\u002Fhe0119) ([#3166](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3166))\n- 开发：完全使用 ruff 替代 isort 与 black [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3151](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3151))\n- 插件：删除`function` 插件，添加 `batch-withdrawal` 插件标签 [@zhongwen-4](https:\u002F\u002Fgithub.com\u002Fzhongwen-4) ([#3118](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3118))\n- 插件：删除插件 `nonebot-plugin-llob-master` [@kanbereina](https:\u002F\u002Fgithub.com\u002Fkanbereina) ([#3115](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3115))\n\n### 🍻 插件发布\n\n- 插件：nonebot_plugin_pjsekaihelper [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3180](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3180))\n- 插件：Prometheus 监控 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3199](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3199))\n- 插件：加群自动审批 [@","2024-12-25T07:22:12",{"id":165,"version":166,"summary_zh":167,"released_at":168},145105,"v2.4.0","### 🚀 新功能\n\n- 功能：跳过部分非必要的 task group 创建 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3095](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3095))\n- 功能：迁移到结构化并发框架 AnyIO [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3053](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3053))\n- 功能：添加 websockets 驱动器 proxy 连接警告 [@shoucandanghehe](https:\u002F\u002Fgithub.com\u002Fshoucandanghehe) ([#2916](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2916))\n\n### 🐛 Bug 修复\n\n- 修复：修复结构化并发子依赖取消缓存问题 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3084](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3084))\n\n### 📝 文档\n\n- 文档：新增 nonebug 新版启动需要的配置 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#3087](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3087))\n- 文档：修复侧边栏滚动 [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#3062](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3062))\n- 文档：升级到 Docusaurus V3 [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#2956](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2956))\n- 文档：修改文档示例代码与部分表述 [@yixinNB](https:\u002F\u002Fgithub.com\u002FyixinNB) ([#2797](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2797))\n- 文档：添加钩子函数 IgnoredException 用法 [@refparo](https:\u002F\u002Fgithub.com\u002Frefparo) ([#2912](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2912))\n\n### 💫 杂项\n\n- 插件：移除不再维护的插件 [@ssttkkl](https:\u002F\u002Fgithub.com\u002Fssttkkl) ([#3040](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3040))\n- 插件：删除不再维护的 simplemusic hikarisearch 插件 [@MeetWq](https:\u002F\u002Fgithub.com\u002FMeetWq) ([#2933](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2933))\n- 插件：删除插件 `nonebot-plugin-ntqq-restart` [@kanbereina](https:\u002F\u002Fgithub.com\u002Fkanbereina) ([#2926](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2926))\n- 适配器：移除社区版 mirai 适配器 [@RF-Tar-Railt](https:\u002F\u002Fgithub.com\u002FRF-Tar-Railt) ([#2909](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2909))\n\n### 🍻 插件发布\n\n- 插件：Comfyui 绘图插件 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3081](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3081))\n- 插件：每日wife [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3094](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3094))\n- 插件：nonebot_plugin_impart [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3079](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3079))\n- 插件：Pix 图库 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3083](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3083))\n- 插件：nonebot_plugin_partner_join [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3051](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3051))\n- 插件：pong [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3066](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3066))\n- 插件：Bot 的消息也是消息 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3064](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3064))\n- 插件：BiliMusic Downloader [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3046](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3046))\n- 插件：防撤回 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3055](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F3055))\n- 插件：nonebot_plugin_mai_arcade [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#3047](https:\u002F\u002Fgithub.com\u002F","2024-10-31T13:47:05",{"id":170,"version":171,"summary_zh":172,"released_at":173},145106,"v2.3.3","### 🚀 新功能\n\n- 功能：优化 Pydantic v2 下依赖注入的性能 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2870](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2870))\n- 功能：添加遗漏的类型标注 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2856](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2856))\n\n### 🐛 Bug 修复\n\n- 修复：错误的类型标注和 annotated 处理 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2828](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2828))\n\n### 📝 文档\n\n- 文档：添加 Windows Powershell 设置环境变量方法 [@LeoQuote](https:\u002F\u002Fgithub.com\u002FLeoQuote) ([#2874](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2874))\n- 文档：更新 localstore 插件文档 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2871](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2871))\n\n### 💫 杂项\n\n- 插件：修改插件 system-command 信息 [@tkgs0](https:\u002F\u002Fgithub.com\u002Ftkgs0) ([#2862](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2862))\n- 插件：修改 nonebot-plugin-fishing 插件作者 [@ALittleBot](https:\u002F\u002Fgithub.com\u002FALittleBot) ([#2854](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2854))\n- 机器人：更新 Minecraft QQBot 信息 [@Lonely-Sails](https:\u002F\u002Fgithub.com\u002FLonely-Sails) ([#2838](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2838))\n- 插件：移除 kanonbot 插件 [@SuperGuGuGu](https:\u002F\u002Fgithub.com\u002FSuperGuGuGu) ([#2819](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2819))\n- 插件：更新插件 sparkapi 信息 [@CCLMSY](https:\u002F\u002Fgithub.com\u002FCCLMSY) ([#2812](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2812))\n- 插件：修改插件 miragetank & charpic 信息 [@1umine](https:\u002F\u002Fgithub.com\u002F1umine) ([#2807](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2807))\n\n### 🍻 插件发布\n\n- 插件：nonebot-plugin-wait-a-minute [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2902](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2902))\n- 插件：你看我像 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2895](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2895))\n- 插件：dify 插件 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2889](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2889))\n- 插件：mai2_pcount [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2891](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2891))\n- 插件：nonebot-plugin-ehentai-search [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2885](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2885))\n- 插件：pokepoke_miss [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2883](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2883))\n- 插件：聊天截图伪造 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2880](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2880))\n- 插件：ba-tools [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2867](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2867))\n- 插件：精华消息管理 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2873](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2873))\n- 插件：B站收藏夹监视器 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2869](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2869))\n- 插件：Alist [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2865](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2865))\n- 插件：🦌管签到 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2859](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2859))\n- 插件：漂流瓶 [@noneflow](htt","2024-08-18T03:58:34",{"id":175,"version":176,"summary_zh":177,"released_at":178},145107,"v2.3.2","### 🐛 Bug 修复\n\n- 修复：修复 ForwardRef eval 时参数 recursive_guard 缺失 [@he0119](https:\u002F\u002Fgithub.com\u002Fhe0119) ([#2778](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2778))\n\n### 📝 文档\n\n- 文档：修改导航栏开源之夏链接 [@KomoriDev](https:\u002F\u002Fgithub.com\u002FKomoriDev) ([#2798](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2798))\n- 文档：`on_keyword` 参数类型错误 [@TaskManagerOL](https:\u002F\u002Fgithub.com\u002FTaskManagerOL) ([#2795](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2795))\n- 文档：修复单元测试示例代码 [@mobyw](https:\u002F\u002Fgithub.com\u002Fmobyw) ([#2741](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2741))\n- 文档：修改依赖注入定义链接 [@Weltolk](https:\u002F\u002Fgithub.com\u002FWeltolk) ([#2733](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2733))\n\n### 🍻 插件发布\n\n- 插件：指令更新NapCat [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2791](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2791))\n- 插件：QQ群-Discord 互通 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2788](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2788))\n- 插件：nonebot_plugin_obastatus [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2780](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2780))\n- 插件：b站消息转发 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2785](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2785))\n- 插件：Daily Task [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2769](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2769))\n- 插件：EVE ONLINE 多功能机器人\n版本 - v0.2.3\n [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2782](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2782))\n- 插件：NTQQ自动登录\u002F断连重启 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2786](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2786))\n- 插件：asmr [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2775](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2775))\n- 插件：日麻猜手牌小游戏 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2777](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2777))\n- 插件：绝地潜兵信息查询小助手 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2772](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2772))\n- 插件：MCSM小助手 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2773](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2773))\n- 插件：多模态AI工具 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2758](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2758))\n- 插件：nonebot-plugin-easymarkdown [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2767](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2767))\n- 插件：峰驰外包 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2765](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2765))\n- 插件：鸣潮抽卡记录分析 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2763](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2763))\n- 插件：nonebot-plugin-xjie-weather [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2756](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2756))\n- 插件：颜值评分 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2752](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2752))\n- 插件：学园偶像大师算分插件 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2750](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2750))\n- 插件：nonebot-plugin-lynchpined [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2748](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnoneb","2024-07-06T12:35:39",{"id":180,"version":181,"summary_zh":182,"released_at":183},145108,"v2.3.1","### 🐛 Bug 修复\n\n- 修复：State ForwardRef 检测错误 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2698](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2698))\n\n### 📝 文档\n\n- 文档：修正 匹配扩展 中的示例 [@KomoriDev](https:\u002F\u002Fgithub.com\u002FKomoriDev) ([#2722](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2722))\n- 文档：更新 Mirai 适配器说明 [@RF-Tar-Railt](https:\u002F\u002Fgithub.com\u002FRF-Tar-Railt) ([#2715](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2715))\n- 文档：添加 Tailchat 适配器说明 [@eya46](https:\u002F\u002Fgithub.com\u002Feya46) ([#2694](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2694))\n- 文档：添加 uwu logo [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#2689](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2689))\n\n### 💫 杂项\n\n- 插件：移除已在 PyPI 上删除的 `covid` 插件和 `molar-mass` 插件 [@NCBM](https:\u002F\u002Fgithub.com\u002FNCBM) ([#2712](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2712))\n\n### 🍻 插件发布\n\n- 插件：自定义人格和AI绘图的混合聊天BOT [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2724](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2724))\n- 插件：nonebot-plugin-calc24 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2721](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2721))\n- 插件：nonebot-plugin-tsugu-bangdream-bot [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2719](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2719))\n- 插件：科大讯飞星火大语言模型官方API聊天机器人插件 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2717](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2717))\n- 插件：nonebot_plugin_valve_server_query [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2711](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2711))\n- 插件：库洛游戏信息 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2706](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2706))\n- 插件：BanG Dream! Tsugu 前端 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2708](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2708))\n- 插件：神秘学助手 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2700](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2700))\n- 插件：nonebot-plugin-furryfusion [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2705](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2705))\n- 插件：nonebot-plugin-RanFurryPic [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2703](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2703))\n- 插件：with_ai_agents [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2697](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2697))\n- 插件：番剧下载 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2691](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2691))\n\n### 🍻 适配器发布\n\n- 适配器：Mirai [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2714](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2714))\n- 适配器：Tailchat [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2693](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2693))","2024-05-20T14:21:14",{"id":185,"version":186,"summary_zh":187,"released_at":188},145109,"v2.3.0","### 💥 破坏性变更\n\n- 功能：优化嵌套插件名称作用域 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2665](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2665))\n- 移除：移除 Python 3.8 支持 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2641](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2641))\n\n### 🚀 新功能\n\n- 功能：优化嵌套插件名称作用域 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2665](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2665))\n- 功能：优化调用栈识别 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2644](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2644))\n- 功能：支持 HTTP 客户端会话 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2627](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2627))\n- 开发：添加 ruff RUF 规则 [@he0119](https:\u002F\u002Fgithub.com\u002Fhe0119) ([#2598](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2598))\n\n### 🐛 Bug 修复\n\n- 修复：none 系列驱动器启动失败时未退出应用 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2687](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2687))\n- Bug：inherit_supported_adapters 在展开缩写前取交集 [@AzideCupric](https:\u002F\u002Fgithub.com\u002FAzideCupric) ([#2654](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2654))\n- Bug：添加 HTTP 客户端会话上下文检查 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2632](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2632))\n- 修复：将 aiohttp 的 quote_fields 默认设为 False [@j1g5awi](https:\u002F\u002Fgithub.com\u002Fj1g5awi) ([#2619](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2619))\n\n### 📝 文档\n\n- 文档：数据库最佳实践 [@ProgramRipper](https:\u002F\u002Fgithub.com\u002FProgramRipper) ([#2545](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2545))\n- 文档：更新 Alconna 部分的最佳实践 [@RF-Tar-Railt](https:\u002F\u002Fgithub.com\u002FRF-Tar-Railt) ([#2686](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2686))\n- 文档：添加 OSPP 2024 项目说明 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2676](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2676))\n- 文档：更新 Villa 适配器说明 [@CMHopeSunshine](https:\u002F\u002Fgithub.com\u002FCMHopeSunshine) ([#2661](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2661))\n- 文档：添加 Kritor 适配器说明 [@RF-Tar-Railt](https:\u002F\u002Fgithub.com\u002FRF-Tar-Railt) ([#2660](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2660))\n- 文档：更新 Alconna 部分的最佳实践 [@RF-Tar-Railt](https:\u002F\u002Fgithub.com\u002FRF-Tar-Railt) ([#2656](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2656))\n- 文档：添加 RocketChat 适配器说明 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2640](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2640))\n- 文档：商店卡片样式调整 [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#2633](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2633))\n- 文档：为商店插件卡片添加更多展示内容 [@AzideCupric](https:\u002F\u002Fgithub.com\u002FAzideCupric) ([#2626](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2626))\n- 文档：修复 `RegexMatched` 文档类型标注错误 [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#2629](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2629))\n- 文档：修复 `RegexMatched​` 文档高亮行错误 [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#2628](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2628))\n- 文档：为商店的详情卡片添加跳转链接 [@AzideCupric](https:\u002F\u002Fgithub.com\u002FAzideCupric) ([#2623](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2623))\n- 文档：添加 `RegexMatched` 依赖注入文档 [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#2618](ht","2024-05-01T09:02:51",{"id":190,"version":191,"summary_zh":192,"released_at":193},145110,"v2.2.1","### 🚀 新功能\r\n\r\n- Feature: 优化 pydantic 兼容函数 `model_dump` 和 `type_validate_json` [@MingxuanGame](https:\u002F\u002Fgithub.com\u002FMingxuanGame) ([#2579](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2579))\r\n\r\n### 🐛 Bug 修复\r\n\r\n- Fix: 修改遗漏的过时 Pydantic 方法 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2577](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2577))\r\n- Fix: `Message.__contains__()` 未考虑 `bool(MessageSegment)` 存在 False 情况导致的异常结果 [@lgc2333](https:\u002F\u002Fgithub.com\u002Flgc2333) ([#2572](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2572))\r\n\r\n### 📝 文档\r\n\r\n- Docs: 更新 Session Expire Timeout​ 文档 [@MingxuanGame](https:\u002F\u002Fgithub.com\u002FMingxuanGame) ([#2585](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2585))\r\n- Docs: 添加适配器测试注意事项 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2570](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2570))\r\n\r\n### 💫 杂项\r\n\r\n- Plugin: 修改 phigros 相关内容 [@XTxiaoting14332](https:\u002F\u002Fgithub.com\u002FXTxiaoting14332) ([#2578](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2578))\r\n\r\n### 🍻 插件发布\r\n\r\n- Plugin: 运行状态 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2587](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2587))\r\n- Plugin: nonebot-plugin-bf1marneserverlist [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2584](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2584))\r\n- Plugin: splatoon3游戏nso查询 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2576](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2576))\r\n- Plugin: Chikari_yinpa [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2573](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2573))","2024-02-24T04:39:18",{"id":195,"version":196,"summary_zh":197,"released_at":198},145111,"v2.2.0","> [!WARNING]\r\n> 本版本为兼容 Pydantic v2 的首个版本，如果在使用过程中遇到了插件兼容性问题，请参考[文档](https:\u002F\u002Fnonebot.dev\u002Fdocs\u002Fappendices\u002Fconfig)降级 Pydantic 至 v1\r\n\r\n### 🚛 插件迁移指南\r\n\r\n在本版本中由于不可避免的 Pydantic 兼容性问题，请对于 Pydantic 版本有要求的插件确认是否在包依赖中正确注明 Pydantic 版本！\r\n\r\n对于 Pydantic 版本并不敏感的插件请参考[配置文档](https:\u002F\u002Fnonebot.dev\u002Fdocs\u002Fappendices\u002Fconfig#%E6%8F%92%E4%BB%B6%E9%85%8D%E7%BD%AE)对插件读取配置部分进行修改，以便兼容 Pydantic v1 与 v2：\r\n\r\n```diff\r\n- plugin_config = Config.parse_obj(get_driver().config)\r\n+ from nonebot import get_plugin_config\r\n+ plugin_config = get_plugin_config(Config)\r\n```\r\n\r\n### 🚀 新功能\r\n\r\n- Feature: 添加插件 Pydantic 相关使用方法 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2563](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2563))\r\n- Feature: 兼容 Pydantic v2 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2544](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2544))\r\n- Feature: 使用自定义配置加载替代 `pydantic-settings` [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2521](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2521))\r\n- Feature: 带参数的 `RegexStr()` [@ProgramRipper](https:\u002F\u002Fgithub.com\u002FProgramRipper) ([#2499](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2499))\r\n\r\n### 🐛 Bug 修复\r\n\r\n- Fix: websockets 驱动器连接关闭 code 获取错误 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2537](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2537))\r\n- Fix: 修复 `echo` 发送空消息 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2525](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2525))\r\n- Fix: `MessageTemplate` 禁止访问私有属性 [@mnixry](https:\u002F\u002Fgithub.com\u002Fmnixry) ([#2509](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2509))\r\n\r\n### 📝 文档\r\n\r\n- Docs: 更新 Alconna 文档 [@lengmianzz](https:\u002F\u002Fgithub.com\u002Flengmianzz) ([#2568](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2568))\r\n- Docs: 添加产品赞助列表 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2566](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2566))\r\n- Docs: 修复表单标签状态更新 [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#2558](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2558))\r\n- Docs: 添加 CITATION 文件 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2520](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2520))\r\n\r\n### 💫 杂项\r\n\r\n- Plugin: 移除不再维护的几款插件 [@mnixry](https:\u002F\u002Fgithub.com\u002Fmnixry) ([#2561](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2561))\r\n- CI: 更新 prettier 配置 [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#2546](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2546))\r\n- Plugin: 恢复删除的插件 `nonebot-plugin-eitherchoice` [@lgc2333](https:\u002F\u002Fgithub.com\u002Flgc2333) ([#2502](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2502))\r\n\r\n### 🍻 插件发布\r\n\r\n- Plugin: 定时提醒 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2559](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2559))\r\n- Plugin: 黑名单插件 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2554](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2554))\r\n- Plugin: ChatGPT 聊天 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2556](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2556))\r\n- Plugin: BA模拟抽卡 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2550](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2550))\r\n- Plugin: 随机发送图片 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2548](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2548))\r\n- Plugin: 哪吒监控插件 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2552](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2552))\r\n- Plugin: SakuraFrp [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2543](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2543))\r\n- Plugin: haruka_bot_red [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2541](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2541))\r\n- Plugin: nonebot-plugin-gemini [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2527](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2527))\r\n- Plugin: 最终台词 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2523](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2523))\r\n- Plugin: nonebot-plugin-nekoimage [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2534](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2534))\r\n- Plugin: 谷歌Bard聊天 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2529](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2529))\r\n- Plugin: nonebot-plugin-mypower [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2533](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2533))\r\n- Plugin: 文心一言4适配 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2516](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2516))\r\n- Plugin: 最佳平替 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2519](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2519))\r\n- Plugin: 随机MC图 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2512](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2512))\r\n- Plugin: nonebot_plugin_nikke [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2508](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2508))\r\n- Plugin: nonebot-plugin-imagemaster [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2504](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2504))\r\n- Plugin: Waiter 插件 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2506](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2506))\r\n- Plugin: AntiMonkey [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2501](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2501))","2024-02-09T08:22:59",{"id":200,"version":201,"summary_zh":202,"released_at":203},145112,"v2.1.3","### 🐛 Bug 修复\r\n\r\n- Fix: 新增 `Lifespan.on_ready()` 供适配器使用 [@ProgramRipper](https:\u002F\u002Fgithub.com\u002FProgramRipper) ([#2483](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2483))\r\n- Fix: 忽略 Pyright 对动态类创建的检查错误 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2486](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2486))\r\n\r\n### 📝 文档\r\n\r\n- Docs: 商店详情卡片添加宽度限制与文本省略 [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#2473](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2473))\r\n- Docs: 修复商店发布 上一步 按钮显示问题 [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#2464](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2464))\r\n- Docs: 添加商店表单支持 [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#2460](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2460))\r\n- Docs: 修复事件后处理函数类型 docstring 错误 [@lgc2333](https:\u002F\u002Fgithub.com\u002Flgc2333) ([#2459](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2459))\r\n- Docs: 修改 QQ 频道为 QQ [@bingqiu456](https:\u002F\u002Fgithub.com\u002Fbingqiu456) ([#2457](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2457))\r\n- Docs: 更新最佳实践的 Alconna 部分 [@RF-Tar-Railt](https:\u002F\u002Fgithub.com\u002FRF-Tar-Railt) ([#2443](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2443))\r\n\r\n### 💫 杂项\r\n\r\n- Plugin: 更新 splatoon3 插件地址 [@Cypas](https:\u002F\u002Fgithub.com\u002FCypas) ([#2494](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2494))\r\n- Plugin: 删除不维护的 `eitherchoice` 插件 [@lgc2333](https:\u002F\u002Fgithub.com\u002Flgc2333) ([#2491](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2491))\r\n- Plugin: 移除不再维护的插件 [@j1g5awi](https:\u002F\u002Fgithub.com\u002Fj1g5awi) ([#2474](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2474))\r\n- Plugin: 移除不再维护的插件 [@NCBM](https:\u002F\u002Fgithub.com\u002FNCBM) ([#2472](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2472))\r\n- Plugin: 移除不再维护的插件 [@MeetWq](https:\u002F\u002Fgithub.com\u002FMeetWq) ([#2471](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2471))\r\n- CI: 测试矩阵添加 Python 3.12 [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#2441](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2441))\r\n\r\n### 🍻 插件发布\r\n\r\n- Plugin: Phigros查分器(Adapter-qq) [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2497](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2497))\r\n- Plugin: Riffusion [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2493](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2493))\r\n- Plugin: nonebot_plugin_longtu [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2490](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2490))\r\n- Plugin: CNRail [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2488](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2488))\r\n- Plugin: ba塔罗牌，运势与魔法占卜！ [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2481](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2481))\r\n- Plugin: 群聊 NSFW 图片检测 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2477](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2477))\r\n- Plugin: sm.ms图床 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2470](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2470))\r\n- Plugin: 文件托管支持 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2468](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2468))\r\n- Plugin: 短链接服务支持 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2466](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2466))\r\n- Plugin: 用户 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2463](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2463))\r\n- Plugin: DALL-E 3绘图 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2452](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2452))\r\n- Plugin: 局域网唤醒 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2449](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2449))\r\n- Plugin: nonebot-plugin-bertvits2 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2446](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2446))\r\n- Plugin: Nonebot2 Any 多平台服务 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2442](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2442))\r\n\r\n### 🍻 机器人发布\r\n\r\n- Bot: Sakiko [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2439](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2439))\r\n\r\n### 🍻 适配器发布\r\n\r\n- Adapter: DoDo [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2456](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2456))","2023-12-25T03:59:07",{"id":205,"version":206,"summary_zh":207,"released_at":208},145113,"v2.1.2","### 🚀 新功能\r\n\r\n- Feature: 添加多消息段命令解析支持 [@RainEggplant](https:\u002F\u002Fgithub.com\u002FRainEggplant) ([#2419](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2419))\r\n\r\n### 🐛 Bug 修复\r\n\r\n- Fix: 修复依赖注入对 Literal 检查报错 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2433](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2433))\r\n\r\n### 📝 文档\r\n\r\n- Docs: 修复 Alconna 文档 typo [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#2429](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2429))\r\n- Docs: 文档启用百度统计 [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#2424](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2424))\r\n- Docs: 更新最佳实践 Alconna [@RF-Tar-Railt](https:\u002F\u002Fgithub.com\u002FRF-Tar-Railt) ([#2401](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2401))\r\n- Docs: 修改商店发布的跳转链接 [@KomoriDev](https:\u002F\u002Fgithub.com\u002FKomoriDev) ([#2387](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2387))\r\n- Docs: 修复文档主页 Features 不居中 [@MingxuanGame](https:\u002F\u002Fgithub.com\u002FMingxuanGame) ([#2390](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2390))\r\n\r\n### 💫 杂项\r\n\r\n- Fix: 修复升级 pytest-asyncio 0.22 pytest collect 问题 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2436](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2436))\r\n- Plugin: 移除 `nonebot-plugin-nya-music` 插件 [@nikissXI](https:\u002F\u002Fgithub.com\u002FnikissXI) ([#2398](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2398))\r\n- CI: 调整商店数据存放位置与内容 [@he0119](https:\u002F\u002Fgithub.com\u002Fhe0119) ([#2385](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2385))\r\n- Adapter: 修改频道适配器为 QQ 适配器 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2382](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2382))\r\n\r\n### 🍻 插件发布\r\n\r\n- Plugin: 定时广播插件 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2432](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2432))\r\n- Plugin: 选择困难症 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2428](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2428))\r\n- Plugin: nonebot-plugin-getbapics [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2423](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2423))\r\n- Plugin: nonebot-plugin-maimaidx [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2422](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2422))\r\n- Plugin: BlueArchive Title Generator [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2418](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2418))\r\n- Plugin: VRChat查询 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2411](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2411))\r\n- Plugin: FGO猜从者 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2416](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2416))\r\n- Plugin: 肯定机 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2409](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2409))\r\n- Plugin: morep-finder [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2407](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2407))\r\n- Plugin: op-finder [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2403](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2403))\r\n- Plugin: nonebot-plugin-playercheck [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2400](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2400))\r\n- Plugin: talk with eop ai [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2397](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2397))\r\n- Plugin: 算法比赛查询和今日比赛自动提醒 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2395](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2395))\r\n- Plugin: 屏蔽词插件 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2392](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2392))\r\n- Plugin: Nonebot Agent [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2389](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2389))\r\n- Plugin: 聚能环 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2384](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2384))\r\n\r\n### 🍻 机器人发布\r\n\r\n- Bot: 芙芙 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2426](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2426))\r\n- Bot: 妃爱 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2413](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2413))\r\n\r\n### 🍻 适配器发布\r\n\r\n- Adapter: Satori [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2405](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2405))","2023-10-31T10:06:54",{"id":210,"version":211,"summary_zh":212,"released_at":213},145114,"v2.1.1","### 🚀 新功能\r\n\r\n- Feature: 优先使用 `Annotated` 的最后一个子依赖 [@ProgramRipper](https:\u002F\u002Fgithub.com\u002FProgramRipper) ([#2360](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2360))\r\n- Feature: 优化检查事件响应器的日志 [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#2355](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2355))\r\n\r\n### 🐛 Bug 修复\r\n\r\n- Fix: bot.call_api 在被 called api hook mock 后应该忽略 exception [@Ailitonia](https:\u002F\u002Fgithub.com\u002FAilitonia) ([#2374](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2374))\r\n\r\n### 📝 文档\r\n\r\n- Docs: 修复商店搜索信息的错字 [@KomoriDev](https:\u002F\u002Fgithub.com\u002FKomoriDev) ([#2377](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2377))\r\n- Docs: 修复侧边栏 TOC 在 SSR 模式下的渲染问题 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2376](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2376))\r\n- Docs: 升级新版 NonePress 主题 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2375](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2375))\r\n- Docs: 增加赞助者显示 [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#2371](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2371))\r\n- Docs: 更新 `get_asgi` 函数的文档字符串 [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#2359](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2359))\r\n\r\n### 💫 杂项\r\n\r\n- Develop: 禁用 Pyright Bytes Promotion 配置 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2379](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2379))\r\n- Plugin: 修改 `Sekai Stickers` 插件信息 [@lgc2333](https:\u002F\u002Fgithub.com\u002Flgc2333) ([#2372](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2372))\r\n- CI: 使用更现代的功能 [@he0119](https:\u002F\u002Fgithub.com\u002Fhe0119) ([#2362](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2362))\r\n- Docs: 添加 wwads [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2361](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2361))\r\n\r\n### 🍻 插件发布\r\n\r\n- Plugin: 大电老师活字印刷 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2370](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2370))\r\n- Plugin: nonebot-plugin-video-api [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2367](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2367))\r\n- Plugin: 青年大学习提交 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2357](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2357))","2023-10-01T07:21:28",{"id":215,"version":216,"summary_zh":217,"released_at":218},145115,"v2.1.0","### 🚀 新功能\r\n\r\n- Feature: 为 Matcher.HANDLER_PARAM_TYPES 补增类型 [@RF-Tar-Railt](https:\u002F\u002Fgithub.com\u002FRF-Tar-Railt) ([#2352](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2352))\r\n- Feature: 为事件响应器添加更多源码信息 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2351](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2351))\r\n- Feature: 补充依赖注入部分情况下类型错误时的日志提示 [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#2343](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2343))\r\n- Feature: 支持子依赖定义 Pydantic 类型校验 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2310](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2310))\r\n- Feature: 细化 driver 职责类型 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2296](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2296))\r\n\r\n### 🐛 Bug 修复\r\n\r\n- Fix: 修复依赖注入解析类型标注错误 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2338](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2338))\r\n- Fix: 设置 file request 默认 filename [@eya46](https:\u002F\u002Fgithub.com\u002Feya46) ([#2284](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2284))\r\n\r\n### 📝 文档\r\n\r\n- Docs: 更新最佳实践部分的 Alconna 章节 [@RF-Tar-Railt](https:\u002F\u002Fgithub.com\u002FRF-Tar-Railt) ([#2349](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2349))\r\n- Docs: 添加 Discord 适配器描述，补充 Villa 适配器协议链接 [@CMHopeSunshine](https:\u002F\u002Fgithub.com\u002FCMHopeSunshine) ([#2316](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2316))\r\n- Docs: 添加 Red 适配器描述 [@RF-Tar-Railt](https:\u002F\u002Fgithub.com\u002FRF-Tar-Railt) ([#2313](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2313))\r\n- Docs: 更新最佳实践部分的 Alconna 章节 [@RF-Tar-Railt](https:\u002F\u002Fgithub.com\u002FRF-Tar-Railt) ([#2303](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2303))\r\n- Docs: 修复 Alconna 中 `CommandResult` 描述错误 [@KomoriDev](https:\u002F\u002Fgithub.com\u002FKomoriDev) ([#2282](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2282))\r\n- Docs: 修复子依赖部分代码行号错误 [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#2279](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2279))\r\n- Docs: 补充 `get_last_receive` 示例 [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#2278](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2278))\r\n- Docs: 修复文档中错误的标点 [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#2275](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2275))\r\n- Docs: 修复配置文档中 `Nickname` 属性的描述错误 [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#2271](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2271))\r\n- Docs: 适配器编写教程 [@CMHopeSunshine](https:\u002F\u002Fgithub.com\u002FCMHopeSunshine) ([#2079](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2079))\r\n- Docs: 更新贡献指南 [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#2255](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2255))\r\n- Docs: 修复文档 Last updated author 错误 [@eya46](https:\u002F\u002Fgithub.com\u002Feya46) ([#2241](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2241))\r\n- Docs: 更新最佳实践部分的 Alconna 章节 [@RF-Tar-Railt](https:\u002F\u002Fgithub.com\u002FRF-Tar-Railt) ([#2237](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2237))\r\n\r\n### 💫 杂项\r\n\r\n- Plugin: 删除插件 nonebot-plugin-heisi [@yzyyz1387](https:\u002F\u002Fgithub.com\u002Fyzyyz1387) ([#2353](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2353))\r\n- CI: 更新到 node 18 [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#2344](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2344))\r\n- CI: 插件测试使用最新的稳定版 Python 版本 [@he0119](https:\u002F\u002Fgithub.com\u002Fhe0119) ([#2336](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2336))\r\n- Plugin: 删除不再维护的插件 [@ZM25XC](https:\u002F\u002Fgithub.com\u002FZM25XC) ([#2330](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2330))\r\n- Plugin: 删除插件 poe ai [@nikissXI](https:\u002F\u002Fgithub.com\u002FnikissXI) ([#2308](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2308))\r\n- Plugin: 移除不再维护的插件，修改插件信息 [@Well2333](https:\u002F\u002Fgithub.com\u002FWell2333) ([#2292](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2292))\r\n- Fix: 修复 ruff 发现的问题 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2286](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2286))\r\n- Develop: 添加 dependabot actions 更新检查 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2256](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2256))\r\n- Develop: 添加 git attributes 定义 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2210](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2210))\r\n\r\n### 🍻 插件发布\r\n\r\n- Plugin: 文心一言 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2342](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2342))\r\n- Plugin: nonebot_plugin_group_whitelist [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2320](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2320))\r\n- Plugin: 森空岛明日方舟签到器 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2340](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2340))\r\n- Plugin: 女装 ! [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2337](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2337))\r\n- Plugin: helper_plus [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2324](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2324))\r\n- Plugin: nonebot-plugin-souti [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2334](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2334))\r\n- Plugin: Alconna 帮助工具 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2326](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2326))\r\n- Plugin: 消息伪造 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2312](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2312))\r\n- Plugin: 二维码 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow) ([#2302](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2302))\r\n- Plugin: httpcat-状态猫😺 [@noneflow](https:\u002F\u002Fgithub.com\u002Fnoneflow","2023-09-10T03:47:09",{"id":220,"version":221,"summary_zh":222,"released_at":223},145116,"v2.0.1","### 🚀 新功能\r\n\r\n- Develop: 添加 Pyright 检查 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2194](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2194))\r\n- Feature: 使用 `typing.override` 标记 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2193](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2193))\r\n- Feature: 补充响应器组属性 [@eya46](https:\u002F\u002Fgithub.com\u002Feya46) ([#2154](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2154))\r\n- Feature: CommandGroup 支持命令别名添加前缀选项 [@eya46](https:\u002F\u002Fgithub.com\u002Feya46) ([#2134](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2134))\r\n- Feature: 添加用于动态继承支持适配器数据的方法 [@NCBM](https:\u002F\u002Fgithub.com\u002FNCBM) ([#2127](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2127))\r\n- Feature: 添加内置插件的插件元数据 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2113](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2113))\r\n- Feature: 插件商店适配最新的插件元数据 [@he0119](https:\u002F\u002Fgithub.com\u002Fhe0119) ([#2094](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2094))\r\n- Feature: 依赖注入支持 Generic TypeVar 和 Matcher 重载 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2089](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2089))\r\n\r\n### 🐛 Bug 修复\r\n\r\n- Fix: 修复 Quart WS task 上下文错误 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2192](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2192))\r\n- Fix: 修复 dotenv 配置项为 None 将会跳过赋值 [@eya46](https:\u002F\u002Fgithub.com\u002Feya46) ([#2143](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2143))\r\n- Fix: 修复 `ArgParam` 不支持 `Annotated` [@eya46](https:\u002F\u002Fgithub.com\u002Feya46) ([#2124](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2124))\r\n- Fix: aiohttp 请求时 data 和 file 不能同时存在 [@j1g5awi](https:\u002F\u002Fgithub.com\u002Fj1g5awi) ([#2088](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2088))\r\n- Fix: 修复因 loguru 更新导致的启动和关闭日志 name 不正常 [@DiheChen](https:\u002F\u002Fgithub.com\u002FDiheChen) ([#2080](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2080))\r\n\r\n### 📝 文档\r\n\r\n- Docs: 移动 Alconna 文档至最佳实践 [@RF-Tar-Railt](https:\u002F\u002Fgithub.com\u002FRF-Tar-Railt) ([#2208](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2208))\r\n- Docs: 移除商店中不符合现规范的 tag [@j1g5awi](https:\u002F\u002Fgithub.com\u002Fj1g5awi) ([#2205](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2205))\r\n- Docs: 添加 scoped 插件配置指南 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2198](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2198))\r\n- Docs: 钩子函数代码片段补充 [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#2173](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2173))\r\n- Docs: 格式化钩子函数中的代码片段 [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#2172](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2172))\r\n- Docs: 补充 Message.only 文档 [@eya46](https:\u002F\u002Fgithub.com\u002Feya46) ([#2155](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2155))\r\n- Docs: 修复日志自定义文档 typo [@17TheWord](https:\u002F\u002Fgithub.com\u002F17TheWord) ([#2140](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2140))\r\n- Docs: 修复依赖注入文档 `ArgStr` 3.9+ 和 3.8+ 版本代码写反 [@eya46](https:\u002F\u002Fgithub.com\u002Feya46) ([#2126](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2126))\r\n- Docs: 删除商店插件发布多余模块 [@forchannot](https:\u002F\u002Fgithub.com\u002Fforchannot) ([#2095](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2095))\r\n- Docs: 微调插件元数据的部分描述 [@NCBM](https:\u002F\u002Fgithub.com\u002FNCBM) ([#2096](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2096))\r\n- Docs: 完成发布插件教程 [@NCBM](https:\u002F\u002Fgithub.com\u002FNCBM) ([#2078](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2078))\r\n- Docs: 更新插件元数据的相关描述 [@NCBM](https:\u002F\u002Fgithub.com\u002FNCBM) ([#2087](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2087))\r\n- Docs: 添加 Villa 适配器到 README [@CMHopeSunshine](https:\u002F\u002Fgithub.com\u002FCMHopeSunshine) ([#2086](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2086))\r\n\r\n### 💫 杂项\r\n\r\n- Plugin: 黑白名单添加标签 [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#2170](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2170))\r\n- Plugin: 修改 nonebot-plugin-ocgbot-v2 插件名称 [@fireinsect](https:\u002F\u002Fgithub.com\u002Ffireinsect) ([#2147](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2147))\r\n- Plugin: 更新 SparkGPT 插件描述 [@canxin121](https:\u002F\u002Fgithub.com\u002Fcanxin121) ([#2144](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2144))\r\n- Plugin: 修改 nonebot-plugin-ocgbot-v2 插件名称 [@fireinsect](https:\u002F\u002Fgithub.com\u002Ffireinsect) ([#2141](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2141))\r\n- Plugin: 删除 nonebot-plugin-phlogo [@kexue-z](https:\u002F\u002Fgithub.com\u002Fkexue-z) ([#2128](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2128))\r\n- Plugin: 修改 `nonebot-plugin-gw2` 模块名 [@Agnes4m](https:\u002F\u002Fgithub.com\u002FAgnes4m) ([#2123](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2123))\r\n- Develop: 添加 ruff linter [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2114](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2114))\r\n- Plugin: 更新 `nonebot-plugin-msgbuf` 插件的名称等信息 [@NCBM](https:\u002F\u002Fgithub.com\u002FNCBM) ([#2119](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2119))\r\n- Plugin: 修改插件信息和仓库地址 [@Agnes4m](https:\u002F\u002Fgithub.com\u002FAgnes4m) ([#2115](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2115))\r\n- Test: 移除 httpbin 并整理测试 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2110](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2110))\r\n- CI: 缓存 NoneFlow 所需的 pre-commit hooks [@he0119](https:\u002F\u002Fgithub.com\u002Fhe0119) ([#2104](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2104))\r\n- Plugin: 移除过时未更新的插件\\&Bot [@FYWinds](https:\u002F\u002Fgithub.com\u002FFYWinds) ([#2072](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2072))\r\n- Plugin: 删除插件 nonebot_plugin_r6s [@BalconyJH](https:\u002F\u002Fgithub.com\u002FBalconyJH) ([#2071](htt","2023-07-23T08:25:32",{"id":225,"version":226,"summary_zh":227,"released_at":228},145117,"v2.0.0","### 💥 破坏性变更\r\n\r\n- Feature: 支持 `re.Match` 依赖注入 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1950](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1950))\r\n\r\n### 🚀 新功能\r\n\r\n- Feature: 优化事件分发方法 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2067](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2067))\r\n- Feature: 移除部分依赖注入参数默认值检查 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2034](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2034))\r\n- Feature: 添加插件元数据字段 `type` `homepage` `supported_adapters` [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2012](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2012))\r\n- Feature: 支持 `re.Match` 依赖注入 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1950](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1950))\r\n- Feature: 支持主动停止 `none` 系列驱动器 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1951](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1951))\r\n- Feature: 为消息类添加 `has` `join` `include` `exclude` 方法 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1895](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1895))\r\n\r\n### 🐛 Bug 修复\r\n\r\n- Fix: 修复插件 require 未声明插件会识别为子插件 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2040](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2040))\r\n- Fix: 修复命令强制空白符影响无参数情况 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1975](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1975))\r\n- Fix: `run_sync` 上下文 [@synodriver](https:\u002F\u002Fgithub.com\u002Fsynodriver) ([#1968](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1968))\r\n- Fix: shell command 包含富文本时报错信息出错 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1923](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1923))\r\n\r\n### 📝 文档\r\n\r\n- Docs: 添加 Alconna 响应器介绍 [@RF-Tar-Railt](https:\u002F\u002Fgithub.com\u002FRF-Tar-Railt) ([#2069](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2069))\r\n- Docs: 更新 README 适配器链接 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2068](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2068))\r\n- Docs: 使用 issue form 进行商店发布 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#2010](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2010))\r\n- Docs: 修复获取事件信息文档代码范例中的高亮行 [@Lptr-byte](https:\u002F\u002Fgithub.com\u002FLptr-byte) ([#1983](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1983))\r\n- Docs: 修复事件处理函数文档代码范例中缺失的 import [@Lptr-byte](https:\u002F\u002Fgithub.com\u002FLptr-byte) ([#1982](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1982))\r\n- Docs: 修复获取事件信息文档代码范例中缺失的 import [@Lptr-byte](https:\u002F\u002Fgithub.com\u002FLptr-byte) ([#1980](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1980))\r\n- Docs: 新增插件跨平台指南 [@Well2333](https:\u002F\u002Fgithub.com\u002FWell2333) ([#1938](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1938))\r\n- Docs: 开启 blank issues [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1945](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1945))\r\n- Docs: 使用 issue 表单替换 issue 模板 [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#1928](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1928))\r\n- Docs: 修正教程中部分 import 缺失的问题 [@Well2333](https:\u002F\u002Fgithub.com\u002FWell2333) ([#1927](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1927))\r\n- Docs: 添加 Walle-Q 到 Readme [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1891](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1891))\r\n- Docs: 更新部署文档 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1890](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1890))\r\n\r\n### 💫 杂项\r\n\r\n- Plugin: Hello World 添加 tag [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#2056](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2056))\r\n- Plugin: 修改 nonebot-plugin-logpile 的名称和描述 [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#2057](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2057))\r\n- Plugin: 移除 `nonebot_paddle_ocr` 和 `nonebot_poe_chat` [@canxin121](https:\u002F\u002Fgithub.com\u002Fcanxin121) ([#2039](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2039))\r\n- Plugin: 移除 `nonebot-plugin-rtfm` 插件 [@MingxuanGame](https:\u002F\u002Fgithub.com\u002FMingxuanGame) ([#2037](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2037))\r\n- Plugin: 移除 extrautils 工具拓展插件（暂停维护） [@NCBM](https:\u002F\u002Fgithub.com\u002FNCBM) ([#2033](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F2033))\r\n- Adapter: 更新 Minecraft 适配器 [@17TheWord](https:\u002F\u002Fgithub.com\u002F17TheWord) ([#1972](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1972))\r\n- Docs: 更正 issue 表单部分内容 [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#1961](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1961))\r\n- Plugin: 更新 AutoReply 插件描述 [@lgc2333](https:\u002F\u002Fgithub.com\u002Flgc2333) ([#1949](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1949))\r\n- Plugin: 移除 `MC_QQ_MCRcon` [@17TheWord](https:\u002F\u002Fgithub.com\u002F17TheWord) ([#1948](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1948))\r\n- Plugin: 更新 lgc2333 插件仓库地址 [@lgc2333](https:\u002F\u002Fgithub.com\u002Flgc2333) ([#1935](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1935))\r\n- Plugin: 更新多功能哔哩哔哩解析工具 [@djkcyl](https:\u002F\u002Fgithub.com\u002Fdjkcyl) ([#1913](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1913))\r\n- CI: 跳过 PR 仓库为 fork 的情况 [@he0119](https:\u002F\u002Fgithub.com\u002Fhe0119) ([#1905](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1905))\r\n- Plugin: 移除旧版本的 GenshinUID [@KimigaiiWuyi](https:\u002F\u002Fgithub.com\u002FKimigaiiWuyi) ([#1904](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1904))\r\n- CI: 使用最新的 NoneFlow [@he0119](https:\u002F\u002Fgithub.com\u002Fhe0119) ([#1899](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1899))\r\n- CI: 使用 NoneFlow 管理工作流 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1892](https:\u002F\u002Fgithub.com\u002F","2023-06-01T06:27:12",{"id":230,"version":231,"summary_zh":232,"released_at":233},145118,"v2.0.0rc4","### 🚀 新功能\r\n\r\n- Feature: 公开自定义 `on` 函数所需的函数 [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#1856](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1856))\r\n- Feature: 重构驱动器 lifespan 方法 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1860](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1860))\r\n- Test: 使用 conditional coverage 插件 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1858](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1858))\r\n- Feature: 在 Windows 上处理 SIGBREAK 信号 [@he0119](https:\u002F\u002Fgithub.com\u002Fhe0119) ([#1836](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1836))\r\n- Feature: 为子依赖添加 PEP593 `Annotated` 支持 [@mnixry](https:\u002F\u002Fgithub.com\u002Fmnixry) ([#1832](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1832))\r\n- Feature: 为 `User` 权限添加便捷创建方法 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1825](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1825))\r\n- Feature: 移除内置响应规则事件类型限制 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1824](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1824))\r\n- Feature: 允许继承和使用 Matcher 子类 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1815](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1815))\r\n- Feature: 添加 `get_adapter` 类型 overload [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1755](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1755))\r\n- Feature: 命令匹配支持强制指定空白符 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1748](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1748))\r\n- Feature: 添加获取已注册适配器的方法 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1747](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1747))\r\n- Feature: 使用 `tomllib` 读取 toml 配置 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1720](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1720))\r\n- Feature: 优化插件加载日志 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1716](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1716))\r\n- Feature: 在加载 driver 引发 ImportError 时，使用 `raise from e` [@shoucandanghehe](https:\u002F\u002Fgithub.com\u002Fshoucandanghehe) ([#1689](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1689))\r\n- Feature: 添加端口配置项约束验证 [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#1632](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1632))\r\n\r\n### 🐛 Bug 修复\r\n\r\n- Test: coverage condition invert [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1862](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1862))\r\n- Fix: 检测运行时创建响应器的插件 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1857](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1857))\r\n- Fix: 修复事件响应器辅助函数丢失 block [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1859](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1859))\r\n- Fix: 修复 bot hook 缺少依赖缓存和上下文管理 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1826](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1826))\r\n- Fix: 会话更新依赖注入缺少缓存和上下文管理 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1807](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1807))\r\n- Fix: 修复适配器能断开非自身所有的 Bot 对象 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1757](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1757))\r\n\r\n### 📝 文档\r\n\r\n- Docs: 修改 NoneBug 独立测试模式流程控制参数 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1866](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1866))\r\n- Docs: 添加 VSCode 配置项名称 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1863](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1863))\r\n- Docs: 添加 Message 基类模板使用警告 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1853](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1853))\r\n- Docs: 移除 Messenger 移动端预期外的蓝色遮罩 [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#1842](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1842))\r\n- Docs: 更新指向文档的链接 [@he0119](https:\u002F\u002Fgithub.com\u002Fhe0119) ([#1841](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1841))\r\n- Docs: 更新 setup 动图 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1840](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1840))\r\n- Docs: 重写教程与进阶指南 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1604](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1604))\r\n- Docs: pip 安装指令添加引号 [@3yude](https:\u002F\u002Fgithub.com\u002F3yude) ([#1724](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1724))\r\n- Docs: 修正交互模式命令 [@3yude](https:\u002F\u002Fgithub.com\u002F3yude) ([#1719](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1719))\r\n\r\n### 💫 杂项\r\n\r\n- Plugin: 删除 bnhhsh [@lgc2333](https:\u002F\u002Fgithub.com\u002Flgc2333) ([#1792](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1792))\r\n- CI: 暂时修复 poetry 依赖安装 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1776](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1776))\r\n- Plugin: 修改链接分享解析器插件名称 [@zhiyu1998](https:\u002F\u002Fgithub.com\u002Fzhiyu1998) ([#1715](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1715))\r\n- Bot: 移除 ShigureBot [@lgc2333](https:\u002F\u002Fgithub.com\u002Flgc2333) ([#1699](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1699))\r\n- CI: 发布机器人使用 latest 标签 [@he0119](https:\u002F\u002Fgithub.com\u002Fhe0119) ([#1690](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1690))\r\n- Fix: 修改 bilibili live 的模块路径 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1679](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1679))\r\n- Docs: 移除商店中的过期插件 2023 [@j1g5awi](https:\u002F\u002Fgithub.com\u002Fj1g5awi) ([#1610](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1610))\r\n\r\n### 🍻 插件发布\r\n\r\n- Plugin: ChatGPT网页端API [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1865](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1865))\r\n- Plugin: 原神cos [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) (","2023-04-01T04:00:18",{"id":235,"version":236,"summary_zh":237,"released_at":238},145119,"v2.0.0rc3","### 🚀 新功能\r\n\r\n- Feature: 添加事件响应器检查完成日志 [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#1578](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1578))\r\n- Remove: 移除默认安装 FastAPI [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1557](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1557))\r\n- Feature: 支持给 `FastAPI` 和 `Quart` 传递额外的参数 [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#1543](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1543))\r\n- Feature: 添加 `logger` 重导出 [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#1526](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1526))\r\n- Feature: 将 block driver 转正为 none 驱动器 [@he0119](https:\u002F\u002Fgithub.com\u002Fhe0119) ([#1522](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1522))\r\n- Develop: 使用 pycln 自动移除未使用的 import [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1481](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1481))\r\n- Feature: 添加正则匹配文本注入 [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#1457](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1457))\r\n- Feature: 支持主动销毁事件响应器 [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#1444](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1444))\r\n\r\n### 🐛 Bug 修复\r\n\r\n- Fix: 屏蔽 fastapi 0.89.0 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1574](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1574))\r\n- Fix: 修复子插件加载失败时没有从父插件中移除的问题 [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#1559](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1559))\r\n- Fix: 修复客户端请求未处理 cookies [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1491](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1491))\r\n- Fix: `on_type` typing error [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1482](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1482))\r\n- Fix: 修复 ArgumentParser 错误信息叠加问题 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1426](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1426))\r\n\r\n### 📝 文档\r\n\r\n- Docs: 修改更新部分文档 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1615](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1615))\r\n- Docs: 商店搜索大小写不敏感 [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#1609](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1609))\r\n- Docs: 更新测试文档中的连接方式\\&细化插件发布描述 [@StarHeartHunt](https:\u002F\u002Fgithub.com\u002FStarHeartHunt) ([#1504](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1504))\r\n- Docs: 修复文档中部分超链接跳转到 `\u002Fstore.html` 的问题 [@yzyyz1387](https:\u002F\u002Fgithub.com\u002Fyzyyz1387) ([#1470](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1470))\r\n- Fix: 补充 `params` 模块的类型注解 [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#1458](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1458))\r\n- Docs: 移除文档 `自定义日志` 中多余的符号 [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#1448](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1448))\r\n- Docs: 完善 `调用平台 API` 部分 [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#1447](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1447))\r\n- Docs: 修正文档中部分配置文件示例的符号误用 [@MingxuanGame](https:\u002F\u002Fgithub.com\u002FMingxuanGame) ([#1432](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1432))\r\n\r\n### 💫 杂项\r\n\r\n- Plugin: 移除 nonebot-plugin-puppet [@j1g5awi](https:\u002F\u002Fgithub.com\u002Fj1g5awi) ([#1605](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1605))\r\n- Plugin: 更新 MC 的插件信息 [@nikissXI](https:\u002F\u002Fgithub.com\u002FnikissXI) ([#1589](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1589))\r\n- Plugin: 移除 `nonebot-plugin-aidraw` [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#1588](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1588))\r\n- Plugins: 更新 ayaka_games 插件名和描述 [@bridgeL](https:\u002F\u002Fgithub.com\u002FbridgeL) ([#1586](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1586))\r\n- Plugin: 更新 tts_gal 插件名和描述 [@dpm12345](https:\u002F\u002Fgithub.com\u002Fdpm12345) ([#1581](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1581))\r\n- Plugin: 移除 `nonebot_plugin_super_resolution` [@A-kirami](https:\u002F\u002Fgithub.com\u002FA-kirami) ([#1561](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1561))\r\n- Plugin: 更新 OlivOS.nb2 import 包名 [@j1g5awi](https:\u002F\u002Fgithub.com\u002Fj1g5awi) ([#1560](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1560))\r\n- Develop: 添加 pyright 环境配置 [@yanyongyu](https:\u002F\u002Fgithub.com\u002Fyanyongyu) ([#1554](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1554))\r\n- CI: 优化触发条件减少无效运行 [@he0119](https:\u002F\u002Fgithub.com\u002Fhe0119) ([#1545](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1545))\r\n- Plugin: 删除 ayaka_who_is_suspect 插件 [@bridgeL](https:\u002F\u002Fgithub.com\u002FbridgeL) ([#1525](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1525))\r\n- Fix: 修复异常在 traceback 中无法正常显示信息 [@he0119](https:\u002F\u002Fgithub.com\u002Fhe0119) ([#1521](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1521))\r\n- CI: 添加插件加载测试 [@he0119](https:\u002F\u002Fgithub.com\u002Fhe0119) ([#1519](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1519))\r\n- Plugin: 移除 `nonebot-plugin-filehost` [@mnixry](https:\u002F\u002Fgithub.com\u002Fmnixry) ([#1516](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1516))\r\n- Plugin: 更新 `abstain_diary` 插件名和描述 [@Ikaros-521](https:\u002F\u002Fgithub.com\u002FIkaros-521) ([#1509](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1509))\r\n- Plugin: 更新 gpt3 插件模块名 [@chrisyy2003](https:\u002F\u002Fgithub.com\u002Fchrisyy2003) ([#1501](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1501))\r\n- Plugin: 更新 随机禁言 插件功能描述 [@Ikaros-521](https:\u002F\u002Fgithub.com\u002FIkaros-521) ([#1495](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1495))\r\n- Plugin: 更新 multi chatgpt 插件仓库地址 [@chrisyy2003](https:\u002F\u002Fgithub.com\u002Fchrisyy2003) ([#1487](https:\u002F\u002Fgithub.com\u002Fnonebot\u002Fnonebot2\u002Fpull\u002F1487))\r\n- Plugin: 更新 ayak","2023-01-22T08:18:27"]