Releases: molanp/zhenxun_plugin_zhipu_toolkit
Releases · molanp/zhenxun_plugin_zhipu_toolkit
4.2
4.1
4.0
What's Changed
重构聊天历史缓存和工具调用架构,引入可配置的工具调用上限和集中式工具注册表,并强化人格扮演提示词处理与触发规则。
新功能:
- 引入可复用的
HistoryCache抽象,用于按用户存储、按 TTL 清理的内存聊天记录。 - 添加每轮最大工具调用迭代次数的配置,以及可配置的禁用工具列表。
- 添加集中式工具注册表,支持通过装饰器注册工具,并可禁用特定工具。
缺陷修复:
- 修复普通聊天回复逻辑,确保始终回复到触发消息,并能正确地从
Reply对象生成回复。 - 将空的人格扮演 AI 响应视为错误处理,而不是静默跳过。
改进增强:
- 增加聊天历史的 TTL,并将内存缓存迁移到
HistoryCache,提供剪枝工具函数和定时清理机制。 - 重构工具调用流水线,支持多步工具链,改进错误处理并加入每轮调用限制。
- 通过新的提示词定义、对空回复的更严格处理和专门的触发规则,简化人格扮演行为。
- 优化提示词文件加载逻辑,增加内容缓存、显式刷新机制以及更清晰的错误处理。
- 在机器人启动时初始化工具,将聊天触发规则切换为基于
to_me的规则,并新增专门的“假人聊天”处理器。 - 将点赞、封禁/解封、禁言/解除禁言、QQ 空间以及语音相关工具迁移到新的基于注册表的架构和抽象基类上。
- 放宽
ToolsManager的 API,支持同时接受 JSON 字符串和 dict 参数,并简化对注册表的访问方式。 - 将插件元数据版本提升到 4.0,并扩展配置项以支持新的工具能力。
Full Changelog: 3.6...4.0
3.6
3.5
3.4
3.3
3.2: fix(rule): 修改消息匹配逻辑从全匹配改为任一匹配
fix(rule): 修改消息匹配逻辑从全匹配改为任一匹配
将 need_reply 函数中的昵称匹配逻辑从 all() 改为 any(),
使得只要消息中包含任意一个昵称就会触发回复,而不是需要包含所有昵称。
fix(rule): 修正消息回复判断逻辑
将消息判断条件从"昵称不在消息中"修改为"昵称在消息中",
确保只有包含指定昵称的消息才会触发回复。
fix(zhipu_toolkit): 修复AI回复逻辑判断错误
移除对 to_me 规则的直接依赖,改用自定义规则 need_reply 来判断是否需要回复消息。
在 rule.py 中增强 need_reply 函数逻辑,优先检查事件是否与机器人相关。
调整了部分消息处理器的优先级和触发条件,提高响应准确性。
Full Changelog: 3.1...3.2
3.1
3.0
What's Changed
重构 zhipu_toolkit 以精简伪模式功能,将聊天历史访问迁移到数据库,消除过时的 QQBot 兼容代码,改进提示加载和错误恢复能力,并更新文档和版本至 3.0。
错误修复:
- 防止用户名检索返回 null,通过返回默认值 “未知用户” 来避免异常
功能增强:
- 从数据库读取最近的群聊历史记录,而非内存缓存,以提高性能
- 重构伪模式逻辑,移除 QQBot 兼容性检查、旧版迁移和缓存代码
- 简化系统提示处理和 ChatManager 初始化,以提高可维护性
- 更新处理器规则,使用 need_reply、need_byd 和 to_me 谓词,取代 enable_qbot 逻辑
文档:
- 从 README 中移除 QBot 特定的使用说明、AI 禁用描述和测试图片
杂项:
- 将插件版本提升至 3.0
Full Changelog: 2.6...3.0