Repository navigation
V0.2.1
本次发布为 补丁版本,主要修正文档中存在的 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随依赖更新同步刷新,确保可重复构建。
📌 升级指南
-
更新依赖:
"nonebot-plugin-amrita>=0.2.1"或执行
uv sync/pip install -U nonebot-plugin-amrita。 -
检查代码:
- 如果你曾按照旧版 README 使用了
agent.chat(),请改为正确的get_chatobject()写法(参考新版文档)。 - 如果已正确使用
get_chatobject(),则无需修改业务代码。
- 如果你曾按照旧版 README 使用了
-
测试用量统计:建议在测试环境验证 token 用量能正常记录到
InsightsModel和UserMetadataSchema。
Full Changelog: 0.2.0...0.2.1