Releases: AmritaBot/plugin-memory
Releases · AmritaBot/plugin-memory
Release list
V0.1.6
Full Changelog: 0.1.5...0.1.6
V0.1.5
V0.1.3
V0.1.2
版本发布摘要:amrita_plugin_memory v0.1.2
我们很高兴宣布 amrita_plugin_memory 0.1.2 版本正式发布。本次更新引入了 记忆作用域(scope) 概念,实现了群共享记忆与用户专属记忆的隔离,大幅提升多租户场景下的灵活性和隐私保护能力。
🚀 主要亮点
- 群/用户记忆隔离 – 所有工具函数新增
scope参数("group"/"user"),LLM 可明确指定记忆的归属范围:"group":记忆存入群共享空间,群内所有成员可见。"user":记忆存入个人专属空间,仅当前用户可见。
- 自动分区路由 – 底层根据
scope自动生成不同的分区键(group_{group_id}或session_id),确保数据物理隔离。 - 私聊保护 – 在私聊场景下尝试使用
scope="group"时会返回明确的错误提示,避免误用。
✨ 新增功能
scope参数全面覆盖 – 所有五个工具函数(write_memory、read_memory、update_memory、delete_memory、list_memory)均要求传入scope,确保每次操作都明确指定作用域。- 元数据记录作用域 – 每条记忆的元数据中新增
scope字段,便于后续审计和扩展。 - 列表展示作用域 –
list_memory返回结果中增加scope字段,让用户清晰知道每条记忆的归属。
🔧 改进
- 参数校验 – 统一的
_resolve_scope_id函数负责解析scope并生成分区键,错误处理更集中、更健壮。 - 日志增强 – 调试日志中同时输出
scope和partition_id,便于追踪数据流向。 - 类型安全 – 引入
Scope类型别名(Literal["group", "user"]),配合静态类型检查减少拼写错误。
🐛 Bug 修复
- 修复了更新记忆时
scope可能被错误覆盖的问题,更新操作现在会保留原有scope,除非显式传入新的scope(但当前设计不允许修改scope,保持一致性)。
📚 升级指南
执行以下命令更新插件:
ambot plugin update amrita_plugin_memoryscope,现有调用(如自定义脚本或外部集成)需要相应调整。建议在更新后检查所有记忆相关调用,确保传入正确的 scope 值。
📝 配置与兼容性
- 无需额外配置,
scope功能直接可用。 - 旧版存储的记忆默认被归类为
"user"作用域,以保证向后兼容(但建议按需迁移)。 - 依赖项未发生变动,Python 版本仍要求 3.10–3.13。
感谢您的使用与反馈!如有问题,请访问我们的 GitHub 仓库 提交 Issue。
Full Changelog: 0.1.1...0.1.2
V0.1.1
版本发布摘要:amrita_plugin_memory v0.1.1
我们很高兴宣布 amrita_plugin_memory 0.1.1 版本正式发布。本次更新在文档、代码质量和性能方面均有显著提升,同时简化了依赖关系并修复了若干问题。
🚀 主要亮点
- 文档全面重构 – README 完全重写,新增:
- 清晰的技术栈表格。
- 架构概述,逐文件说明。
- 工具函数详细参数表(含类型、必填项和描述)。
- 配置文件说明(文件配置与环境变量)。
- 安装和开发指南。
- 原子性记忆更新 – 在向量存储中新增
update_note方法,取代原先“删除后添加”的方式,使用 ChromaDB 原生update操作,保证数据一致性,避免编辑时丢失元数据。 - 依赖精简 – 插件现直接依赖
amrita>=1.3,不再依赖体积较大的amrita[full],减少无关传递依赖,加快安装速度。
✨ 新增功能
AsyncUserMemory.update_note– 支持安全、原子地更新记忆条目,杜绝数据损坏风险。- 共享辅助函数 – 在
tools.py中引入_get_session_id、_make_operator、_ok和_err,集中通用逻辑,减少重复代码,统一错误响应格式。
🔧 改进
- 代码质量:
- 使用
typing_extensions的@override装饰器,增强类型检查。 - 完善
vector.py中的返回类型注解和重载。 - 将
AmritaChatObject替换为新的AmritaBotContext,更好地与核心框架集成。
- 使用
- 错误处理 – 所有工具函数现已包裹 try-except,返回标准化的 JSON 错误响应。
- 配置 – 修正
embedding_proctol的字面量值,从"openai-embed"改为"openai",以匹配实际协议名称。 - 性能 – 记忆数量限制检查现在使用
>=精确判断,正确执行上限控制。
🐛 Bug 修复
- 修复了会话记忆数量恰好达到上限时限制未生效的逻辑错误。
- 增强更新/删除/列表操作的错误信息,当记忆 ID 未找到时给出更明确的提示。
📦 依赖更新
amrita-core升级至0.12.2。- 新增
amrita-sense作为间接依赖(由amrita-core引入)。 - 移除
amrita[full]额外依赖,改用普通amrita>=1.3。 - 删除未使用的依赖:
aiopg、pip、stubs以及间接依赖的anthropic。 - Python 版本要求仍为 3.10–3.13。
🧹 移除内容
- OpenAI 嵌入适配器 – 已移除
OpenAIEmbeddingAdapter类。插件现仅支持 Ollama 嵌入协议(ollama-embed)。如需使用 OpenAI 兼容端点,请改用 Ollama 或自行适配。
📚 升级指南
执行以下命令更新插件:
uv add amrita_plugin_memory --upgrade更新后,请检查配置(特别是手动设置的 embedding_proctol),并测试新的原子更新行为。
Full Changelog: 0.1.0...0.1.1
V0.1.0-Exp
Full Changelog: https://github.com/AmritaBot/plugin-memory/commits/0.1.0