From 2c49ac0dcfc39464efc4a5a3c73563a138c07c7f Mon Sep 17 00:00:00 2001 From: lppsuixn Date: Mon, 16 Mar 2026 15:27:16 +0800 Subject: [PATCH 1/3] Refactor _extract_session_id for chat type handling (#5775) Update session ID extraction to handle group and single chat types. --- .../sources/wecom_ai_bot/wecomai_adapter.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/astrbot/core/platform/sources/wecom_ai_bot/wecomai_adapter.py b/astrbot/core/platform/sources/wecom_ai_bot/wecomai_adapter.py index 62f236b57..79fe6f8ed 100644 --- a/astrbot/core/platform/sources/wecom_ai_bot/wecomai_adapter.py +++ b/astrbot/core/platform/sources/wecom_ai_bot/wecomai_adapter.py @@ -440,9 +440,16 @@ class WecomAIBotAdapter(Platform): ) def _extract_session_id(self, message_data: dict[str, Any]) -> str: - """从消息数据中提取会话ID""" - user_id = message_data.get("from", {}).get("userid", "default_user") - return format_session_id("wecomai", user_id) + """从消息数据中提取会话ID + 群聊使用 chatid,单聊使用 userid + """ + chattype = message_data.get("chattype", "single") + if chattype == "group": + chat_id = message_data.get("chatid", "default_group") + return format_session_id("wecomai", chat_id) + else: + user_id = message_data.get("from", {}).get("userid", "default_user") + return format_session_id("wecomai", user_id) async def _enqueue_message( self, From e77500ff69624a5a553336b775d0ec9321547a2d Mon Sep 17 00:00:00 2001 From: qingyun Date: Mon, 16 Mar 2026 15:29:51 +0800 Subject: [PATCH 2/3] fix(provider): sync providers_config after creating new provider (#6388) Fixes #6283 When adding a new embedding provider, the knowledge base creation page did not show the new provider until restart. Root cause: create_provider() did not update self.providers_config, which is used by get_provider_config_list() to return provider lists. This fix syncs the in-memory config after loading the new provider, consistent with how reload() handles config updates. Co-authored-by: ccsang --- astrbot/core/provider/manager.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/astrbot/core/provider/manager.py b/astrbot/core/provider/manager.py index 520b36cd4..0df9f791a 100644 --- a/astrbot/core/provider/manager.py +++ b/astrbot/core/provider/manager.py @@ -808,6 +808,8 @@ class ProviderManager: config.save_config() # load instance await self.load_provider(new_config) + # sync in-memory config for API queries (e.g., embedding provider list) + self.providers_config = astrbot_config["provider"] async def terminate(self) -> None: if self._mcp_init_task and not self._mcp_init_task.done(): From 3fbd16b211c6fad063db2757eda836df0b3d7469 Mon Sep 17 00:00:00 2001 From: QuietStars Date: Mon, 16 Mar 2026 15:38:01 +0800 Subject: [PATCH 3/3] docs: update rainyun.md with backup access instructions (#6427) Added a note about using a backup address if the management panel cannot be accessed. --- docs/zh/deploy/astrbot/rainyun.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/zh/deploy/astrbot/rainyun.md b/docs/zh/deploy/astrbot/rainyun.md index b0628b4d0..818785ec1 100644 --- a/docs/zh/deploy/astrbot/rainyun.md +++ b/docs/zh/deploy/astrbot/rainyun.md @@ -41,4 +41,4 @@ AstrBot 已经上架至雨云的预装软件列表,支持**一键安装** Astr ![创建NAT端口映射规则](https://files.astrbot.app/docs/source/images/rainyun/image-2.png) -然后,内网端口填写 `6185`,点击 `创建映射规则`,这样就可以通过 `http://IP:上面设置好的外网端口` 访问 AstrBot 的管理面板了。 +然后,内网端口填写 `6185`,点击 `创建映射规则`,这样就可以通过 `http://IP:上面设置好的外网端口` 访问 AstrBot 的管理面板了。如果无法打开,请点击`备用地址`,通过备用地址访问管理面板。