Skip to content

V0.2.1

Choose a tag to compare

@JohnRichard4096 JohnRichard4096 released this 19 Jul 12:00
· 10 commits to main since this release

本次发布为 补丁版本,主要修正文档中存在的 API 描述错误、修复用量统计潜在的空值访问问题,并升级核心依赖至最新稳定版。

📝 主要变更

1. 文档全面修正(README.md)

  • 修正了错误的 API 示例:此前文档中错误地使用了 agent.chat() 方法,而该接口 从未在代码中存在。现在所有示例均替换为正确的 agent.get_chatobject() 用法,并补充了完整的生命周期管理说明(begin() → async with → 流式或完整响应)。
  • 更正了继承关系:AgentSession 继承自 AgentRuntime 而非 AmRuntime。
  • 补充了 ChatObject 使用指南:明确说明需要先调用 begin(),然后使用 async with 管理执行,再通过 io_stream 或 full_response() 获取响应。
  • 修正了依赖注入示例:确保导入路径正确。

如果你的代码此前按照错误文档编写,将无法运行。请参考新的示例进行修正。

2. 用量统计 Bug 修复(agent.py)

  • 修复了 AgentSession.__aexit__ 中可能因 chat_object.response 为 None 而引发异常的问题。
  • 现在改用 chat_object._di_resp.response 并增加空值检查,确保用量统计稳定写入数据库。

3. 类型注解增强(backends.py)

  • 添加了 from __future__ import annotations,改善类型检查器对前向引用的支持。

⬆️ 依赖升级

  • amrita-core:升级至 >=0.12.0(包含新的 ChatObject 接口及性能优化)
  • 其他依赖(如 aiohappyeyeballs, aiologic, cffi, click, fastapi, fastmcp-slim, greenlet 等)已同步更新至最新稳定版本(详见 uv.lock)。

🧩 其他

  • 锁定文件 uv.lock 随依赖更新同步刷新,确保可重复构建。

📌 升级指南

  1. 更新依赖:

    "nonebot-plugin-amrita>=0.2.1"

    或执行 uv sync / pip install -U nonebot-plugin-amrita。

  2. 检查代码:

    • 如果你曾按照旧版 README 使用了 agent.chat(),请改为正确的 get_chatobject() 写法(参考新版文档)。
    • 如果已正确使用 get_chatobject(),则无需修改业务代码。
  3. 测试用量统计:建议在测试环境验证 token 用量能正常记录到 InsightsModel 和 UserMetadataSchema。

Full Changelog: 0.2.0...0.2.1