Compare commits

...

3 Commits

Author SHA1 Message Date
Soulter d6239822db release: v3.5.3.2 2025-04-12 15:27:33 +08:00
Soulter bced9ffff9 🐛 fix: 修复zhipu工具调用问题 2025-04-12 15:24:37 +08:00
Soulter d7d1c1544a 🐛 fix: 修复重启bot时可能发生报错的问题
在 gewechat, wecom 等消息平台没启动成功的情况下重启bot会报错
2025-04-12 15:01:38 +08:00
7 changed files with 56 additions and 7 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
如需修改配置,请在 `data/cmd_config.json` 中修改或者在管理面板中可视化修改。
"""
VERSION = "3.5.3.1"
VERSION = "3.5.3.2"
DB_PATH = "data/data_v3.db"
# 默认配置
@@ -67,7 +67,10 @@ class GewechatPlatformAdapter(Platform):
async def terminate(self):
self.client.shutdown_event.set()
await self.client.server.shutdown()
try:
await self.client.server.shutdown()
except Exception as _:
pass
logger.info("Gewechat 适配器已被优雅地关闭。")
async def logout(self):
@@ -21,7 +21,7 @@ class WebChatMessageEvent(AstrMessageEvent):
await web_chat_back_queue.put(
{"type": "end", "data": "", "streaming": False}
)
return
return ""
cid = session_id.split("!")[-1]
data = ""
@@ -237,5 +237,8 @@ class WecomPlatformAdapter(Platform):
async def terminate(self):
self.server.shutdown_event.set()
await self.server.server.shutdown()
try:
await self.server.server.shutdown()
except Exception as _:
pass
logger.info("企业微信 适配器已被优雅地关闭")
+1 -1
View File
@@ -339,7 +339,7 @@ class FuncCall:
]
logger.info(f"已关闭 MCP 服务 {name}")
def get_func_desc_openai_style(self, omit_empty_parameter_field = True) -> list:
def get_func_desc_openai_style(self, omit_empty_parameter_field = False) -> list:
"""
获得 OpenAI API 风格的**已经激活**的工具描述
"""
@@ -87,7 +87,8 @@ class ProviderOpenAIOfficial(Provider):
async def _query(self, payloads: dict, tools: FuncCall) -> LLMResponse:
if tools:
omit_empty_param_field = "grok" not in payloads.get("model", "").lower()
model = payloads.get("model", "").lower()
omit_empty_param_field = "gemini" in model
tool_list = tools.get_func_desc_openai_style(
omit_empty_parameter_field=omit_empty_param_field
)
@@ -124,7 +125,8 @@ class ProviderOpenAIOfficial(Provider):
) -> AsyncGenerator[LLMResponse, None]:
"""流式查询API,逐步返回结果"""
if tools:
omit_empty_param_field = "grok" not in payloads.get("model", "").lower()
model = payloads.get("model", "").lower()
omit_empty_param_field = "gemini" in model
tool_list = tools.get_func_desc_openai_style(
omit_empty_parameter_field=omit_empty_param_field
)
+41
View File
@@ -0,0 +1,41 @@
# What's Changed
> 📢 在升级前,请完整阅读本次更新日志。
> 此版本为针对 `v3.5.3` 的紧急修复版本
> 修复以下 BUG
> 1. 智谱 GLM 在函数工具有空参数时报错的问题。
---
v3.5.3
## ✨ 新增的功能
1. Telegram、Webchat、QQ官方机器人平台(私聊)支持流式输出(实验性)。@Soulter @Raven95676 @anka-afk
2. 支持针对不同消息平台开启/关闭插件 @zhx8702 @Raven95676 @Soulter
3. 插件市场支持显示 Star 个数、插件管理支持插件帮助对话框 @kterna
4. 飞书平台支持主动消息发送 @Soulter
5. Telegram 平台适配显示指令列表,支持自动补全 @Raven95676
6. 新增配置项允许配置当超出最多携带对话数量时,一次性丢弃多少条旧消息 @Rail1bc
7. StarTool 新增获取插件数据目录接口 @Raven95676
## 🎈 功能性优化
1. 优化 /his 指令对函数调用的显示 @anka-afk
2. QQ 官方机器人支持对同一条消息多次回复 @kuangfeng
## 🐛 修复的 Bug
1. ‼️ 修复使用 gemini 时,函数数工具调用会重复调用已经在过去会话中调用过的工具 @Soulter
2. 修复使用 Gemini 模型时出现 <empty_content> 的问题 @anka-afk
4. 修复使用 OneAPI + Gemini(openai) 传递空参数函数工具时可能报错的问题 @Soulter
5. 修复 permission 过滤算子的 raise_error 参数失效的问题 @Soulter
6. 修复函数调用时可能出现 `messages with role 'tool' must be a response to a preceeding message with 'tool_calls'` 报错的问题 @anka-afk
7. 修复 dify 下删除对话的报错问题 @Soulter
8. 修复人格预设对话多次插入上下文的问题 @Rail1bc
9. 修复了 event.get_sender_id() 返回值与函数注释不一致的问题 @zsbai
## 🧩 新增的插件
待补充