为 Agentao 添加完整的 memory 管理功能,包括搜索、删除、清空和标签过滤。
search_memoryquery (string)delete_memorykey (string)clear_all_memoriesfilter_memory_by_tagtag (string)扩展 /memory 命令支持子命令:
# 基础命令
/memory # 列出所有记忆
/memory list # 同上
# 搜索和过滤
/memory search <query> # 搜索记忆
/memory tag <tag> # 按标签过滤
# 管理
/memory delete <key> # 删除指定记忆
/memory clear # 清空所有(需确认)
添加新的辅助方法:
def filter_by_tag(self, tag: str) -> list
"""按标签过滤记忆"""
def delete_memory(self, key: str) -> bool
"""删除指定记忆"""
def clear_all_memories(self) -> int
"""清空所有记忆,返回删除数量"""
原有方法保持不变:
get_all_memories() - 获取所有记忆search_memories(query) - 搜索记忆(已有但未暴露)SaveMemoryTool__all__ 列表_register_tools() 中注册新工具show_memories() 方法支持子命令/memory 命令处理逻辑Test 1: Saving memories...
✓ Saved memory: project_name
✓ Saved memory: user_preference
✓ Saved memory: reminder
Test 2: Searching memories...
✓ Found memories matching 'project'
Test 3: Filtering by tag...
✓ Found memories with tag 'python'
Test 4: Deleting specific memory...
✓ Successfully deleted memory: reminder
✓ Deletion verified
Test 5: Clearing all memories...
✓ Successfully cleared 2 memory(ies)
✓ All memories cleared
✅ All tests passed!
用户:记住我喜欢用 Python 3.11+,标签为 preference
AI:[调用 save_memory]
用户:我之前保存过什么关于 python 的?
AI:[调用 search_memory] 找到 1 条记忆...
用户:删除 old_config 这条记忆
AI:[调用 delete_memory] 已删除
# 查看所有
/memory
# 搜索
/memory search config
# 按标签过滤
/memory tag important
# 删除
/memory delete old_setting
# 清空(会要求确认)
/memory clear
用户输入 → CLI 解析 → Agent → LLM → 工具调用
↓ ↓
show_memories() Memory Tools
↓ ↓
直接操作 ←──────────────→ SaveMemoryTool
↓
.agentao_memory.json
/memory clear 命令使用 Rich 的 Confirm.ask()clear_all_memories 工具不提示确认(由 AI 判断)✅ 完全兼容
save_memory 工具功能不变/memory 命令行为不变(等同于 /memory list).agentao_memory.json 格式保持不变可能的优化方向:
此次更新为 Agentao 带来了完整的 memory 管理能力,用户可以:
✅ 通过 CLI 命令直接管理 memory ✅ 让 AI 自动管理 memory ✅ 搜索和过滤已保存的信息 ✅ 安全地删除单个或所有 memory ✅ 使用标签组织和查找 memory
所有功能经过测试,保持向后兼容,文档完善。