[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-AstrBotDevs--AstrBot":3,"tool-AstrBotDevs--AstrBot":62},[4,18,26,36,46,54],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},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 真正成长为懂上",160015,2,"2026-04-18T11:30:52",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":42,"last_commit_at":43,"category_tags":44,"status":17},8272,"opencode","anomalyco\u002Fopencode","OpenCode 是一款开源的 AI 编程助手（Coding Agent），旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件，而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码，还是排查难以定位的 Bug，OpenCode 都能通过自然语言交互高效完成，显著减少开发者在重复性劳动和上下文切换上的时间消耗。\n\n这款工具专为软件开发者、工程师及技术研究人员设计，特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构，这意味着用户可以审查代码逻辑、自定义行为策略，甚至私有化部署以保障数据安全，彻底打破了传统闭源 AI 助手的“黑盒”限制。\n\n在技术体验上，OpenCode 提供了灵活的终端界面（Terminal UI）和正在测试中的桌面应用程序，支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具，安装便捷，并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客，还是渴望提升产出的独立开发者，OpenCode 都提供了一个透明、可信",144296,1,"2026-04-16T14:50:03",[13,45],"插件",{"id":47,"name":48,"github_repo":49,"description_zh":50,"stars":51,"difficulty_score":32,"last_commit_at":52,"category_tags":53,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[14,15,13],{"id":55,"name":56,"github_repo":57,"description_zh":58,"stars":59,"difficulty_score":32,"last_commit_at":60,"category_tags":61,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[45,13,15,14],{"id":63,"github_repo":64,"name":65,"description_en":66,"description_zh":67,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":78,"owner_twitter":77,"owner_website":79,"owner_url":80,"languages":81,"stars":119,"forks":120,"last_commit_at":121,"license":122,"difficulty_score":32,"env_os":123,"env_gpu":124,"env_ram":125,"env_deps":126,"category_tags":131,"github_topics":132,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":149,"updated_at":150,"faqs":151,"releases":188},9287,"AstrBotDevs\u002FAstrBot","AstrBot","AI Agent Assistant that integrates lots of IM platforms, LLMs, plugins and AI feature, and can be your openclaw alternative. ✨","AstrBot 是一款功能强大的开源 AI 智能体聊天机器人平台，旨在将先进的大语言模型（LLM）无缝集成到各类主流即时通讯软件中。它不仅仅是一个简单的聊天机器人，更是一个支持高度扩展的对话式 AI 基础设施，能够作为 OpenClaw 等工具的优质替代方案。\n\n对于希望在不同社交平台（如 QQ、微信、Telegram 等）上部署统一 AI 助手的用户而言，AstrBot 解决了多平台适配复杂、模型切换困难以及功能扩展受限等痛点。通过其模块化设计，用户可以轻松接入多种大模型，并利用丰富的插件系统自定义 AI 的行为与能力，实现从日常闲聊到复杂任务处理的多样化场景覆盖。\n\n这款工具特别适合开发者、技术爱好者以及需要构建私有化 AI 服务的企业或个人使用。无论是想要快速搭建专属智能助手的研究人员，还是希望为社群提供自动化服务的运营者，都能通过 AstrBot 获得稳定且可扩展的解决方案。其独特的亮点在于对多 IM 平台的广泛支持、灵活的插件生态以及便捷的部署方式（包括 Docker 一键部署），让技术门槛大幅降低，同时保持了极高的自由度与可定制性。","![astrbot-github-banner-v2-light-0405_副本](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAstrBotDevs_AstrBot_readme_269678ef7fd0.png)\n\n\n\u003Cdiv align=\"center\">\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fblob\u002Fmaster\u002FREADME_zh.md\">简体中文\u003C\u002Fa> ｜\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fblob\u002Fmaster\u002FREADME_zh-TW.md\">繁體中文\u003C\u002Fa> ｜\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fblob\u002Fmaster\u002FREADME_ja.md\">日本語\u003C\u002Fa> ｜\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fblob\u002Fmaster\u002FREADME_fr.md\">Français\u003C\u002Fa> ｜\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fblob\u002Fmaster\u002FREADME_ru.md\">Русский\u003C\u002Fa>\n\n\u003Cbr>\n\n\u003Cdiv>\n\u003Ca href=\"https:\u002F\u002Ftrendshift.io\u002Frepositories\u002F12875\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAstrBotDevs_AstrBot_readme_4a68feb902da.png\" alt=\"Soulter%2FAstrBot | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"\u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fhellogithub.com\u002Frepository\u002FAstrBotDevs\u002FAstrBot\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fapi.hellogithub.com\u002Fv1\u002Fwidgets\u002Frecommend.svg?rid=d127d50cd5e54c5382328acc3bb25483&claim_uid=ZO9by7qCXgSd6Lp&t=2\" alt=\"Featured｜HelloGitHub\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" \u002F>\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n\u003Cbr>\n\n\u003Cdiv>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002FAstrBotDevs\u002FAstrBot?color=76bad9\" href=\"https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Freleases\u002Flatest\">\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.10+-blue.svg\" alt=\"python\">\n\u003Cimg src=\"https:\u002F\u002Fdeepwiki.com\u002Fbadge.svg\" href=\"https:\u002F\u002Fdeepwiki.com\u002FAstrBotDevs\u002FAstrBot\">\n\u003Ca href=\"https:\u002F\u002Fzread.ai\u002FAstrBotDevs\u002FAstrBot\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAsk_Zread-_.svg?style=flat&color=00b0aa&labelColor=000000&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQuOTYxNTYgMS42MDAxSDIuMjQxNTZDMS44ODgxIDEuNjAwMSAxLjYwMTU2IDEuODg2NjQgMS42MDE1NiAyLjI0MDFWNC45NjAxQzEuNjAxNTYgNS4zMTM1NiAxLjg4ODEgNS42MDAxIDIuMjQxNTYgNS42MDAxSDQuOTYxNTZDNS4zMTUwMiA1LjYwMDEgNS42MDE1NiA1LjMxMzU2IDUuNjAxNTYgNC45NjAxVjIuMjQwMUM1LjYwMTU2IDEuODg2NjQgNS4zMTUwMiAxLjYwMDEgNC45NjE1NiAxLjYwMDFaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00Ljk2MTU2IDEwLjM5OTlIMi4yNDE1NkMxLjg4ODEgMTAuMzk5OSAxLjYwMTU2IDEwLjY4NjQgMS42MDE1NiAxMS4wMzk5VjEzLjc1OTlDMS42MDE1NiAxNC4xMTM0IDEuODg4MSAxNC4zOTk5IDIuMjQxNTYgMTQuMzk5OUg0Ljk2MTU2QzUuMzE1MDIgMTQuMzk5OSA1LjYwMTU2IDE0LjExMzQgNS42MDE1NiAxMy43NTk5VjExLjAzOTlDNS42MDE1NiAxMC42ODY0IDUuMzE1MDIgMTAuMzk5OSA0Ljk2MTU2IDEwLjM5OTlaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik0xMy43NTg0IDEuNjAwMUgxMS4wMzg0QzEwLjY4NSAxLjYwMDEgMTAuMzk4NCAxLjg4NjY0IDEwLjM5ODQgMi4yNDAxVjQuOTYwMUMxMC4zOTg0IDUuMzEzNTYgMTAuNjg1IDUuNjAwMSAxMS4wMzg0IDUuNjAwMUgxMy43NTg0QzE0LjExMTkgNS42MDAxIDE0LjM5ODQgNS4zMTM1NiAxNC4zOTg0IDQuOTYwMVYyLjI0MDFDMTQuMzk4NCAxLjg4NjY0IDE0LjExMTkgMS42MDAxIDEzLjc1ODQgMS42MDAxWiIgZmlsbD0iI2ZmZiIvPgo8cGF0aCBkPSJNNCAxMkwxMiA0TDQgMTJaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00IDEyTDEyIDQiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K&logoColor=ffffff\" alt=\"zread\"\u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fhub.docker.com\u002Fr\u002Fsoulter\u002Fastrbot\">\u003Cimg alt=\"Docker pull\" src=\"https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fpulls\u002Fsoulter\u002Fastrbot.svg?color=76bad9\"\u002F>\u003C\u002Fa>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdynamic\u002Fjson?url=https%3A%2F%2Fapi.soulter.top%2Fastrbot%2Fplugin-num&query=%24.result&suffix=%20plugins&label=Marketplace&cacheSeconds=3600\">\n\u003Cimg src=\"https:\u002F\u002Fgitcode.com\u002FSoulter\u002FAstrBot\u002Fstar\u002Fbadge.svg\" href=\"https:\u002F\u002Fgitcode.com\u002FSoulter\u002FAstrBot\">\n\u003C\u002Fdiv>\n\n\u003Cbr>\n\n\u003Ca href=\"https:\u002F\u002Fastrbot.app\u002F\">Documentation\u003C\u002Fa> ｜\n\u003Ca href=\"https:\u002F\u002Fblog.astrbot.app\u002F\">Blog\u003C\u002Fa> ｜\n\u003Ca href=\"https:\u002F\u002Fastrbot.featurebase.app\u002Froadmap\">Roadmap\u003C\u002Fa> ｜\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\">Issue Tracker\u003C\u002Fa> ｜\n\u003Ca href=\"mailto:community@astrbot.app\">Email Support\u003C\u002Fa>\n\u003C\u002Fdiv>\n\nAstrBot is an open-source all-in-one Agent chatbot platform that integrates with mainstream instant messaging apps. It provides reliable and scalable conversational AI infrastructure for individuals, developers, and teams. Whether you're building a personal AI companion, intelligent customer service, automation assistant, or enterprise knowledge base, AstrBot enables you to quickly build production-ready AI applications within your IM platform workflows.\n\n![screenshot_1 5x_postspark_2026-02-27_22-37-45](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAstrBotDevs_AstrBot_readme_4d312c1d5915.png)\n\n## Key Features\n\n1. 💯 Free & Open Source.\n2. ✨ AI LLM Conversations, Multimodal, Agent, MCP, Skills, Knowledge Base, Persona Settings, Auto Context Compression.\n3. 🤖 Supports integration with Dify, Alibaba Cloud Bailian, Coze, and other agent platforms.\n4. 🌐 Multi-Platform: QQ, WeChat Work, Feishu, DingTalk, WeChat Official Accounts, Telegram, Slack, and [more](#supported-messaging-platforms).\n5. 📦 Plugin Extensions with 1000+ plugins available for one-click installation.\n6. 🛡️ [Agent Sandbox](https:\u002F\u002Fdocs.astrbot.app\u002Fuse\u002Fastrbot-agent-sandbox.html) for isolated, safe execution of code, shell calls, and session-level resource reuse.\n7. 💻 WebUI Support.\n8. 🌈 Web ChatUI Support with built-in agent sandbox and web search.\n9. 🌐 Internationalization (i18n) Support.\n\n\u003Cbr>\n\n\u003Ctable align=\"center\">\n  \u003Ctr align=\"center\">\n    \u003Cth>💙 Role-playing & Emotional Companionship\u003C\u002Fth>\n    \u003Cth>✨ Proactive Agent\u003C\u002Fth>\n    \u003Cth>🚀 General Agentic Capabilities\u003C\u002Fth>\n    \u003Cth>🧩 1000+ Community Plugins\u003C\u002Fth>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd align=\"center\">\u003Cp align=\"center\">\u003Cimg width=\"984\" height=\"1746\" alt=\"99b587c5d35eea09d84f33e6cf6cfd4f\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAstrBotDevs_AstrBot_readme_99b587c5d35e.png\" \u002F>\u003C\u002Fp>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">\u003Cp align=\"center\">\u003Cimg width=\"976\" height=\"1612\" alt=\"c449acd838c41d0915cc08a3824025b1\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAstrBotDevs_AstrBot_readme_c449acd838c4.png\" \u002F>\u003C\u002Fp>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">\u003Cp align=\"center\">\u003Cimg width=\"974\" height=\"1732\" alt=\"image\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAstrBotDevs_AstrBot_readme_7f161d38b181.png\" \u002F>\u003C\u002Fp>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">\u003Cp align=\"center\">\u003Cimg width=\"976\" height=\"1734\" alt=\"image\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAstrBotDevs_AstrBot_readme_8cd53dbd63f9.png\" \u002F>\u003C\u002Fp>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n## Quick Start\n\n### One-Click Deployment\n\nFor users who want to quickly experience AstrBot, are familiar with command-line usage, and can install a `uv` environment on their own, we recommend the `uv` one-click deployment method ⚡️:\n\n```bash\nuv tool install astrbot --python 3.12\nastrbot init # Only execute this command for the first time to initialize the environment\nastrbot run\n```\n\n> Requires [uv](https:\u002F\u002Fdocs.astral.sh\u002Fuv\u002F) to be installed.\n> AstrBot requires Python 3.12 or later. The `--python 3.12` option ensures that `uv` creates the tool environment with Python 3.12.\n\n> [!NOTE]\n> For macOS users: due to macOS security checks, the first run of the `astrbot` command may take longer (about 10-20s).\n\nUpdate `astrbot`:\n\n```bash\nuv tool upgrade astrbot --python 3.12\n```\n\n> [!WARNING]\n> AstrBot deployed via `uv` **does not support upgrading through the WebUI**. To update, please run the command above from the command line.\n\n### Docker Deployment\n\nFor users familiar with containers and looking for a more stable, production-ready deployment method, we recommend deploying AstrBot with Docker \u002F Docker Compose.\n\nPlease refer to the official documentation: [Deploy AstrBot with Docker](https:\u002F\u002Fdocs.astrbot.app\u002Fdeploy\u002Fastrbot\u002Fdocker.html#%E4%BD%BF%E7%94%A8-docker-%E9%83%A8%E7%BD%B2-astrbot).\n\n### Deploy on RainYun\n\nFor users who want one-click deployment and do not want to manage servers themselves, we recommend RainYun's one-click cloud deployment service ☁️:\n\n[![Deploy on RainYun](https:\u002F\u002Frainyun-apps.cn-nb1.rains3.com\u002Fmaterials\u002Fdeploy-on-rainyun-en.svg)](https:\u002F\u002Fapp.rainyun.com\u002Fapps\u002Frca\u002Fstore\u002F5994?ref=NjU1ODg0)\n\n### Desktop Application Deployment\n\nFor users who want to use AstrBot on desktop and mainly use ChatUI, we recommend AstrBot App.\n\nVisit [AstrBot-desktop](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot-desktop) to download and install; this method is designed for desktop usage and is not recommended for server scenarios.\n\n### Launcher Deployment\n\nFor desktop users who also want fast deployment and isolated multi-instance usage, we recommend AstrBot Launcher.\n\nVisit [AstrBot Launcher](https:\u002F\u002Fgithub.com\u002FRaven95676\u002Fastrbot-launcher) to download and install.\n\n### Deploy on Replit\n\nReplit deployment is maintained by the community and is suitable for online demos and lightweight trials.\n\n[![Run on Repl.it](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAstrBotDevs_AstrBot_readme_26e23a0dcf49.png)](https:\u002F\u002Frepl.it\u002Fgithub\u002FAstrBotDevs\u002FAstrBot)\n\n### AUR\n\nAUR deployment targets Arch Linux users who prefer installing AstrBot through the system package workflow.\n\nRun the command below to install `astrbot-git`, then start AstrBot in your local environment.\n\n```bash\nyay -S astrbot-git\n```\n\n**More deployment methods**\n\nIf you need panel-based management or deeper customization, see [BT-Panel Deployment](https:\u002F\u002Fdocs.astrbot.app\u002Fdeploy\u002Fastrbot\u002Fbtpanel.html) for BT Panel app-store setup, [1Panel Deployment](https:\u002F\u002Fdocs.astrbot.app\u002Fdeploy\u002Fastrbot\u002F1panel.html) for 1Panel app-market deployment, [CasaOS Deployment](https:\u002F\u002Fdocs.astrbot.app\u002Fdeploy\u002Fastrbot\u002Fcasaos.html) for NAS\u002Fhome-server visual deployment, and [Manual Deployment](https:\u002F\u002Fdocs.astrbot.app\u002Fdeploy\u002Fastrbot\u002Fcli.html) for fully custom source-based installation with `uv`.\n\n## Supported Messaging Platforms\n\nConnect AstrBot to your favorite chat platform.\n\n| Platform | Maintainer |\n|---------|---------------|\n| QQ | Official |\n| OneBot v11 protocol implementation | Official |\n| Telegram | Official |\n| Wecom & Wecom AI Bot | Official |\n| WeChat Official Accounts | Official |\n| Feishu (Lark) | Official |\n| DingTalk | Official |\n| Slack | Official |\n| Discord | Official |\n| LINE | Official |\n| Satori | Official |\n| KOOK | Official |\n| Misskey | Official |\n| Mattermost | Official |\n| WhatsApp (Coming Soon) | Official |\n| [Matrix](https:\u002F\u002Fgithub.com\u002Fstevessr\u002Fastrbot_plugin_matrix_adapter) | Community |\n| [Rocket.Chat](https:\u002F\u002Fgithub.com\u002FNET-Homeless\u002Fastrbot_plugin_rocket_chat_adapter) | Community |\n| [VoceChat](https:\u002F\u002Fgithub.com\u002FHikariFroya\u002Fastrbot_plugin_vocechat) | Community |\n\n## Supported Model Services\n\n| Service | Type |\n|---------|---------------|\n| OpenAI and Compatible Services | LLM Services |\n| Anthropic | LLM Services |\n| Google Gemini | LLM Services |\n| Moonshot AI | LLM Services |\n| Zhipu AI | LLM Services |\n| DeepSeek | LLM Services |\n| Ollama (Self-hosted) | LLM Services |\n| LM Studio (Self-hosted) | LLM Services |\n| [AIHubMix](https:\u002F\u002Faihubmix.com\u002F?aff=4bfH) | LLM Services (API Gateway, supports all models) |\n| [CompShare](https:\u002F\u002Fwww.compshare.cn\u002F?ytag=GPU_YY-gh_astrbot&referral_code=FV7DcGowN4hB5UuXKgpE74) | LLM Services |\n| [302.AI](https:\u002F\u002Fshare.302.ai\u002Frr1M3l) | LLM Services |\n| [TokenPony](https:\u002F\u002Fwww.tokenpony.cn\u002F3YPyf) | LLM Services |\n| [SiliconFlow](https:\u002F\u002Fdocs.siliconflow.cn\u002Fcn\u002Fusercases\u002Fuse-siliconcloud-in-astrbot) | LLM Services |\n| [PPIO Cloud](https:\u002F\u002Fppio.com\u002Fuser\u002Fregister?invited_by=AIOONE) | LLM Services |\n| ModelScope | LLM Services |\n| OneAPI | LLM Services |\n| Dify | LLMOps Platforms |\n| Alibaba Cloud Bailian Applications | LLMOps Platforms |\n| Coze | LLMOps Platforms |\n| OpenAI Whisper | Speech-to-Text Services |\n| SenseVoice | Speech-to-Text Services |\n| Xiaomi MiMo Omni | Speech-to-Text Services |\n| OpenAI TTS | Text-to-Speech Services |\n| Gemini TTS | Text-to-Speech Services |\n| GPT-Sovits-Inference | Text-to-Speech Services |\n| GPT-Sovits | Text-to-Speech Services |\n| FishAudio | Text-to-Speech Services |\n| Edge TTS | Text-to-Speech Services |\n| Alibaba Cloud Bailian TTS | Text-to-Speech Services |\n| Azure TTS | Text-to-Speech Services |\n| Minimax TTS | Text-to-Speech Services |\n| Xiaomi MiMo TTS | Text-to-Speech Services |\n| Volcano Engine TTS | Text-to-Speech Services |\n\n## ❤️ Sponsors\n\n\u003Cp align=\"center\">\n  \u003Cimg alt=\"sponsors\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAstrBotDevs_AstrBot_readme_143ef99034d0.png\">\n\u003C\u002Fp>\n\n\n## ❤️ Contributing\n\nIssues and Pull Requests are always welcome! Feel free to submit your changes to this project :)\n\n### How to Contribute\n\nYou can contribute by reviewing issues or helping with pull request reviews. Any issues or PRs are welcome to encourage community participation. Of course, these are just suggestions—you can contribute in any way you like. For adding new features, please discuss through an Issue first.\n\n### Development Environment\n\nAstrBot uses `ruff` for code formatting and linting.\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\npip install pre-commit\npre-commit install\n```\n\n\n## 🌍 Community\n\n### QQ Groups\n\n- Group 12: 916228568 (New)\n- Group 9: 1076659624 (Full)\n- Group 10: 1078079676 (Full)\n- Group 11: 704659519 (Full)\n- Group 1: 322154837 (Full)\n- Group 3: 630166526 (Full)\n- Group 4: 1077826412 (Full)\n- Group 5: 822130018 (Full)\n- Group 6: 753075035 (Full)\n- Group 7: 743746109 (Full)\n- Group 8: 1030353265 (Full)\n\n- Developer Group(Chit-chat): 975206796\n- Developer Group(Formal): 1039761811\n\n### Discord Server\n\n\u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FhAVk6tgV36\">\u003Cimg alt=\"Discord_community\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDiscord-AstrBot-purple?style=for-the-badge&color=76bad9\">\u003C\u002Fa>\n\n## ❤️ Special Thanks\n\nSpecial thanks to all Contributors and plugin developers for their contributions to AstrBot ❤️\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAstrBotDevs_AstrBot_readme_c22993d10b5a.png\" \u002F>\n\u003C\u002Fa>\n\nAdditionally, the birth of this project would not have been possible without the help of the following open-source projects:\n\n- [NapNeko\u002FNapCatQQ](https:\u002F\u002Fgithub.com\u002FNapNeko\u002FNapCatQQ) - The amazing cat framework\n\n## ⭐ Star History\n\n> [!TIP]\n> If this project has helped you in your life or work, or if you're interested in its future development, please give the project a Star. It's the driving force behind maintaining this open-source project \u003C3\n\n\u003Cdiv align=\"center\">\n\n[![Star History Chart](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAstrBotDevs_AstrBot_readme_27e3724bb917.png)](https:\u002F\u002Fstar-history.com\u002F#astrbotdevs\u002Fastrbot&Date)\n\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n\n_Companionship and capability should never be at odds. What we aim to create is a robot that can understand emotions, provide genuine companionship, and reliably accomplish tasks._\n\n_私は、高性能ですから!_\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAstrBotDevs_AstrBot_readme_cd7ec3c815a4.gif\" width=\"100\"\u002F>\n\u003C\u002Fdiv>\n","![astrbot-github-banner-v2-light-0405_副本](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAstrBotDevs_AstrBot_readme_269678ef7fd0.png)\n\n\n\u003Cdiv align=\"center\">\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fblob\u002Fmaster\u002FREADME_zh.md\">简体中文\u003C\u002Fa> ｜\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fblob\u002Fmaster\u002FREADME_zh-TW.md\">繁體中文\u003C\u002Fa> ｜\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fblob\u002Fmaster\u002FREADME_ja.md\">日本語\u003C\u002Fa> ｜\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fblob\u002Fmaster\u002FREADME_fr.md\">Français\u003C\u002Fa> ｜\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fblob\u002Fmaster\u002FREADME_ru.md\">Русский\u003C\u002Fa>\n\n\u003Cbr>\n\n\u003Cdiv>\n\u003Ca href=\"https:\u002F\u002Ftrendshift.io\u002Frepositories\u002F12875\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAstrBotDevs_AstrBot_readme_4a68feb902da.png\" alt=\"Soulter%2FAstrBot | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"\u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fhellogithub.com\u002Frepository\u002FAstrBotDevs\u002FAstrBot\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fapi.hellogithub.com\u002Fv1\u002Fwidgets\u002Frecommend.svg?rid=d127d50cd5e54c5382328acc3bb25483&claim_uid=ZO9by7qCXgSd6Lp&t=2\" alt=\"Featured｜HelloGitHub\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" \u002F>\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n\u003Cbr>\n\n\u003Cdiv>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002FAstrBotDevs\u002FAstrBot?color=76bad9\" href=\"https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Freleases\u002Flatest\">\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.10+-blue.svg\" alt=\"python\">\n\u003Cimg src=\"https:\u002F\u002Fdeepwiki.com\u002Fbadge.svg\" href=\"https:\u002F\u002Fdeepwiki.com\u002FAstrBotDevs\u002FAstrBot\">\n\u003Ca href=\"https:\u002F\u002Fzread.ai\u002FAstrBotDevs\u002FAstrBot\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAsk_Zread-_.svg?style=flat&color=00b0aa&labelColor=000000&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQuOTYxNTYgMS42MDAxSDIuMjQxNTZDMS44ODgxIDEuNjAwMSAxLjYwMTU2IDEuODg2NjQgMS42MDE1NiAyLjI0MDFVjIuMzk5OSBDMS42MDE1NiA1LjMxMzU2IDUuNjAxNTYgNC45NjAxVjIuMjQwMUM1LjYwMTU2IDEuODg2NjQgNS4zMTUwMiAxLjYwMDEgNC45NjE1NiAxLjYwMDFaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00Ljk6MTU2IDEwLjM9OSIMiuyQxNTZCMy44ODEgMTAuM9OSAMiuyQxNTZDMS44ODEgMTAuM9OSAMiuyQxNTZDMS44ODEgMTAuM9OSAMiuyQxNTZDMS44ODEgMTAuM9OSAMiuyQxNTZDMS44ODEgMTAuM9OSAMiuyQxNTZDMS44ODEgMTAuM9OSAMiuyQxNTZDMS44ODEgMTAuM9OSAMiuyQxNTZDMS44ODEgMTAuM9OSAMiuyQxNTZDMS44ODEgMTAuM9OSAMiuyQxNTZDMS44ODEgMTAuM9OSAMiuyQxNTZDMS44ODEgMTAuM9OSAMiuyQxNTZDMS44ODEgMTAuM9OSAMiuyQxNTZDMS44ODEgMT......![astrbot-github-banner-v2-light-0405_副本](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAstrBotDevs_AstrBot_readme_269678ef7fd0.png)\n\n\n\u003Cdiv align=\"center\">\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fblob\u002Fmaster\u002FREADME_zh.md\">简体中文\u003C\u002Fa> ｜\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fblob\u002Fmaster\u002FREADME_zh-TW.md\">繁體中文\u003C\u002Fa> ｜\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fblob\u002Fmaster\u002FREADME_ja.md\">日本語\u003C\u002Fa> ｜\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fblob\u002Fmaster\u002FREADME_fr.md\">Français\u003C\u002Fa> ｜\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fblob\u002Fmaster\u002FREADME_ru.md\">Русский\u003C\u002Fa>\n\n\u003Cbr>\n\n\u003Cdiv>\n\u003Ca href=\"https:\u002F\u002Ftrendshift.io\u002Frepositories\u002F12875\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAstrBotDevs_AstrBot_readme_4a68feb902da.png\" alt=\"Soulter%2FAstrBot | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"\u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fhellogithub.com\u002Frepository\u002FAstrBotDevs\u002FAstrBot\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fapi.hellogithub.com\u002Fv1\u002Fwidgets\u002Frecommend.svg?rid=d127d50cd5e54c5382328acc3bb25483&claim_uid=ZO9by7qCXgSd6Lp&t=2\" alt=\"Featured｜HelloGitHub\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" \u002F>\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n\u003Cbr>\n\n\u003Cdiv>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002FAstrBotDevs\u002FAstrBot?color=76bad9\" href=\"https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Freleases\u002Flatest\">\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.10+-blue.svg\" alt=\"python\">\n\u003Cimg src=\"https:\u002F\u002Fdeepwiki.com\u002Fbadge.svg\" href=\"https:\u002F\u002Fdeepwiki.com\u002FAstrBotDevs\u002FAstrBot\">\n\u003Ca href=\"https:\u002F\u002Fzread.ai\u002FAstrBotDevs\u002FAstrBot\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAsk_Zread-_.svg?style=flat&color=00b0aa&labelColor=000000&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQuOTYxNTYgMS42MDAxSDIuMjQxNTZDMS44ODgxIDEuNjAwMSAxLjYwMTU2IDEuODg2NjQgMS42MDE1NiAyLjI0MDFVjIuMzk5OSBDMS42MDE1NiA1LjMxMzU2IDUuMzE1MDIgNS42MDAxIDIuMjQxNTYgNS42MDAxSDQuOTYxNTYDNS4zMTUwMiA1LjYwMDEgNS42MDE1NiA1LjMxMzU2IDUuNjAxNTYgNC45NjAxVjIuMjQwMUM1LjYwMTU2IDEuODg2NjQgNS4zMTUwMiAxLjYwMDEgNC45NjE1NiAxLjYwMDFaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00Ljk6MTU2IDEwLjM9OTlIMiuyNDE1NkC1Ljg8ODEgMTAuM9OTl9AxLjYwMTU2IDEwLjY8NjQgMS46MDE1NiAx1Lj0M9OTl9VjE3Lj759l9D1Lj6MDE1NiAx4LjY8NjQID5LjM1UwMiAxLjM9OTl9ID4Ljk6MTU2IDEwLjM9OTl9aIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik0x3Lj7584IDEuNjAwMUgx1Lj0M384Qz10LjY8NSIDEuNjAwMUg10LjM9OTl9IDEuNjAwMUgx3Lj7584Qz14LjExMTkg5LjYwMDEg14LjM9OTl9ID5LjM9OTl9ID4Ljk6MTU2IDEuNjAwMUWiIgZmlsbD0iI2ZmZiIvPgo8cGF0aCBkPSJNNCAxMkwxMiA0TDQgMTJaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00IDEyTDEyIDQiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K&logoColor=ffffff\" alt=\"zread\"\u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fhub.docker.com\u002Fr\u002Fsoulter\u002Fastrbot\">\u003Cimg alt=\"Docker pull\" src=\"https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fpulls\u002Fsoulter\u002Fastrbot.svg?color=76bad9\"\u002F>\u003C\u002Fa>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdynamic\u002Fjson?url=https%3A%2F%2Fapi.soulter.top%2Fastrbot%2Fplugin-num&query=%24.result&suffix=%20plugins&label=Marketplace&cacheSeconds=3600\">\n\u003Cimg src=\"https:\u002F\u002Fgitcode.com\u002FSoulter\u002FAstrBot\u002Fstar\u002Fbadge.svg\" href=\"https:\u002F\u002Fgitcode.com\u002FSoulter\u002FAstrBot\">\n\u003C\u002Fdiv>\n\n\u003Cbr>\n\n\u003Ca href=\"https:\u002F\u002Fastrbot.app\u002F\">Documentation\u003C\u002Fa> ｜\n\u003Ca href=\"https:\u002F\u002Fblog.astrbot.app\u002F\">Blog\u003C\u002Fa> ｜\n\u003Ca href=\"https:\u002F\u002Fastrbot.featurebase.app\u002Froadmap\">Roadmap\u003C\u002Fa> ｜\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\">Issue Tracker\u003C\u002Fa> ｜\n\u003Ca href=\"mailto:community@astrbot.app\">Email Support\u003C\u002Fa>\n\u003C\u002Fdiv>\n\nAstrBot 是一个开源的一体化 Agent 聊天机器人平台，可与主流即时通讯应用集成。它为个人、开发者和团队提供可靠且可扩展的对话式 AI 基础设施。无论您是构建个人 AI 伴侣、智能客服、自动化助手，还是企业知识库，AstrBot 都能让您在 IM 平台的工作流中快速搭建生产就绪的 AI 应用。\n\n![screenshot_1 5x_postspark_2026-02-27_22-37-45](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAstrBotDevs_AstrBot_readme_4d312c1d5915.png)\n\n## 核心功能\n\n1. 💯 免费且开源。\n2. ✨ 支持 AI 大模型对话、多模态、Agent、MCP、技能、知识库、角色设定以及自动上下文压缩。\n3. 🤖 支持与 Dify、阿里云百炼、Coze 等其他 Agent 平台集成。\n4. 🌐 多平台支持：QQ、企业微信、飞书、钉钉、微信公众号、Telegram、Slack 等 [更多](#supported-messaging-platforms)。\n5. 📦 插件扩展，拥有 1000 多个插件可供一键安装。\n6. 🛡️ [Agent 沙盒](https:\u002F\u002Fdocs.astrbot.app\u002Fuse\u002Fastrbot-agent-sandbox.html) 可实现代码、Shell 命令的隔离安全执行，并支持会话级资源复用。\n7. 💻 支持 WebUI。\n8. 🌈 支持 Web ChatUI，内置 Agent 沙盒和网络搜索功能。\n9. 🌐 支持国际化（i18n）。\n\n\u003Cbr>\n\n\u003Ctable align=\"center\">\n  \u003Ctr align=\"center\">\n    \u003Cth>💙 角色扮演与情感陪伴\u003C\u002Fth>\n    \u003Cth>✨ 主动型 Agent\u003C\u002Fth>\n    \u003Cth>🚀 通用 Agent 能力\u003C\u002Fth>\n    \u003Cth>🧩 1000+ 社区插件\u003C\u002Fth>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd align=\"center\">\u003Cp align=\"center\">\u003Cimg width=\"984\" height=\"1746\" alt=\"99b587c5d35eea09d84f33e6cf6cfd4f\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAstrBotDevs_AstrBot_readme_99b587c5d35e.png\" \u002F>\u003C\u002Fp>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">\u003Cp align=\"center\">\u003Cimg width=\"976\" height=\"1612\" alt=\"c449acd838c41d0915cc08a3824025b1\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAstrBotDevs_AstrBot_readme_c449acd838c4.png\" \u002F>\u003C\u002Fp>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">\u003Cp align=\"center\">\u003Cimg width=\"974\" height=\"1732\" alt=\"image\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAstrBotDevs_AstrBot_readme_7f161d38b181.png\" \u002F>\u003C\u002Fp>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">\u003Cp align=\"center\">\u003Cimg width=\"976\" height=\"1734\" alt=\"image\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAstrBotDevs_AstrBot_readme_8cd53dbd63f9.png\" \u002F>\u003C\u002Fp>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n## 快速入门\n\n### 一键部署\n\n对于希望快速体验 AstrBot、熟悉命令行操作并能自行安装 `uv` 环境的用户，我们推荐使用 `uv` 一键部署方式 ⚡️：\n\n```bash\nuv tool install astrbot --python 3.12\nastrbot init # 仅在首次运行时执行此命令以初始化环境\nastrbot run\n```\n\n> 需要先安装 [uv](https:\u002F\u002Fdocs.astral.sh\u002Fuv\u002F)。\n> AstrBot 要求 Python 3.12 或更高版本。`--python 3.12` 选项确保 `uv` 使用 Python 3.12 创建工具环境。\n\n> [!NOTE]\n> 对于 macOS 用户：由于 macOS 的安全检查机制，首次运行 `astrbot` 命令可能会花费较长时间（约 10–20 秒）。\n\n更新 `astrbot`：\n\n```bash\nuv tool upgrade astrbot --python 3.12\n```\n\n> [!WARNING]\n> 通过 `uv` 部署的 AstrBot **不支持通过 WebUI 升级**。如需更新，请在命令行中运行上述命令。\n\n### Docker 部署\n\n对于熟悉容器技术且寻求更稳定、适合生产环境部署方式的用户，我们推荐使用 Docker \u002F Docker Compose 部署 AstrBot。\n\n请参考官方文档：[使用 Docker 部署 AstrBot](https:\u002F\u002Fdocs.astrbot.app\u002Fdeploy\u002Fastrbot\u002Fdocker.html#%E4%BD%BF%E7%94%A8-docker-%E9%83%A8%E7%BD%B2-astrbot)。\n\n### 在 RainYun 上部署\n\n对于希望实现一键部署且不想自行管理服务器的用户，我们推荐 RainYun 的一键云部署服务 ☁️：\n\n[![在 RainYun 上部署](https:\u002F\u002Frainyun-apps.cn-nb1.rains3.com\u002Fmaterials\u002Fdeploy-on-rainyun-en.svg)](https:\u002F\u002Fapp.rainyun.com\u002Fapps\u002Frca\u002Fstore\u002F5994?ref=NjU1ODg0)\n\n### 桌面应用部署\n\n对于希望在桌面端使用 AstrBot 并主要通过 ChatUI 进行交互的用户，我们推荐使用 AstrBot 桌面应用。\n\n访问 [AstrBot-desktop](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot-desktop) 下载并安装；该方法专为桌面使用设计，不建议用于服务器场景。\n\n### Launcher 部署\n\n对于同样希望快速部署且需要隔离多实例使用的桌面用户，我们推荐使用 AstrBot Launcher。\n\n访问 [AstrBot Launcher](https:\u002F\u002Fgithub.com\u002FRaven95676\u002Fastrbot-launcher) 下载并安装。\n\n### 在 Replit 上部署\n\nReplit 部署由社区维护，适用于在线演示和轻量级试用。\n\n[![在 Repl.it 上运行](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAstrBotDevs_AstrBot_readme_26e23a0dcf49.png)](https:\u002F\u002Frepl.it\u002Fgithub\u002FAstrBotDevs\u002FAstrBot)\n\n### AUR\n\nAUR 部署面向偏好通过系统包管理流程安装 AstrBot 的 Arch Linux 用户。\n\n运行以下命令安装 `astrbot-git`，然后在本地环境中启动 AstrBot。\n\n```bash\nyay -S astrbot-git\n```\n\n**更多部署方式**\n\n如果您需要基于面板的管理或更深度的定制化，请参阅以下内容：[BT-Panel 部署](https:\u002F\u002Fdocs.astrbot.app\u002Fdeploy\u002Fastrbot\u002Fbtpanel.html)介绍如何通过 BT Panel 应用商店进行设置；[1Panel 部署](https:\u002F\u002Fdocs.astrbot.app\u002Fdeploy\u002Fastrbot\u002F1panel.html)讲解如何通过 1Panel 应用市场进行部署；[CasaOS 部署](https:\u002F\u002Fdocs.astrbot.app\u002Fdeploy\u002Fastrbot\u002Fcasaos.html)提供 NAS\u002F家庭服务器的可视化部署方案；[手动部署](https:\u002F\u002Fdocs.astrbot.app\u002Fdeploy\u002Fastrbot\u002Fcli.html)则允许您使用 `uv` 完全自定义源码安装。\n\n## 支持的消息平台\n\n将 AstrBot 连接到您喜爱的聊天平台。\n\n| 平台 | 维护者 |\n|---------|---------------|\n| QQ | 官方 |\n| OneBot v11 协议实现 | 官方 |\n| Telegram | 官方 |\n| Wecom & Wecom AI Bot | 官方 |\n| 微信公众号 | 官方 |\n| Feishu (Lark) | 官方 |\n| DingTalk | 官方 |\n| Slack | 官方 |\n| Discord | 官方 |\n| LINE | 官方 |\n| Satori | 官方 |\n| KOOK | 官方 |\n| Misskey | 官方 |\n| Mattermost | 官方 |\n| WhatsApp（即将上线） | 官方 |\n| [Matrix](https:\u002F\u002Fgithub.com\u002Fstevessr\u002Fastrbot_plugin_matrix_adapter) | 社区 |\n| [Rocket.Chat](https:\u002F\u002Fgithub.com\u002FNET-Homeless\u002Fastrbot_plugin_rocket_chat_adapter) | 社区 |\n| [VoceChat](https:\u002F\u002Fgithub.com\u002FHikariFroya\u002Fastrbot_plugin_vocechat) | 社区 |\n\n## 支持的模型服务\n\n| 服务 | 类型 |\n|---------|---------------|\n| OpenAI 及兼容服务 | LLM 服务 |\n| Anthropic | LLM 服务 |\n| Google Gemini | LLM 服务 |\n| Moonshot AI | LLM 服务 |\n| Zhipu AI | LLM 服务 |\n| DeepSeek | LLM 服务 |\n| Ollama（自托管） | LLM 服务 |\n| LM Studio（自托管） | LLM 服务 |\n| [AIHubMix](https:\u002F\u002Faihubmix.com\u002F?aff=4bfH) | LLM 服务（API 网关，支持所有模型） |\n| [CompShare](https:\u002F\u002Fwww.compshare.cn\u002F?ytag=GPU_YY-gh_astrbot&referral_code=FV7DcGowN4hB5UuXKgpE74) | LLM 服务 |\n| [302.AI](https:\u002F\u002Fshare.302.ai\u002Frr1M3l) | LLM 服务 |\n| [TokenPony](https:\u002F\u002Fwww.tokenpony.cn\u002F3YPyf) | LLM 服务 |\n| [SiliconFlow](https:\u002F\u002Fdocs.siliconflow.cn\u002Fcn\u002Fusercases\u002Fuse-siliconcloud-in-astrbot) | LLM 服务 |\n| [PPIO Cloud](https:\u002F\u002Fppio.com\u002Fuser\u002Fregister?invited_by=AIOONE) | LLM 服务 |\n| ModelScope | LLM 服务 |\n| OneAPI | LLM 服务 |\n| Dify | LLMOps 平台 |\n| 阿里云百炼应用 | LLMOps 平台 |\n| Coze | LLMOps 平台 |\n| OpenAI Whisper | 文本转语音服务 |\n| SenseVoice | 文本转语音服务 |\n| 小米 MiMo Omni | 文本转语音服务 |\n| OpenAI TTS | 语音合成服务 |\n| Gemini TTS | 语音合成服务 |\n| GPT-Sovits-Inference | 语音合成服务 |\n| GPT-Sovits | 语音合成服务 |\n| FishAudio | 语音合成服务 |\n| Edge TTS | 语音合成服务 |\n| 阿里云百炼 TTS | 语音合成服务 |\n| Azure TTS | 语音合成服务 |\n| Minimax TTS | 语音合成服务 |\n| 小米 MiMo TTS | 语音合成服务 |\n| 火山引擎 TTS | 语音合成服务 |\n\n## ❤️ 赞助商\n\n\u003Cp align=\"center\">\n  \u003Cimg alt=\"sponsors\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAstrBotDevs_AstrBot_readme_143ef99034d0.png\">\n\u003C\u002Fp>\n\n\n## ❤️ 贡献\n\n欢迎随时提交问题和拉取请求！请随意向该项目贡献您的修改 :)\n\n### 如何贡献\n\n您可以参与问题评审或协助审查拉取请求。任何问题或 PR 都受到欢迎，以鼓励社区参与。当然，这些建议仅供参考，您也可以以任何您喜欢的方式做出贡献。若要添加新功能，请先通过 Issue 进行讨论。\n\n### 开发环境\n\nAstrBot 使用 `ruff` 进行代码格式化和 linting。\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\npip install pre-commit\npre-commit install\n```\n\n\n## 🌍 社区\n\n### QQ 群组\n\n- 群组 12：916228568（新群）\n- 群组 9：1076659624（已满）\n- 群组 10：1078079676（已满）\n- 群组 11：704659519（已满）\n- 群组 1：322154837（已满）\n- 群组 3：630166526（已满）\n- 群组 4：1077826412（已满）\n- 群组 5：822130018（已满）\n- 群组 6：753075035（已满）\n- 群组 7：743746109（已满）\n- 群组 8：1030353265（已满）\n\n- 开发者群（闲聊）：975206796\n- 开发者群（正式）：1039761811\n\n### Discord 服务器\n\n\u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FhAVk6tgV36\">\u003Cimg alt=\"Discord_community\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDiscord-AstrBot-purple?style=for-the-badge&color=76bad9\">\u003C\u002Fa>\n\n## ❤️ 特别致谢\n\n特别感谢所有贡献者和插件开发者对 AstrBot 的贡献 ❤️\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAstrBotDevs_AstrBot_readme_c22993d10b5a.png\" \u002F>\n\u003C\u002Fa>\n\n此外，如果没有以下开源项目的帮助，本项目也不可能诞生：\n\n- [NapNeko\u002FNapCatQQ](https:\u002F\u002Fgithub.com\u002FNapNeko\u002FNapCatQQ) - 令人惊叹的猫咪框架\n\n## ⭐ 星标历史\n\n> [!TIP]\n> 如果这个项目在你的生活或工作中对你有所帮助，或者你对它的未来发展感兴趣，请为该项目点亮一颗星吧。这将是我们持续维护这个开源项目的重要动力 \u003C3\n\n\u003Cdiv align=\"center\">\n\n[![星标历史图表](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAstrBotDevs_AstrBot_readme_27e3724bb917.png)](https:\u002F\u002Fstar-history.com\u002F#astrbotdevs\u002Fastrbot&Date)\n\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n\n_陪伴与能力不应相互矛盾。我们致力于打造一款既能理解情感、提供真诚陪伴，又能可靠完成任务的机器人。_\n\n_私は、高性能ですから!_\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAstrBotDevs_AstrBot_readme_cd7ec3c815a4.gif\" width=\"100\"\u002F>\n\u003C\u002Fdiv>","# AstrBot 快速上手指南\n\nAstrBot 是一款开源的一站式 AI Agent 聊天机器人平台，支持对接主流即时通讯软件（如 QQ、微信、Telegram 等），提供可靠的对话式 AI 基础设施。无论是构建个人 AI 伴侣、智能客服还是自动化助手，都能快速落地。\n\n## 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**：Linux, macOS, Windows (推荐 Linux 或 macOS 以获得最佳兼容性)\n*   **Python 版本**：Python 3.12 或更高版本\n*   **包管理工具**：推荐安装 [`uv`](https:\u002F\u002Fdocs.astral.sh\u002Fuv\u002F) (高性能 Python 包管理器)，用于一键部署和管理环境。\n    *   *注：若不使用 `uv`，也可通过 Docker 或手动源码方式部署。*\n\n## 安装步骤\n\n对于希望快速体验且熟悉命令行的用户，推荐使用 **`uv` 一键部署** 方式。\n\n### 1. 安装 uv (如未安装)\n如果您尚未安装 `uv`，请先执行以下命令进行安装：\n```bash\ncurl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n```\n*(Windows PowerShell 用户请使用：`powershell -c \"irm https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.ps1 | iex\"`)*\n\n### 2. 安装并初始化 AstrBot\n使用 `uv` 安装 AstrBot 工具，并初始化运行环境：\n\n```bash\n# 安装 astrbot (指定 Python 3.12 环境)\nuv tool install astrbot --python 3.12\n\n# 初始化环境 (仅需首次运行时执行)\nastrbot init\n\n# 启动 AstrBot\nastrbot run\n```\n\n> **注意**：macOS 用户首次运行 `astrbot` 命令时，因系统安全检查可能需要等待 10-20 秒。\n\n### 其他部署方式简述\n*   **Docker 部署**：适合生产环境，请参考 [官方 Docker 部署文档](https:\u002F\u002Fdocs.astrbot.app\u002Fdeploy\u002Fastrbot\u002Fdocker.html)。\n*   **桌面版应用**：仅需在本地桌面使用 ChatUI 的用户，可下载 [AstrBot-desktop](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot-desktop)。\n*   **国内云部署**：不想维护服务器可使用 [RainYun 一键部署](https:\u002F\u002Fapp.rainyun.com\u002Fapps\u002Frca\u002Fstore\u002F5994?ref=NjU1ODg0)。\n\n## 基本使用\n\n启动成功后，AstrBot 将自动开启 Web 管理界面。\n\n1.  **访问控制台**\n    在浏览器中打开默认地址：\n    ```text\n    http:\u002F\u002Flocalhost:6185\n    ```\n    *(若为远程服务器部署，请将 `localhost` 替换为服务器 IP)*\n\n2.  **配置大模型 (LLM)**\n    *   进入 WebUI 的 **“配置”** 或 **\"LLM 提供商”** 页面。\n    *   选择您使用的模型服务（支持 OpenAI、DeepSeek、Moonshot、Ollama 本地模型等）。\n    *   填入对应的 `API Key` 和 `Base URL`（如有）。\n    *   点击保存并测试连接。\n\n3.  **接入聊天平台**\n    *   在 WebUI 左侧菜单选择 **“适配器”** (Adapter)。\n    *   启用您需要的平台（如 OneBot\u002FQQ、Telegram、企业微信等）。\n    *   按照页面提示填入机器人的 `Token` 或 `AppID` 等凭证信息。\n    *   保存配置后，机器人将自动上线。\n\n4.  **开始对话**\n    前往您配置的聊天软件（如 QQ 或 Telegram），向机器人发送消息，即可体验 AI 对话功能。您还可以通过 WebUI 的 **“插件市场”** 一键安装超过 1000+ 个社区插件来扩展功能。\n\n---\n*如需更新版本，请运行：`uv tool upgrade astrbot --python 3.12`*","某初创团队希望将内部知识库与 AI 能力整合，并通过微信、QQ 和 Discord 等多个即时通讯平台为不同部门的员工提供统一的智能问答服务。\n\n### 没有 AstrBot 时\n- **多平台重复开发**：团队需要分别为微信、QQ 和 Discord 编写独立的机器人代码，维护三套完全不同的后端逻辑，开发成本极高。\n- **模型切换困难**：当需要测试新的开源大模型或切换商业 API 时，必须修改每个平台的对接代码，无法实现“一次配置，全局生效”。\n- **功能扩展受限**：想要添加“查询天气”或“搜索内部文档”等插件功能时，需在各个平台上单独实现接口调用，缺乏统一的插件市场支持。\n- **运维部署繁琐**：缺乏容器化支持，每次更新都需要手动在多台服务器上重启服务，且难以监控各渠道的消息并发状态。\n\n### 使用 AstrBot 后\n- **一站式多端接入**：通过 AstrBot 统一的配置界面，仅需一次部署即可同时连接微信、QQ、Discord 等主流 IM 平台，底层消息处理逻辑完全复用。\n- **灵活模型热切换**：在可视化后台中可随意切换本地部署的 LLM 或云端 API，所有聊天渠道立即同步生效，无需重启服务或修改代码。\n- **插件生态即插即用**：直接利用内置的市场安装社区开发的插件（如联网搜索、数据库查询），瞬间为所有平台赋予相同的扩展能力。\n- **容器化轻松运维**：支持 Docker 一键部署，结合内置的监控面板，团队可轻松管理消息队列和系统资源，大幅降低运维门槛。\n\nAstrBot 通过屏蔽底层异构平台的差异，让团队能专注于业务逻辑与提示词优化，真正实现了低成本构建企业级全渠道 AI 助手。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAstrBotDevs_AstrBot_4d312c1d.webp","AstrBotDevs","AstrBot AI","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FAstrBotDevs_e8376df2.png","We rise together, back to the moon and beyond.",null,"community@astrbot.app","https:\u002F\u002Fastrbot.app","https:\u002F\u002Fgithub.com\u002FAstrBotDevs",[82,86,90,94,98,102,105,109,112,116],{"name":83,"color":84,"percentage":85},"Python","#3572A5",70,{"name":87,"color":88,"percentage":89},"Vue","#41b883",24.1,{"name":91,"color":92,"percentage":93},"TypeScript","#3178c6",2.8,{"name":95,"color":96,"percentage":97},"JavaScript","#f1e05a",1.8,{"name":99,"color":100,"percentage":101},"HTML","#e34c26",0.4,{"name":103,"color":104,"percentage":101},"CSS","#663399",{"name":106,"color":107,"percentage":108},"Shell","#89e051",0.2,{"name":110,"color":111,"percentage":108},"SCSS","#c6538c",{"name":113,"color":114,"percentage":115},"Makefile","#427819",0,{"name":117,"color":118,"percentage":115},"Dockerfile","#384d54",30194,2047,"2026-04-18T15:18:31","AGPL-3.0","Linux, macOS, Windows","未说明 (支持本地部署 Ollama\u002FLM Studio，具体显卡需求取决于所选模型)","未说明",{"notes":127,"python":128,"dependencies":129},"推荐使用 uv 进行一键部署和管理环境；支持 Docker、Desktop 应用、Launcher 等多种部署方式；macOS 用户首次运行命令可能因安全检查耗时较长 (约 10-20 秒)；通过 uv 部署的版本不支持在 WebUI 中升级，需通过命令行更新。","3.10+ (推荐使用 3.12)",[130],"uv",[13,14,15,35],[133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148],"ai","chatbot","chatgpt","openai","qqbot","gpt","qq","agent","docker","llm","python","telegram","gemini","llama","mcp","discord","2026-03-27T02:49:30.150509","2026-04-19T06:01:41.907487",[152,157,162,167,172,176,180,184],{"id":153,"question_zh":154,"answer_zh":155,"source_url":156},41688,"如何避免 WeChatPadPro 适配器登录时被微信风控或反复提示新设备？","根据社区经验，被风控的主要原因通常是 IP 地址不一致。请确保运行 AstrBot\u002FWeChatPadPro 的服务器（或 Docker 容器）与登录用的手机处于同一个局域网 IP 段下（即连接同一个 Wi-Fi）。有用户反馈：'保证手机和 wpp 在同一个 ip 问题不大'，即使使用家庭宽带，只要 IP 一致通常可以避免频繁的风控退出和新设备验证。","https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F1586",{"id":158,"question_zh":159,"answer_zh":160,"source_url":161},41689,"插件提交审核时遇到'调用 AI 审核服务时发生内部错误'怎么办？","这通常是审核服务端的临时性问题，而非插件代码本身的问题。解决方法是：在 Issue 正文中勾选“重新提交审核”复选框（或在评论中回复“重新提交”），系统会自动再次触发审核流程。如果多次失败，建议检查插件仓库是否公开可访问，或稍后重试。","https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5809",{"id":163,"question_zh":164,"answer_zh":165,"source_url":166},41690,"开发插件时，如何正确初始化生命周期属性以避免终止清理中断？","在插件主类的 `__init__` 方法中，必须显式初始化所有在 `terminate()` 或其他生命周期钩子中使用的布尔标志位（例如 `self._exception_handler_installed = False`）。如果未初始化，在特定条件下（如未启用遥测时）访问该属性会触发 `AttributeError`，导致插件卸载时的清理步骤（如关闭调度器、保存数据）被跳过，引发资源泄漏。","https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F3174",{"id":168,"question_zh":169,"answer_zh":170,"source_url":171},41691,"在 AstrBot 插件中修改全局 asyncio 异常处理器有什么风险？","作为子插件，直接在 `initialize` 中使用 `loop.set_exception_handler` 修改全局异常处理器具有强侵入性。这可能会覆盖框架或其他插件设置的处理器，导致其他组件的异常无法被正确处理，或在插件重载\u002F停用时未能恢复原状从而影响主程序稳定性。建议尽量将异常处理逻辑收拢在插件自身的 Task 回调中，避免全局劫持。","https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F3927",{"id":173,"question_zh":174,"answer_zh":175,"source_url":166},41692,"插件代码审查指出“分段发送阈值判断逻辑疑似反向”，这是什么意思？","这是一个常见的逻辑错误。如果代码写成 `if enable_seg and len(text) \u003C= threshold:`，意味着只有当文本长度**小于等于**阈值时才进行分段，这违背了常理（通常长文本才需要分段）。正确的逻辑应该是 `if enable_seg and len(text) > threshold:`，即当文本长度**超过**设定阈值时才触发分段发送机制。开发者需检查并修正此条件判断。",{"id":177,"question_zh":178,"answer_zh":179,"source_url":171},41693,"如何在插件命令中实施权限控制以防止滥用？","对于敏感操作（如模拟灾害预警、重启系统等），必须在命令处理函数开头添加管理员权限校验。例如，不能直接执行逻辑，而应先调用 `if not await event.is_admin(): return` 或类似的权限检查方法。否则，任意普通用户都可以触发该命令，可能导致刷屏、误导信息传播或系统状态异常。",{"id":181,"question_zh":182,"answer_zh":183,"source_url":166},41694,"处理从磁盘加载的配置或会话数据时，需要注意什么类型安全问题？","不要假设从磁盘加载的数据结构一定符合预期。在进行字典键访问或合并操作前（如 `_merge_session_info`），必须先进行类型校验（例如 `if not isinstance(session_data, dict): return`）。如果数据被意外污染为非字典类型，直接访问会导致程序崩溃或数据合并错误。建议在规范化数据前强制过滤非预期类型。",{"id":185,"question_zh":186,"answer_zh":187,"source_url":171},41695,"为什么我的插件在解析配置项时会抛出 KeyError 异常？","这通常是因为代码直接访问嵌套字典的键（如 `self.config[\"debug_config\"][\"enable_raw_message_logging\"]`），而没有先检查中间层键（如 `debug_config`）是否存在或其类型是否为字典。如果配置文件缺失该字段或格式不正确，直接赋值会抛出 `KeyError`。解决方案是使用 `.get()` 方法提供默认值，或在访问前添加 `if \"debug_config\" in self.config and isinstance(...)` 的判断逻辑。",[189,194,199,204,209,214,219,224,229,234,239,244,249,254,259,264,269,274,279,284],{"id":190,"version":191,"summary_zh":192,"released_at":193},333738,"v4.23.1","- [更新日志(简体中文)](#chinese)\r\n- [Changelog(English)](#english)\r\n\r\n\u003Ca id=\"chinese\">\u003C\u002Fa>\r\n\r\n## 变更内容\r\n\r\n*这是 v4.23.0 的热修复版本：v4.23.1*\r\n\r\n- 将 `python-ripgrep` 依赖降级到 `0.0.8`，修复 Python 3.13, 3.14 版本无法正常启动的问题。（[#7514](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7514)）\r\n- 修复会话 ID 包含冒号 `:` 时，平台路由在 Dashboard 中无法显示的问题。（[#7517](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7517)）\r\n- 适配 DeerFlow 2.0，更新 DeerFlow Runner、API Client、会话命令、Provider 管理逻辑、配置文档与相关测试。（[#7500](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7500)）\r\n- 移除 Dashboard `v-main` 不必要的 margin，额外的外边距会把背景色显露出来，因此视觉上看起来像右侧多了一条边框。（[#7481](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7481)）\r\n- 修复插件安装状态检查时格式不一致导致的判断问题。（[#7493](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7493)）\r\n- Dashboard 代码块高亮切换到 Shiki，并同步暗色\u002F亮色主题渲染，优化 README、更新日志与聊天消息中的代码块显示效果。（[#7497](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7497)）\r\n\r\n### 新增 (v4.23.0)\r\n\r\n- 为电脑使用能力支持文件读取(read)、写入(write)、编辑(edit)、Grep 搜索(ripgrep)与按会话隔离的 workspace。（[#7402](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7402)）\r\n- 微信个人号适配器支持引用消息的解析。（[#7380](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7380)）\r\n- 新增 Brave Search 网页搜索工具，移除旧的默认网页搜索实现。（[#6847](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6847)）\r\n- 新增 Mattermost 平台适配器支持。（[#7369](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7369)）\r\n- 新增 NVIDIA Rerank Provider。（[#7227](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7227)）\r\n- 新增 LongCat LLM Provider。（[#7360](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7360)）\r\n- 新增 OpenAI、Gemini 音频输入模态支持，并修复 ChatUI 录音相关问题。（[#7378](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7378)）\r\n- Discord 平台新增 Bot 消息过滤配置，允许控制是否接收其他 Bot 的消息。（[#6505](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6505)）\r\n- 新增 LLM 对重复工具调用的引导能力，减少模型陷入重复调用工具的情况。（[#7388](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7388)）\r\n- QQ 官方 API 文件上传新增重试机制，提升文件发送稳定性。（[#7430](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7430)）\r\n\r\n### 优化 (v4.23.0)\r\n\r\n- 重构 ChatUI 样式、消息渲染与输入体验，改善聊天界面的整体可维护性与交互一致性。（[#7485](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7485)）\r\n- 合并 Cron 相关工具为统一管理工具，并新增 Cron 任务编辑能力。（[#7445](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7445)）\r\n- 重构内置工具管理逻辑，改善 AstrBot 内置工具注册与调用维护性。（[#7418](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7418)）\r\n- 移除了大部分低频内置命令并整合命令功能，将这些指令挪至 [builtin-command-extension](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002Fbuiltin_commands_extension) 插件，同时更新文档。（[#7478](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7478)）\r\n- 移除默认网页搜索实现，改由新的搜索工具链路提供能力。（[#7416](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7416)）\r\n- 移除 `lxml` 与 `beautifulsoup4` 依赖，降低安装体积与依赖复杂度。（[#7449](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7449)）\r\n- 新增 MCP stdio 配置校验，降低无效配置导致的启动失败与排查成本。（[#7477](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7477)）\r\n- Docker 运行配置启用 `no-new-privileges`，提升容器默认安全性。（[commit](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fcommit\u002F68a195e12)）\r\n- 降低 MCP Server 状态轮询频率，减少后台请求开销。（[#7399](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7399)）\r\n- 帮助命令忽略 `dashboard_update` 等内部有效命令，减少帮助列表噪音。（[commit](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fcommit\u002Fbaaad2a69)）\r\n- 修","2026-04-13T15:42:34",{"id":195,"version":196,"summary_zh":197,"released_at":198},333739,"v4.23.0","- [更新日志(简体中文)](#chinese)\n- [Changelog(English)](#english)\n\n\u003Ca id=\"chinese\">\u003C\u002Fa>\n\n## 变更内容\n\n### 新增\n\n- 为电脑使用能力支持文件读取(read)、写入(write)、编辑(edit)、Grep 搜索(ripgrep)与按会话隔离的 workspace。（[#7402](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7402)）\n- 微信个人号适配器支持引用消息的解析。（[#7380](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7380)）\n- 新增 Brave Search 网页搜索工具，移除旧的默认网页搜索实现。（[#6847](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6847)）\n- 新增 Mattermost 平台适配器支持。（[#7369](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7369)）\n- 新增 NVIDIA Rerank Provider。（[#7227](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7227)）\n- 新增 LongCat LLM Provider。（[#7360](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7360)）\n- 新增 OpenAI、Gemini 音频输入模态支持，并修复 ChatUI 录音相关问题。（[#7378](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7378)）\n- Discord 平台新增 Bot 消息过滤配置，允许控制是否接收其他 Bot 的消息。（[#6505](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6505)）\n- 新增 LLM 对重复工具调用的引导能力，减少模型陷入重复调用工具的情况。（[#7388](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7388)）\n- QQ 官方 API 文件上传新增重试机制，提升文件发送稳定性。（[#7430](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7430)）\n\n### 优化\n\n- 重构 ChatUI 样式、消息渲染与输入体验，改善聊天界面的整体可维护性与交互一致性。（[#7485](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7485)）\n- 合并 Cron 相关工具为统一管理工具，并新增 Cron 任务编辑能力。（[#7445](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7445)）\n- 重构内置工具管理逻辑，改善 AstrBot 内置工具注册与调用维护性。（[#7418](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7418)）\n- 移除了大部分低频内置命令并整合命令功能，将这些指令挪至 [builtin-command-extension](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002Fbuiltin_commands_extension) 插件，同时更新文档。（[#7478](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7478)）\n- 移除默认网页搜索实现，改由新的搜索工具链路提供能力。（[#7416](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7416)）\n- 移除 `lxml` 与 `beautifulsoup4` 依赖，降低安装体积与依赖复杂度。（[#7449](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7449)）\n- 新增 MCP stdio 配置校验，降低无效配置导致的启动失败与排查成本。（[#7477](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7477)）\n- Docker 运行配置启用 `no-new-privileges`，提升容器默认安全性。（[commit](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fcommit\u002F68a195e12)）\n- 降低 MCP Server 状态轮询频率，减少后台请求开销。（[#7399](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7399)）\n- 帮助命令忽略 `dashboard_update` 等内部有效命令，减少帮助列表噪音。（[commit](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fcommit\u002Fbaaad2a69)）\n- 修正文档中的路径拼接示例，避免插件开发存储文档误导使用者。（[#7448](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7448)）\n- 补充 Matrix 平台常量、平台图标与相关文档。（[#7368](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7368)）\n\n### 修复\n\n- 修复 STT 或 TTS Provider 在配置中禁用时仍可能被取用的问题。（[#7363](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7363)）\n- 修复 Gemini 空模型输出误触发错误处理的问题。（[#7377](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7377)）\n- 修复 Gemini FunctionResponse 中不支持的 `id` 字段导致请求失败的问题。（[#7386](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7386)）\n- 修复仅存在原生工具时仍传递 `FunctionCallingConfig` 的问题。（[#7407](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7407)）\n- 修复工具结果断言与动态阈值不一致的问题。（[commit](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fcommit\u002F8c6c00ae6)）\n- 修复 Bailian Rerank 对不同 URL 端点返回格式的兼容性问题。（[#7250](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrB","2026-04-12T16:38:40",{"id":200,"version":201,"summary_zh":202,"released_at":203},333740,"v4.23.0-beta.1","- [更新日志(简体中文)](#chinese)\r\n- [Changelog(English)](#english)\r\n\r\n\u003Ca id=\"chinese\">\u003C\u002Fa>\r\n\r\n## 变更内容\r\n\r\n### 新增功能\r\n\r\n- 为电脑使用能力支持文件读取(read)、写入(write)、编辑(edit)、Grep 搜索(ripgrep)与按会话隔离的 workspace。（[#7402](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7402)）\r\n- 新增 Brave Search 网页搜索工具，替代旧的默认网页搜索实现。（[#6847](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6847)）\r\n- 新增 Mattermost 平台适配器支持。（[#7369](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7369)）\r\n- 新增 NVIDIA Rerank Provider。（[#7227](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7227)）\r\n- 新增 OpenAI、Gemini 音频输入模态支持，并修复 ChatUI 录音相关问题。（[#7378](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7378)）\r\n- Discord 平台新增 Bot 消息过滤配置，允许控制是否接收其他 Bot 的消息。（[#6505](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6505)）\r\n- 新增 LLM 对重复工具调用的引导能力，减少模型陷入重复调用工具的情况。（[#7388](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7388)）\r\n\r\n### 优化\r\n\r\n- 合并 Cron 相关工具为统一管理工具，并新增 Cron 任务编辑能力。（[#7445](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7445)）\r\n- 重构内置工具管理逻辑，改善 AstrBot 内置工具注册与调用维护性。（[#7418](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7418)）\r\n- 移除默认网页搜索实现，改由新的搜索工具链路提供能力。（[#7416](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7416)）\r\n- 移除 `lxml` 与 `beautifulsoup4` 依赖，降低安装体积与依赖复杂度。（[#7449](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7449)）\r\n- 降低 MCP Server 状态轮询频率，减少后台请求开销。（[#7399](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7399)）\r\n- 修正文档中的路径拼接示例，避免插件开发存储文档误导使用者。（[#7448](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7448)）\r\n\r\n### 修复\r\n\r\n- 修复 Windows 桌面端插件依赖加载不安全或失败的问题。（[#7446](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7446)）\r\n- 修复 Telegram 长消息最终分段过长的问题。（[#7432](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7432)）\r\n- 修复 Telegram `sendMessageDraft` 发送空文本导致 400 错误刷屏的问题。（[#7398](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7398)）\r\n- 修复 Telegram 收集命令时插件 handler 不在 `star_map` 中导致 `KeyError` 的问题。（[#7405](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7405)）\r\n- 修复 QQ 官方 WebSocket 关闭流程清理不完整的问题。（[#7395](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7395)）\r\n- 修复 Gemini FunctionResponse 中不支持的 `id` 字段导致请求失败的问题。（[#7386](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7386)）\r\n- 修复 Gemini 空模型输出误触发错误处理的问题。（[#7377](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7377)）\r\n- 修复仅存在原生工具时仍传递 `FunctionCallingConfig` 的问题。（[#7407](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7407)）\r\n- 修复 ChatUI 项目常量缺失，并补充相关测试用例。（[#7414](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7414)）\r\n- 修复 WebUI 暗色模式渲染与多处交互问题。（[#7173](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7173)）\r\n- 修复页面切换时浮动按钮跳动的问题。（[#7214](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7214)）\r\n- 修复 `faiss` 在启动阶段过早导入导致部分环境启动失败的问题。（[#7400](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7400)）\r\n- 修复微信个人号适配器缺少上下文 token 时的警告信息。（[commit](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fcommit\u002Fdfca5cdb)）\r\n- 修复工具结果断言与动态阈值不一致的问题。（[commit](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fcommit\u002F8c6c00ae)）\r\n\r\n\u003Ca id=\"english\">\u003C\u002Fa>\r\n\r\n## What's Changed (EN)\r\n\r\n### New Features\r\n\r\n- Added local Computer Use filesystem tools, including file read, write, edit, Grep search, and per-session workspace suppor","2026-04-11T13:54:04",{"id":205,"version":206,"summary_zh":207,"released_at":208},333741,"v4.22.3","- [更新日志(简体中文)](#chinese)\r\n- [Changelog(English)](#english)\r\n\r\n\u003Ca id=\"chinese\">\u003C\u002Fa>\r\n\r\n## 变更内容\r\n\r\n### 新增\r\n\r\n- 新增 `vllm_rerank` 提供商支持可配置的 `rerank_api_suffix`，可灵活适配不同 API 路径。（[#7278](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7278)）\r\n- 适配 llama.cpp 的 token 用量提取支持，增强 token 统计与计费分析能力。（[#7358](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7358)）\r\n- WebUI 捆绑 Monaco Editor 的 worker 文件，防止从 CDN 下载失败。（[#7249](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7249)）\r\n- 全新的模型\u002F平台总览统计面板。（[#7152](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7152)）\r\n\r\n### 优化\r\n\r\n- 优化 OpenAI 消息处理，若 `content` 列表为空时将其置为 `None`，并降低空内容下的异常率。（[#6551](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6551)）\r\n- 优化 provider page 布局与样式，提升整体设置页面排版一致性。（[#7248](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7248)）\r\n- 用户已登录时将直接跳转欢迎页，减少再次进入登录页的步骤。（[commit](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fcommit\u002F9896b48c)）\r\n\r\n### 修复\r\n\r\n- 修复 Windows 下 MCP runner 未继承完整系统环境变量导致启动异常的问题。（[#7054](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7054)）\r\n- 修复 Gemini 思考片段泄露到用户可见消息链路的问题。（[#7196](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7196)）\r\n- 修复 Gemini(OpenAI 兼容 API) 下，`function_response` 格式要求导致的 `400 Invalid argument` 错误。（[#7216](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7216)\r\n- 修复知识库初始化失败时的错误提示与恢复问题。（[#7243](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7243)）\r\n- 修复 Bailian Rerank 对新旧响应格式兼容性，避免解析失败。（[#7217](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7217)）\r\n- Docker 镜像补充 AMR 编码器依赖，修复部分部署场景下的音频转码缺失问题。（[#7247](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7247)）\r\n- 修复 pip 安装缺少 `pysocks` 依赖导致的 SOCKS5 代理不可用问题。（[#7221](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7221)）\r\n- 修复 `cached_tokens` 在 `_extract_usage` 中的处理逻辑，避免 token 统计错乱。（[#6719](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6719)）\r\n- 增强 SSE 断开保护，压缩传输下主动发送心跳，减少 WebChat 误断连。（[#7003](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7003)）\r\n- 修复严格 API 下空 assistant 消息导致的 400 错误。（[#7202](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7202)）\r\n- 新增二维码功能缺失的 `qrcode` 依赖修复，恢复二维码生成功能。（[commit](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fcommit\u002F5886c437)）\r\n- 修复配置器数字输入组件的交互体验问题，避免异常输入场景下的处理偏差。（[#7153](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7153)）\r\n- 修复 `Record.path` 在 Pydantic v2 下被错误视为必填字段的问题。（[#7048](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7048)）\r\n\r\n\u003Ca id=\"english\">\u003C\u002Fa>\r\n## What's Changed (EN)\r\n\r\n### New Features\r\n\r\n- Added configurable `rerank_api_suffix` for the `vllm_rerank` provider to support custom API paths.（[#7278](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7278)）\r\n- Added token usage extraction support for llama.cpp to improve token accounting.（[#7358](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7358)）\r\n- Bundled Monaco Editor workers in WebUI so code editing does not depend on external CDN downloads.（[#7249](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7249)）\r\n- Added a new statistics overview for model and platform usage.（[#7152](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7152)）\r\n- Redirected logged-in users to the welcome page instead of the login page.（[commit](https:\u002F","2026-04-04T17:52:53",{"id":210,"version":211,"summary_zh":212,"released_at":213},333742,"v4.22.2","## 变更内容\n\n### 新增功能\n\n- 为工具循环代理运行器新增了 `tool_choice` 参数，并引入了带有更强重试机制的 `EmptyModelOutputError`，从而提升了“技能式”工具调用工作流的稳定性。（[#7101](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7101)、[#7104](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7104)）\n- 为仪表板添加了 SSL 配置解析与验证功能，并在证书配置无效时自动回退至非 SSL 模式。（[#7102](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7102)）\n- 在配置管理页面中新增了通过复制现有配置来生成新配置的功能，以减少重复创建的成本。（[#6785](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6785)）\n- 更新了 QQ 官方适配器，使其支持异步消息解析和附件准备。（[#7007](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F7007)）\n- 为微信个人版适配器新增了输入状态控制功能（“对方正在输入…”）。（[#6977](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6977)）\n\n### 优化\n\n- 重构了聊天界面的路由与布局，使 UI 模式由 URL 驱动，并关联相关状态。","2026-03-28T16:35:09",{"id":215,"version":216,"summary_zh":217,"released_at":218},333743,"v4.22.1","## 变更内容\n\n### 新增功能\n\n- 增强了技能安装流程，不再限制上传的压缩包顶级必须是一个目录。并支持中文技能名称显示。（[#6952](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6952)）\n- OpenAI Embedding 模型配置支持自动补齐 `\u002Fv1` 基础路径。（[#6863](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6863)）\n- 为 `\u002Fapi\u002Ffile` 新增 GET 端点并支持多种请求方式。（[#6874](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6874)）\n- WebUI 设置页新增日志与缓存清理能力。（[#6822](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6822)）\n- Lark 平台新增可折叠 Thinking 面板能力与消息处理优化。（[#6831](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6831)）\n\n### 修复\n\n- 修复 QQ 官方机器人中，在 Cron Job 或者主动发送消息时的 `msg_id` 相关负载处理问题。（[#6604](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6604)）\n- 修复 个人微信 在轮询超时后停止轮询的问题。（[#6915](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6915)）\n- 修复 硅基流动 提供商无法正确使用工具调用能力的问题。（[#6829](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6829)）\n- 修复部分提供商工具调用流式增量返回缺少 index 导致的异常。（[#6661](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6661)\n- 修复 WebUI 中 `ObjectEditor` 的 `updateKey` 错误索引导致的“键已存在”误判。（[#6825](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6825)）\n- 修复 UI 图标集合及测试一致性导致的展示异常。（[#6894](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6894)、[#6892](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6892)）\n- 修复 T2I 配置间未同步生效模板的问题。（[#6824](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6824)）\n- 修复 MIMO TTS 样式参数以对齐官方文档约定。（[#6814](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6814)）\n\n## 变更内容 (英文)\n\n### 新增功能\n\n- 增强了技能安装功能，支持多个顶级文件夹、重复项处理以及中文技能名称显示。（[#6952](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6952)）\n- 自动在 `embedding_api_base` 后添加 `\u002Fv1`，以提高与 OpenAI Embedding API 的兼容性。（[#6863](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6863)）\n- 在 WebUI 中增加了插件作者显示和固定插件卡片支持。（[#6875](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6875)）\n- 为 `\u002Fapi\u002Ffile` 添加了 GET 端点，并支持多种 HTTP 方法。（[#6874](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6874)）\n- 在仪表盘设置中增加了日志和缓存清理功能。（[#6822](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6822)）\n- 为 Lark 平台新增了可折叠推理面板，并优化了消息处理功能。（[#6831](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6831)）\n\n### 改进\n\n- 在检查文件是否存在之前先验证 `config_path`，以避免误报。（[#6722](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6722)）\n- 改进了 WebUI 中提供者的批量重置行为以及“关注”配置的处理方式。（[#6825](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6825)）\n- 更新了 i18n 文档中关于 OpenAI 的说明，使其兼容性提示更加清晰。（[adc252a3](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fcommit\u002Fadc252a3a2f9f6a4b3fcf6f7d5f4c7d5b9d9a1)）\n\n### Bug 修复\n\n- 修复了流式 `tool_call` 数据中缺少 `index` 字段的问题。（[#6661](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6661)）\n- 修复了 QQ API 中 `msg_id` 负载处理的问题。（[#6604](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6604)）\n- 修复了个人微信在接收到超时响应后仍能继续轮询的问题。（[#6915](https","2026-03-25T16:05:50",{"id":220,"version":221,"summary_zh":222,"released_at":223},333744,"v4.22.0","## 变更内容\n\n### 新增功能\n\n- 新增支持微信个人账号接入，包括二维码驱动的配置流程、消息流重构及媒体处理优化。（[#6777](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6777)）\n- 新增 WebUI 已安装插件的置顶与拖拽排序功能。（[#6776](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6776)）\n- 新增图片压缩功能，支持限制图片尺寸和 JPEG 质量，并优化了临时文件的生命周期管理，以提升图片处理效率。（[#6794](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6794)）\n\n### 优化改进\n\n- 当知识库为空时，自动跳过检索操作，避免无效的搜索调用。（[#6750](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6750)）\n- 修复并保留 `frontmatter` 中转义的换行符行为，同时更新相关测试与 CI 工作流。（[#6783](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6783)）\n\n### 问题修复\n\n- 将 Telegram 适配器中对 `Unauthorized` 的导入替换为 `Forbidden`，以修复兼容性问题。（[#6769](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6769)）\n- 处理 OpenAI 提供商中 `token usage metrics` 为 `None` 时的异常情况。（[#6788](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6788)）\n- 保留所有 `CallToolResult.content` 项，防止工具调用上下文内容丢失。（[#6149](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6149)）\n\n## 变更内容（英文）\n\n### New Features\n\n- Added WeChat personal account support, including QR-code driven setup, message flow refactor, and media handling improvements.（[#6777](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6777)）\n- Added pinning and drag-sorting for installed WebUI plugins.（[#6776](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6776)）\n- Added image compression with max-size handling and temporary-file lifecycle management for improved image efficiency.（[#6794](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6794)）\n\n### Improvements\n\n- Skipped search execution when the entire knowledge base is empty.（[#6750](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6750)）\n- Preserved escaped newlines in `frontmatter`, with related test and CI workflow updates.（[#6783](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6783)）\n\n### Bug Fixes\n\n- Replaced deprecated Telegram adapter import of `Unauthorized` with `Forbidden`.（[#6769](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6769)）\n- Handled `None` values in OpenAI provider `token usage metrics`.（[#6788](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6788)）\n- Kept all `CallToolResult.content` items to prevent losing tool-call context.（[#6149](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6149)）\n\n## 变更内容\n* 功能：支持微信个人账号接入，由 @Soulter 在 https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6777 中实现。\n* 修复（platform.tg_adapter）：将 Telegram 适配器中已弃用的 `Unauthorized` 导入替换为 `Forbidden` (#6765)，由 @mzwing 在 https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6769 中完成。\n* 功能：当整个知识库为空时跳过搜索，由 @Waterwzy 在 https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6750 中实现。\n* 功能：修复并保留 `frontmatter` 中转义的换行符行为，同时更新测试与 CI 流程，由 @RC-CHN 在 https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6783 中完成。\n* 功能（webui）：支持已安装插件的置顶与拖拽排序 (#6649)，由 @M1LKT 在 https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6776 中实现。\n* 修复：处理 OpenAI 提供商中 `token usage metrics` 可能出现的 `None` 值，由 @Soulter 在 https:\u002F\u002Fgithub.com\u002F","2026-03-22T09:36:24",{"id":225,"version":226,"summary_zh":227,"released_at":228},333745,"v4.21.0","## 变更内容\n\n### 新增\n\n- 为插件市场新增分类筛选功能，并优化界面组件。（[#6762](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6762)）\n- 新增 Kimi 编程计划提供者（兼容 Anthropic API）。（[#6559](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6559)）\n- 统一并重命名 `skill.md` 文件为 `SKILL.md`。（[#6757](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6757)）\n- 新增 Ollama 关闭思考模式开关。（[#5941](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5941)）\n- 新增小米 MiMo TTS 与 STT 提供者。（[#6643](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6643)）\n- 新增多模态上下文 token 计数能力（图片、音频与思维链）。（[#6596](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6596)）\n- 新增按元信息名称安装插件并校验可导入标识符的功能。（[#6530](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6530)）\n\n### 优化\n\n- 将 `kook_type` 中的 `StrEnum` 降级为 `(str, Enum)`，以兼容旧版本 Python。（[#6512](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6512)）\n- 优化 WebChat 消息处理：提前保存消息并增强流式补全功能。（[#6698](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6698)）\n- 优化 Dashboard 中移动端 persona 选择器布局。（[#5907](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5907)）\n- 优化 Dashboard，减少 MDI icon font 使用范围，并将 Google Fonts 自托管。（[#6532](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6532)）\n- 使用 Pydantic 重构 KOOK 适配器数据模型，以提升消息结构解析与校验性能。（[#5719](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5719)）\n- 调整文档术语与表达（如将“消息平台”改为“机器人”等），并优化更新说明文字。（[#6568](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6568)）\n\n### 修复\n\n- 修复 web search 工具中被禁用系统函数时未正确生效的问题。（[#6584](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6584)）\n- 跳过空的知识库嵌入批次，避免不必要计算。（[#6106](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6106)）\n- 修复 Feishu opus 文件在 Whisper API STT 场景下未正确转换的问题。（[#6078](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6078)）\n- 修复 Lark 在工具调用中断时卡片创建与重续流程。（[#6743](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6743)）\n- 修复 Windows 环境下 skill 文件编码兼容问题。（[#6058](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6058)）\n- 修复 WebChat 单独渲染的 HTML 回复被错误显示的问题。（[#6074](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6074)）\n- 修复 Gemini 数组 schema 缺少 `items` 字段的问题。（[#6051](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6051)）\n- 修复 skills 使用硬编码工作区路径的问题，改为使用缓存中的真实沙箱路径。（[#6331](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6331)）\n- 修复 subagent 工具调用超时传递问题，修正 `tool_call_timeout` 并将默认超时从 60 秒提升到 120 秒。（[#6713](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6713)）\n- 修复 `skills-like` 下缺失 `extra_user_content_parts` 时未注入图片说明的问题。（[#6710](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6710)）\n- 修复 `\u002Fstop` 后继续处理后续 follow-up 消息的问题。（[#6704](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6704)）\n- 修复核心流程在 stop 时中断子代理工具等待的行为。（[#5850](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5850)）\n- 修复 Windows 平台 stdio MCP 服务 `PATHEXT` 丢失的问题。（[#5822](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5822)）\n- 修复 Telegram 轮询重启机制，失败时自动恢复循环。（[#6648](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6648)）\n- 修复 `\u002Fstop` 后 follow-up 状态未清理导致后续触发继续运行的问题。（[#6656](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6656)）\n- 修复 OpenAI 配置日志，改进代理与 API Base 的可读性及排障能力。（[#6669](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6669)）\n- 修复长工具调用中截断逻辑误删唯一 user 消息的问题。（[#6198](https:\u002F\u002Fgithub.com\u002FAs","2026-03-21T18:03:01",{"id":230,"version":231,"summary_zh":232,"released_at":233},333746,"v4.20.1","## 变更内容\n\n### 新增\n\n- 补充 MiniMax Provider。（[#6318](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6318)）\n- 新增 WebUI ChatUI 页面的会话批量删除功能。（[#6160](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6160)）\n- 新增 WebUI ChatUI 配置发送快捷键。（[#6272](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6272)）\n\n### 优化\n\n- 优化 UMO 处理兼容性。（[#5996](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5996)）\n- 重构 `_extract_session_id`，改进聊天类型分支处理。（#5775）\n- 优化聊天组件行为，使用 `shiki` 进行代码块渲染。（[#6286](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6286)）\n- 优化 WebUI 主题配色与视觉体验。（[#6263](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6263)）\n- 优化 OneBot @ 组件后处理，避免消息文本解析空格问题。（[#6238](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6238)）\n\n### 修复\n\n- 修复创建新 Provider 后未同步 `providers_config` 的问题。（[#6388](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6388)）\n- 修复 API 返回 `null choices` 时的 `TypeError`。（[#6313](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6313)）\n- 修复 QQ Webhook 重试回调重复触发的问题。（[#6320](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6320)）\n- 修复流式模式下 `delta` 为 `None` 导致工具调用时报错的问题。（[#6365](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6365)）\n- 修复模型服务链接说明文字错误。（[#6296](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6296)）\n- 修复 AI 在 tool-calling 模式设为 `skills-like` 时发送媒体失败的问题。（[#6317](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6317)）\n- 修复 Telegram 适配器中 GIF 被错误转成静态图的问题。（[#6329](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6329)）\n- 将 Provider 图标来源替换为 jsDelivr CDN 地址，修复部分环境下图标加载问题。（[#6340](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6340)）\n- 修复 QQ 官方表情消息未解析为可读文本的问题。（[#6355](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6355)）\n- 修复 WebChat 队列异常时流式结果页面崩溃的问题。（[#6123](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6123)）\n- 修复子代理 handoff 工具在插件过滤时丢失的问题。（[#6155](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6155)）\n- 修复 Cron 提示文案缺少空格及 `utcnow()` 的弃用警告问题。（[#6192](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6192)）\n- 修复 WebUI 启动时 Sidebar hash 导航抖动\u002F定位问题。（[#6159](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6159)）\n- 修复启动重试过程中移除已移除 API Key 的 `ValueError` 报错。（[#6193](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6193)）\n- 修复 README 启动命令引用更新为 `astrbot run`。（[#6189](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6189)）\n- 修复 `Plain.toDict()` 在 `@` 提及场景下空白字符丢失的问题。（[#6244](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6244)）\n- 修复 provider 依赖重复定义问题。（[#6247](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6247)）\n- 修复 Telegram 中普通回复被误判为线程的处理问题。（[#6174](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6174)）\n\n### 其他\n\n- 调整 `astrbot.service` 及 CI 配置，升级 GitHub Actions 版本。\n\n---\n\n## 变更内容（英文）\n\n### 新增功能\n\n- 添加了 OpenRouter 聊天补全提供商适配器，支持自定义头部信息（[#6436](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6436)）。\n- 添加了 MiniMax 提供商（[#6318](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6318)）。\n- 在 WebChat 中新增了批量删除会话的功能（[#6160](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6160)）。\n- 为 WebChat 输入框添加了发送快捷键设置，并支持多语言本地化（[#6272](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6272)）。","2026-03-16T16:38:20",{"id":235,"version":236,"summary_zh":237,"released_at":238},333747,"v4.20.0","## 变更内容\n\n### 新增\n\n- 新增俄语翻译（[#6081](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6081)）。\n- QQ 官方 Bot 新增文件、语音、视频消息支持（含 WebSocket 模式）（[#6063](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6063)）。\n\n### 优化\n\n- 优化 QQ 官方 Bot 的流式消息投递可靠性与主动媒体发送能力（[#6131](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6131)）。\n- 优化边界场景下 booter 选择逻辑与消息发送工具（[#6064](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6064)）。\n\n### 修复\n\n- 修复 Dashboard README 对话框锚点导航失效（[#6083](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6083)）。\n- 优先使用具名 weekday 的 cron 示例，避免歧义（[#6091](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6091)）。\n- 修复插件市场安装后状态未及时刷新的问题（[#6124](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6124)）。\n- 修复插件依赖安装逻辑：仅安装缺失依赖（[#6088](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6088)）。\n- 移除 Telegram 适配器中已废弃的 `normalize_whitespace` 参数（[#6044](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6044)）。\n- 修复 Windows 本地 skill 文件读取问题（[#6028](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6028)）。\n- 修复 Discord pre-ack emoji 配置重启后不持久化的问题（[#6031](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6031)）。\n- 统一 WebUI 搜索框清空行为（[#6017](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6017)）。\n- 优化插件依赖自动安装流程与 Dashboard 安装体验（[#5954](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5954)）。\n\n\n---\n\n## 变更内容 (英文)\n\n### 新功能\n\n- 新增俄语翻译支持（[#6081](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6081)）。\n- 新增文件、语音和视频消息支持，适用于 QQ 官方 Bot（包括 WebSocket 模式）（[#6063](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6063)）。\n\n### 改进\n\n- 提升 QQ 官方 API 的流式消息投递可靠性和主动媒体发送能力（[#6131](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6131)）。\n- 优化边缘场景下的 booter 选择逻辑及消息发送工具（[#6064](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6064)）。\n\n### 缺陷修复\n\n- 修复 Dashboard 中 README 对话框锚点导航失效的问题（[#6083](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6083)）。\n- 推荐使用具名 weekday 的 cron 示例，以减少歧义（[#6091](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6091)）。\n- 修复插件市场安装后状态未能及时刷新的问题（[#6124](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6124)）。\n- 修复插件依赖安装逻辑，确保仅安装缺失的依赖包（[#6088](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6088)）。\n- 移除 Telegram 适配器中已废弃的 `normalize_whitespace` 参数（[#6044](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6044)）。\n- 修复 Windows 系统下本地 skill 文件读取问题（[#6028](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6028)）。\n- 修复 Discord pre-ack emoji 配置在重启后无法持久化的问题（[#6031](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6031)）。\n- 统一 WebUI 搜索框的清空行为（[#6017](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F6017)）。\n- 优化插件依赖的自动安装流程及 Dashboard 的安装体验（[#5954](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5954)）。","2026-03-12T16:36:05",{"id":240,"version":241,"summary_zh":242,"released_at":243},333748,"v4.19.5","## What's Changed\n\n### 新增\n\n- Lark 适配器支持 CardKit 流式输出（飞书）([#5777](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5777))。\n- WebUI 已安装插件列表新增筛选与排序功能 ([#5923](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5923))。\n\n### 优化\n- 启动时后台加载 MCP Server，不阻塞加载流程 ([#5993](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5993))。\n\n### 修复\n\n- 部分情况下 MCP 页报错 500 导致查看不了 MCP 服务器 ([#5993](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5993))。\n- 修复 TTS Provider 测试：增加文件大小校验，并补充 MiniMax 空音频检测 ([#5999](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5999))。\n- 修复前端切换到 Chat 后又回到 Welcome 时，页面切换配置未正确持久化的问题 ([#5792](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5792))。\n- 修复 Azure TTS 不支持 84 位订阅密钥的问题 ([#5813](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5813))。\n\n### 文档\n\n- 文档仓库迁移：将 `AstrBotDevs\u002FAstrBot-docs` 内容迁移至 `AstrBotDevs\u002FAstrBot` ([#5960](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5960))。\n\n---\n\n## What's Changed (EN)\n\n### New Features\n\n- Added CardKit streaming output support for the Lark\u002FFeishu adapter ([#5777](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5777)).\n- Added filtering and sorting for installed plugins in the WebUI ([#5923](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5923)).\n\n### Impprovement\n- MCP Server now loads in the background during startup without blocking the loading process ([#5993](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5993)).\n\n### Bug Fixes\n\n- Added file size validation in TTS provider tests and MiniMax empty-audio detection ([#5999](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5999)).\n- Fixed frontend state persistence when switching from Chat back to Welcome ([#5792](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5792)).\n- Fixed Azure TTS support for 84-character subscription keys ([#5813](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5813)).\n- Reverted the MCP stdio missing-command error wording change after the previous fix ([#5992](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5992)).\n\n### Documentation\n\n- Migrated documentation content from `AstrBotDevs\u002FAstrBot-docs` into `AstrBotDevs\u002FAstrBot` ([#5960](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5960)).\n","2026-03-10T16:19:27",{"id":245,"version":246,"summary_zh":247,"released_at":248},333749,"v4.19.4","## What's Changed\n\n### 新增\n\n- 企业微信智能机器人支持长连接模式。[#5930](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5930)\n\n### New\n\n- Wecom AI Bot supports long-connection mode(Websockets). [#5930](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5930)","2026-03-09T03:16:07",{"id":250,"version":251,"summary_zh":252,"released_at":253},333750,"v4.19.3","## What's Changed\r\n\r\n### 新增\r\n\r\n- 新增 Skills 批量上传能力 ([#5804](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5804))。\r\n\r\n### 修复\r\n\r\n- 修复 MCP Server 配置异常时可能导致崩溃的问题 ([#5666](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5666), [#5673](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5673))。\r\n- 修复钉钉适配器文本消息被忽略、无法主动发送文件的问题 ([#5921](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5921))。\r\n- 修复钉钉适配器无法接收图片与文件的问题 ([#5920](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5920))。\r\n- fix(provider): handle MiniMax ThinkingBlock when max_tokens reached ([#5913](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5913))。\r\n- 修复 OpenRouter `api_base` 配置错误的问题 ([#5911](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5911))。\r\n- 修复插件市场中按展示名搜索已安装插件不生效的问题 ([#5806](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5806), [#5811](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5811))。\r\n- 修复仅图片响应未应用 `reply_with_quote` 与 `reply_with_mention` 的问题 ([#5219](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5219))。\r\n- 修复 `RegexFilter` 使用 `re.match` 导致匹配范围不正确的问题 ([#5368](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5368))。\r\n- 修复桌面运行环境检测依赖 frozen Python 的问题 ([#5859](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5859))。\r\n- 修复通过“创建新配置”创建平台机器人后找不到 pipeline scheduler 的问题 ([#5776](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5776))。\r\n\r\n---\r\n\r\n## What's Changed (EN)\r\n\r\n### New Features\r\n\r\n- Added batch upload support for multiple skill ZIP files ([#5804](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5804)).\r\n\r\n### Bug Fixes\r\n\r\n- Fixed potential crash on malformed MCP server config ([#5666](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5666), [#5673](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5673)).\r\n- Fixed DingTalk adapter issue where text messages were ignored and files could not be sent proactively ([#5921](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5921)).\r\n- Fixed DingTalk adapter issue where image and file messages could not be received ([#5920](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5920)).\r\n- Fixed incorrect OpenRouter `api_base` configuration ([#5911](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5911)).\r\n- Fixed searching installed plugins by display name in extensions ([#5806](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5806), [#5811](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5811)).\r\n- Fixed image-only responses not applying `reply_with_quote` and `reply_with_mention` ([#5219](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5219)).\r\n- Fixed `RegexFilter` using `re.match` instead of `re.search` for expected matching behavior ([#5368](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5368)).\r\n- Fixed desktop runtime detection requiring frozen Python ([#5859](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5859)).\r\n- Fixed missing pipeline scheduler after creating a platform bot via \"create new config\" ([#5776](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5776)).\r\n- fix(provider): handle MiniMax ThinkingBlock when max_tokens reached ([#5913](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5913))\r\n\r\n## What's Changed\r\n* test(skill_manager): update sandbox cache path expectations  by @RC-CHN in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5706\r\n* fix: align aiocqhttp poke segment with onebot v11 by @whatevertogo in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5773\r\n* fix: pipeline scheduler not found after creating platform bot via using 'create new config' by @Soulter in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5776\r\n* fix: detect desktop runtime without frozen python by @zouyonghe in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5859\r\n* feat(skills): add batch upload functionality for multiple skill ZIP files by @whatevertogo in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5804\r\n* fix: use re.search instead of re.match in RegexFilter by @KBVsent in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5368\r\n* fix: apply reply_with_quote and reply_with_mention to image-only response by @KBVsent in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5219\r\n* fix(extension): support searching installed plugins by display name (#5806) by @ChuwuYo in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5811\r\n* correct openrouter api_base by @windycold in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5911\r\n* fix: cannot receive image, file in dingtalk by @Soulter in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5920\r\n* fix(dingtalk): text is ignored; cannot send file actively by @Soulter in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5921\r\n* fix: prevent crash on malformed MCP server config (#5666) by @Clhikari in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5673\r\n* fix: 修复 asyncio 事件循环相关问题 by @whatevertogo in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5774\r\n* fix(provider): handle MiniMax ThinkingBlock when max_tokens reached by @JasonOA888 in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5913\r\n\r\n## New Contributors\r\n* @ChuwuYo made their first contribution in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5811\r\n* @windycold made their first contribution in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5911\r\n* @JasonOA888 made their first contribution","2026-03-08T16:22:52",{"id":255,"version":256,"summary_zh":257,"released_at":258},333751,"v4.19.2","## What's Changed\r\n\r\n### 新增\r\n\r\n- 集成 KOOK 平台适配器 ([#5658](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5658))。\r\n- 新增 Discord pre-react Emoji 支持 ([#5609](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5609))。\r\n- 新增 Telegram 支持 `sendMessageDraft` 流式实时输出 API ([#5726](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5726))\r\n- 支持在 Agent 运行时进行消息跟进能力，跟进的消息实时注入给 Agent ([#5484](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5484))。\r\n- 集成 DeerFlow Agent Runner 并优化流式处理 ([#5581](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5581))。\r\n- 新增 shell, ipython tool 中包含操作系统信息，提高 windows 下 tool call 成功率 ([#5677](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5677))。\r\n- Sandbox 支持 Shipyard-neo - 支持 Skills 自迭代 ([#5028](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5028))。\r\n- 新增 ChatUI WebSocket 传输模式选择，OpenAPI Chat API 支持 WebSocket 连接 ([#5410](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5410))。\r\n- 支持 Persona 自定义报错回复消息与兜底逻辑 ([#5547](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5547))。\r\n- 将 WebUI 静态文件打包至 wheel，并将 astrbot CLI 日志替换为英文 ([#5665](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5665))。\r\n- 增强聊天界面与移动端响应式体验 ([#5635](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5635))。\r\n- 优化插件失败处理逻辑与扩展列表交互体验 ([#5535](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5535))。\r\n\r\n### 修复\r\n\r\n- 修复 MCP 初始化超时参数关键字不匹配的问题 ([#5743](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5743))。\r\n- 修复 MCP 工具竞态条件导致\"completion 无法解析\"错误 ([#5534](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5534))。\r\n- 修复 LINE 适配器中非 HTTPS URL 直接透传的问题 ([#5697](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5697))。\r\n- 修复 WebUI 侧边栏自定义状态不稳定的问题 ([#5670](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5670))。\r\n- 修复 KOOK 适配器收到消息和心跳响应时输出多余调试日志的问题。\r\n- 修复 `DEMO_MODE` 环境变量未正确解析为布尔值的问题 ([#5676](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5676))。\r\n- 修复子 Agent 无法正确接收本地图片（参考图）路径的问题 ([#5579](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5579))。\r\n- 修复 `\u002Fmodel` 命令切换至不同 Provider 模型时产生误导性行为的问题 ([#5578](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5578))。\r\n- 修复对话记录中 UTC 时区偏移未处理导致时间戳异常的问题 ([#5580](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5580))。\r\n- 修复备份导入时重复平台统计数据导致异常的问题 ([#5594](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5594))。\r\n- 修复 `max_agent_step` 配置未应用到子 Agent 的问题 ([#5608](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5608))。\r\n- 修复插件列表排序和搜索过滤逻辑 ([#5559](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5559))。\r\n- 修复 `uv sync` 时未要求 Node.js 环境的问题。\r\n\r\n---\r\n\r\n## What's Changed (EN)\r\n\r\n### New Features\r\n\r\n- Integrated KOOK platform adapter ([#5658](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5658)).\r\n- Integrated DeerFlow Agent Runner with optimized streaming support ([#5581](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5581)).\r\n- feat(telegram): supports sendMessageDraft API ([#5726](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5726))\r\n- Integrated Neo skill self-iteration capability with full lifecycle management (candidate, release, deletion) via Shipyard Neo sandbox ([#5028](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5028)).\r\n- Added Discord pre-ack emoji support ([#5609](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5609)).\r\n- Added WebSocket transport mode selection for the chat interface ([#5410](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5410)).\r\n- Added OS information to tool descriptions with unit test coverage ([#5677](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5677)).\r\n- Added follow-up message handling in `ToolLoopAgentRunner` ([#5484](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5484)).\r\n- Added support for persona custom error reply messages with fallback logic ([#5547](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5547)).\r\n- Bundled WebUI static files into the wheel package and replaced astrbot CLI logs with English ([#5665](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5665)).\r\n- Optimized async IO performance and added benchmark coverage ([#5737](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5737)).\r\n- Refactored API key creation and added unit tests for open API routes.\r\n- Improved error messaging for AI execution failures in agent runners.\r\n- Enhanced chat interface and mobile responsiveness ([#5635](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5635)).\r\n- Improved plugin failure handling and extension list UX ([#5535](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5535)).\r\n\r\n### Bug Fixes\r\n\r\n- Fixed MCP initialization timeout keyword mismatch ([#5743](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5743)).\r\n- Fixed MCP tools race condition causing `completion 无法解析` error ([#5534](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5534)).\r\n- Fixed LINE adapter allowing non-HTTPS URLs to pass through directly ([#5697](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5697)).\r\n- Fixed unstable sidebar customization state in WebUI ([#5670](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5670)).\r\n- Fixed excessive debug logging in KOOK adapter for received messages and heartbeat responses.\r\n- Fixed `DEMO_MODE` environment variable not being parsed correctly as a boolean ([#5676](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5676)).\r\n- Fixed sub-agent failing to correctly r","2026-03-05T08:12:32",{"id":260,"version":261,"summary_zh":262,"released_at":263},333752,"v4.18.3","## What's Changed\r\n\r\n### 新增\r\n\r\n- 新增桌面端通用更新桥接能力，便于接入客户端内更新流程 ([#5424](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5424))。\r\n\r\n### 修复\r\n\r\n- 修复新增平台对话框中 Line 适配器未显示的问题。\r\n- 修复 Telegram 无法发送 Video 的问题 ([#5430](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5430))。\r\n- 修复创建 embedding provider 时无法自动识别向量维度的问题 ([#5442](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5442))。\r\n- 修复 QQ 官方平台发送媒体消息时 markdown 字段未清理的问题 ([#5445](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5445))。\r\n- 修复上下文管理策略 -> 上下文截断时 tool call \u002F response 配对丢失的问题 ([#5417](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5417))。\r\n- 修复会话更新时 `persona_id` 被覆盖的问题，并增强 persona 解析逻辑。\r\n- 修复 WebUI 中 GitHub 代理地址显示异常的问题 ([#5438](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5438))。\r\n- 修复设置页新建开发者 API Key 后复制失败的问题 ([#5439](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5439))。\r\n- 修复 Telegram 语音消息格式与 OpenAI STT 兼容性问题（使用 OGG） ([#5389](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5389))。\r\n\r\n### 优化\r\n\r\n- 优化知识库检索流程，改为批量查询元数据，修复 N+1 查询性能问题 ([#5463](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5463))。\r\n- 优化 Cron 未来任务执行的会话隔离能力，提升并发稳定性。\r\n- 优化 WebUI 插件页的交互。\r\n\r\n## What's Changed (EN)\r\n\r\n### New Features\r\n\r\n- Added `useExtensionPage` composable for unified plugin extension page state management.\r\n- Added a generic desktop app updater bridge to support in-app update workflows ([#5424](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5424)).\r\n\r\n### Bug Fixes\r\n\r\n- Fixed the Line adapter not appearing in the \"Add Platform\" dialog.\r\n- Fixed Telegram video sending issues ([#5430](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5430)).\r\n- Fixed Pyright static type checking errors ([#5437](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5437)).\r\n- Fixed embedding dimension auto-detection when creating embedding providers ([#5442](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5442)).\r\n- Fixed stale markdown fields when sending media messages via QQ Official Platform ([#5445](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5445)).\r\n- Fixed tool call\u002Fresponse pairing loss during context truncation ([#5417](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5417)).\r\n- Fixed `persona_id` being overwritten during conversation updates and improved persona resolution logic.\r\n- Fixed incorrect GitHub proxy display in WebUI ([#5438](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5438)).\r\n- Fixed API key copy failure after creating a new key in settings ([#5439](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5439)).\r\n- Fixed Telegram voice format compatibility with OpenAI STT by using OGG ([#5389](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5389)).\r\n\r\n### Improvements\r\n\r\n- Improved knowledge base retrieval by batching metadata queries to eliminate the N+1 query pattern ([#5463](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5463)).\r\n- Improved session isolation for future cron tasks to increase stability under concurrency.\r\n- Improved WebUI plugin page interactions.\r\n\r\n## What's Changed\r\n* fix: Telegram voice message format (OGG instead of WAV) causing issues with OpenAI STT API by @realquantumcookie in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5389\r\n* feat(dashboard): add generic desktop app updater bridge by @zouyonghe in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5424\r\n* fix(dashboard): 修复设置页新建 API Key 后复制失败问题 by @exynos967 in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5439\r\n* Fix: GitHub proxy not displaying correctly in WebUI by @letr007 in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5438\r\n* fix: ensure tool call\u002Fresponse pairing in context truncation by @Luna-channel in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5417\r\n* fix(persona): preserve conversation persona_id and unify session\u002Fconversation resolution by @Raven95676 in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5440\r\n* fix: clear markdown field when sending media messages via QQ Official Platform by @KBVsent in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5445\r\n* fix: cannot automatically get embedding dim when create embedding provider by @exynos967 in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5442\r\n* fix: pyright check by @Dt8333 in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5437\r\n* fix(telegram): cannot send video message (#2536) by @CCCCCCTV in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5430\r\n* perf: batch metadata query in KB retrieval to fix N+1 problem by @CAICAIIs in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5463\r\n* fix:fix the issue where incomplete cleanup of residual plugins occurs… by @Waterwzy in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5462\r\n* chore: fix UnsupportedDunder report in pyright by @Dt8333 in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5474\r\n* [bug]查看介入教程line前往错误界面的问题 by @Sjshi763 in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5479\r\n\r\n## New Contributors\r\n* @realquantumcookie made their first contribution in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5389\r\n* @CCCCCCTV made their first contribution in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5430\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fcompare\u002Fv4","2026-02-26T11:14:24",{"id":265,"version":266,"summary_zh":267,"released_at":268},333753,"v4.18.2","## What's Changed\r\n\r\n### 新增\r\n- 新增 Agent 会话停止能力，并优化 stop 请求处理流程，支持 \u002Fstop 指令终止 Agent 运行并尽量不丢失已运行输出的结果。 ([#5380](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5380))。\r\n- 新增 SubAgent 交接场景下的 computer-use 工具支持 ([#5399](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5399))。\r\n- 新增 Agent 执行过程中展示工具调用结果的能力，提升执行过程可观测性 ([#5388](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5388))。\r\n- 新增插件加载\u002F卸载 Hook，扩展插件生命周期能力 ([#5331](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5331))。\r\n- 新增插件加载失败后的热重载能力，提升插件开发与恢复效率 ([#5334](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5334))。\r\n- 新增 SubAgent 图片 URL\u002F本地路径输入支持 ([#5348](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5348))。\r\n- 新增 Dashboard 发布跳转基础 URL 可配置项 ([#5330](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5330))。\r\n\r\n### 修复\r\n- 修复 Tavily 请求的硬编码 6 秒超时。\r\n- 修复 OneBot v11 适配器关闭之后仍然在连接的问题([#5412](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5412))。\r\n- 修复上下文会话中平台缺失时的日志处理，补充 warning 并改进排查信息。\r\n- 修复 embedding 维度未透传到 provider API 的问题 ([#5411](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5411))。\r\n- 修复 File 组件处理逻辑并增强 OneBot 驱动层路径兼容性 ([#5391](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5391))。\r\n- 修复 sandbox 文件传输工具缺少管理员权限校验的问题 ([#5402](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5402))。\r\n- 修复 pipeline 与 `from ... import *` 引发的循环依赖问题 ([#5353](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5353))。\r\n- 修复配置文件存在 UTF-8 BOM 时的解析问题 ([#5376](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5376))。\r\n- 修复 ChatUI 复制回滚路径缺失与错误提示不清晰的问题 ([#5352](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5352))。\r\n- 修复保留插件目录处理逻辑，避免插件目录行为异常 ([#5369](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5369))。\r\n- 修复 ChatUI 文件消息段无法持久化的问题 ([#5386](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5386))。\r\n- 修复 `.dockerignore` 误排除 `changelogs` 目录的问题。\r\n- 修复 aiohttp 版本过新导致 qq-botpy 报错的问题 ([#5316](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5316))。\r\n\r\n### 优化\r\n- 完成 SubAgent 编排页面国际化，补齐多语言支持 ([#5400](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5400))。\r\n- 增补消息事件处理相关测试，并完善测试框架的 fixtures\u002Fmocks 覆盖 ([#5355](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5355), [#5354](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5354))。\r\n\r\n## What's Changed (EN)\r\n\r\n### New Features\r\n- Added computer-use tools support in sub-agent handoff scenarios ([#5399](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5399)).\r\n- Added support for displaying tool call results during agent execution for better observability ([#5388](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5388)).\r\n- Added plugin load\u002Funload hooks to extend plugin lifecycle capabilities ([#5331](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5331)).\r\n- Added hot reload support when plugin loading fails, improving recovery during plugin development ([#5334](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5334)).\r\n- Added image URL\u002Flocal path input support for sub-agents ([#5348](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5348)).\r\n- Added stop control for active agent sessions and improved stop request handling ([#5380](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5380)).\r\n- Added configurable base URL for dashboard release redirects ([#5330](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5330)).\r\n\r\n### Fixes\r\n- Fixed logging behavior when platform information is missing in context sessions, with clearer warning and diagnostics.\r\n- Fixed missing embedding dimensions being passed to provider APIs ([#5411](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5411)).\r\n- Fixed shutdown stability issues in the aiocqhttp adapter ([#5412](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5412)).\r\n- Fixed File component handling and improved path compatibility in the OneBot driver layer ([#5391](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5391)).\r\n- Fixed missing admin guard for sandbox file transfer tools ([#5402](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5402)).\r\n- Fixed circular import issues related to pipeline and `from ... import *` usage ([#5353](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5353)).\r\n- Fixed config parsing issues when files contain UTF-8 BOM ([#5376](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5376)).\r\n- Fixed missing copy rollback path and unclear error messaging in ChatUI ([#5352](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5352)).\r\n- Fixed reserved plugin directory handling to avoid abnormal plugin path behavior ([#5369](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5369)).\r\n- Fixed ChatUI file segment persistence issues ([#5386](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5386)).\r\n- Fixed accidental exclusion of the `changelogs` directory in `.dockerignore`.\r\n- Fixed compatibility issues caused by a hard-coded 6-second timeout in Tavily requests.\r\n- Fixed qq-botpy runtime errors caused by overly new aiohttp versions ([#5316](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5316)).\r\n\r\n### Improvements\r\n- Completed internationalization for the sub-agent orchestration page ([#5400](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5400)).\r\n- Added broader message-event test coverage and improved fixtures\u002Fmo","2026-02-24T14:50:53",{"id":270,"version":271,"summary_zh":272,"released_at":273},333754,"v4.18.1","## What's Changed\r\n\r\n### 修复\r\n- fix: 修复插件市场出现插件显示为空白的 bug；纠正已安装插件卡片的排版，统一大小 ([#5309](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5309))\r\n\r\n### 新增\r\n- SubAgent 支持后台执行模式配置：当 `background: true` 时，子代理将在后台运行，主对话无需等待子代理完成即可继续进行。当子代理完成后，会收到通知。适用于长时间运行或用户不需要立即结果的任务。([#5081](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5081))\r\n- 配置 Schema 新增密码渲染支持：`string` 与 `text` 类型可通过 `password: true`（或 `render_type: \"password\"`）在 WebUI 中按密码输入方式显示。\r\n\r\n## What's Changed (EN)\r\n\r\n### Fixes\r\n- fix: Fixed a bug where the plugin marketplace would show blank cards for plugins; corrected the layout of installed plugin cards for consistent sizing ([#5309](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5309))\r\n\r\n### New Features\r\n- Added background execution mode support for sub-agents: when `background: true` is set, the sub-agent will run in the background, allowing the main conversation to continue without waiting for the sub-agent to finish. You will be notified when the sub-agent completes. This is suitable for long-running tasks or when the user does not need immediate results. ([#5081](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5081))\r\n- Added password rendering support in config schema: `string` and `text` fields can be rendered as password inputs in WebUI with `password: true` (or `render_type: \"password\"`).\r\n\r\n## What's Changed\r\n* fix(SubAgentPage): 当中间的介绍文本非常长时，Flex 布局会自动挤压右侧的控制按钮区域 by @SXP-Simon in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5306\r\n* fix: 修复新版本插件市场出现插件显示为空白的 bug；纠正已安装插件卡片的排版，统一大小 by @SXP-Simon in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5309\r\n* feat: supports spawn subagent as a background task that not block the main agent workflow by @advent259141 in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5081\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fcompare\u002Fv4.18.0...v4.18.1","2026-02-22T08:46:05",{"id":275,"version":276,"summary_zh":277,"released_at":278},333755,"v4.18.0","## What's Changed\r\n\r\n### 新增\r\n- 新增 AstrBot HTTP API，支持基于 API Key 的对话、会话查询、配置查询、文件上传与 IM 消息发送能力。详见[AstrBot HTTP API (Beta)](https:\u002F\u002Fdocs.astrbot.app\u002Fdev\u002Fopenapi.html) ([#5280](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5280))。\r\n- 新增 Telegram 指令别名注册能力，别名可同步展示在 Telegram 指令菜单中 ([#5234](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5234))。\r\n- 新增 Anthropic 自适应思考参数配置（type\u002Feffort），增强思考策略可控性 ([#5209](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5209))。\r\n\r\n### 修复\r\n- 修复 QQ 官方频道消息发送异常问题，提升消息下发稳定性 ([#5287](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5287))。\r\n- 修复 ChatUI 使用非 default 配置文件对话时仍然使用 default 配置的问题 ([#5292](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5292))。\r\n\r\n### 优化\r\n- 优化插件市场卡片的平台支持展示，改进移动端可用性与交互体验 ([#5271](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5271))。\r\n- 重构 Dashboard 桌面运行时桥接字段，从 `isElectron` 统一迁移至 `isDesktop`，提升跨端语义一致性 ([#5269](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5269))。\r\n\r\n## What's Changed (EN)\r\n\r\n### New Features\r\n- Added AstrBot HTTP API with API Key support for chat, session listing, config listing, file upload, and IM message sending. See [AstrBot HTTP API (Beta)](https:\u002F\u002Fdocs.astrbot.app\u002Fen\u002Fdev\u002Fopenapi.html) ([#5280](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5280)).\r\n- Added Telegram command alias registration so aliases can also appear in the Telegram command menu ([#5234](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5234)).\r\n- Added Anthropic adaptive thinking parameters (`type`\u002F`effort`) for more flexible reasoning strategy control ([#5209](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5209)).\r\n\r\n### Fixes\r\n- Fixed QQ official guild message sending errors to improve delivery stability ([#5287](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5287)).\r\n- Fixed chat config binding failures caused by missing session IDs when creating new chats, and improved localStorage fault tolerance ([#5292](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5292)).\r\n\r\n### Improvements\r\n- Improved plugin marketplace card display for platform compatibility, with better mobile accessibility and interaction ([#5271](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5271)).\r\n- Refactored desktop runtime bridge fields in the dashboard from `isElectron` to `isDesktop` for clearer cross-platform semantics ([#5269](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5269)).\r\n\r\n## What's Changed\r\n* refactor(dashboard): replace legacy isElectron bridge fields with isDesktop by @zouyonghe in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5269\r\n* fix: update contributor avatar image URL to include max size and columns by @VanillaNahida in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5268\r\n* feat: astrbot http api by @Soulter in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5280\r\n* feat(dashboard): improve plugin platform support display and mobile accessibility by @SXP-Simon in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5271\r\n* fix: qq official guild message send error by @moemoli in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5287\r\n* 更新readme文档，补充桌面app说明，并向前移动位置 by @zouyonghe in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5297\r\n* feat: add Anthropic Claude Code OAuth provider and adaptive thinking support by @Minidoracat in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5209\r\n* Feat\u002Ftelegram command alias register  #5233 by @evpeople in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5234\r\n* Fix:修复新建对话时因缺少会话ID导致配置绑定失败的问题 by @Li-shi-ling in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5292\r\n\r\n## New Contributors\r\n* @moemoli made their first contribution in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5287\r\n* @Minidoracat made their first contribution in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5209\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fcompare\u002Fv4.17.6...v4.18.0","2026-02-21T16:19:54",{"id":280,"version":281,"summary_zh":282,"released_at":283},333756,"v4.17.6","## What's Changed\r\n\r\n### 新增\r\n- 新增 Python \u002F Shell 执行工具的管理员权限校验，提升高风险操作安全性 ([#5214](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5214))。\r\n- 新增插件 `astrbot-version` 与平台版本要求校验支持，增强插件兼容性管理能力 ([#5235](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5235))。\r\n- 账号密码修改流程新增“确认新密码”校验，减少误输导致的配置问题 ([#5247](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5247))。\r\n\r\n### 修复\r\n- 修复 MCP 工具完整暴露给主 Agent，无视人格 tool 选择的问题 ([#5252](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5252))。\r\n- 改进微信公众号被动回复处理机制，引入缓冲与分片回复并优化超时行为，提升回复稳定性 ([#5224](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5224))。\r\n- 修复仅发送 JSON 消息段时可能触发空消息回复报错的问题 ([#5208](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5208))。\r\n- 修复会话重置\u002F新建\u002F删除时未终止活动事件导致的陈旧响应问题 ([#5225](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5225))。\r\n- 修复 provider 在 `dict` 格式 `content` 场景下可能残留 JSON 内容的问题 ([#5250](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5250))。\r\n- 修复工具 schema 属性中的 `additionalProperties` 配置问题 ([#5253](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5253))。\r\n- 优化账号编辑校验错误提示，简化并统一用户名\u002F密码为空场景返回信息。\r\n\r\n### 优化\r\n- 优化 PersonaForm 布局与工具选择展示，并完善工具停用状态的本地化显示。\r\n\r\n### 其他\r\n- 移除 Electron Desktop 流水线并迁移到 Tauri 仓库 ([#5226](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5226))。\r\n- 更新相关仓库链接与功能请求模板文案，统一中英文表达。\r\n- 移除过时文档文件 `heihe.md`。\r\n\r\n## What's Changed (EN)\r\n\r\n### New Features\r\n- Added admin permission checks for Python\u002FShell execution tools to improve safety for high-risk operations ([#5214](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5214)).\r\n- Added support for `astrbot-version` and platform requirement checks for plugins to improve compatibility management ([#5235](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5235)).\r\n- Added password confirmation when changing account passwords to reduce misconfiguration caused by typos ([#5247](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5247)).\r\n\r\n### Fixes\r\n- Improved passive reply handling for WeChat Official Accounts with buffering\u002Fchunking and timeout behavior optimizations for better stability ([#5224](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5224)).\r\n- Fixed an empty-message reply error when only JSON message segments were sent ([#5208](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5208)).\r\n- Fixed stale responses by terminating active events on reset\u002Fnew\u002Fdelete operations ([#5225](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5225)).\r\n- Fixed residual JSON content issues in provider handling when `content` was in `dict` format ([#5250](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5250)).\r\n- Fixed incomplete exposure of MCP tools to the main agent ([#5252](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5252)).\r\n- Fixed `additionalProperties` handling in tool schema properties ([#5253](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5253)).\r\n- Simplified and unified account-edit validation error responses for empty username\u002Fpassword scenarios.\r\n\r\n### Improvements\r\n- Enhanced PersonaForm layout and tool selection display, and improved localized labels for inactive tools.\r\n\r\n### Others\r\n- Removed the Electron desktop pipeline and switched to the Tauri repository ([#5226](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5226)).\r\n- Updated related repository links and refined feature request template wording in both Chinese and English.\r\n- Removed outdated documentation file `heihe.md`.\r\n\r\n## What's Changed\r\n* feat: add admin permission checks config item for computer use feature by @Soulter in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5214\r\n* fix: 改进微信公众号被动回复处理机制，引入缓冲与分片回复，并优化超时行为 by @Trance-0 in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5224\r\n* fix: 修复仅发送 JSON 消息段时的空消息回复报错 by @NanoRocky in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5208\r\n* fix(core): terminate active events on reset\u002Fnew\u002Fdel to prevent stale responses by @YukiRa1n in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5225\r\n* chore: remove Electron desktop pipeline and switch to tauri repo by @zouyonghe in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5226\r\n* Feat\u002Fconfig leave confirm by @SnowNightt in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5249\r\n* feat: add support for plugin astrbot-version and platform requirement checks by @Soulter in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5235\r\n* feat: add password confirmation when changing password by @whatevertogo in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5247\r\n* fix(provider): 修复 dict 格式 content 导致的 JSON 残留问题 by @NayukiChiba in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5250\r\n* fix: all mcp tools exposed to main agent by @Soulter in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5252\r\n* fix: remove additionalProperties from tool schema properties by @Soulter in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5253\r\n\r\n## New Contributors\r\n* @Trance-0 made their first contribution in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5224\r\n* @whatevertogo made their first contribution in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5247\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fcompare\u002Fv4.17.5...v4.17.6","2026-02-20T10:42:59",{"id":285,"version":286,"summary_zh":287,"released_at":288},333757,"v4.17.5","## What's Changed\r\n\r\n### 新增\r\n- 支持 QQ 官方机器人平台发送 Markdown 消息，提升富文本消息呈现能力 ([#5173](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5173))。\r\n- 新增在插件市场中集成随机插件推荐能力 ([#5190](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5190))。\r\n- 新增插件错误钩子（plugin error hook），支持自定义错误路由处理，便于插件统一异常控制 ([#5192](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5192))。\r\n\r\n### 修复\r\n- 修复全部 LLM Provider 失败时重复显示错误信息的问题，减少冗余报错干扰 ([#5183](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5183))。\r\n- 修复从“选择配置文件”进入配置管理后直接关闭弹窗时，显示配置文件不正确的问题 ([#5174](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5174))。\r\n\r\n### 优化\r\n- 重构 telegram `Voice_messages_forbidden` 回退逻辑，提取为共享辅助方法并引入类型化 `BadRequest` 异常，提升异常处理一致性 ([#5204](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5204))。\r\n\r\n### 其他\r\n- 更新 README 相关文档内容。\r\n- 执行 `ruff format` 代码格式整理。\r\n\r\n## What's Changed (EN)\r\n\r\n### New Features\r\n- Added a plugin error hook for custom error routing, enabling unified exception handling in plugins ([#5192](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5192)).\r\n- Added Markdown message sending support for `qqofficial` to improve rich-text delivery ([#5173](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5173)).\r\n- Added the `MarketPluginCard` component and integrated random plugin recommendations in the extension marketplace ([#5190](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5190)).\r\n- Added support for the `aihubmix` provider.\r\n- Added LINE support notes to multilingual README files.\r\n\r\n### Fixes\r\n- Fixed duplicate error messages when all LLM providers fail, reducing noisy error output ([#5183](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5183)).\r\n- Fixed incorrect displayed profile after opening configuration management from profile selection and closing the dialog directly ([#5174](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5174)).\r\n\r\n### Improvements\r\n- Refactored `Voice_messages_forbidden` fallback logic into a shared helper and introduced a typed `BadRequest` exception for more consistent error handling ([#5204](https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fissues\u002F5204)).\r\n\r\n### Others\r\n- Updated README documentation.\r\n- Applied `ruff format` code formatting.\r\n\r\n## What's Changed\r\n* feat: supports send markdown message in qqofficial by @Soulter in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5173\r\n* fix: prevent duplicate error message when all LLM providers fail by @KBVsent in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5183\r\n* fix: 修复选择配置文件进入配置文件管理弹窗直接关闭弹窗显示的配置文件不正确 by @SnowNightt in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5174\r\n* feat: add MarketPluginCard component and integrate random plugin feature in ExtensionPage by @Soulter in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5190\r\n* feat(core): add plugin error hook for custom error routing by @Clhikari in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5192\r\n* fix: handle Telegram Voice_messages_forbidden with typed exception and text caption by @911218sky in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5204\r\n\r\n## New Contributors\r\n* @911218sky made their first contribution in https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fpull\u002F5204\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot\u002Fcompare\u002Fv4.17.4...v4.17.5","2026-02-18T14:37:31"]