[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-verygoodplugins--automem":3,"tool-verygoodplugins--automem":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",154349,2,"2026-04-13T23:32:16",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":77,"owner_twitter":78,"owner_website":79,"owner_url":80,"languages":81,"stars":102,"forks":103,"last_commit_at":104,"license":105,"difficulty_score":93,"env_os":106,"env_gpu":106,"env_ram":106,"env_deps":107,"category_tags":114,"github_topics":115,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":125,"updated_at":126,"faqs":127,"releases":156},7409,"verygoodplugins\u002Fautomem","automem","AutoMem is a graph-vector memory service that gives AI assistants durable, relational memory:","AutoMem 是一款专为 AI 助手打造的生产级长期记忆系统，旨在让人工智能像人类一样具备持久、关联且不断进化的记忆能力。传统方案中，AI 往往在会话结束后遗忘一切，或仅能通过向量数据库进行简单的关键词匹配，无法真正理解信息间的深层逻辑。AutoMem 通过独特的“图 + 向量”双架构解决了这一痛点：利用 FalkorDB 存储带有类型关系的记忆节点，结合 Qdrant 进行语义相似度搜索。这种混合模式不仅支持基于时间、重要性和上下文的混合检索，还能自动提取实体、发现模式并建立多达 11 种人为定义的关系连接。这意味着当用户询问“为何选择 PostgreSQL\"时，AutoMem 不仅能找回相关记录，还能还原当时的推理过程、偏好及关联决策。凭借亚毫秒级的响应速度和源自 HippoRAG 2 等前沿研究的算法支撑，AutoMem 特别适合需要构建具备深度上下文理解能力的智能体开发者、AI 研究人员以及希望突破现有 RAG 技术瓶颈的技术团队，帮助 AI 从单纯的“检索者”进化为真正的“学习者”。","\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fverygoodplugins_automem_readme_f183091fda1f.png\" alt=\"AutoMem - Recall is Power\" width=\"600\" \u002F>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cstrong>$AUTOMEM\u003C\u002Fstrong>:\n  \u003Ca href=\"https:\u002F\u002Fbags.fm\u002FCV485ySXfgFiwLtbh815JRukH4r9ChLhddqsAaZKBAGS\">Bags.fm\u003C\u002Fa> •\n  \u003Ca href=\"https:\u002F\u002Fjup.ag\u002Ftokens\u002FCV485ySXfgFiwLtbh815JRukH4r9ChLhddqsAaZKBAGS\">Jupiter\u003C\u002Fa> •\n  \u003Ca href=\"https:\u002F\u002Fphoton-sol.tinyastro.io\u002Fen\u002Flp\u002FCV485ySXfgFiwLtbh815JRukH4r9ChLhddqsAaZKBAGS\">Photon\u003C\u002Fa> •\n  \u003Ca href=\"https:\u002F\u002Fdexscreener.com\u002Fsolana\u002FCV485ySXfgFiwLtbh815JRukH4r9ChLhddqsAaZKBAGS\">DEXScreener\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\u003Ccode>CA: CV485ySXfgFiwLtbh815JRukH4r9ChLhddqsAaZKBAGS\u003C\u002Fcode> (Solana)\u003C\u002Fp>\n\n# **AI Memory That Actually Learns**\n\nAutoMem is a **production-grade long-term memory system** for AI assistants with transparent [LoCoMo benchmark](docs\u002FTESTING.md#locomo-benchmark) baselines (ACL 2024): **89.27%** on `locomo-mini` categories 1-4 with category 5 skipped, and **87.56%** on full `locomo` with the opt-in category-5 judge enabled. See [`benchmarks\u002FEXPERIMENT_LOG.md`](benchmarks\u002FEXPERIMENT_LOG.md) for methodology and current baselines.\n\n**Deploy in 60 seconds:**\n\n```bash\nrailway up\n```\n\n---\n\n## Graph Viewer (Standalone)\n\nThe visualizer now runs as a separate service\u002Frepository (`automem-graph-viewer`).\nAutoMem keeps `\u002Fviewer` as a compatibility entrypoint and forwards users to the standalone app.\n\nSet these variables on the AutoMem API service:\n\n```bash\nENABLE_GRAPH_VIEWER=true\nGRAPH_VIEWER_URL=https:\u002F\u002F\u003Cyour-viewer-domain>\nVIEWER_ALLOWED_ORIGINS=https:\u002F\u002F\u003Cyour-viewer-domain>\n```\n\nWhen users open `\u002Fviewer\u002F#token=...`, AutoMem preserves the hash token and redirects to the standalone viewer with `server=\u003Cautomem-origin>`.\n\n---\n\n## Why AutoMem Exists\n\nYour AI forgets everything between sessions. RAG dumps similar documents. Vector databases match keywords but miss meaning. **None of them learn.**\n\nAutoMem gives AI assistants the ability to **remember, connect, and evolve** their understanding over time—just like human long-term memory.\n\n## How AutoMem Works\n\nAutoMem combines two complementary storage systems:\n\n- **FalkorDB (Graph)** - Stores memories as nodes with typed relationships between them\n- **Qdrant (Vectors)** - Enables semantic similarity search via embeddings\n\nThis dual architecture lets you ask questions like \"why did we choose PostgreSQL?\" and get not just the memory, but the reasoning, preferences, and related decisions that informed it.\n\n### Core Capabilities\n\n- 🧠 **Store** memories with metadata, importance scores, and temporal context\n- 🔍 **Recall** via hybrid search combining semantic, keyword, graph, and temporal signals\n- 🔗 **Connect** memories with 11 authorable relationship types, plus system-generated semantic and temporal edges\n- 🎯 **Learn** through automatic entity extraction, pattern detection, and consolidation\n- ⚡ **Perform** with sub-100ms recall across thousands of memories\n\n### Research Foundation\n\nAutoMem implements techniques from peer-reviewed memory research:\n\n- **HippoRAG 2** (Ohio State, 2025): Graph-vector hybrid for associative memory\n- **A-MEM** (2025): Dynamic memory organization with Zettelkasten-inspired clustering\n- **MELODI** (DeepMind, 2024): Compression via gist representations\n- **ReadAgent** (DeepMind, 2024): Context extension through episodic memory\n\n## Architecture\n\n```mermaid\nflowchart TB\n    subgraph service [AutoMem Service Flask]\n        API[REST API\u003Cbr\u002F>Memory Lifecycle]\n        Enrichment[Background Enrichment\u003Cbr\u002F>Pipeline]\n        Consolidation[Consolidation\u003Cbr\u002F>Engine]\n        Backups[Automated Backups\u003Cbr\u002F>Optional]\n    end\n\n    subgraph storage [Dual Storage Layer]\n        FalkorDB[(FalkorDB\u003Cbr\u002F>Graph Database)]\n        Qdrant[(Qdrant\u003Cbr\u002F>Vector Database)]\n    end\n\n    Client[AI Client] -->|Store\u002FRecall\u002FAssociate| API\n    API --> FalkorDB\n    API --> Qdrant\n    Enrichment -->|11 edge types\u003Cbr\u002F>Pattern nodes| FalkorDB\n    Enrichment -->|Semantic search\u003Cbr\u002F>3072-d vectors| Qdrant\n    Consolidation --> FalkorDB\n    Consolidation --> Qdrant\n    Backups -.->|Optional| FalkorDB\n    Backups -.->|Optional| Qdrant\n```\n\n**FalkorDB** (graph) = canonical record, relationships, consolidation\n**Qdrant** (vectors) = semantic recall, similarity search\n**Dual storage** = Built-in redundancy and disaster recovery\n\n## Why Graph + Vector?\n\n```mermaid\nflowchart LR\n    subgraph trad [Traditional RAG Vector Only]\n        direction TB\n        Query1[Query: What database?]\n        VectorDB1[(Vector DB)]\n        Result1[✅ PostgreSQL memory\u003Cbr\u002F>❌ No reasoning\u003Cbr\u002F>❌ No connections]\n\n        Query1 -->|Similarity search| VectorDB1\n        VectorDB1 --> Result1\n    end\n\n    subgraph automem [AutoMem Graph + Vector]\n        direction TB\n        Query2[Query: What database?]\n\n        subgraph hybrid [Hybrid Search]\n            VectorDB2[(Qdrant\u003Cbr\u002F>Vectors)]\n            GraphDB2[(FalkorDB\u003Cbr\u002F>Graph)]\n        end\n\n        Result2[✅ PostgreSQL memory\u003Cbr\u002F>✅ PREFERS_OVER MongoDB\u003Cbr\u002F>✅ RELATES_TO team expertise\u003Cbr\u002F>✅ DERIVED_FROM boring tech]\n\n        Query2 --> VectorDB2\n        Query2 --> GraphDB2\n        VectorDB2 --> Result2\n        GraphDB2 --> Result2\n    end\n```\n\n### Traditional RAG (Vector Only)\n\n```text\nMemory: \"Chose PostgreSQL for reliability\"\nQuery: \"What database should I use?\"\nResult: ✅ Finds the memory\n         ❌ Doesn't know WHY you chose it\n         ❌ Can't connect to related decisions\n```\n\n### AutoMem (Graph + Vector)\n\n```text\nMemory: \"Chose PostgreSQL for reliability\"\nGraph: PREFERS_OVER MongoDB\n       RELATES_TO \"team expertise\" memory\n       DERIVED_FROM \"boring technology\" principle\n\nQuery: \"What database should I use?\"\nResult: ✅ Finds the memory\n        ✅ Knows your decision factors\n        ✅ Shows related preferences\n        ✅ Explains your reasoning pattern\n```\n\n## How It Works in Practice\n\n### Multi-Hop Bridge Discovery\n\nWhen you ask a question, AutoMem doesn't just find relevant memories—it finds the **connections between them**. This is called bridge discovery: following graph relationships to surface memories that link your initial results together.\n\n```mermaid\ngraph TB\n    Query[User Query:\u003Cbr\u002F>Why boring tech for Kafka?]\n\n    Seed1[Seed Memory 1:\u003Cbr\u002F>PostgreSQL migration\u003Cbr\u002F>for operational simplicity]\n\n    Seed2[Seed Memory 2:\u003Cbr\u002F>Kafka vs RabbitMQ\u003Cbr\u002F>evaluation]\n\n    Bridge[Bridge Memory:\u003Cbr\u002F>Team prefers boring technology\u003Cbr\u002F>proven, debuggable systems]\n\n    Result[Result:\u003Cbr\u002F>AI understands architectural\u003Cbr\u002F>philosophy, not just isolated choices]\n\n    Query -->|Initial recall| Seed1\n    Query -->|Initial recall| Seed2\n    Seed1 -.->|DERIVED_FROM| Bridge\n    Seed2 -.->|DERIVED_FROM| Bridge\n    Bridge --> Result\n    Seed1 --> Result\n    Seed2 --> Result\n```\n\n**Traditional RAG:** Returns \"Kafka\" memories (misses the connection)\n\n**AutoMem bridge discovery:**\n\n- Seed 1: \"Migrated to PostgreSQL for operational simplicity\"\n- Seed 2: \"Evaluating Kafka vs RabbitMQ for message queue\"\n- Bridge: \"Team prefers boring technology—proven, debuggable systems\"\n\nAutoMem finds the bridge that connects both decisions → Result: AI understands your architectural philosophy, not just isolated choices\n\n**How to enable:**\n\n- Set `expand_relations=true` in recall requests (enabled by default)\n- Control depth with `relation_limit` and `expansion_limit` parameters\n- Results are ranked by relation strength, temporal relevance, and importance\n\n### Knowledge Graphs That Evolve\n\n```text\n# After storing: \"Migrated to PostgreSQL for operational simplicity\"\n\nAutoMem automatically:\n├── Extracts entities (PostgreSQL, operational simplicity)\n├── Auto-tags (entity:tool:postgresql, entity:concept:ops-simplicity)\n├── Detects pattern (\"prefers boring technology\")\n├── Links temporally (PRECEDED_BY migration planning)\n└── Connects semantically (SIMILAR_TO \"Redis deployment\")\n\n# Next query: \"Should we use Kafka?\"\nAI recalls:\n- PostgreSQL decision\n- \"Boring tech\" pattern (reinforced across memories)\n- Operational simplicity preference\n→ Suggests: \"Based on your pattern, consider RabbitMQ instead\"\n```\n\n### 9-Component Hybrid Scoring\n\n```mermaid\nflowchart LR\n    Query[User Query:\u003Cbr\u002F>database migration\u003Cbr\u002F>tags=decision\u003Cbr\u002F>time=last month]\n\n    subgraph scoring [Hybrid Scoring Components]\n        direction TB\n        V[Vector 25%\u003Cbr\u002F>Semantic similarity]\n        K[Keyword 15%\u003Cbr\u002F>TF-IDF matching]\n        R[Relation 25%\u003Cbr\u002F>Graph strength]\n        C[Content 25%\u003Cbr\u002F>Token overlap]\n        T[Temporal 15%\u003Cbr\u002F>Time alignment]\n        Tag[Tag 10%\u003Cbr\u002F>Tag matching]\n        I[Importance 5%\u003Cbr\u002F>User priority]\n        Conf[Confidence 5%\u003Cbr\u002F>Memory confidence]\n        Rec[Recency 10%\u003Cbr\u002F>Freshness boost]\n    end\n\n    FinalScore[Final Score:\u003Cbr\u002F>Ranked by meaning,\u003Cbr\u002F>not just similarity]\n\n    Query --> V\n    Query --> K\n    Query --> R\n    Query --> C\n    Query --> T\n    Query --> Tag\n    Query --> I\n    Query --> Conf\n    Query --> Rec\n\n    V --> FinalScore\n    K --> FinalScore\n    R --> FinalScore\n    C --> FinalScore\n    T --> FinalScore\n    Tag --> FinalScore\n    I --> FinalScore\n    Conf --> FinalScore\n    Rec --> FinalScore\n```\n\n```bash\nGET \u002Frecall?query=database%20migration&tags=decision&time_query=last%20month\n\n# AutoMem combines nine signals:\nscore = vector×0.25       # Semantic similarity\n      + keyword×0.15      # TF-IDF text matching\n      + relation×0.25     # Graph relationship strength\n      + content×0.25      # Direct token overlap\n      + temporal×0.15     # Time alignment with query\n      + tag×0.10          # Tag matching\n      + importance×0.05   # User-assigned priority\n      + confidence×0.05   # Memory confidence\n      + recency×0.10      # Freshness boost\n\n# Result: Memories ranked by meaning, not just similarity\n```\n\n## Features\n\n### Core Memory Operations\n\n- **Store** - Rich memories with metadata, importance, timestamps, embeddings\n- **Recall** - Hybrid search (vector + keyword + tags + time windows)\n- **Update** - Modify memories, auto-regenerate embeddings\n- **Delete** - Remove from both graph and vector stores\n- **Associate** - Create typed relationships between memories\n- **Filter** - Tag-based queries with prefix\u002Fexact matching\n\n## Memory Consolidation\n\nAutoMem uses [neuroscience-inspired](https:\u002F\u002Fpmc.ncbi.nlm.nih.gov\u002Farticles\u002FPMC4648295\u002F) consolidation cycles—like human sleep—to keep memories relevant:\n\n| Cycle        | Frequency | Purpose                                                              |\n| ------------ | --------- | -------------------------------------------------------------------- |\n| **Decay**    | Daily     | Exponential relevance scoring (age, access, connections, importance) |\n| **Creative** | Weekly    | REM-like processing that discovers non-obvious connections           |\n| **Cluster**  | Monthly   | Groups similar memories, generates meta-patterns                     |\n| **Forget**   | Disabled  | Archives low-relevance (\u003C0.2), deletes very old (\u003C0.05) when enabled |\n\n**How it works:**\n\n- Wrong rabbit holes fade naturally (~30-45 days without access)\n- Important memories with strong connections stay indefinitely\n- Memories archive before deletion (0.05-0.2 relevance range)\n- The system learns what matters to you, not what you explicitly tag\n\n### Background Intelligence\n\nEvery memory gets automatically enhanced in the background (doesn't block your API calls):\n\n**Enrichment Pipeline** (runs immediately after storage):\n\n- **Entity extraction** - Identifies people, projects, tools, concepts (spaCy NLP)\n- **Auto-tagging** - Generates `entity:\u003Ctype>:\u003Cslug>` for structured queries\n- **Summaries** - Lightweight gist representations for quick scanning\n- **Temporal links** - Connects to recent memories with `PRECEDED_BY` relationships\n- **Semantic neighbors** - Finds similar memories via cosine similarity (`SIMILAR_TO`)\n- **Pattern detection** - Reinforces emerging themes across your memory graph\n\n**Consolidation Engine** (runs on configurable schedules):\n\n- See [Memory Consolidation](#memory-consolidation) section above\n\n### 11 Authorable Relationship Types\n\nBuild rich knowledge graphs:\n\n| Type              | Use Case               | Example                       |\n| ----------------- | ---------------------- | ----------------------------- |\n| `RELATES_TO`      | General connection     | Bug report → Related issue    |\n| `LEADS_TO`        | Causal relationship    | Problem → Solution            |\n| `OCCURRED_BEFORE` | Temporal sequence      | Planning → Execution          |\n| `PREFERS_OVER`    | User preferences       | PostgreSQL → MongoDB          |\n| `EXEMPLIFIES`     | Pattern examples       | Code review → Best practice   |\n| `CONTRADICTS`     | Conflicting info       | Old approach → New approach   |\n| `REINFORCES`      | Supporting evidence    | Decision → Validation         |\n| `INVALIDATED_BY`  | Outdated info          | Legacy docs → Current docs    |\n| `EVOLVED_INTO`    | Knowledge evolution    | Initial design → Final design |\n| `DERIVED_FROM`    | Source tracking        | Implementation → Spec         |\n| `PART_OF`         | Hierarchical structure | Feature → Epic                |\n\nSystem-generated relationship types:\n\n- `SIMILAR_TO` - Semantic neighbors created by enrichment\n- `PRECEDED_BY` - Temporal links created by enrichment\n- `DISCOVERED` - Internal heuristic edges created by consolidation (`kind=explains|shares_theme|parallel_context`)\n\n## Quick Start\n\n### Option 1: Railway (Recommended)\n\nDeploy AutoMem to Railway in 60 seconds:\n\n[![Deploy on Railway](https:\u002F\u002Frailway.app\u002Fbutton.svg)](https:\u002F\u002Frailway.com\u002Fdeploy\u002Fautomem-ai-memory-service)\n\nThis deploys 3 services automatically:\n\n- **memory-service** — Core AutoMem API\n- **falkordb** — Graph database with persistent storage\n- **mcp-sse-server** — MCP bridge for ChatGPT, Claude.ai, ElevenLabs\n\n👉 **[Deployment Guide](INSTALLATION.md#deployment)** for detailed Railway setup\n\n### Option 2: Docker Compose (Local)\n\nRun everything locally:\n\n```bash\n# Clone and start services\ngit clone https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem.git\ncd automem\nmake dev\n\n# API: http:\u002F\u002Flocalhost:8001\n# FalkorDB: localhost:6379\n# Qdrant: localhost:6333\n```\n\n### Option 3: Development Mode\n\nRun API without Docker:\n\n```bash\npython3 -m venv venv\nsource venv\u002Fbin\u002Factivate\npip install -r requirements-dev.txt\nPORT=8001 python app.py\n```\n\n## API Examples\n\n### Store a Memory\n\n```bash\ncurl -X POST http:\u002F\u002Flocalhost:8001\u002Fmemory \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"content\": \"Chose PostgreSQL over MongoDB for ACID compliance\",\n    \"type\": \"Decision\",\n    \"confidence\": 0.95,\n    \"tags\": [\"database\", \"architecture\"],\n    \"importance\": 0.9,\n    \"metadata\": {\n      \"source\": \"architecture-meeting\",\n      \"alternatives\": [\"MongoDB\", \"MySQL\"],\n      \"deciding_factors\": [\"ACID\", \"team_expertise\"]\n    }\n  }'\n```\n\n**Available memory types**: `Decision`, `Pattern`, `Preference`, `Style`, `Habit`, `Insight`, `Context` (default)\n\n- **Explicit `type` recommended** when you know the classification\n- **Omit `type`** to let enrichment auto-classify from content\n\n### Recall Memories\n\n```bash\n# Hybrid search with tags and time\nGET \u002Frecall?query=database&tags=decision&time_query=last%20month\n\n# Semantic search with vector\nGET \u002Frecall?embedding=0.12,0.56,...&limit=10\n\n# Tag prefix matching (finds slack:U123:*, slack:channel-ops, etc.)\nGET \u002Frecall?tags=slack&tag_match=prefix\n\n# Graph expansion with filtering (reduce noise in related memories)\nGET \u002Frecall?query=auth%20architecture&expand_relations=true&expand_min_importance=0.5&expand_min_strength=0.3\n\n# Multi-hop entity expansion (e.g., \"What is Sarah's sister's job?\")\nGET \u002Frecall?query=What%20is%20Sarah%27s%20sister%27s%20job&expand_entities=true\n```\n\n### Create Relationship\n\n```bash\ncurl -X POST http:\u002F\u002Flocalhost:8001\u002Fassociate \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"memory1_id\": \"uuid-postgres-decision\",\n    \"memory2_id\": \"uuid-mongodb-evaluation\",\n    \"type\": \"PREFERS_OVER\",\n    \"strength\": 0.9\n  }'\n```\n\n## Use With AI Platforms\n\nAutoMem works with any AI platform via:\n\n### MCP (Model Context Protocol)\n\n**Local MCP Bridge** (Claude Desktop, Cursor, Claude Code):\n\n```bash\n# Install official MCP bridge\nnpm install -g @verygoodplugins\u002Fmcp-automem\n\n# Configure for local AI tools\nnpx @verygoodplugins\u002Fmcp-automem setup\n```\n\n**Remote MCP** (Cloud AI Platforms):\n\nConnect AutoMem to cloud AI platforms via HTTPS. Works with:\n\n- **ChatGPT** (requires developer mode)\n- **Claude.ai** web interface\n- **Claude mobile app**\n- **ElevenLabs Agents**\n\nSee [Remote MCP documentation](docs\u002FMCP_SSE.md) for setup instructions.\n\n👉 **Resources**:\n\n- NPM bridge (local): [`@verygoodplugins\u002Fmcp-automem`](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@verygoodplugins\u002Fmcp-automem)\n- Remote MCP setup: [docs\u002FMCP_SSE.md](docs\u002FMCP_SSE.md)\n\n### Direct API\n\nAny language, any framework:\n\n```python\nimport requests\n\nresponse = requests.post(\n    \"https:\u002F\u002Fyour-automem.railway.app\u002Fmemory\",\n    headers={\"Authorization\": f\"Bearer {token}\"},\n    json={\"content\": \"Memory content\", \"importance\": 0.8}\n)\n```\n\n## Comparison with Alternatives\n\n### vs. Traditional RAG Systems\n\nTraditional RAG retrieves similar documents. AutoMem understands relationships:\n\n**RAG**: \"Here are 5 documents about PostgreSQL\"\n**AutoMem**: \"You chose PostgreSQL over MongoDB because you prefer boring technology for operational simplicity. This pattern also influenced your Redis and RabbitMQ decisions.\"\n\n- ✅ **Typed relationships** - Not just \"similar\", but \"causes\", \"contradicts\", \"evolved from\"\n- ✅ **Temporal awareness** - Knows what preceded, what invalidated, what emerged\n- ✅ **Pattern learning** - Discovers your preferences and decision-making style\n- ✅ **Consolidation** - Memories strengthen or fade based on use—like human memory\n\n### vs. Vector Databases (Pinecone, Weaviate, Qdrant)\n\nVector databases match embeddings. AutoMem builds knowledge graphs:\n\n- ✅ **Multi-hop reasoning** - Bridge discovery connects memories across conversation threads\n- ✅ **11 relationship types** - Structured semantics vs. cosine similarity alone\n- ✅ **Background intelligence** - Auto-enrichment, pattern detection, decay cycles\n- ✅ **9-component scoring** - Combines semantic, lexical, graph, temporal, and importance signals\n\n### vs. Building Your Own\n\nAutoMem saves you months of iteration:\n\n- ✅ **Benchmark-proven** - Transparent LoCoMo baselines for both judge-off and judge-on evaluation\n- ✅ **Research-validated** - Implements HippoRAG 2, A-MEM, MELODI, ReadAgent principles\n- ✅ **Production-ready** - Auth, admin tools, health monitoring, automated backups\n- ✅ **Battle-tested** - Enrichment pipeline, consolidation engine, retry logic, dual storage\n- ✅ **Open source** - MIT license, deploy anywhere, no vendor lock-in\n\n## Benchmark Results\n\n### LoCoMo Benchmark (ACL 2024)\n\nAutoMem publishes two reference baselines with Voyage 4 embeddings:\n\n| Setup | Scope | Score | Notes |\n|-------|-------|-------|-------|\n| Fast iteration | `locomo-mini`, judge off | **89.27% (208\u002F233)** | Categories 1-4 only; 71 category-5 questions skipped |\n| Full benchmark | `locomo`, judge on (`gpt-4o`) | **87.56% (1739\u002F1986)** | Includes category 5 at 95.74% (427\u002F446) |\n\n`locomo-mini` category breakdown with the judge disabled:\n\n| Category                   | AutoMem    | Notes                                   |\n| -------------------------- | ---------- | --------------------------------------- |\n| **Open Domain**            | **96.49%** | General knowledge recall                |\n| **Temporal Understanding** | **92.06%** | Time-aware queries                      |\n| **Single-hop Recall**      | **79.07%** | Basic fact retrieval                    |\n| **Multi-hop Reasoning**    | **46.15%** | Connecting disparate memories           |\n| **Complex Reasoning**      | N\u002FA        | Skipped in this setup; use judge-on run |\n\nReference point:\n\n| System | Score |\n|--------|-------|\n| Published CORE result | 88.24% |\n| AutoMem `locomo-mini` judge off | 89.27% |\n| AutoMem `locomo` judge on | 87.56% |\n\n> **Methodology note:** We do not present this as a strict leaderboard claim. The published CORE number is a useful reference point, but the public LoCoMo setups are not perfectly apples-to-apples, especially around category-5 handling. AutoMem is above that published reference on the `locomo-mini` categories 1-4 run and below it on the full judge-enabled run.\n> **History note:** Earlier versions reported 90.53%, but that included two evaluator bugs: temporal matching compared the wrong text (false negatives) and category 5 matched empty strings (false positives). See [`benchmarks\u002FEXPERIMENT_LOG.md`](benchmarks\u002FEXPERIMENT_LOG.md) for the corrected timeline.\n\nRun benchmarks: `make bench-eval BENCH=locomo-mini CONFIG=baseline` (quick) or `BENCH_JUDGE_MODEL=gpt-4o make bench-eval BENCH=locomo CONFIG=baseline` (full, includes category 5)\n\n### Production Characteristics\n\n- ⚡ **Sub-100ms recall** - Even with 100k+ memories\n- 🔄 **Concurrent writes** - Background enrichment doesn't block API\n- 🛡️ **Graceful degradation** - Works without Qdrant (graph-only mode)\n- ♻️ **Automatic retries** - Failed enrichments queue for reprocessing\n- 💚 **Health monitoring** - `\u002Fhealth` and `\u002Fenrichment\u002Fstatus` endpoints\n- 💾 **Dual storage redundancy** - Data persists in both FalkorDB and Qdrant\n- 📦 **Automated backups** - Optional backup service for disaster recovery\n\n## Configuration\n\n### Required\n\n- `AUTOMEM_API_TOKEN` - Authentication for all endpoints (except `\u002Fhealth`)\n- `FALKORDB_HOST` \u002F `FALKORDB_PORT` - Graph database connection\n\n### Optional\n\n- `QDRANT_URL` \u002F `QDRANT_API_KEY` - Enable semantic search ([setup guide](docs\u002FQDRANT_SETUP.md))\n- `EMBEDDING_PROVIDER` - Choose `voyage`, `openai`, `local`, `ollama`, or `placeholder` backends\n- `VOYAGE_API_KEY` \u002F `VOYAGE_MODEL` - Voyage embeddings (if using `voyage`)\n- `OPENAI_API_KEY` - OpenAI embeddings (if using `openai`)\n- `OPENAI_BASE_URL` - Custom endpoint for OpenAI-compatible providers (OpenRouter, LiteLLM, vLLM, etc.)\n- `OLLAMA_BASE_URL` \u002F `OLLAMA_MODEL` - Ollama embeddings (if using `ollama`)\n- `ADMIN_API_TOKEN` - Required for `\u002Fadmin\u002Freembed` and enrichment controls\n- Consolidation tuning: `CONSOLIDATION_*_INTERVAL_SECONDS`\n- Enrichment tuning: `ENRICHMENT_*` (similarity threshold, retry limits, etc.)\n\n👉 **[Full Configuration Guide](INSTALLATION.md#configuration)**\n\n## Documentation\n\n- 📦 **[Installation Guide](INSTALLATION.md)** - Railway, Docker, development setup\n- 🔍 **[Qdrant Setup Guide](docs\u002FQDRANT_SETUP.md)** - Step-by-step vector database configuration\n- 🌉 **[Remote MCP](docs\u002FMCP_SSE.md)** - Connect cloud AI platforms (ChatGPT, Claude.ai, ElevenLabs) to AutoMem\n- 💾 **[Monitoring & Backups](docs\u002FMONITORING_AND_BACKUPS.md)** - Health monitoring and automated backups\n- 🔧 **[API Reference](docs\u002FAPI.md)** - All endpoints with examples\n- 🧪 **[Testing Guide](docs\u002FTESTING.md)** - Unit, integration, live server, and LoCoMo benchmark tests\n- 📊 **[LoCoMo Benchmark](docs\u002FTESTING.md#locomo-benchmark)** - Validate against ACL 2024 long-term memory benchmark\n- 🔄 **[Migration Guide](INSTALLATION.md#migration)** - Move from MCP SQLite\n- 🌐 **[automem.ai](https:\u002F\u002Fautomem.ai)** - Official website and guides\n\n## Community & Support\n\n- 🌐 **[automem.ai](https:\u002F\u002Fautomem.ai)** - Official website\n- 💬 **[Discord](https:\u002F\u002Fautomem.ai\u002Fdiscord)** - Community chat\n- 🐦 **[X Community](https:\u002F\u002Fx.com\u002Fi\u002Fcommunities\u002F2013114118912225326)** - Follow updates\n- 📺 **[YouTube](https:\u002F\u002Fwww.youtube.com\u002F@AutoJackBot)** - Tutorials and demos\n- 🐙 **[GitHub](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem)** - Source code\n- 📦 **[NPM MCP Bridge](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@verygoodplugins\u002Fmcp-automem)** - MCP integration\n- 🐛 **[Issues](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues)** - Bug reports and feature requests\n\n## Research Background\n\nAutoMem's architecture is based on peer-reviewed research in memory systems and graph theory:\n\n### [HippoRAG 2](https:\u002F\u002Farxiv.org\u002Fabs\u002F2502.14802) (Ohio State, June 2025)\n\n**Finding**: Graph-vector hybrid achieves 7% better associative memory than pure vector RAG, approaching human long-term memory performance.\n\n**AutoMem implementation**: Dual FalkorDB (graph) + Qdrant (vector) architecture with 11 typed relationship edges.\n\n### [A-MEM](https:\u002F\u002Farxiv.org\u002Fabs\u002F2502.12110) (July 2025)\n\n**Finding**: Dynamic memory organization with Zettelkasten principles enables emergent knowledge structures.\n\n**AutoMem implementation**: Pattern detection, clustering cycles, and automatic entity linking that builds knowledge graphs from conversation.\n\n### [MELODI](https:\u002F\u002Farxiv.org\u002Fhtml\u002F2410.03156v1) (DeepMind, 2024)\n\n**Finding**: 8x memory compression without quality loss through gist representations and selective preservation.\n\n**AutoMem implementation**: Summary generation, importance scoring, and consolidation cycles that strengthen relevant memories while fading noise.\n\n### [ReadAgent](https:\u002F\u002Farxiv.org\u002Fabs\u002F2402.09727) (DeepMind, 2024)\n\n**Finding**: 20x context extension via episodic memory and temporal organization.\n\n**AutoMem implementation**: Temporal relationship types (PRECEDED_BY, OCCURRED_BEFORE) and time-aware scoring that preserves conversation flow.\n\n## Contributing\n\nWe welcome contributions! Please:\n\n1. Fork the repository\n2. Create a feature branch\n3. Add tests for your changes\n4. Submit a pull request\n\nSee [TESTING.md](TESTING.md) for running the test suite.\n\n## License\n\nMIT - Because AI memory should be free.\n\n---\n\n## Get Started\n\n```bash\nrailway up\n```\n\nOpen source. Research-validated. Production-ready.\n\n---\n\n_MIT License. Deploy anywhere. No vendor lock-in._\n","\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fverygoodplugins_automem_readme_f183091fda1f.png\" alt=\"AutoMem - Recall is Power\" width=\"600\" \u002F>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cstrong>$AUTOMEM\u003C\u002Fstrong>:\n  \u003Ca href=\"https:\u002F\u002Fbags.fm\u002FCV485ySXfgFiwLtbh815JRukH4r9ChLhddqsAaZKBAGS\">Bags.fm\u003C\u002Fa> •\n  \u003Ca href=\"https:\u002F\u002Fjup.ag\u002Ftokens\u002FCV485ySXfgFiwLtbh815JRukH4r9ChLhddqsAaZKBAGS\">Jupiter\u003C\u002Fa> •\n  \u003Ca href=\"https:\u002F\u002Fphoton-sol.tinyastro.io\u002Fen\u002Flp\u002FCV485ySXfgFiwLtbh815JRukH4r9ChLhddqsAaZKBAGS\">Photon\u003C\u002Fa> •\n  \u003Ca href=\"https:\u002F\u002Fdexscreener.com\u002Fsolana\u002FCV485ySXfgFiwLtbh815JRukH4r9ChLhddqsAaZKBAGS\">DEXScreener\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\u003Ccode>CA: CV485ySXfgFiwLtbh815JRukH4r9ChLhddqsAaZKBAGS\u003C\u002Fcode> (Solana)\u003C\u002Fp>\n\n# **真正会学习的AI记忆**\n\nAutoMem是一个面向AI助手的**生产级长期记忆系统**，拥有透明的[LoCoMo基准测试](docs\u002FTESTING.md#locomo-benchmark)基线（ACL 2024）：在跳过第5类的情况下，`locomo-mini`的1-4类得分为**89.27%**；而在启用可选的第5类评判者时，完整`locomo`的得分为**87.56%**。有关方法论和当前基线，请参阅[`benchmarks\u002FEXPERIMENT_LOG.md`](benchmarks\u002FEXPERIMENT_LOG.md)。\n\n**60秒内即可部署：**\n\n```bash\nrailway up\n```\n\n---\n\n## 图形查看器（独立版）\n\n可视化工具现以独立服务\u002F仓库（`automem-graph-viewer`）的形式运行。AutoMem仍保留`\u002Fviewer`作为兼容入口，并将用户重定向至独立应用。\n\n请在AutoMem API服务上设置以下变量：\n\n```bash\nENABLE_GRAPH_VIEWER=true\nGRAPH_VIEWER_URL=https:\u002F\u002F\u003Cyour-viewer-domain>\nVIEWER_ALLOWED_ORIGINS=https:\u002F\u002F\u003Cyour-viewer-domain>\n```\n\n当用户访问`\u002Fviewer\u002F#token=...`时，AutoMem会保留哈希令牌，并将其重定向至独立查看器，同时附带`server=\u003Cautomem-origin>`参数。\n\n---\n\n## 为什么需要AutoMem？\n\n您的AI会在每次会话之间遗忘所有内容。RAG只会检索相似文档。向量数据库虽然能匹配关键词，却无法捕捉语义含义。**它们都无法真正学习。**\n\nAutoMem赋予AI助手**记忆、关联并不断进化理解能力**的能力，就像人类的长期记忆一样。\n\n## AutoMem的工作原理\n\nAutoMem结合了两种互补的存储系统：\n\n- **FalkorDB（图数据库）**：将记忆存储为节点，并通过类型化的关系连接起来\n- **Qdrant（向量数据库）**：通过嵌入实现语义相似性搜索\n\n这种双层架构使您能够提出诸如“我们为什么选择PostgreSQL？”这样的问题，不仅得到相关记忆，还能了解背后的推理、偏好以及与其相关的决策过程。\n\n### 核心功能\n\n- 🧠 **存储**记忆，附带元数据、重要性评分和时间上下文\n- 🔍 **召回**：通过混合搜索结合语义、关键词、图结构和时间信号\n- 🔗 **连接**记忆，支持11种可自定义的关系类型，以及系统自动生成的语义和时间边\n- 🎯 **学习**：自动提取实体、检测模式并进行整合\n- ⚡ **性能**：在数千条记忆中实现亚百毫秒级别的召回速度\n\n### 研究基础\n\nAutoMem实现了多项经过同行评审的记忆研究技术：\n\n- **HippoRAG 2**（俄亥俄州立大学，2025年）：基于图与向量的混合模型，用于联想记忆\n- **A-MEM**（2025年）：采用泽特尔卡斯滕式聚类的动态记忆组织\n- **MELODI**（DeepMind，2024年）：通过概要表示进行压缩\n- **ReadAgent**（DeepMind，2024年）：通过情景记忆扩展上下文\n\n## 架构\n\n```mermaid\nflowchart TB\n    subgraph service [AutoMem服务 Flask]\n        API[REST API\u003Cbr\u002F>记忆生命周期]\n        Enrichment[后台增强\u003Cbr\u002F>管道]\n        Consolidation[整合\u003Cbr\u002F>引擎]\n        Backups[自动化备份\u003Cbr\u002F>可选]\n    end\n\n    subgraph storage [双层存储]\n        FalkorDB[(FalkorDB\u003Cbr\u002F>图数据库)]\n        Qdrant[(Qdrant\u003Cbr\u002F>向量数据库)]\n    end\n\n    Client[AI客户端] -->|存储\u002F召回\u002F关联| API\n    API --> FalkorDB\n    API --> Qdrant\n    Enrichment -->|11种边类型\u003Cbr\u002F>模式节点| FalkorDB\n    Enrichment -->|语义搜索\u003Cbr\u002F>3072维向量| Qdrant\n    Consolidation --> FalkorDB\n    Consolidation --> Qdrant\n    Backups -.->|可选| FalkorDB\n    Backups -.->|可选| Qdrant\n```\n\n**FalkorDB**（图数据库）：用于记录规范信息、关系及整合\n**Qdrant**（向量数据库）：用于语义召回和相似性搜索\n**双层存储**：内置冗余和灾难恢复机制\n\n## 为什么选择图+向量？\n\n```mermaid\nflowchart LR\n    subgraph trad [传统RAG：仅向量]\n        direction TB\n        Query1[查询：什么数据库？]\n        VectorDB1[(向量数据库)]\n        Result1[✅ PostgreSQL记忆\u003Cbr\u002F>❌ 无推理\u003Cbr\u002F>❌ 无关联]\n\n        Query1 -->|相似性搜索| VectorDB1\n        VectorDB1 --> Result1\n    end\n\n    subgraph automem [AutoMem：图+向量]\n        direction TB\n        Query2[查询：什么数据库？]\n\n        subgraph hybrid [混合搜索]\n            VectorDB2[(Qdrant\u003Cbr\u002F>向量)]\n            GraphDB2[(FalkorDB\u003Cbr\u002F>图)]\n        end\n\n        Result2[✅ PostgreSQL记忆\u003Cbr\u002F>✅ 更倾向于MongoDB\u003Cbr\u002F>✅ 与团队专长相关\u003Cbr\u002F>✅ 源自枯燥的技术理念]\n\n        Query2 --> VectorDB2\n        Query2 --> GraphDB2\n        VectorDB2 --> Result2\n        GraphDB2 --> Result2\n    end\n```\n\n### 传统RAG（仅向量）\n\n```text\n记忆：“因可靠性选择了PostgreSQL”\n查询：“我应该使用什么数据库？”\n结果：✅ 找到了记忆\n         ❌ 不知道您为何选择它\n         ❌ 无法连接到相关决策\n```\n\n### AutoMem（图+向量）\n\n```text\n记忆：“因可靠性选择了PostgreSQL”\n图：更倾向于MongoDB\n       与“团队专长”记忆相关\n       源自“枯燥技术”原则\n\n查询：“我应该使用什么数据库？”\n结果：✅ 找到了记忆\n        ✅ 知道您的决策因素\n        ✅ 展示了相关偏好\n        ✅ 解释了您的推理模式\n```\n\n### 实际工作流程\n\n### 多跳桥接发现\n\n当你提出一个问题时，AutoMem 不仅会找到相关的记忆，还会找到这些记忆之间的**连接**。这被称为桥接发现：通过图关系来揭示那些将初始结果串联起来的记忆。\n\n```mermaid\ngraph TB\n    Query[用户查询：\u003Cbr\u002F>为什么选择枯燥的技术来使用 Kafka？]\n\n    Seed1[种子记忆 1：\u003Cbr\u002F>PostgreSQL 迁移\u003Cbr\u002F>为了操作简便]\n\n    Seed2[种子记忆 2：\u003Cbr\u002F>Kafka 与 RabbitMQ\u003Cbr\u002F>对比评估]\n\n    Bridge[桥接记忆：\u003Cbr\u002F>团队偏好简单可靠的技术\u003Cbr\u002F>经过验证、易于调试的系统]\n\n    Result[结果：\u003Cbr\u002F>AI 理解的是架构\u003Cbr\u002F>哲学，而不仅仅是孤立的选择]\n\n    Query -->|初始召回| Seed1\n    Query -->|初始召回| Seed2\n    Seed1 -.->|DERIVED_FROM| Bridge\n    Seed2 -.->|DERIVED_FROM| Bridge\n    Bridge --> Result\n    Seed1 --> Result\n    Seed2 --> Result\n```\n\n**传统 RAG：** 返回“Kafka”相关记忆（遗漏了其中的联系）\n\n**AutoMem 桥接发现：**\n\n- 种子记忆 1：“为操作简便迁移到 PostgreSQL”\n- 种子记忆 2：“评估 Kafka 和 RabbitMQ 作为消息队列”\n- 桥接记忆：“团队偏好简单可靠的技术——成熟稳定、易于调试的系统”\n\nAutoMem 找到了连接这两个决策的桥梁 → 结果：AI 理解了你的架构哲学，而不仅仅是孤立的选择。\n\n**如何启用：**\n\n- 在召回请求中设置 `expand_relations=true`（默认已启用）\n- 使用 `relation_limit` 和 `expansion_limit` 参数控制深度\n- 结果会根据关系强度、时间相关性和重要性进行排序\n\n### 不断演化的知识图谱\n\n```text\n# 存储后：“为操作简便迁移到 PostgreSQL”\n\nAutoMem 自动：\n├── 提取实体（PostgreSQL、操作简便）\n├── 自动打标签（entity:tool:postgresql, entity:concept:ops-simplicity）\n├── 发现模式（“偏好简单技术”）\n├── 建立时间关联（PRECEDED_BY 迁移计划）\n└── 进行语义连接（SIMILAR_TO “Redis 部署”）\n\n# 下一次查询：“我们应该使用 Kafka 吗？”\nAI 回忆起：\n- PostgreSQL 决策\n- “简单技术”模式（在多条记忆中得到强化）\n- 对操作简便的偏好\n→ 建议：“根据您的模式，建议考虑 RabbitMQ 而不是 Kafka”\n```\n\n### 9 组分混合评分\n\n```mermaid\nflowchart LR\n    Query[用户查询：\u003Cbr\u002F>数据库迁移\u003Cbr\u002F>标签=decision\u003Cbr\u002F>时间=上个月]\n\n    subgraph scoring [混合评分组件]\n        direction TB\n        V[向量 25%\u003Cbr\u002F>语义相似度]\n        K[关键词 15%\u003Cbr\u002F>TF-IDF 匹配]\n        R[关系 25%\u003Cbr\u002F>图强度]\n        C[内容 25%\u003Cbr\u002F>标记重叠]\n        T[时间 15%\u003Cbr\u002F>时间一致性]\n        Tag[标签 10%\u003Cbr\u002F>标签匹配]\n        I[重要性 5%\u003Cbr\u002F>用户优先级]\n        Conf[置信度 5%\u003Cbr\u002F>记忆置信度]\n        Rec[最近性 10%\u003Cbr\u002F>新鲜度提升]\n    end\n\n    FinalScore[最终得分：\u003Cbr\u002F>按意义排序,\u003Cbr\u002F>而非单纯相似度]\n\n    Query --> V\n    Query --> K\n    Query --> R\n    Query --> C\n    Query --> T\n    Query --> Tag\n    Query --> I\n    Query --> Conf\n    Query --> Rec\n\n    V --> FinalScore\n    K --> FinalScore\n    R --> FinalScore\n    C --> FinalScore\n    T --> FinalScore\n    Tag --> FinalScore\n    I --> FinalScore\n    Conf --> FinalScore\n    Rec --> FinalScore\n```\n\n```bash\nGET \u002Frecall?query=database%20migration&tags=decision&time_query=last%20month\n\n# AutoMem 结合九种信号：\nscore = vector×0.25       # 语义相似度\n      + keyword×0.15      # TF-IDF 文本匹配\n      + relation×0.25     # 图关系强度\n      + content×0.25      # 直接标记重叠\n      + temporal×0.15     # 与查询的时间一致性\n      + tag×0.10          # 标签匹配\n      + importance×0.05   # 用户指定的优先级\n      + confidence×0.05   # 记忆置信度\n      + recency×0.10      # 新鲜度提升\n\n# 结果：记忆按意义排序，而非单纯相似度\n```\n\n## 功能\n\n### 核心记忆操作\n\n- **存储** - 丰富的带元数据、重要性、时间戳和嵌入的记忆\n- **召回** - 混合搜索（向量 + 关键词 + 标签 + 时间窗口）\n- **更新** - 修改记忆，自动重新生成嵌入\n- **删除** - 从图和向量存储中同时移除\n- **关联** - 创建记忆之间的类型化关系\n- **筛选** - 基于标签的查询，支持前缀或精确匹配\n\n## 内存整合\n\nAutoMem 使用受神经科学启发的整合周期——类似于人类睡眠——来保持记忆的相关性：\n\n| 周期        | 频率     | 目的                                                              |\n| ------------ | --------- | -------------------------------------------------------------------- |\n| **衰减**    | 每日     | 指数级相关性评分（年龄、访问次数、连接数、重要性）                 |\n| **创造**    | 每周     | 类似 REM 的处理过程，发现不明显的联系                               |\n| **聚类**    | 每月     | 将相似的记忆分组，并生成元模式                                     |\n| **遗忘**    | 已禁用  | 归档低相关性（\u003C0.2），启用时则删除极旧的记忆（\u003C0.05）              |\n\n**工作原理：**\n\n- 错误的记忆路径会自然消退（约 30–45 天无人访问）\n- 重要且连接紧密的记忆会永久保留\n- 记忆会在被删除前先归档（相关性介于 0.05–0.2 之间）\n- 系统会学习对你而言什么才是重要的，而不是你明确标注的内容\n\n### 背景智能\n\n每条记忆都会在后台自动增强（不会阻塞你的 API 调用）：\n\n**增强管道**（存储后立即运行）：\n\n- **实体提取** - 识别人物、项目、工具、概念（spaCy NLP）\n- **自动打标签** - 生成 `entity:\u003Ctype>:\u003Cslug>` 格式，便于结构化查询\n- **摘要** - 轻量级概要，方便快速浏览\n- **时间关联** - 通过 `PRECEDED_BY` 关系连接到近期记忆\n- **语义邻近** - 通过余弦相似度查找相似记忆（`SIMILAR_TO`）\n- **模式检测** - 强化贯穿整个记忆图的新兴主题\n\n**整合引擎**（按可配置的时间表运行）：\n\n- 参见上方的【内存整合】部分\n\n### 11 种可编写的关系类型\n\n构建丰富的知识图谱：\n\n| 类型              | 使用场景               | 示例                       |\n| ----------------- | ---------------------- | ----------------------------- |\n| `RELATES_TO`      | 一般性连接             | 错误报告 → 相关问题        |\n| `LEADS_TO`        | 因果关系               | 问题 → 解决决                |\n| `OCCURRED_BEFORE` | 时间顺序               | 计划 → 执行                |\n| `PREFERS_OVER`    | 用户偏好               | PostgreSQL → MongoDB         |\n| `EXEMPLIFIES`     | 模式示例               | 代码审查 → 最佳实践        |\n| `CONTRADICTS`     | 冲突信息               | 旧方法 → 新方法            |\n| `REINFORCES`      | 支持性证据             | 决策 → 验证决              |\n| `INVALIDATED_BY`  | 过时信息               | 旧文档 → 当前文档          |\n| `EVOLVED_INTO`    | 知识演进               | 初步设计 → 最终设计        |\n| `DERIVED_FROM`    | 来源追踪               | 实现 → 规格                |\n| `PART_OF`         | 层次结构               | 功能 → 壮举                |\n\n系统生成的关系类型：\n\n- `SIMILAR_TO` - 由增强功能创建的语义邻近关系\n- `PRECEDED_BY` - 由增强功能创建的时序链接\n- `DISCOVERED` - 由整合创建的内部启发式边（`kind=explains|shares_theme|parallel_context`）\n\n## 快速入门\n\n### 选项 1：Railway（推荐）\n\n在 60 秒内将 AutoMem 部署到 Railway：\n\n[![Deploy on Railway](https:\u002F\u002Frailway.app\u002Fbutton.svg)](https:\u002F\u002Frailway.com\u002Fdeploy\u002Fautomem-ai-memory-service)\n\n这将自动部署 3 项服务：\n\n- **memory-service** — 核心 AutoMem API\n- **falkordb** — 具有持久化存储的图数据库\n- **mcp-sse-server** — 用于 ChatGPT、Claude.ai、ElevenLabs 的 MCP 桥接器\n\n👉 **[部署指南](INSTALLATION.md#deployment)** 提供详细的 Railway 设置说明\n\n### 选项 2：Docker Compose（本地）\n\n在本地运行所有内容：\n\n```bash\n# 克隆并启动服务\ngit clone https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem.git\ncd automem\nmake dev\n\n# API：http:\u002F\u002Flocalhost:8001\n# FalkorDB：localhost:6379\n# Qdrant：localhost:6333\n```\n\n### 选项 3：开发模式\n\n无需 Docker 即可运行 API：\n\n```bash\npython3 -m venv venv\nsource venv\u002Fbin\u002Factivate\npip install -r requirements-dev.txt\nPORT=8001 python app.py\n```\n\n## API 示例\n\n### 存储记忆\n\n```bash\ncurl -X POST http:\u002F\u002Flocalhost:8001\u002Fmemory \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"content\": \"为了 ACID 兼容性选择了 PostgreSQL 而不是 MongoDB\",\n    \"type\": \"Decision\",\n    \"confidence\": 0.95,\n    \"tags\": [\"database\", \"architecture\"],\n    \"importance\": 0.9,\n    \"metadata\": {\n      \"source\": \"architecture-meeting\",\n      \"alternatives\": [\"MongoDB\", \"MySQL\"],\n      \"deciding_factors\": [\"ACID\", \"team_expertise\"]\n    }\n  }'\n```\n\n**可用的记忆类型**：`Decision`、`Pattern`、`Preference`、`Style`、`Habit`、`Insight`、`Context`（默认）\n\n- **建议明确指定 `type`**，当您知道分类时\n- **省略 `type`**，让增强功能根据内容自动分类\n\n### 召回记忆\n\n```bash\n# 结合标签和时间的混合搜索\nGET \u002Frecall?query=database&tags=decision&time_query=last%20month\n\n# 带向量的语义搜索\nGET \u002Frecall?embedding=0.12,0.56,...&limit=10\n\n# 标签前缀匹配（查找 slack:U123:*, slack:channel-ops 等）\nGET \u002Frecall?tags=slack&tag_match=prefix\n\n# 带过滤的图扩展（减少相关记忆中的噪声）\nGET \u002Frecall?query=auth%20architecture&expand_relations=true&expand_min_importance=0.5&expand_min_strength=0.3\n\n# 多跳实体扩展（例如，“Sarah 的姐姐是做什么工作的？”）\nGET \u002Frecall?query=What%20is%20Sarah%27s%20sister%27s%20job&expand_entities=true\n```\n\n### 创建关系\n\n```bash\ncurl -X POST http:\u002F\u002Flocalhost:8001\u002Fassociate \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"memory1_id\": \"uuid-postgres-decision\",\n    \"memory2_id\": \"uuid-mongodb-evaluation\",\n    \"type\": \"PREFERS_OVER\",\n    \"strength\": 0.9\n  }'\n```\n\n## 与 AI 平台结合使用\n\nAutoMem 可通过以下方式与任何 AI 平台配合使用：\n\n### MCP（模型上下文协议）\n\n**本地 MCP 桥接器**（Claude Desktop、Cursor、Claude Code）：\n\n```bash\n# 安装官方 MCP 桥接器\nnpm install -g @verygoodplugins\u002Fmcp-automem\n\n# 为本地 AI 工具配置\nnpx @verygoodplugins\u002Fmcp-automem setup\n```\n\n**远程 MCP**（云 AI 平台）：\n\n通过 HTTPS 将 AutoMem 连接到云 AI 平台。适用于：\n\n- **ChatGPT**（需要开发者模式）\n- **Claude.ai** 网页界面\n- **Claude 移动应用**\n- **ElevenLabs Agents**\n\n请参阅 [远程 MCP 文档](docs\u002FMCP_SSE.md) 以获取设置说明。\n\n👉 **资源**：\n\n- NPM 桥接器（本地）：[`@verygoodplugins\u002Fmcp-automem`](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@verygoodplugins\u002Fmcp-automem)\n- 远程 MCP 设置：[docs\u002FMCP_SSE.md](docs\u002FMCP_SSE.md)\n\n### 直接 API\n\n任何语言、任何框架：\n\n```python\nimport requests\n\nresponse = requests.post(\n    \"https:\u002F\u002Fyour-automem.railway.app\u002Fmemory\",\n    headers={\"Authorization\": f\"Bearer {token}\"},\n    json={\"content\": \"Memory content\", \"importance\": 0.8}\n)\n```\n\n## 与替代方案的比较\n\n### 与传统 RAG 系统相比\n\n传统 RAG 会检索相似的文档。而 AutoMem 则理解关系：\n\n**RAG**：“这里有 5 份关于 PostgreSQL 的文档”\n**AutoMem**：“你选择 PostgreSQL 而不是 MongoDB，是因为你喜欢简单易用的技术。这种模式也影响了你对 Redis 和 RabbitMQ 的决策。”\n\n- ✅ **类型化关系** - 不仅仅是“相似”，还有“导致”、“矛盾”、“源于”\n- ✅ **时间感知** - 知道什么先于什么，什么被什么推翻，什么又随之出现\n- ✅ **模式学习** - 发现你的偏好和决策风格\n- ✅ **整合** - 记忆会根据使用情况加强或淡化——就像人类记忆一样\n\n### 与向量数据库（Pinecone、Weaviate、Qdrant）相比\n\n向量数据库匹配嵌入向量。而 AutoMem 构建的是知识图谱：\n\n- ✅ **多跳推理** - 桥接发现可以跨对话线程连接记忆\n- ✅ **11 种关系类型** - 结构化的语义，而非仅靠余弦相似度\n- ✅ **背景智能** - 自动增强、模式检测、衰减周期\n- ✅ **9 组件评分** - 结合语义、词汇、图、时间以及重要性信号\n\n### 与自行构建相比\n\nAutoMem 可为您节省数月的迭代时间：\n\n- ✅ **基准验证** - 对 judge-off 和 judge-on 评估均采用透明的 LoCoMo 基准\n- ✅ **研究验证** - 实现了 HippoRAG 2、A-MEM、MELODI、ReadAgent 的原则\n- ✅ **生产就绪** - 身份验证、管理工具、健康监测、自动备份\n- ✅ **实战检验** - 增强管道、整合引擎、重试逻辑、双层存储\n- ✅ **开源** - MIT 许可证，可部署于任何地方，无供应商锁定\n\n## 基准测试结果\n\n### LoCoMo 基准测试 (ACL 2024)\n\nAutoMem 发布了使用 Voyage 4 嵌入的两个参考基线：\n\n| 设置 | 范围 | 分数 | 备注 |\n|-------|-------|-------|-------|\n| 快速迭代 | `locomo-mini`，不启用评委 | **89.27% (208\u002F233)** | 仅包含类别 1–4；跳过了 71 道类别 5 的问题 |\n| 完整基准测试 | `locom`, 启用评委 (`gpt-4o`) | **87.56% (1739\u002F1986)** | 包括类别 5，得分为 95.74% (427\u002F446) |\n\n在禁用评委的情况下，`locomo-mini` 的类别细分如下：\n\n| 类别                   | AutoMem    | 备注                                   |\n| -------------------------- | ---------- | --------------------------------------- |\n| **开放领域**            | **96.49%** | 一般知识回忆                |\n| **时间理解**          | **92.06%** | 具有时序感知的查询                      |\n| **单跳回忆**          | **79.07%** | 基本事实检索                    |\n| **多跳推理**          | **46.15%** | 连接分散的记忆           |\n| **复杂推理**          | N\u002FA        | 在此设置中被跳过；请使用启用评委的运行 |\n\n参考点：\n\n| 系统 | 分数 |\n|--------|-------|\n| 已发表的 CORE 结果 | 88.24% |\n| AutoMem `locomo-mini` 不启用评委 | 89.27% |\n| AutoMem `locom` 启用评委 | 87.56% |\n\n> **方法论说明：** 我们并不将其视为严格的排行榜声明。已发表的 CORE 数字是一个有用的参考点，但公开的 LoCoMo 设置并不完全可比，尤其是在处理类别 5 的方式上。AutoMem 在 `locomo-mini` 的类别 1–4 测试中高于该参考值，而在完整的启用评委测试中则低于该参考值。\n> **历史说明：** 此前版本报告的分数为 90.53%，但其中包含了两个评估错误：时间匹配比较了错误的文本（假阴性），而类别 5 则匹配空字符串（假阳性）。有关更正后的时间线，请参阅 [`benchmarks\u002FEXPERIMENT_LOG.md`](benchmarks\u002FEXPERIMENT_LOG.md)。\n\n运行基准测试：`make bench-eval BENCH=locomo-mini CONFIG=baseline`（快速）或 `BENCH_JUDGE_MODEL=gpt-4o make bench-eval BENCH=locom CONFIG=baseline`（完整版，包含类别 5）\n\n### 生产特性\n\n- ⚡ **100 毫秒以下的召回速度** - 即使拥有 10 万条以上的记忆\n- 🔄 **并发写入** - 后台增强不会阻塞 API\n- 🛡️ **优雅降级** - 即使没有 Qdrant 也能正常工作（仅图模式）\n- ♻️ **自动重试** - 失败的增强任务会排队等待重新处理\n- 💚 **健康监测** - `\u002Fhealth` 和 `\u002Fenrichment\u002Fstatus` 端点\n- 💾 **双重存储冗余** - 数据同时保存在 FalkorDB 和 Qdrant 中\n- 📦 **自动化备份** - 可选的灾难恢复备份服务\n\n## 配置\n\n### 必需\n\n- `AUTOMEM_API_TOKEN` - 所有端点的身份验证（除 `\u002Fhealth` 外）\n- `FALKORDB_HOST` \u002F `FALKORDB_PORT` - 图数据库连接\n\n### 可选\n\n- `QDRANT_URL` \u002F `QDRANT_API_KEY` - 启用语义搜索（[设置指南](docs\u002FQDRANT_SETUP.md)）\n- `EMBEDDING_PROVIDER` - 选择 `voyage`、`openai`、`local`、`ollama` 或 `placeholder` 后端\n- `VOYAGE_API_KEY` \u002F `VOYAGE_MODEL` - 使用 Voyage 嵌入（如果选择 `voyage`）\n- `OPENAI_API_KEY` - 使用 OpenAI 嵌入（如果选择 `openai`）\n- `OPENAI_BASE_URL` - OpenAI 兼容提供商的自定义端点（OpenRouter、LiteLLM、vLLM 等）\n- `OLLAMA_BASE_URL` \u002F `OLLAMA_MODEL` - 使用 Ollama 嵌入（如果选择 `ollama`）\n- `ADMIN_API_TOKEN` - 用于 `\u002Fadmin\u002Freembed` 和增强控制\n- 整合调优：`CONSOLIDATION_*_INTERVAL_SECONDS`\n- 增强调优：`ENRICHMENT_*`（相似度阈值、重试限制等）\n\n👉 **[完整配置指南](INSTALLATION.md#configuration)**\n\n## 文档\n\n- 📦 **[安装指南](INSTALLATION.md)** - Railway、Docker、开发环境设置\n- 🔍 **[Qdrant 设置指南](docs\u002FQDRANT_SETUP.md)** - 向量数据库的分步配置\n- 🌉 **[远程 MCP](docs\u002FMCP_SSE.md)** - 将云端 AI 平台（ChatGPT、Claude.ai、ElevenLabs）连接到 AutoMem\n- 💾 **[监控与备份](docs\u002FMONITORING_AND_BACKUPS.md)** - 健康监测和自动化备份\n- 🔧 **[API 参考](docs\u002FAPI.md)** - 所有端点及示例\n- 🧪 **[测试指南](docs\u002FTESTING.md)** - 单元测试、集成测试、线上服务器测试以及 LoCoMo 基准测试\n- 📊 **[LoCoMo 基准测试](docs\u002FTESTING.md#locomo-benchmark)** - 对 ACL 2024 长期记忆基准进行验证\n- 🔄 **[迁移指南](INSTALLATION.md#migration)** - 从 MCP SQLite 迁移\n- 🌐 **[automem.ai](https:\u002F\u002Fautomem.ai)** - 官方网站及指南\n\n## 社区与支持\n\n- 🌐 **[automem.ai](https:\u002F\u002Fautomem.ai)** - 官方网站\n- 💬 **[Discord](https:\u002F\u002Fautomem.ai\u002Fdiscord)** - 社区聊天室\n- 🐦 **[X 社区](https:\u002F\u002Fx.com\u002Fi\u002Fcommunities\u002F2013114118912225326)** - 关注最新动态\n- 📺 **[YouTube](https:\u002F\u002Fwww.youtube.com\u002F@AutoJackBot)** - 教程和演示\n- 🐙 **[GitHub](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem)** - 源代码\n- 📦 **[NPM MCP 桥](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@verygoodplugins\u002Fmcp-automem)** - MCP 集成\n- 🐛 **[问题](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues)** - 错误报告和功能请求\n\n## 研究背景\n\nAutoMem 的架构基于记忆系统和图论领域的同行评审研究：\n\n### [HippoRAG 2](https:\u002F\u002Farxiv.org\u002Fabs\u002F2502.14802)（俄亥俄州立大学，2025 年 6 月）\n\n**发现**：图-向量混合模型的联想记忆性能比纯向量 RAG 提升 7%，接近人类长期记忆的表现。\n\n**AutoMem 实现**：双层 FalkorDB（图）+ Qdrant（向量）架构，配备 11 种类型的关联边。\n\n### [A-MEM](https:\u002F\u002Farxiv.org\u002Fabs\u002F2502.12110)（2025 年 7 月）\n\n**发现**：基于 Zettelkasten 原则的动态记忆组织能够催生新兴的知识结构。\n\n**AutoMem 实现**：模式检测、聚类循环以及自动实体链接，从而从对话中构建知识图谱。\n\n### [MELODI](https:\u002F\u002Farxiv.org\u002Fhtml\u002F2410.03156v1)（DeepMind，2024 年）\n\n**发现**：通过概要表示和选择性保留，实现 8 倍的内存压缩，且不损失质量。\n\n**AutoMem 实现**：摘要生成、重要性评分以及整合周期，强化相关记忆并淡化噪声。\n\n### [ReadAgent](https:\u002F\u002Farxiv.org\u002Fabs\u002F2402.09727)（DeepMind，2024 年）\n\n**发现**：通过情景记忆和时间组织，可将上下文扩展 20 倍。\n\n**AutoMem 实现**：时间关系类型（PRECEDED_BY、OCCURRED_BEFORE）以及时序感知评分，以保持对话流畅。\n\n## 贡献\n\n我们欢迎您的贡献！请按照以下步骤操作：\n\n1. 分支仓库\n2. 创建功能分支\n3. 为您的更改添加测试\n4. 提交拉取请求\n\n有关运行测试套件的信息，请参阅 [TESTING.md](TESTING.md)。\n\n## 许可证\n\nMIT - 因为 AI 内存应该是自由的。\n\n---\n\n## 开始使用\n\n```bash\nrailway up\n```\n\n开源。经研究验证。生产就绪。\n\n---\n\n_MIT 许可证。可在任何地方部署。无供应商锁定。_","# AutoMem 快速上手指南\n\nAutoMem 是一个生产级的 AI 长期记忆系统，结合了图数据库（FalkorDB）和向量数据库（Qdrant），让 AI 助手能够像人类一样记忆、关联并随时间进化理解能力。\n\n## 环境准备\n\n在部署前，请确保满足以下系统要求：\n\n*   **操作系统**: Linux \u002F macOS \u002F Windows (WSL2)\n*   **运行时**: Docker & Docker Compose (推荐) 或 Python 3.10+\n*   **依赖服务**:\n    *   **FalkorDB**: 用于存储记忆节点及关系图谱。\n    *   **Qdrant**: 用于语义相似度搜索（向量嵌入）。\n*   **网络**: 需要能够访问 Hugging Face (下载模型) 或配置国内镜像源。\n\n> **注意**：本项目核心组件依赖 Docker 容器化部署以保证环境一致性。\n\n## 安装步骤\n\nAutoMem 提供了极简的一键部署方案。\n\n### 方式一：使用 Railway 一键部署（推荐）\n\n这是最快的方式，可在 60 秒内完成生产环境部署：\n\n```bash\nrailway up\n```\n\n*执行前请确保已安装 [Railway CLI](https:\u002F\u002Frailway.app\u002F) 并登录账号。*\n\n### 方式二：本地 Docker 部署\n\n若需在本地开发或私有化部署，请克隆仓库并启动服务：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fautomem\u002Fautomem.git\ncd automem\n\n# 启动所有依赖服务（FalkorDB, Qdrant）及 AutoMem API\ndocker-compose up -d\n```\n\n### 配置独立图谱查看器（可选）\n\n如果需要可视化记忆图谱，可部署独立的 `automem-graph-viewer` 服务，并在 AutoMem API 中设置以下环境变量：\n\n```bash\nENABLE_GRAPH_VIEWER=true\nGRAPH_VIEWER_URL=https:\u002F\u002F\u003Cyour-viewer-domain>\nVIEWER_ALLOWED_ORIGINS=https:\u002F\u002F\u003Cyour-viewer-domain>\n```\n\n## 基本使用\n\n部署完成后，AutoMem 提供 RESTful API 供 AI 客户端调用。以下是核心操作示例。\n\n### 1. 存储记忆 (Store)\n\n向系统存入一条带有元数据的记忆。系统会自动在后台进行实体提取、自动标签化和关系链接。\n\n```bash\ncurl -X POST http:\u002F\u002Flocalhost:8000\u002Fmemories \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"content\": \"Chose PostgreSQL for reliability and operational simplicity\",\n    \"metadata\": {\n      \"source\": \"architecture_meeting\",\n      \"importance\": 0.9\n    },\n    \"tags\": [\"decision\", \"database\", \"infrastructure\"]\n  }'\n```\n\n### 2. 回忆与检索 (Recall)\n\n使用混合搜索（向量 + 关键词 + 图谱关系 + 时间信号）检索记忆。默认开启 `expand_relations=true` 以发现记忆间的“桥梁”连接。\n\n```bash\ncurl -G \"http:\u002F\u002Flocalhost:8000\u002Frecall\" \\\n  --data-urlencode \"query=Why did we choose our database?\" \\\n  --data-urlencode \"tags=decision\" \\\n  --data-urlencode \"time_query=last month\" \\\n  --data-urlencode \"expand_relations=true\"\n```\n\n**返回结果示例逻辑：**\n系统不仅会返回“选择 PostgreSQL\"的记忆，还会通过图谱关联返回：\n*   **推理依据**: \"团队偏好成熟技术 (Boring Tech)\"\n*   **关联决策**: \"之前评估过 MongoDB 但被否决\"\n*   **时间上下文**: 该决策发生在迁移计划之后\n\n### 3. 建立关联 (Associate)\n\n手动或自动创建记忆之间的类型化关系（如 `PREFERS_OVER`, `DERIVED_FROM` 等 11 种关系类型）。\n\n```bash\ncurl -X POST http:\u002F\u002Flocalhost:8000\u002Fmemories\u002F\u003Cmemory_id_1>\u002Fassociate \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"target_id\": \"\u003Cmemory_id_2>\",\n    \"relation_type\": \"DERIVED_FROM\",\n    \"description\": \"This decision was derived from the boring technology principle\"\n  }'\n```\n\n### 4. 验证记忆进化\n\nAutoMem 会在后台运行“巩固引擎”（Consolidation Engine）：\n*   **每日**: 计算记忆衰减分数，无关内容自然淡化。\n*   **每周**: 类似 REM 睡眠过程，发现非显而易见的连接。\n*   **每月**: 聚类相似记忆，生成元模式。\n\n无需额外操作，系统会自动优化记忆库的相关性。","某初创团队正在开发一款面向资深用户的个性化编程助手，需要其在长达数月的开发周期中持续理解项目架构演变与决策逻辑。\n\n### 没有 automem 时\n- **记忆断层严重**：每次新会话启动，AI 都会“失忆”，开发者不得不反复重申项目背景、技术栈偏好及之前的避坑指南。\n- **上下文碎片化**：传统的 RAG 方案仅能检索相似代码片段，无法还原“为什么当初选择 PostgreSQL 而非 MongoDB\"这类决策背后的因果链条。\n- **知识孤立无援**：分散在不同时间的讨论记录（如需求变更、Bug 修复）彼此割裂，AI 无法主动关联历史事件来辅助当前调试。\n- **维护成本高昂**：团队需手动整理长篇文档喂给 AI，且随着项目迭代，旧信息往往因关键词不匹配而被错误检索或遗漏。\n\n### 使用 automem 后\n- **持久化记忆继承**：automem 利用图向量混合架构，让 AI 跨会话自动记住核心实体与偏好，无需用户重复交代背景信息。\n- **推理脉络重现**：当询问技术选型原因时，automem 不仅能返回结论，还能通过图谱关系追溯当时的讨论细节、权衡利弊及相关人员观点。\n- **动态知识关联**：系统自动提取实体并建立时间线与语义连接，将数月前的需求变更与当前的代码报错智能关联，提供精准的排查建议。\n- **自我进化学习**：随着交互增多，automem 自动压缩冗余信息并巩固重要模式，使 AI 对项目的理解随时间推移愈发深刻，检索响应保持在毫秒级。\n\nautomem 将 AI 从单纯的“即时问答机器”升级为具备长期演化能力的“项目合伙人”，真正实现了像人类一样的深度记忆与逻辑推理。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fverygoodplugins_automem_f183091f.png","verygoodplugins","Very Good Plugins","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fverygoodplugins_f1c554dd.png","Purveyors of handcrafted code products 🎨",null,"info@verygoodplugins.com","jjack_arturo","https:\u002F\u002Fverygoodplugins.com","https:\u002F\u002Fgithub.com\u002Fverygoodplugins",[82,86,90,94,98],{"name":83,"color":84,"percentage":85},"Python","#3572A5",89,{"name":87,"color":88,"percentage":89},"JavaScript","#f1e05a",6.3,{"name":91,"color":92,"percentage":93},"Shell","#89e051",4,{"name":95,"color":96,"percentage":97},"Makefile","#427819",0.5,{"name":99,"color":100,"percentage":101},"Dockerfile","#384d54",0.1,708,87,"2026-04-13T12:13:31","MIT","未说明",{"notes":108,"python":106,"dependencies":109},"该工具主要作为服务部署（支持 Railway 一键部署），核心依赖外部数据库服务：FalkorDB（用于图存储）和 Qdrant（用于向量存储）。后台增强流程使用 spaCy 进行实体提取。README 未提供具体的本地开发环境操作系统、GPU、内存或 Python 版本要求，因其架构设计为客户端 - 服务端模式，计算密集型任务（如嵌入生成、图处理）通常在服务端运行。",[110,111,112,113],"FalkorDB","Qdrant","Flask","spaCy",[14,15,13,16,35],[116,117,118,119,120,121,122,123,124],"ai","ai-memory","anthropic","falkordb","graph-database","llm","memory","qdrant","vector-database","2026-03-27T02:49:30.150509","2026-04-14T15:26:49.687159",[128,133,138,143,148,152],{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},33239,"如何配置 AutoMem 以使用 OpenAI 兼容的 API 提供商（如 OpenRouter、LiteLLM 或自定义端点）？","AutoMem 现已支持通过环境变量 `OPENAI_BASE_URL` 配置自定义端点。设置方法如下：\n1. 设置 `OPENAI_BASE_URL` 为你的提供商地址（例如：`https:\u002F\u002Fopenrouter.ai\u002Fapi\u002Fv1`）。\n2. 设置 `OPENAI_API_KEY` 为对应的 API 密钥。\n3. 系统会自动检测：如果基 URL 不是 `api.openai.com`，在发送嵌入请求时将自动省略 `dimensions` 参数，以避免不兼容的提供商报错。\n4. 日志和健康检查中将显示你使用的是原生 OpenAI 还是兼容提供商。\n此配置同时适用于嵌入（Embeddings）和分类\u002F增强（Classification\u002FEnrichment）功能。","https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F70",{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},33240,"是否支持使用 Ollama 进行本地嵌入（Embeddings）？","是的，AutoMem 已添加对 Ollama 的支持。你可以通过配置嵌入提供商来使用 Ollama（例如配合 EmbeddingGemma 模型）。具体实现和文档更新已在相关 PR 中合并，请查阅项目文档中关于嵌入提供商配置的章节，通常涉及设置特定的环境变量或配置文件选项来指向本地的 Ollama 服务地址。","https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F53",{"id":139,"question_zh":140,"answer_zh":141,"source_url":142},33241,"分类和记忆增强功能（LLM 调用）是否也能使用自定义基 URL（如 OpenRouter）？","是的，目前 LLM 客户端（用于分类、实体提取、摘要生成等）也已支持 `OPENAI_BASE_URL` 环境变量。此前该变量仅用于嵌入功能，但现在两者已统一。你可以设置 `OPENAI_BASE_URL=https:\u002F\u002Fopenrouter.ai\u002Fapi\u002Fv1` 并指定 `CLASSIFICATION_MODEL` 为兼容的模型名称，即可将推理流量路由到 OpenRouter 或其他 OpenAI 兼容提供商，从而利用批量折扣或特定部署。","https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F96",{"id":144,"question_zh":145,"answer_zh":146,"source_url":147},33242,"SSE 服务器和本地 MCP 包之间的工具描述不一致怎么办？","此前确实存在 SSE 服务器 (`mcp-sse-server\u002Fserver.js`) 和本地 MCP 包之间工具定义漂移的问题（例如 `recall_memory` 缺少参数，`store_memory` 参数数量不匹配等）。维护者已确认以功能更完整的 MCP 包为事实来源，并通过 PR #71 (mcp-automem) 和 PR #104 (automem) 同步了 SSE 服务器的定义，修复了缺失的参数（如 `per_query_limit`, `sort`, `format` 等）和元数据定义。请确保更新到最新版本以获得一致的行为。","https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F90",{"id":149,"question_zh":150,"answer_zh":151,"source_url":132},33243,"为什么在使用非 OpenAI 的兼容提供商时嵌入请求会失败？","这通常是因为请求中包含了 `dimensions` 参数，而许多 OpenAI 兼容提供商不支持该参数。AutoMem 在新版本中已修复此问题：当检测到 `OPENAI_BASE_URL` 指向非 `api.openai.com` 的地址时，会自动省略 `dimensions` 参数。如果你仍遇到此问题，请确保你的 AutoMem 版本已包含此修复（参考 PR #76），并正确设置了 `OPENAI_BASE_URL` 环境变量。",{"id":153,"question_zh":154,"answer_zh":155,"source_url":132},33244,"如何在配置中区分使用的是原生 OpenAI 还是兼容提供商？","AutoMem 在日志输出和健康检查信息中会自动反映当前使用的提供商类型。系统通过检查 `OPENAI_BASE_URL` 是否指向 `api.openai.com` 来判断：如果是，则标记为原生 OpenAI；否则，标记为兼容提供商。这有助于用户在调试和监控时确认当前的路由配置是否生效。",[157,162,167,172,177,182,187,192,197],{"id":158,"version":159,"summary_zh":160,"released_at":161},255401,"v0.15.1","## [0.15.1](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcompare\u002Fv0.15.0...v0.15.1)（2026-03-25）\n\n\n### 错误修复\n\n* **整合：** 从 Qdrant 获取集群\u002F创意嵌入（[#131](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F131)）（[96d0660](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F96d06607b2274323b3c8dee69866aa37d817de88)）\n* **嵌入：** 在初始化前验证提供者维度的兼容性（[#134](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F134)）（[9ac2fb2](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F9ac2fb29ea081c617b748c0cf0d733627770b689)）\n* **运行时：** 支持为分类客户端设置 OPENAI_BASE_URL（[#135](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F135)）（[95a58c9](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F95a58c99d1cb53e14fbf086ba65b66d67ad1ffbe)）","2026-03-25T09:41:35",{"id":163,"version":164,"summary_zh":165,"released_at":166},255402,"v0.15.0","## [0.15.0](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcompare\u002Fv0.14.0...v0.15.0) (2026-03-12)\n\n\n### 功能特性\n\n* **bench:** 添加可选的 LoCoMo cat5 判官 ([#119](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F119)) ([8b7915c](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F8b7915cb954bcd38773f1f5fe71fc4201fae99bb))\n* **memory:** 优化关系分类体系 ([#121](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F121)) ([605633e](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F605633ea6ff27784a11775660f01d0ad4a4c04ca))\n\n\n### 错误修复\n\n* **benchmarks:** 修正评估器中的错误，添加代理指南，并建立诚实的基准测试 ([#117](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F117)) ([d9cbecb](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002Fd9cbecbb0289660e746475884067d76bdc949b5d))\n* **recall:** priority_ids 参数仅提升相关性 ([#79](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F79)) ([#125](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F125)) ([5d3708c](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F5d3708c665fa96f2d23e1740f122f20f974bde73))","2026-03-25T07:47:44",{"id":168,"version":169,"summary_zh":170,"released_at":171},255403,"v0.14.0","## [0.14.0](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcompare\u002Fv0.13.0...v0.14.0) (2026-03-07)\n\n\n### 功能特性\n\n* **配置：** 添加 QDRANT_HOST + QDRANT_PORT 作为 QDRANT_URL 的替代方案 ([#112](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F112)) ([0871904](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F0871904ff069d1235a2fb83119314911bea72520))\n* **Docker：** 添加 Docker 构建工作流 ([#98](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F98)) ([39bf6e7](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F39bf6e7fc052a872f51ee1168dbdab25ab17de97))\n\n\n### 错误修复\n\n* **基准测试：** 处理 LoCoMo 中的领属性说话人名称 ([#116](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F116)) ([abcbcca](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002Fabcbcca2d1a71306ae489974ebfee132b1c4d789))\n* **整合：** 降低衰减率，添加重要性下限，并过滤已归档的记忆 ([#78](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F78)) ([#105](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F105)) ([3fce4ce](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F3fce4ce3bf364cf459e50ad4f1e62e703c0e07f3))\n* 处理回忆实体提取中的智能省略号 ([#115](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F115)) ([05b4daa](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F05b4daacf86cfca713cbd7362e73e39d18395d7f))\n* 加强 MCP 桥接的鲁棒性，采用无状态传输方式，并更新跨客户端文档 ([#114](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F114)) ([ec88da6](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002Fec88da6ef406ad155f0480cc2a3c9a6a916383c7))\n* **Qdrant：** 防止静默的向量维度不匹配问题，并将 Voyage 设置为推荐的默认值 ([#108](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F108)) ([5f88105](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F5f881054a3d305e2fb7eee761233cc37378becd1))","2026-03-07T20:22:15",{"id":173,"version":174,"summary_zh":175,"released_at":176},255404,"v0.13.0","## [0.13.0](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcompare\u002Fv0.12.0...v0.13.0) (2026-03-02)\n\n\n### 功能特性\n\n* **bench:** 用于快速迭代的基准测试基础设施 ([#97](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F97)) ([80a6f93](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F80a6f93a783182ddd9efb9f9f17d73cb8d6f3702))\n* **recall:** 添加 min_score 阈值和自适应下限过滤 ([#73](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F73)) ([#101](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F101)) ([8df3c08](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F8df3c08fc2dcefc8b848a42698af1d2ebec2e680))\n* **viewer:** 添加独立的图可视化运行时文件 ([5bcb6db](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F5bcb6dba3d9045c6cf67b6a2055cffc98178fcbc))\n* **viewer:** 整合稳定的核心代码，并分离出可兼容性分支 ([#94](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F94)) ([958da72](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F958da726763bcae4ff616d2bd7bc7c8d59dec35e))\n* **viewer:** 将可视化工具外部化，并添加 \u002Fviewer 兼容路由 ([29bafcf](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F29bafcfb4816e2eb9de0e74619e7b3b8c7bac930))\n* **viewer:** 合并可视化工具的稳定核心分支 ([96b27bf](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F96b27bf0d7a878ab16695cf340b7bbfe13bcfafd))\n\n\n### 错误修复\n\n* FalkorDB 数据在重启后无法持久化 ([3bbc834](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F3bbc83441124884d9a89b34c32d0373c79eb7d37))\n* FalkorDB 数据在重启后无法持久化 ([#99](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F99)) ([8490d36](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F8490d3641cafa97246edfb3a913ce200ef26478d))\n* **mcp-sse:** 同步 SSE\u002FMCP 工具的模式，以确保一致性 ([#104](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F104)) ([d99b86d](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002Fd99b86d9ed2a2612abe5770bcbf729493d7c7bf7))\n\n\n### 文档更新\n\n* **bench:** 添加 PR [#73](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F73)、[#80](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F80) 和 [#87](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F87) 的实验结果 ([#103](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F103)) ([8533fac](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F8533face4dc7319392e1f4b8890f9e24c66ae916))","2026-03-02T17:21:43",{"id":178,"version":179,"summary_zh":180,"released_at":181},255405,"v0.12.0","## [0.12.0](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcompare\u002Fv0.11.0...v0.12.0) (2026-02-20)\n\n\n### 功能特性\n\n* 添加 LongMemEval 基准测试框架（ICLR 2025）([#83](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F83)) ([8f51895](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F8f518959b789f56e898e73bb1f2535413f4b5f10))\n* 在召回时进行即时数据增强（精炼）([#86](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F86)) ([#88](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F88)) ([743ab6b](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F743ab6bd52aeba28681964cb10118d2fa54b8767))\n* **实验室：** 添加召回质量实验室，用于数据驱动的召回优化（[d53dfdd](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002Fd53dfdd7a365b9bf99a5001550c1fb4ff8d851e4)）\n* **实验室：** 召回质量实验室 + 修复 relevance_score 与 Qdrant 的同步问题（[#81](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F81)）（[ba1308a](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002Fba1308a340cd6fb796e3b88cf4a9415386eaf5b3)）\n\n\n### 错误修复\n\n* 来自 CodeRabbit 审查的代码质量改进（[#85](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F85)）（[4c81f0f](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F4c81f0f7ea3c064c8087bdf2037313c8cd6dd9c1)）\n* **实验室：** 针对 CodeRabbit 审查提出的问题进行处理——类型提示、f-string 格式化字符串、验证（[5fee1e8](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F5fee1e8484e00ad7933d28ec78c24503d7c03219)）\n* **实验室：** 处理 CodeRabbit 审查发现的问题（[c121341](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002Fc121341e6106c5c3a6da5162df575b8f0b39f510)）\n* **召回：** 将 relevance_score 同步到 Qdrant 的 payload 中，以支持向量搜索（[55e381b](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F55e381b76265c7bb4e88c35a84e251b1de012dbf)）\n\n\n### 文档更新\n\n* 更新环境变量（[08e6126](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F08e612695395cf623f50ecc5697103778332b554)）","2026-02-20T05:55:37",{"id":183,"version":184,"summary_zh":185,"released_at":186},255406,"v0.11.0","## [0.11.0](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcompare\u002Fv0.10.1...v0.11.0) (2026-02-16)\n\n\n### 功能特性\n\n* **api:** 添加 GET \u002Fmemory\u002F\u003Cid> 端点 ([9625580](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F962558053648c72cdc57d3824db2ded11c6b165f))\n* **api:** 添加 GET \u002Fmemory\u002F\u003Cid> 端点 ([#68](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F68)) ([205bdbe](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F205bdbe959cde3ea36e950155e2cff8b4b01bf4b))\n* **embedding:** 添加 Voyage AI 嵌入提供者 ([a2ca403](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002Fa2ca4031ca0ccee0e77715024880ee2e9f46cde0))\n* **embedding:** 添加 Voyage AI 嵌入提供者 ([#67](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F67)) ([1bafc44](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F1bafc443795934ec4883fa3feea22ad27af62431))\n* **embedding:** 通过 OPENAI_BASE_URL 支持兼容 OpenAI 的提供者 ([#76](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F76)) ([383a798](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F383a7987edccbcfe137da924e2c5618ec7006568)), 关闭了 [#70](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F70)\n\n\n### 错误修复\n\n* 在 Voyage 提供者中添加防御性校验并改进错误处理 ([4c8433a](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F4c8433af5f4743455685d7c502deaa3906fae97f))\n* 将 httpx 加入生产依赖，跳过 ValueError 时的重试，并校验嵌入数量 ([95c1e9d](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F95c1e9d4d8ace602538400739510d760c025e396))\n* 为 GET \u002Fmemory\u002F\u003Cid> 添加缺失的元数据解析和访问跟踪 ([d115929](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002Fd11592974d3c88ff75ab125ea8a59bd63188148a))\n* 防止在数值型时间戳解析中出现布尔值 ([2304c5c](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F2304c5c3912e91a203992ca08025ac27abbcf84b))\n* **utils:** 处理时间解析器中的数值型时间戳和非字符串值 ([0bb222b](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F0bb222b0546a62ee9fa312e78338b389953a6fb8))\n* **utils:** 处理时间解析器中的数值型时间戳和非字符串值 ([#69](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F69)) ([2ba2931](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F2ba29317cd3fbb8cf0eea5e4a940e5d70a678a54))\n* 校验嵌入项并修复行长度 ([4c0d278](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F4c0d278555c5372449bb9768c259edc647f1822d))\n\n\n### 文档更新\n\n* **api:** 在 GET \u002Fmemory\u002F{id} 中包含 500 错误响应 ([4b5a603](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F4b5a603e10e021a1f8e888c89102618134dada38))","2026-02-16T11:56:13",{"id":188,"version":189,"summary_zh":190,"released_at":191},255407,"v0.10.1","## [0.10.1](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcompare\u002Fv0.10.0...v0.10.1)（2026-02-07）\n\n\n### 错误修复\n\n* 将时间查询限制在7天窗口内，并添加超时机制（[#62](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F62)）（[9c720de](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F9c720dea686e579d2f85881624db8c3c48ce395d)）\n* 对o系列和gpt-5模型跳过温度参数（[#65](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F65)）（[f1d5b1d](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002Ff1d5b1d283e3b0e929697ceed97aa99755c9ca27)）\n* 对gpt-5模型系列使用`max_completion_tokens`参数（[#61](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F61)）（[1ec25db](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F1ec25dbc7616f1a00008df59f34abd589feec770)）","2026-02-07T07:40:58",{"id":193,"version":194,"summary_zh":195,"released_at":196},255408,"v0.10.0","## [0.10.0](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcompare\u002Fv0.9.3...v0.10.0) (2026-02-06)\n\n\n### 功能特性\n\n* 为召回 API 添加 `exclude_tags` 参数 ([#58](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F58)) ([8aeca2e](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F8aeca2ebba472ce065ed97b46ef495519a836067))\n* 添加基于自动摘要的内存内容大小治理功能 ([e24a86b](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002Fe24a86be0a0dde80804aef6b6d88953d0e4dd9a5))\n* 添加基于自动摘要的内存内容大小治理功能 ([876aabf](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F876aabf320cc5937c44d6678e02f0aed33b051b8))\n* 添加支持 SSE 流式传输和 TUI 监控器的实时可观测性 ([54d2701](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F54d2701f42992de6172aa862d794f6b09ff0c95b))\n* 添加支持 SSE 流式传输和 TUI 监控器的实时可观测性 ([c5f6370](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002Fc5f63708f0bcb3ab63c56ae0ae63da0dd4b3229b))\n* 添加支持 SSE 流式传输和 TUI 监控器的实时可观测性 ([944168e](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F944168e8e00bcdc42af09944577e32475ce25119))\n* **api:** 添加图可视化 API 端点 ([#26](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F26)) ([a0d0dd3](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002Fa0d0dd3719ac9dad7c4e24e78f290c9364d2b2e1))\n* **api:** 为召回 API 添加基于时间的排序功能 ([c063845](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002Fc063845bb72af7aaaff519083b850da84f20003e))\n* **api:** 为召回 API 添加基于时间的排序功能 ([a511f0c](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002Fa511f0c6b6ab74e1c98d29eaae19c7ca69f6542b))\n* 创建 coderabbit.yml 文件 ([e05811f](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002Fe05811f32904a0355b34957be0d5a15629f73f2b))\n* **embedding:** 添加 Ollama 嵌入提供者，并扩展文档 ([#56](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fissues\u002F56)) ([b506a90](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002Fb506a90661ee8f329bfdc40fff6dda7b2c6a0504))\n* **mcp-sse:** 提供更便于代理使用的召回输出及测试用例 ([71201d3](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F71201d33b5b8a9044f23f3a911dbf193de67b669))\n* **mcp-sse:** 改进召回工具的输出与选项 ([97c4f72](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F97c4f7240b5319a95412e7d1e65ae65e67150a46))\n\n\n### 错误修复\n\n* 为 InMemoryEventStore 添加 TTL 清理功能 ([0631af6](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F0631af6cee60f70505aa0f392e5073f8245b7923))\n* 解决 CodeRabbit 的安全与代码规范问题 ([a701c57](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002Fa701c578340c90bb08456a066cdf1e304b11ddda))\n* **backup:** 修复 GitHub Actions 备份因连接错误而失败的问题 ([19ed1e8](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F19ed1e817f2faab4b570a3d7cdc829c3d9a664ff))\n* **backup:** 修复 GitHub Actions 备份因连接错误而失败的问题 ([10b37d0](https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcommit\u002F10b37d0f92273dbaf29bad4cb32d95ff80df","2026-02-06T19:56:38",{"id":198,"version":199,"summary_zh":200,"released_at":201},255409,"v0.9.3","## 变更内容\n* ci: 添加 CI 工作流，用于在 PR 上进行自动化测试，由 @jack-arturo 在 https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fpull\u002F24 中完成\n* chore(release): 准备 v0.9.3 版本，由 @jack-arturo 在 https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fpull\u002F25 中完成\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fverygoodplugins\u002Fautomem\u002Fcompare\u002Fv0.9.2...v0.9.3","2025-12-10T09:43:11"]