← 返回信息流
Agent SkillLINUX DO · AI·54 分钟前

qq-maid-bot 15.0 发布,Tool架构升级及待办功能优化

原标题:【开源推广】qq-maid-bot 15.0 重磅更新,tool架构升级以及待办优化

速览

qq-maid-bot 15.0 版本发布,重点对Tool和Todo架构进行边界收敛,将Todo/Reminder路由、状态机、成功验真等逻辑下沉到工具域。新增Gemini Provider与Google搜索入口,支持分钟级重复提醒。同时新增自定义工具二开指南,明确接入边界。普通消息的路由逻辑得到优化,避免误进工具路径。该版本主要面向二次开发者,提升AI Agent的扩展性和可靠性。

AI 深度解读

背景

qq-maid-bot 是一个开源的 QQ 机器人框架,通过插件和工具系统支持多种交互能力(待办、提醒、搜索、RSS 等)。v0.15.0 版本在 v0.14.x 的事件流与群聊稳定性基础上,重点对 Tool(工具)架构Todo(待办)模块 进行了边界收敛与内部重构,旨在让代码职责更清晰、路由更精确、成功率验证更严谨,并为后续的 Codex-like Agent Runtime 做准备。

核心内容

本次更新以 Tool / Todo 架构边界收敛 为核心目标,具体涵盖以下方面:

新增功能(Added)

  • 重复提醒与周期管理(PR #389、#391、#394)

    • 支持分钟级提醒,允许设置周期性纯提醒及重复提醒周期管理。
    • Todo / Reminder 的周期解析、下一次提醒计算和通知输出(outbox)维护统一收敛到 Todo 工具域。
  • Gemini Provider 与搜索入口(PR #397)

    • 新增 Gemini Provider 支持,并引入 Gemini Google Search 路线。
    • agent.toml 示例中补充了 gemini: 前缀配置;OpenAI Web Search 与 Gemini Search 均可通过搜索路线配置选择使用。
  • 自定义 Tool 二开指南(PR #396)

    • 新增 docs/development/custom-tools.md 文档,说明开发者接入自定义工具的边界条件:服务端白名单注册、场景白名单、自然语言路由、确定性展示、成功验真、可见实体和查询新鲜度等。

变更(Changed)

  • Todo 工具域迁移与边界收敛(PR #393、#398、#399)

    • Todo 运行时实现、Todo / Reminder 路由、pending 状态机、确认/澄清恢复、可见实体快照、成功守卫(success guard)、查询新鲜度和周期提醒规则全部集中到 qq-maid-core/src/runtime/tools/todo/ 目录。
    • runtime/respond/ 不再承载零散的 Todo 业务规则,回归其跨域调度、会话维护和响应拼装职责。
  • 普通消息 Tool Loop 路由边界收敛(PR #399)

    • 对普通聊天消息的弱意图判断与 Tool Loop 前置路由进行了重新整理。纯聊天、解释、创作、文本整理和 Codex prompt 整理类请求默认走普通聊天流程;只有明确涉及 Todo / Reminder、天气、火车、RSS、Web Search 等工具意图时,才进入相应工具路径。
  • Tool Loop 后处理收敛到 tools/agent_turn(PR #399)

    • 整轮工具结果的投影(projection)、确定性展示、失败/部分成功诊断、Todo 成功验真和可见实体快照写入全部交由 tools 层统一处理。
    • Respond / chat_flow 只负责发起 Tool Loop、保存会话和拼装最终响应。
  • 非 Todo 工具路由保持独立(PR #399)

    • 天气、火车、RSS 和 Web Search 路由从 Todo 判断中拆分出来,避免非 Todo 工具命中后错误回退到普通聊天或 Todo 规则。
  • Todo 查询新鲜度与可见实体快照整理(PR #399)

    • 列表后的“完成第一条”“刚才那条”等续指操作依赖用户实际看到的快照;群聊中不同 actor 的 Todo 交互状态保持隔离,避免串用他人列表。
  • Todo 每日摘要开关恢复(PR #395)

    • 恢复了 Todo 每日摘要的开关配置和调度入口,使主动提醒能力保持可控。

修复(Fixed)

  • Todo 成功守卫加强(PR #398、#399)

    • 当工具执行失败、需要澄清或需要确认时,最终回复不得声称任务已完成;Todo 写操作以真实工具执行结果和持久化结果为准。
  • RSS 标题污染修复(PR #385)

    • 修复了 RSS 标题被不正常附加内容的问题,降低订阅内容展示噪声。
  • 群聊冷却提示修复(PR #387)

    • 当群聊冷却命中且消息明确指向机器人时,返回轻量提示,避免用户误以为消息被无声丢弃。

兼容性(Compatibility)

  • 用户可见行为原则上保持兼容:已有 Todo 增删改查、提醒、重复提醒、天气、火车、RSS、Web Search、普通聊天和文本整理入口继续使用原有表达方式。本版本主要收紧误路由和成功验真边界。
  • 版本号入口仍为根包 qq-maid-botCargo.toml,各内部 crate 版本未同步提升。

后续规划(Follow-up)

  • Codex-like Agent Runtime 是后续规划,由 issue #400 跟踪;v0.15.0 未实现该能力。

关键要点

  • Todo 工具域集中:所有与 Todo 相关的逻辑(路由、状态机、快照、成功守卫、周期计算)迁移到 runtime/tools/todo/respond 层职责简化。
  • 路由边界收敛:普通聊天与工具意图明确分离,避免弱意图误触发 Tool Loop;天气、火车等非 Todo 工具路由独立,不再混入 Todo 判断。
  • 后处理统一:工具循环的后处理(投影、诊断、验真、快照写入)统一由 tools/agent_turn 处理,Respond 层只负责发起循环和拼装响应。
  • 成功守卫增强:工具失败或需澄清时禁止虚假声称完成,确保用户收到真实执行状态。
  • 重复提醒分钟级支持:新增分钟级周期提醒与周期管理功能,提醒能力更灵活。
  • Gemini 搜索集成:新增 Gemini Provider 和 Gemini Google Search 路由,与 OpenAI Web Search 并行可选。
  • 二开门槛降低:提供独立文档 docs/development/custom-tools.md,详细说明自定义工具接入的边界要求。
  • 群聊冷却体验优化:冷却命中且消息指向机器人时给出轻量反馈,避免用户困惑。
  • RSS 标题修复:去除标题污染,提升订阅阅读体验。

意义与影响

  • 架构清晰化:通过将 Todo 工具域收敛、后处理逻辑分离、路由边界重新整理,项目内部代码职责更加单一,降低了长期维护和二次开发的认知负担。
  • 可靠性提升:成功守卫的加强和路由误判的减少,使最终用户能获得更准确的任务执行反馈,减少“虚假完成”或“无声丢弃”等负面体验。
  • 扩展性准备:自定义 Tool 文档和 Gemini 搜索入口的加入,丰富了工具生态;边界收敛也为后续引入更复杂的 Agent runtime(如 Codex-like)铺平了道路。
  • 社区友好:兼容原有用户交互方式,同时提供更细粒度的周期提醒和搜索选择,使既有用户平滑升级。RSS 标题和群聊冷却的修复进一步改善日常使用体验。
  • 影响范围:本次更新对开发者(工具域迁移、二开指南)和终端用户(提醒灵活性、搜索增强、修复)均有正面影响;普通聊天用户几乎无感知,但故障率更低。
查看原文 →linux.do