Skip to content

V1.0.0

Choose a tag to compare

@JohnRichard4096 JohnRichard4096 released this 18 Feb 08:50
· 62 commits to main since this release
9d730ae

Release 1.0.0 - 核心重构里程碑 🎉

我们非常激动地宣布 Amrita 1.0.0 正式发布!这个版本是一次彻底的底层重构,将核心功能抽取为独立的 amrita-core 库(高性能渐进式Agent框架),并引入了全新的统一配置管理系统。这标志着 Amrita 从框架走向更稳定、更模块化的 Agent 平台。

经涅槃,方得重生。

✨ 主要新特性

  • 全新 AmritaCore 引擎:所有 LLM 交互、上下文管理、工具调用逻辑现已迁移至独立的 amrita-core 库。这将带来更快的迭代速度和更稳定的核心。
  • 统一配置管理:配置系统重写,使用 nonebot-plugin-uniconf 作为底层。现在配置支持环境变量占位符(如 ${API_KEY}),并拥有更强大的热重载能力。
  • 数据库模型重构:统一用户标识为 user_id 字符串(格式 group_123 / user_456),简化表结构,大幅提升查询效率。自动迁移脚本已准备就绪。
  • 脏标记模型(Dirty Model):新增 amrita.dirty.DirtyAwareModel,为 ORM 场景提供属性级脏跟踪,未来将用于高性能数据同步。
  • LFU 缓存实现:在 cache.py 中正式提供 LFU(Least Frequently Used)缓存策略(原 TFU 为笔误,现已修正)。
  • OpenAI v2 支持:升级 openai 依赖至 >=2.16.0,兼容最新的 API 特性。

🔧 重大变更与破坏性改动

  • 配置结构变更:所有配置项从 llm_config 移动至 llm 下(例如 llm_config.toolsllm.tools)。请检查并更新您的 config.toml
  • 数据库表重命名
    • suggarchat_* 表 → amritabot_* / amrita_* 表(具体见迁移脚本)。
    • 运行 amrita orm upgrade 自动执行迁移(但是,这可能意味着您“重新部署”了Amrita)。
  • 移除废弃模块
    • amrita.plugins.chat.API 已被移除,请直接从 amrita_core 导入所需组件。
    • 事件系统重命名:BeforeChatEventPreCompletionEventChatEventCompletionEvent
  • 工具系统精简:内置的 agent_stopthink_and_reason 工具已移除,由 AmritaCore 的智能 Agent 逻辑统一接管。如果您的插件依赖这些工具,请迁移至新的 Hook 系统。
  • Python 版本要求:最低 Python 版本保持 3.10+,但推荐使用 3.11+ 以获得最佳性能。

📦 依赖更新

  • 新增依赖
    • amrita-core>=0.4.3.2
    • nonebot-plugin-uniconf>=0.1.3
  • 升级依赖
    • openai>=2.16.0 (从 1.x 升级)
  • 移除依赖:部分内部冗余依赖已被清理。

🚀 升级指南

  1. 更新 Amrita:使用amrita update 更新。
  2. 升级数据库:在项目目录下执行 amrita orm upgrade,自动应用迁移。
  3. 检查配置文件:对照新的配置模板,将 llm_config 相关项移至 llm 下。可利用环境变量占位符简化密钥管理。
  4. 适配插件:如果您的自定义插件使用了 amrita.plugins.chat.API 或旧事件类,请迁移至从 amrita_core 导入(如 from amrita_core import PreCompletionEvent)。

💬 反馈与帮助

如果在升级过程中遇到任何问题,欢迎在 GitHub Issues 反馈。我们将尽快提供支持。

感谢所有贡献者和用户的耐心等待,让我们一起迈向更强大的 Amrita!🌸

What's Changed

Full Changelog: 0.7.3.2...1.0.0