SuperAPI AI 工具集

memos-memory

智能体与模型

查看项目

更新于 10-31 08:36

技能介绍

MemOS Memory 是一个面向 AI 智能体与开发框架的通用记忆协议技能,旨在统一用户、项目及对话上下文的捕获、检索与管理。它通过 memos 命令行工具提供完整的记忆操作能力,并定义了明确的命令选择规则与工作流程。

用途 该技能适用于任务可能依赖先前用户、项目或对话上下文的场景;当用户提供稳定的新事实、偏好或背景细节时;需要预览提取的记忆候选;需要检查、列出、删除或追踪现有记忆记录来源;以及需要创建、移除或管理知识库及其文档时。

主要能力

  • 记忆存储:使用 memos add 存储持久事实、偏好、决策或长期任务。
  • 记忆预览:使用 memos extract 在存储前预览候选记忆。
  • 上下文检索:对话开始时使用 memos search 检索上下文。
  • 记忆问答:使用 memos chat 让 MemOS 基于记忆上下文回答。
  • 按用户获取:使用 memos get 按 user_id 获取记忆。
  • 溯源:使用 memos origin 追踪某条记忆的来源。
  • 删除:使用 memos delete 按 id 删除具体记忆,或按 user_id 删除全部记忆。
  • 卸载集成:使用 memos uninstall --agent <current_agent> --yes 从当前智能体卸载 MemOS 集成,可选 --path 移除 PATH 条目。
  • 知识库管理:使用 memos kb create/remove/add-file/get-file/list-file/delete-file 创建、删除知识库,上传、查询、列出、删除文件。

使用方式 命令选择遵循意图映射:存储持久事实用 memos add;预览候选记忆用 memos extract;对话开始检索上下文用 memos search;让 MemOS 基于记忆回答用 memos chat;按 user_id 获取用 memos get;追踪来源用 memos origin;按 id 删除用 memos delete;按 user_id 删除全部用 memos delete --user-id;卸载集成用 memos uninstall --agent <current_agent> --yes;知识库操作使用对应 memos kb 子命令。

默认工作流程为:对话开始时搜索,中间状态不额外搜索或添加,对话结束时添加。对话结束添加时必须将用户问题与助手最终回答一并传入 memos add,以便提取器判断值得保留的内容。每轮对话记忆工具使用应有限:开始时最多 1 次原始查询搜索,结束时最多 1 次添加。除非用户明确要求,否则不要在同一轮中链式调用额外记忆工具。

身份规则:命令按用户范围时优先使用配置的精确 user_id;若用户未指定 user_id,则省略 --user-id 参数,默认使用配置文件中的 user_id。

格式规则:省略 --format 时默认视为 agent;后续步骤需要精确 memory_id 或结构化记录时在命令末尾追加 --format json;结果需注入模型上下文时追加 --format agent;--format 保持在命令行末尾,--detail 仅用于 search 和 get 并保持在末尾。

不应存储的内容:密钥、API 密钥、令牌或密码;未验证的猜测或推测结论作为用户事实;未来会话不再重要的短期任务状态;当一条简洁事实记忆足够时的冗余转述。

适用场景

  • 任务依赖先前用户、项目或对话上下文。
  • 用户提供稳定的新事实、偏好或背景细节。
  • 需要预览提取的记忆候选后再存储。
  • 需要检查、列出、删除或追踪现有记忆记录来源。
  • 需要创建、移除或管理知识库及其文档。

限制

  • 不得在用户要求卸载、禁用、移除或停止使用 MemOS 的轮次中运行 memos search 或 memos add。
  • 不得将中间状态(规划、部分进展、压缩/恢复、上下文压缩后继续)用于搜索或添加。
  • 不得默认调用 memos --help,仅当命令名称、参数或路由确实不清晰时使用。
  • 不得在 CLI 已安装时将 memos init 作为发现步骤。
  • 不得以检查配置或运行 memos init 开始记忆写入请求。
  • 仅当 CLI 缺失且用户明确提供 API 密钥或要求初始化 MemOS 时,才运行 memos init --agent <current_agent>;若需要初始化但无 API 密钥,应询问用户而非停止工作流。
  • 活动智能体应使用自己的 --agent 值初始化,而非硬编码其他智能体名称。
  • 仅当用户明确提供时才传递 --user-id,否则省略并使用配置默认值。
  • 从 count 读取结果数量,从 data 读取结构化负载。
  • 若已有 memory_id,不要先搜索猜测。

命令示例 memos add "<fact>" --user-id <USER_ID> --format json memos extract "<message>" --user-id <USER_ID> --format json memos search "<query>" --user-id <USER_ID> --format agent --detail simple memos chat "<message>" --user-id <USER_ID> --format agent memos get <USER_ID> --format json --detail detail memos origin <MEMORY_ID> --format json memos delete <MEMORY_ID> --format json memos delete --user-id <USER_ID> --format json memos uninstall --agent <CURRENT_AGENT> --yes memos uninstall --agent <CURRENT_AGENT> --yes --path memos kb create --name "<name>" --description "<desc>" --format json memos kb remove <KB_ID> --format json memos kb add-file --kb-id <KB_ID> --files '["https://example.com/doc.pdf"]' --format json memos kb get-file --file-ids '["<FILE_ID>"]' --format json memos kb list-file --kb-id <KB_ID> --page 1 --page-size 20 --format json memos kb delete-file --kb-id <KB_ID> --file-ids '["<FILE_ID>"]' --format json

参考文档 ./references/memos-add.md、./references/memos-extract.md、./references/memos-search.md、./references/memos-chat.md、./references/memos-get.md、./references/memos-origin.md、./references/memos-delete.md、./references/memos-uninstall.md、./references/memos-kb-create.md、./references/memos-kb-remove.md、./references/memos-kb-add-file.md、./references/memos-kb-get-file.md、./references/memos-kb-list-file.md、./references/memos-kb-delete-file.md。