[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-shaneholloman--mcp-knowledge-graph":3,"tool-shaneholloman--mcp-knowledge-graph":65},[4,18,32,41,49,57],{"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":24,"last_commit_at":25,"category_tags":26,"status":17},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85267,2,"2026-04-18T11:00:28",[15,16,27,28,13,29,30,14,31],"视频","插件","其他","语言模型","音频",{"id":33,"name":34,"github_repo":35,"description_zh":36,"stars":37,"difficulty_score":38,"last_commit_at":39,"category_tags":40,"status":17},5784,"funNLP","fighting41love\u002FfunNLP","funNLP 是一个专为中文自然语言处理（NLP）打造的超级资源库，被誉为\"NLP 民工的乐园”。它并非单一的软件工具，而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。\n\n面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点，funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具，还独特地收录了丰富的垂直领域资源，如法律、医疗、金融行业的专用词库与数据集，甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性，从基础的字典词典到前沿的 BERT、GPT-2 模型代码，再到高质量的标注数据和竞赛方案，应有尽有。\n\n无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师，还是从事人工智能研究的学者，都能在这里找到急需的“武器弹药”。对于开发者而言，它能大幅减少寻找数据和复现模型的时间；对于研究者，它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神，极大地降低了中文自然语言处理的开发与研究成本，是中文 AI 社区不可或缺的宝藏仓库。",79857,1,"2026-04-08T20:11:31",[30,16,29],{"id":42,"name":43,"github_repo":44,"description_zh":45,"stars":46,"difficulty_score":38,"last_commit_at":47,"category_tags":48,"status":17},5773,"cs-video-courses","Developer-Y\u002Fcs-video-courses","cs-video-courses 是一个精心整理的计算机科学视频课程清单，旨在为自学者提供系统化的学习路径。它汇集了全球知名高校（如加州大学伯克利分校、新南威尔士大学等）的完整课程录像，涵盖从编程基础、数据结构与算法，到操作系统、分布式系统、数据库等核心领域，并深入延伸至人工智能、机器学习、量子计算及区块链等前沿方向。\n\n面对网络上零散且质量参差不齐的教学资源，cs-video-courses 解决了学习者难以找到成体系、高难度大学级别课程的痛点。该项目严格筛选内容，仅收录真正的大学层级课程，排除了碎片化的简短教程或商业广告，确保用户能接触到严谨的学术内容。\n\n这份清单特别适合希望夯实计算机基础的开发者、需要补充特定领域知识的研究人员，以及渴望像在校生一样系统学习计算机科学的自学者。其独特的技术亮点在于分类极其详尽，不仅包含传统的软件工程与网络安全，还细分了生成式 AI、大语言模型、计算生物学等新兴学科，并直接链接至官方视频播放列表，让用户能一站式获取高质量的教育资源，免费享受世界顶尖大学的课堂体验。",79792,"2026-04-08T22:03:59",[29,15,16,14],{"id":50,"name":51,"github_repo":52,"description_zh":53,"stars":54,"difficulty_score":24,"last_commit_at":55,"category_tags":56,"status":17},7347,"lobehub","lobehub\u002Flobehub","LobeHub 是一个致力于工作与生活的智能体协作平台，旨在帮助用户发现、构建并与不断成长的 AI 智能体队友协同工作。它解决了当前 AI 应用中单点交互效率低、难以形成规模化协作网络的问题，将“智能体”确立为工作的基本单元，让人类与 AI 能够共同进化。\n\n无论是开发者、研究人员还是普通用户，都能通过 LobeHub 轻松设计多智能体协作流程。平台支持一键安装 MCP 插件、访问丰富的智能体市场，并提供本地与云端数据库管理、多用户协作等高级功能。其独特的技术亮点包括对多种大模型服务商的兼容、本地大模型部署支持、视觉识别、语音对话（TTS\u002FSTT）、文生图以及思维链（Chain of Thought）等能力。此外，LobeHub 还具备分支对话、工件生成、文件上传与知识库集成等实用特性，并适配桌面端、移动端及 PWA 场景，支持自定义主题。\n\n通过开源与自托管选项，LobeHub 为构建人机共演的未来协作网络提供了灵活、可扩展的基础设施。",75141,"2026-04-13T22:06:32",[30,16,13,14,15],{"id":58,"name":59,"github_repo":60,"description_zh":61,"stars":62,"difficulty_score":38,"last_commit_at":63,"category_tags":64,"status":17},2234,"scikit-learn","scikit-learn\u002Fscikit-learn","scikit-learn 是一个基于 Python 构建的开源机器学习库，依托于 SciPy、NumPy 等科学计算生态，旨在让机器学习变得简单高效。它提供了一套统一且简洁的接口，涵盖了从数据预处理、特征工程到模型训练、评估及选择的全流程工具，内置了包括线性回归、支持向量机、随机森林、聚类等在内的丰富经典算法。\n\n对于希望快速验证想法或构建原型的数据科学家、研究人员以及 Python 开发者而言，scikit-learn 是不可或缺的基础设施。它有效解决了机器学习入门门槛高、算法实现复杂以及不同模型间调用方式不统一的痛点，让用户无需重复造轮子，只需几行代码即可调用成熟的算法解决分类、回归、聚类等实际问题。\n\n其核心技术亮点在于高度一致的 API 设计风格，所有估算器（Estimator）均遵循相同的调用逻辑，极大地降低了学习成本并提升了代码的可读性与可维护性。此外，它还提供了强大的模型选择与评估工具，如交叉验证和网格搜索，帮助用户系统地优化模型性能。作为一个由全球志愿者共同维护的成熟项目，scikit-learn 以其稳定性、详尽的文档和活跃的社区支持，成为连接理论学习与工业级应用的最",65861,"2026-04-18T10:37:59",[14,29,16],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":81,"owner_email":82,"owner_twitter":79,"owner_website":79,"owner_url":83,"languages":84,"stars":89,"forks":90,"last_commit_at":91,"license":92,"difficulty_score":24,"env_os":93,"env_gpu":94,"env_ram":95,"env_deps":96,"category_tags":101,"github_topics":102,"view_count":24,"oss_zip_url":79,"oss_zip_packed_at":79,"status":17,"created_at":109,"updated_at":110,"faqs":111,"releases":142},9614,"shaneholloman\u002Fmcp-knowledge-graph","mcp-knowledge-graph","MCP server enabling persistent memory for Claude through a local knowledge graph - fork focused on local development","mcp-knowledge-graph 是一款专为 AI 模型设计的本地知识图谱服务器，旨在通过结构化存储赋予 AI“持久记忆”。它解决了大模型在对话结束后容易遗忘上下文信息的痛点，允许用户在不同会话间存储、检索实体、关系及观察记录，从而构建连续且个性化的智能交互体验。\n\n该工具特别适合开发者、AI 研究者以及希望深度定制本地 AI 工作流的进阶用户。其核心亮点在于独特的\"AIM\"安全机制：通过强制使用 `.aim` 目录命名和 `_aim` 文件标记，有效防止了意外覆盖非相关数据文件，确保了本地数据存储的严谨性与安全性。此外，mcp-knowledge-graph 支持灵活的双层存储逻辑，既能自动识别项目根目录实现局部记忆隔离，也支持配置全局路径（如 Dropbox 同步文件夹）以跨设备共享记忆库。系统默认提供主数据库，同时允许用户按需创建多个命名数据库来分类管理不同领域的知识。作为兼容标准 MCP 协议的开源方案，它能无缝接入 Claude Code\u002FDesktop 等平台，是构建私有化、长周期 AI 记忆系统的理想选择。","# MCP Knowledge Graph\n\n**Persistent memory for AI models through a local knowledge graph.**\n\nStore and retrieve information across conversations using entities, relations, and observations. Works with Claude Code\u002FDesktop and any MCP-compatible AI platform.\n\n## Why \".aim\" and \"aim_\" prefixes?\n\nAIM stands for **AI Memory** - the core concept of this system. The three AIM elements provide clear organization and safety:\n\n- **`.aim` directories**: Keep AI memory files organized and easily identifiable\n- **`aim_` tool prefixes**: Group related memory functions together in multi-tool setups\n- **`_aim` safety markers**: Each memory file starts with `{\"type\":\"_aim\",\"source\":\"mcp-knowledge-graph\"}` to prevent accidental overwrites of unrelated JSONL files\n\nThis consistent AIM naming makes it obvious which directories, tools, and files belong to the AI memory system.\n\n## CRITICAL: Understanding `.aim` dir vs `_aim` file marker\n\n**Two different things with similar names:**\n\n- `.aim` = **Project-local directory name** (MUST be named exactly `.aim` for project detection to work)\n- `_aim` = **File safety marker** (appears inside JSONL files: `{\"type\":\"_aim\",\"source\":\"mcp-knowledge-graph\"}`)\n\n**For project-local storage:**\n\n- Directory MUST be named `.aim` in your project root\n- Example: `my-project\u002F.aim\u002Fmemory.jsonl`\n- The system specifically looks for this exact name\n\n**For global storage (--memory-path):**\n\n- Can be ANY directory you want\n- Examples: `~\u002Fyourusername\u002F.aim\u002F`, `~\u002Fmemories\u002F`, `~\u002FDropbox\u002Fai-memory\u002F`, `~\u002FDocuments\u002Fai-data\u002F`\n- Complete flexibility - choose whatever location works for you\n\n## Storage Logic\n\n**File Location Priority:**\n\n1. **Project with `.aim`** - Uses `.aim\u002Fmemory.jsonl` (project-local)\n2. **No project\u002Fno .aim** - Uses configured global directory\n3. **Contexts** - Adds suffix: `memory-work.jsonl`, `memory-personal.jsonl`\n\n**Safety System:**\n\n- Every memory file starts with `{\"type\":\"_aim\",\"source\":\"mcp-knowledge-graph\"}`\n- System refuses to write to files without this marker\n- Prevents accidental overwrite of unrelated JSONL files\n\n## Master Database Concept\n\n**The master database is your primary memory store** - used by default when no specific database is requested. It's always named `default` in listings and stored as `memory.jsonl`.\n\n- **Default Behavior**: All memory operations use the master database unless you specify a different one\n- **Always Available**: Exists in both project-local and global locations\n- **Primary Storage**: Your main knowledge graph that persists across all conversations\n- **Named Databases**: Optional additional databases (`work`, `personal`, `health`) for organizing specific topics\n\n## Key Features\n\n- **Master Database**: Primary memory store used by default for all operations\n- **Multiple Databases**: Optional named databases for organizing memories by topic\n- **Project Detection**: Automatic project-local memory using `.aim` directories\n- **Location Override**: Force operations to use project or global storage\n- **Safe Operations**: Built-in protection against overwriting unrelated files\n- **Database Discovery**: List all available databases in both locations\n\n## Quick Start\n\n### Global Memory (Recommended)\n\nAdd to your `claude_desktop_config.json` or `.claude.json`. Two common approaches:\n\n**Option 1: Default `.aim` directory (simple)**\n\n```json\n{\n  \"mcpServers\": {\n    \"Aim-Memory-Bank\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"mcp-knowledge-graph\",\n        \"--memory-path\",\n        \"\u002FUsers\u002Fyourusername\u002F.aim\"\n      ]\n    }\n  }\n}\n```\n\n**Option 2: Dropbox\u002Fcloud sync (portable)**\n\nFor accessing memories across multiple machines, use a synced folder. This is how the author of this MCP server keeps his own memories:\n\n```json\n{\n  \"mcpServers\": {\n    \"Aim-Memory-Bank\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"mcp-knowledge-graph\",\n        \"--memory-path\",\n        \"\u002FUsers\u002Fyourusername\u002FDropbox\u002Fai-memory\"\n      ]\n    }\n  }\n}\n```\n\nThis creates memory files in your specified directory:\n\n- `memory.jsonl` - **Master Database** (default for all operations)\n- `memory-work.jsonl` - Work database\n- `memory-personal.jsonl` - Personal database\n- etc.\n\n### Project-Local Memory\n\nIn any project, create a `.aim` directory:\n\n```bash\nmkdir .aim\n```\n\nNow memory tools automatically use `.aim\u002Fmemory.jsonl` (project-local **master database**) instead of global storage when run from this project.\n\n## How AI Uses Databases\n\nOnce configured, AI models use the **master database by default** or can specify named databases with a `context` parameter. New databases are created automatically - no setup required:\n\n```json\n\u002F\u002F Master Database (default - no context needed)\naim_memory_store({\n  entities: [{\n    name: \"John_Doe\",\n    entityType: \"person\",\n    observations: [\"Met at conference\"]\n  }]\n})\n\n\u002F\u002F Work database\naim_memory_store({\n  context: \"work\",\n  entities: [{\n    name: \"Q4_Project\",\n    entityType: \"project\",\n    observations: [\"Due December 2024\"]\n  }]\n})\n\n\u002F\u002F Personal database\naim_memory_store({\n  context: \"personal\",\n  entities: [{\n    name: \"Mom\",\n    entityType: \"person\",\n    observations: [\"Birthday March 15th\"]\n  }]\n})\n\n\u002F\u002F Master database in specific location\naim_memory_store({\n  location: \"global\",\n  entities: [{\n    name: \"Important_Info\",\n    entityType: \"reference\",\n    observations: [\"Stored in global master database\"]\n  }]\n})\n```\n\n## File Organization\n\n**Global Setup:**\n\n```tree\n\u002FUsers\u002Fyourusername\u002F.aim\u002F\n├── memory.jsonl           # Master Database (default)\n├── memory-work.jsonl      # Work database\n├── memory-personal.jsonl  # Personal database\n└── memory-health.jsonl    # Health database\n```\n\n**Project Setup:**\n\n```tree\nmy-project\u002F\n├── .aim\u002F\n│   ├── memory.jsonl       # Project Master Database (default)\n│   └── memory-work.jsonl  # Project Work database\n└── src\u002F\n```\n\n## Available Tools\n\n- `aim_memory_store` - Store new memories (people, projects, concepts)\n- `aim_memory_add_facts` - Add facts to existing memories\n- `aim_memory_link` - Link two memories together\n- `aim_memory_search` - Search memories by keyword\n- `aim_memory_get` - Retrieve specific memories by exact name\n- `aim_memory_read_all` - Read all memories in a database\n- `aim_memory_list_stores` - List available databases\n- `aim_memory_forget` - Forget memories\n- `aim_memory_remove_facts` - Remove specific facts from a memory\n- `aim_memory_unlink` - Remove links between memories\n\n### Parameters\n\n- `context` (optional) - Specify named database (`work`, `personal`, etc.). Defaults to **master database**\n- `location` (optional) - Force `project` or `global` storage location. Defaults to auto-detection\n\n## Database Discovery\n\nUse `aim_memory_list_stores` to see all available databases:\n\n```json\n{\n  \"project_databases\": [\n    \"default\",      \u002F\u002F Master Database (project-local)\n    \"project-work\"  \u002F\u002F Named database\n  ],\n  \"global_databases\": [\n    \"default\",      \u002F\u002F Master Database (global)\n    \"work\",\n    \"personal\",\n    \"health\"\n  ],\n  \"current_location\": \"project (.aim directory detected)\"\n}\n```\n\n**Key Points:**\n\n- **\"default\"** = Master Database in both locations\n- **Current location** shows whether you're using project or global storage\n- **Master database exists everywhere** - it's your primary memory store\n- **Named databases** are optional additions for specific topics\n\n## Configuration Examples\n\n**Important:** Always specify `--memory-path` to control where your memory files are stored.\n\n**Auto-approve read operations (recommended):**\n\n```json\n{\n  \"mcpServers\": {\n    \"Aim-Memory-Bank\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"mcp-knowledge-graph\",\n        \"--memory-path\",\n        \"\u002FUsers\u002Fyourusername\u002F.aim\"\n      ],\n      \"autoapprove\": [\n        \"aim_memory_search\",\n        \"aim_memory_get\",\n        \"aim_memory_read_all\",\n        \"aim_memory_list_stores\"\n      ]\n    }\n  }\n}\n```\n\n## Troubleshooting\n\n**\"File does not contain required _aim safety marker\" error:**\n\n- The file may not belong to this system\n- Manual JSONL files need `{\"type\":\"_aim\",\"source\":\"mcp-knowledge-graph\"}` as first line\n- If you created the file manually, add the `_aim` marker or delete and let the system recreate it\n\n**Memories going to unexpected locations:**\n\n- Check if you're in a project directory with `.aim` folder (uses project-local storage)\n- Otherwise uses the configured global `--memory-path` directory\n- Use `aim_memory_list_stores` to see all available databases and current location\n- Use `ls .aim\u002F` or `ls \u002FUsers\u002Fyourusername\u002F.aim\u002F` to see your memory files\n\n**Too many similar databases:**\n\n- AI models try to use consistent names, but may create variations\n- Manually delete unwanted database files if needed\n- Encourage AI to use simple, consistent database names\n- **Remember**: Master database is always available as the default - named databases are optional\n\n## Requirements\n\n- Node.js 18+\n- MCP-compatible AI platform\n\n## License\n\nMIT\n","# MCP 知识图谱\n\n**通过本地知识图谱为 AI 模型提供持久化内存。**\n\n使用实体、关系和观察，在多轮对话中存储和检索信息。兼容 Claude Code\u002FDesktop 以及任何与 MCP 兼容的 AI 平台。\n\n## 为什么使用 `.aim` 和 `aim_` 前缀？\n\nAIM 代表 **AI 内存**——这是本系统的核心概念。三个 AIM 元素提供了清晰的组织结构和安全性：\n\n- **`.aim` 目录**：使 AI 内存文件井然有序且易于识别\n- **`aim_` 工具前缀**：在多工具设置中将相关内存功能归类在一起\n- **`_aim` 安全标记**：每个内存文件都以 `{\"type\":\"_aim\",\"source\":\"mcp-knowledge-graph\"}` 开头，以防止意外覆盖无关的 JSONL 文件\n\n这种一致的 AIM 命名方式，使得哪些目录、工具和文件属于 AI 内存系统一目了然。\n\n## 重要提示：理解 `.aim` 目录与 `_aim` 文件标记的区别\n\n**两个名称相似但用途不同的概念：**\n\n- `.aim` = **项目本地目录名称**（必须精确命名为 `.aim`，项目检测才能生效）\n- `_aim` = **文件安全标记**（出现在 JSONL 文件内部：`{\"type\":\"_aim\",\"source\":\"mcp-knowledge-graph\"}`）\n\n**对于项目本地存储：**\n\n- 目录必须命名为项目根目录下的 `.aim`\n- 示例：`my-project\u002F.aim\u002Fmemory.jsonl`\n- 系统会专门查找这个确切的名称\n\n**对于全局存储 (--memory-path)：**\n\n- 可以是您希望的任意目录\n- 示例：`~\u002Fyourusername\u002F.aim\u002F`、`~\u002Fmemories\u002F`、`~\u002FDropbox\u002Fai-memory\u002F`、`~\u002FDocuments\u002Fai-data\u002F`\n- 完全灵活——选择适合您的位置即可\n\n## 存储逻辑\n\n**文件位置优先级：**\n\n1. **有 `.aim` 的项目**——使用 `.aim\u002Fmemory.jsonl`（项目本地）\n2. **无项目或无 `.aim`**——使用配置的全局目录\n3. **上下文区分**——添加后缀：`memory-work.jsonl`、`memory-personal.jsonl`\n\n**安全机制：**\n\n- 每个内存文件都以 `{\"type\":\"_aim\",\"source\":\"mcp-knowledge-graph\"}` 开头\n- 系统拒绝写入没有此标记的文件\n- 防止意外覆盖无关的 JSONL 文件\n\n## 主数据库概念\n\n**主数据库是您的主要内存存储**——在未指定特定数据库时默认使用。它在列表中始终名为 `default`，并以 `memory.jsonl` 的形式存储。\n\n- **默认行为**：所有内存操作都会使用主数据库，除非您指定其他数据库\n- **始终可用**：存在于项目本地和全局位置\n- **主要存储**：您跨所有对话持续存在的主要知识图谱\n- **命名数据库**：可选的附加数据库（`work`、`personal`、`health`），用于按主题组织内容\n\n## 核心功能\n\n- **主数据库**：默认用于所有操作的主要内存存储\n- **多数据库**：可选的命名数据库，用于按主题组织记忆\n- **项目检测**：自动使用 `.aim` 目录进行项目本地内存管理\n- **位置覆盖**：强制操作使用项目或全局存储\n- **安全操作**：内置保护机制，防止覆盖无关文件\n- **数据库发现**：列出两地的所有可用数据库\n\n## 快速入门\n\n### 全局内存（推荐）\n\n将以下内容添加到您的 `claude_desktop_config.json` 或 `.claude.json` 中。两种常见方法：\n\n**选项 1：默认 `.aim` 目录（简单）**\n\n```json\n{\n  \"mcpServers\": {\n    \"Aim-Memory-Bank\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"mcp-knowledge-graph\",\n        \"--memory-path\",\n        \"\u002FUsers\u002Fyourusername\u002F.aim\"\n      ]\n    }\n  }\n}\n```\n\n**选项 2：Dropbox\u002F云同步（便携式）**\n\n若需在多台设备上访问记忆，可以使用同步文件夹。这就是本 MCP 服务器作者保存自己记忆的方式：\n\n```json\n{\n  \"mcpServers\": {\n    \"Aim-Memory-Bank\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"mcp-knowledge-graph\",\n        \"--memory-path\",\n        \"\u002FUsers\u002Fyourusername\u002FDropbox\u002Fai-memory\"\n      ]\n    }\n  }\n}\n```\n\n这会在您指定的目录中创建内存文件：\n\n- `memory.jsonl`——**主数据库**（所有操作的默认数据库）\n- `memory-work.jsonl`——工作数据库\n- `memory-personal.jsonl`——个人数据库\n- 等等。\n\n### 项目本地内存\n\n在任何项目中，创建一个 `.aim` 目录：\n\n```bash\nmkdir .aim\n```\n\n现在，内存工具从该项目运行时，会自动使用 `.aim\u002Fmemory.jsonl`（项目本地的**主数据库**），而不是全局存储。\n\n## AI 如何使用数据库\n\n配置完成后，AI 模型会**默认使用主数据库**，也可以通过 `context` 参数指定命名数据库。新数据库会自动创建——无需额外设置：\n\n```json\n\u002F\u002F 主数据库（默认——无需上下文）\naim_memory_store({\n  entities: [{\n    name: \"John_Doe\",\n    entityType: \"person\",\n    observations: [\"在会议上见过\"]\n  }]\n})\n\n\u002F\u002F 工作数据库\naim_memory_store({\n  context: \"work\",\n  entities: [{\n    name: \"Q4_Project\",\n    entityType: \"project\",\n    observations: [\"截止日期为 2024 年 12 月\"]\n  }]\n})\n\n\u002F\u002F 个人数据库\naim_memory_store({\n  context: \"personal\",\n  entities: [{\n    name: \"Mom\",\n    entityType: \"person\",\n    observations: [\"生日是 3 月 15 日\"]\n  }]\n})\n\n\u002F\u002F 在特定位置的主数据库\naim_memory_store({\n  location: \"global\",\n  entities: [{\n    name: \"Important_Info\",\n    entityType: \"reference\",\n    observations: [\"存储于全局主数据库\"]\n  }]\n})\n```\n\n## 文件组织\n\n**全局设置：**\n\n```tree\n\u002FUsers\u002Fyourusername\u002F.aim\u002F\n├── memory.jsonl           # 主数据库（默认）\n├── memory-work.jsonl      # 工作数据库\n├── memory-personal.jsonl  # 个人数据库\n└── memory-health.jsonl    # 健康数据库\n```\n\n**项目设置：**\n\n```tree\nmy-project\u002F\n├── .aim\u002F\n│   ├── memory.jsonl       # 项目主数据库（默认）\n│   └── memory-work.jsonl  # 项目工作数据库\n└── src\u002F\n```\n\n## 可用工具\n\n- `aim_memory_store`——存储新记忆（人物、项目、概念）\n- `aim_memory_add_facts`——向现有记忆添加事实\n- `aim_memory_link`——连接两条记忆\n- `aim_memory_search`——按关键词搜索记忆\n- `aim_memory_get`——按精确名称检索特定记忆\n- `aim_memory_read_all`——读取某个数据库中的所有记忆\n- `aim_memory_list_stores`——列出可用数据库\n- `aim_memory_forget`——遗忘记忆\n- `aim_memory_remove_facts`——从记忆中移除特定事实\n- `aim_memory_unlink`——移除记忆之间的链接\n\n### 参数\n\n- `context`（可选）——指定命名数据库（`work`、`personal` 等）。默认为主数据库\n- `location`（可选）——强制使用“project”或“global”存储位置。默认为自动检测\n\n## 数据库发现\n\n使用 `aim_memory_list_stores` 可查看所有可用的数据库：\n\n```json\n{\n  \"project_databases\": [\n    \"default\",      \u002F\u002F 主数据库（项目本地）\n    \"project-work\"  \u002F\u002F 命名数据库\n  ],\n  \"global_databases\": [\n    \"default\",      \u002F\u002F 主数据库（全局）\n    \"work\",\n    \"personal\",\n    \"health\"\n  ],\n  \"current_location\": \"project (.aim 目录已检测到)\"\n}\n```\n\n**要点：**\n\n- **“default”** = 在两个位置都是主数据库\n- **当前位置** 显示您正在使用项目存储还是全局存储\n- **主数据库在任何地方都存在**——它是您的主要记忆存储\n- **命名数据库** 是针对特定主题的可选补充\n\n## 配置示例\n\n**重要提示：** 始终指定 `--memory-path` 来控制您的记忆文件存储位置。\n\n**自动批准读取操作（推荐）：**\n\n```json\n{\n  \"mcpServers\": {\n    \"Aim-Memory-Bank\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"mcp-knowledge-graph\",\n        \"--memory-path\",\n        \"\u002FUsers\u002Fyourusername\u002F.aim\"\n      ],\n      \"autoapprove\": [\n        \"aim_memory_search\",\n        \"aim_memory_get\",\n        \"aim_memory_read_all\",\n        \"aim_memory_list_stores\"\n      ]\n    }\n  }\n}\n```\n\n## 故障排除\n\n**“文件不包含所需的 _aim 安全标记”错误：**\n\n- 该文件可能不属于本系统\n- 手动创建的 JSONL 文件需要以 `{\"type\":\"_aim\",\"source\":\"mcp-knowledge-graph\"}` 作为第一行\n- 如果您是手动创建的文件，请添加 `_aim` 标记，或删除后让系统重新创建\n\n**记忆存储到意外位置：**\n\n- 检查您是否位于包含 `.aim` 文件夹的项目目录中（使用项目本地存储）\n- 否则将使用配置的全局 `--memory-path` 目录\n- 使用 `aim_memory_list_stores` 查看所有可用数据库及当前位置\n- 使用 `ls .aim\u002F` 或 `ls \u002FUsers\u002Fyourusername\u002F.aim\u002F` 查看您的记忆文件\n\n**相似数据库过多：**\n\n- AI 模型会尝试使用一致的名称，但可能会产生变体\n- 如有需要，可手动删除不需要的数据库文件\n- 鼓励 AI 使用简单、一致的数据库名称\n- **请记住**：主数据库始终作为默认可用——命名数据库是可选的\n\n## 系统要求\n\n- Node.js 18+\n- 兼容 MCP 的 AI 平台\n\n## 许可证\n\nMIT","# mcp-knowledge-graph 快速上手指南\n\nmcp-knowledge-graph 是一个通过本地知识图谱为 AI 模型提供持久化记忆的工具。它支持实体、关系和观察值的存储与检索，适用于 Claude Code\u002FDesktop 及任何兼容 MCP 的 AI 平台。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **Node.js**: 版本 18 或更高 (`node -v` 检查)\n*   **MCP 兼容平台**: 如 Claude Desktop、Claude Code 或其他支持 MCP 协议的 AI 客户端\n*   **包管理器**: 确保 `npx` 可用（随 Node.js 安装）\n\n## 安装步骤\n\n该工具无需全局安装，可直接通过 `npx` 在 MCP 配置中运行。您需要编辑 AI 客户端的配置文件来注册此服务。\n\n### 1. 选择存储路径\n\n您可以选择两种存储模式：\n*   **全局记忆（推荐）**：所有项目共享同一套记忆库，适合个人知识库。\n*   **项目本地记忆**：记忆仅保存在当前项目的 `.aim` 目录中，适合隔离不同项目的上下文。\n\n### 2. 配置 MCP 服务器\n\n编辑您的 `claude_desktop_config.json` (Mac\u002FWindows) 或 `.claude.json` 文件，添加以下配置。\n\n#### 方案 A：全局记忆（使用默认目录）\n将记忆存储在用户主目录下的 `.aim` 文件夹中。\n\n```json\n{\n  \"mcpServers\": {\n    \"Aim-Memory-Bank\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"mcp-knowledge-graph\",\n        \"--memory-path\",\n        \"\u002FUsers\u002Fyourusername\u002F.aim\" \n      ]\n    }\n  }\n}\n```\n> **注意**：请将 `\u002FUsers\u002Fyourusername\u002F.aim` 替换为您实际的系统路径。\n> *   Windows 示例：`C:\\\\Users\\\\YourName\\\\.aim`\n> *   Linux 示例：`\u002Fhome\u002Fyourusername\u002F.aim`\n\n#### 方案 B：云同步记忆（跨设备使用）\n如果您希望在多台设备间同步记忆，可将路径指向 Dropbox、iCloud Drive 或坚果云等同步文件夹。\n\n```json\n{\n  \"mcpServers\": {\n    \"Aim-Memory-Bank\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"mcp-knowledge-graph\",\n        \"--memory-path\",\n        \"\u002FUsers\u002Fyourusername\u002FDropbox\u002Fai-memory\"\n      ]\n    }\n  }\n}\n```\n\n#### 方案 C：启用自动批准（可选但推荐）\n为了减少 AI 读取记忆时的确认弹窗，建议在配置中添加 `autoapprove` 字段：\n\n```json\n{\n  \"mcpServers\": {\n    \"Aim-Memory-Bank\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"mcp-knowledge-graph\",\n        \"--memory-path\",\n        \"\u002FUsers\u002Fyourusername\u002F.aim\"\n      ],\n      \"autoapprove\": [\n        \"aim_memory_search\",\n        \"aim_memory_get\",\n        \"aim_memory_read_all\",\n        \"aim_memory_list_stores\"\n      ]\n    }\n  }\n}\n```\n\n### 3. 项目本地记忆设置（可选）\n\n如果您希望特定项目拥有独立的记忆库，只需在项目根目录下创建名为 `.aim` 的文件夹：\n\n```bash\nmkdir .aim\n```\n\n当 AI 在该目录下运行时，会自动优先使用 `.aim\u002Fmemory.jsonl` 作为主数据库，而不会写入全局路径。\n\n## 基本使用\n\n配置完成后，重启您的 AI 客户端。AI 将自动调用以下工具来管理记忆。您也可以通过自然语言直接指令 AI 进行操作。\n\n### 核心概念\n*   **Master Database (默认)**: 所有操作默认使用名为 `default` 的主数据库（对应文件 `memory.jsonl`）。\n*   **Context (上下文)**: 可通过 `context` 参数指定命名数据库（如 `work`, `personal`），系统会自动创建对应的 `memory-work.jsonl` 等文件。\n\n### 使用示例\n\n#### 1. 存储新记忆\n告诉 AI 记住某个事实，它会自动调用 `aim_memory_store`。\n\n**用户指令：**\n> “请记住 John Doe 是我在会议上认识的人。”\n\n**底层调用示例（供参考）：**\n```json\naim_memory_store({\n  entities: [{\n    name: \"John_Doe\",\n    entityType: \"person\",\n    observations: [\"Met at conference\"]\n  }]\n})\n```\n\n#### 2. 分类存储记忆\n您可以指定上下文将记忆存入特定数据库。\n\n**用户指令：**\n> “在工作记忆中记下 Q4 项目截止日期是 2024 年 12 月。”\n\n**底层调用示例：**\n```json\naim_memory_store({\n  context: \"work\",\n  entities: [{\n    name: \"Q4_Project\",\n    entityType: \"project\",\n    observations: [\"Due December 2024\"]\n  }]\n})\n```\n\n#### 3. 检索记忆\n直接询问 AI 之前存储的信息。\n\n**用户指令：**\n> “我关于妈妈的生日记了什么？”\n\n**底层调用示例：**\n```json\naim_memory_get({\n  context: \"personal\",\n  name: \"Mom\"\n})\n```\n\n#### 4. 查看可用数据库\n如果您想确认当前有哪些记忆库可用。\n\n**用户指令：**\n> “列出所有可用的记忆数据库。”\n\n**底层调用示例：**\n```json\naim_memory_list_stores()\n```\n\n### 常用工具列表\nAI 可根据需求自动调用以下工具：\n*   `aim_memory_store`: 存储新实体（人、项目、概念）。\n*   `aim_memory_add_facts`: 向现有实体添加新事实。\n*   `aim_memory_link`: 建立两个实体间的关联。\n*   `aim_memory_search`: 通过关键词搜索记忆。\n*   `aim_memory_forget`: 删除指定的记忆。","资深全栈开发者李明正在同时维护三个微服务项目，并需要频繁切换上下文来处理不同项目的业务逻辑和历史决策。\n\n### 没有 mcp-knowledge-graph 时\n- **记忆断层严重**：每次开启新对话或切换项目时，AI 都会“失忆”，李明不得不反复粘贴之前的架构决策、API 定义和待办事项。\n- **信息碎片化**：关键的项目知识散落在聊天记录、本地笔记和代码注释中，缺乏统一的结构化存储，检索效率极低。\n- **上下文污染风险**：试图在一个长对话中维持所有项目信息，导致 AI 混淆不同项目的变量名和业务规则，产生幻觉或错误建议。\n- **协作同步困难**：团队成员无法共享统一的 AI 记忆库，每个人都要重新向 AI“培训”项目背景，重复劳动成本高。\n\n### 使用 mcp-knowledge-graph 后\n- **持久化记忆自动加载**：通过在项目根目录创建 `.aim` 文件夹，mcp-knowledge-graph 自动将实体、关系和观察结果存入本地知识图谱，下次对话直接继承历史上下文。\n- **结构化知识管理**：利用 `aim_` 前缀工具将分散的信息整理为互联的知识节点，李明可以随时查询“用户服务模块的上次重构原因”等具体细节。\n- **多数据库隔离机制**：针对个人学习、工作项目和健康记录建立独立的命名数据库（如 `work`、`personal`），彻底杜绝了不同领域知识的相互干扰。\n- **跨设备无缝同步**：配置 `--memory-path` 指向 Dropbox 同步目录后，李明在公司电脑和家庭笔记本上都能访问同一套实时更新的项目记忆库。\n\nmcp-knowledge-graph 通过将非结构化的对话转化为本地持久化的知识图谱，让 AI 真正拥有了随项目成长的长期记忆能力。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fshaneholloman_mcp-knowledge-graph_f041e512.png","shaneholloman","Shane Holloman","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fshaneholloman_9992962e.jpg",null,"Cello Ltd","Wellington, NZ","shaneholloman@gmail.com","https:\u002F\u002Fgithub.com\u002Fshaneholloman",[85],{"name":86,"color":87,"percentage":88},"JavaScript","#f1e05a",100,840,102,"2026-04-10T01:25:51","MIT","Linux, macOS, Windows","不需要 GPU","未说明",{"notes":97,"python":98,"dependencies":99},"该工具是基于 Node.js 的 MCP 服务器，无需安装 Python 或 GPU。主要依赖 Node.js 18 及以上版本。需要通过 npx 运行，并配置 MCP 兼容的 AI 平台（如 Claude Desktop）。数据存储基于本地 JSONL 文件，支持项目级 (.aim 目录) 和全局级存储。","不需要 Python",[100],"Node.js 18+",[16],[103,104,105,106,107,108],"ai-memory","claude-ai","knowledge-graph","mcp","memory-server","typescript","2026-03-27T02:49:30.150509","2026-04-20T04:05:13.944116",[112,117,122,127,132,137],{"id":113,"question_zh":114,"answer_zh":115,"source_url":116},43152,"如何为不同项目设置独立的记忆文件，同时保留全局主记忆文件？","该工具支持主数据库和多项目数据库并存。默认情况下，如果没有指定特定上下文（数据库），将写入主文件（memory.jsonl）。若要使用项目特定的记忆，只需在项目根目录下创建一个包含 `.aim` 标记的 JSONL 文件的 `.aim\u002F` 目录，系统会自动检测并切换到该本地数据库。AI 代理会根据函数说明自动处理这些逻辑，无需额外手动配置。","https:\u002F\u002Fgithub.com\u002Fshaneholloman\u002Fmcp-knowledge-graph\u002Fissues\u002F6",{"id":118,"question_zh":119,"answer_zh":120,"source_url":121},43153,"如果项目没有使用 Git 或非主流编程语言，工具无法检测到 .aim 文件夹怎么办？","在 v1.2.1 版本中已修复此问题。现在 `.aim` 文件夹本身就被视为项目标记，并且会优先检查。因此，只要在项目目录中创建 `.aim` 文件夹，即可被正确识别为项目根目录，不再依赖 `.git`、`package.json` 或其他语言特定的配置文件。请确保升级到最新版本。","https:\u002F\u002Fgithub.com\u002Fshaneholloman\u002Fmcp-knowledge-graph\u002Fissues\u002F17",{"id":123,"question_zh":124,"answer_zh":125,"source_url":126},43154,"在 Claude Code 中配置时遇到 'Unexpected end of JSON input' 错误如何解决？","该错误通常是因为 JSON 文件格式不正确，常见原因是在添加新的 MCP 服务器配置片段后，忘记在最后一个大括号后添加逗号。建议将配置文件内容交给 Claude 自行诊断，或使用在线 JSON 验证器检查格式。确保所有 JSON 结构完整且符合语法规范。","https:\u002F\u002Fgithub.com\u002Fshaneholloman\u002Fmcp-knowledge-graph\u002Fissues\u002F12",{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},43155,"调用 aim_add_observations 工具时失败，无法写入数据到记忆文件，可能的原因是什么？","首先确认记忆文件所在目录名称是否正确。必须是 `.aim`（带点），而不是 `_aim`（带下划线）。启动命令应类似：`npx -y mcp-knowledge-graph --memory-path \u002FUsers\u002F\u003Cusername>\u002F.aim\u002F`。其次，确保每个记忆文件的第一行包含正确的元数据标记：`{\"type\":\"_aim\",\"source\":\"mcp-knowledge-graph\"}`。如果目录名错误或元数据缺失，会导致写入失败。","https:\u002F\u002Fgithub.com\u002Fshaneholloman\u002Fmcp-knowledge-graph\u002Fissues\u002F18",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},43156,"将工具名称前缀改为 AIM 后出现调用失败，该如何修复？","请检查是否已按照 README 文档中的说明使用了新的配置方法。工具名称变更后，配置文件中的引用也需同步更新。如果不确定具体哪里出错，建议提供详细的配置内容和报错信息以便进一步排查。","https:\u002F\u002Fgithub.com\u002Fshaneholloman\u002Fmcp-knowledge-graph\u002Fissues\u002F15",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},43157,"这个工具能否处理来源不准确或相互矛盾的文献信息？","该工具是完全自包含的 MCP 服务器，其核心功能是存储和检索知识图谱数据。对于矛盾信息的交叉比较和推理，取决于所使用的 AI 模型的能力。工具本身不会自动判断真伪，但可以作为“思维灯塔”帮助模型组织和对比不同来源的信息。用户需自行通过提示词引导模型进行分析和判断。","https:\u002F\u002Fgithub.com\u002Fshaneholloman\u002Fmcp-knowledge-graph\u002Fissues\u002F16",[143,148,153,158,163,168,173,178],{"id":144,"version":145,"summary_zh":146,"released_at":147},342843,"v1.3.2","## 变更内容\n\n### 文档更新\n\nREADME 现在反映了新的 `aim_memory_*` 工具名称，并包含了更完善的配置示例。\n\n**工具名称更新：**\n- 所有引用已从 `aim_*` 更新为 `aim_memory_*` 模式\n- 工具描述更加清晰，重点突出内存操作\n\n**配置示例：**\n- 选项 1：默认 `.aim` 目录（简单设置）\n- 选项 2：Dropbox\u002F云同步（可在多台设备间无缝切换）\n- 注：作者本人即使用 Dropbox 来管理自己的记忆数据\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fshaneholloman\u002Fmcp-knowledge-graph\u002Fcompare\u002Fv1.3.1...v1.3.2","2025-12-22T21:49:37",{"id":149,"version":150,"summary_zh":151,"released_at":152},342844,"v1.3.1","## 变更内容\n\n### 错误修复\n- 修复了 `aim_memory_search` 和 `aim_memory_get` 的描述中仍引用旧工具名称（`open_nodes`、`search_nodes`）的问题。\n\n### 描述优化\n工具描述现已采用更贴近记忆存储的语言，而非图数据库的专业术语：\n\n| 之前 | 之后 |\n|--------|-------|\n| “在知识图谱中创建多个新实体” | “存储新记忆” |\n| “在知识图谱中进行模糊搜索实体” | “按关键词搜索记忆” |\n| “删除多个实体及其关联关系” | “遗忘记忆” |\n| “在实体之间创建关系（边）” | “将两条记忆连接起来” |\n\n此举使工具对 AI 代理和人类用户都更加直观易懂。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fshaneholloman\u002Fmcp-knowledge-graph\u002Fcompare\u002Fv1.3.0...v1.3.1","2025-12-22T21:36:45",{"id":154,"version":155,"summary_zh":156,"released_at":157},342845,"v1.3.0","## 变更内容\n\n### 重命名工具以提升 AI 的可发现性\n\n所有工具现统一采用 `aim_memory_*` 命名规范，使这些操作明确为内存相关功能：\n\n| 旧名称               | 新名称           |\n|----------------------|------------------|\n| `aim_create_entities` | `aim_memory_store` |\n| `aim_add_observations` | `aim_memory_add_facts` |\n| `aim_create_relations` | `aim_memory_link` |\n| `aim_search_nodes` | `aim_memory_search` |\n| `aim_open_nodes` | `aim_memory_get` |\n| `aim_read_graph` | `aim_memory_read_all` |\n| `aim_delete_entities` | `aim_memory_forget` |\n| `aim_delete_observations` | `aim_memory_remove_facts` |\n| `aim_delete_relations` | `aim_memory_unlink` |\n| `aim_list_databases` | `aim_memory_list_stores` |\n\n### 为何进行此更改？\n\n当 AI 拥有众多可用工具，而用户只需简单地说“记住这一点”时，工具名称应能直观地表明该使用哪个工具。例如，`aim_memory_store` 一目了然地传达出这是一项内存操作，而 `aim_create_entities` 则需要查看描述才能理解。\n\n### 兼容性\n\n数据格式未发生变化——现有的 `.aim` 数据库和内存文件仍完全兼容。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fshaneholloman\u002Fmcp-knowledge-graph\u002Fcompare\u002Fv1.2.3...v1.3.0","2025-12-22T21:18:30",{"id":159,"version":160,"summary_zh":161,"released_at":162},342846,"v1.2.3","## 变更内容\n\n### 新功能：美观的输出格式\n\n查询工具现在支持 `format` 参数，用于生成人类可读的输出：\n\n- `aim_read_graph({format: \"pretty\"})`\n- `aim_search_nodes({query: \"...\", format: \"pretty\"})`\n- `aim_open_nodes({names: [...], format: \"pretty\"})`\n\n**美观输出示例：**\n```\n=== 工作数据库 ===\n\n实体 (2):\n  John [人]\n    - 在会议上相识\n    - 从事技术工作\n  ProjectAlpha [项目]\n    - 截止日期：2025年第一季度\n\n关系 (1):\n  John --参与--> ProjectAlpha\n```\n\n如需程序化使用，请使用 `format: \"json\"`（默认）；如需人类可读的输出，请使用 `format: \"pretty\"`。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fshaneholloman\u002Fmcp-knowledge-graph\u002Fcompare\u002Fv1.2.2...v1.2.3","2025-12-22T20:52:18",{"id":164,"version":165,"summary_zh":166,"released_at":167},342847,"v1.2.2","## 变更内容\n\n### 文档改进\n- 在工具描述中添加了 AIM（AI Memory）的全称解释\n- 更清晰地说明了 `search_nodes` 与 `open_nodes` 的区别\n- 文档化了 `search_nodes` 匹配的内容（实体名称、类型及观察内容）\n- 通过示例解释了关系的主动语态规范\n- 增加了 RETURNS 部分，展示每个工具的返回值\n- 统一并修正了上下文和数据库相关术语的用法\n\n### 错误修复\n- 将 `.aim` 添加为项目标记以进行检测（修复 #17）\n  - 用户不再需要 `.git` 或特定于语言的文件\n  - 仅需创建一个 `.aim` 文件夹即可实现项目本地存储\n- 版本号现从 `package.json` 中读取，而非硬编码\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fshaneholloman\u002Fmcp-knowledge-graph\u002Fcompare\u002Fv1.2.0...v1.2.2","2025-12-22T20:42:05",{"id":169,"version":170,"summary_zh":171,"released_at":172},342848,"v1.2.1","## 变更内容\n\n### 文档改进\n- 在工具描述中添加了 AIM（AI Memory）的全称解释\n- 更清晰地说明了 `search_nodes` 与 `open_nodes` 的区别\n- 文档化了 `search_nodes` 匹配的内容（实体名称、类型及观察内容）\n- 通过示例解释了关系的主动语态规范\n- 添加了 RETURNS 部分，展示每个工具的返回值\n- 统一并修正了上下文和数据库相关术语的用法\n\n### 错误修复\n- 将 `.aim` 添加为项目标记以供检测（修复 #17）\n  - 用户不再需要 `.git` 文件或特定于语言的文件\n  - 仅需创建一个 `.aim` 文件夹即可实现项目本地存储\n- 版本号现从 `package.json` 中读取，而非硬编码\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fshaneholloman\u002Fmcp-knowledge-graph\u002Fcompare\u002Fv1.2.0...v1.2.1","2025-12-22T20:35:55",{"id":174,"version":175,"summary_zh":176,"released_at":177},342849,"v1.2.0","# v1.2.0：多数据库 AIM 系统\n\n## 主要特性\n\n### 主数据库概念\n\n- **主数据库** 现已成为默认存储，当未指定特定数据库时，所有操作都会使用它\n- 在列表中显示为“default”，并以 `memory.jsonl` 文件形式存储\n- 作为贯穿所有对话的主要知识图谱，持久化保存\n\n### 多数据库支持\n\n- 可按主题组织记忆，使用命名数据库（如 `work`、`personal`、`health` 等）\n- 自动创建新数据库，无需任何配置\n- 每个数据库维护独立的知识图谱\n\n### 项目本地记忆\n\n- 使用 `.aim` 目录自动检测项目\n- 项目本地存储可将工作内容与全局记忆分开\n- 支持常见的项目标记文件（如 `.git`、`package.json` 等）\n\n### 位置覆盖机制\n\n- 通过 `location` 参数可强制指定使用 `project` 或 `global` 存储\n- 随时可在不同位置切换项目和全局数据库\n- 完全灵活，可在任意位置访问任何数据库\n\n### 数据库发现\n\n- 新增 `aim_list_databases` 工具，展示所有可用数据库\n- 一次查看项目本地和全局数据库\n- 自动检测当前所在位置（项目或全局）\n\n### 安全与一致性\n\n- 使用 `_aim` 安全标记防止覆盖无关的 JSONL 文件\n- 所有工具现统一使用 `aim_` 前缀，便于清晰管理\n- 统一的 AIM 命名规范：`.aim` 目录、`aim_` 工具、`_aim` 标记\n\n## 破坏性变更\n\n- 所有工具名称均添加 `aim_` 前缀（例如 `create_entities` → `aim_create_entities`）\n- 所有记忆文件必须包含安全标记\n\n## 示例\n\n### 主数据库（默认）\n\n```json\naim_create_entities({\n  entities: [{\n    name: \"John\",\n    entityType: \"person\", \n    observations: [\"在会议上认识\"]\n  }]\n})\n```\n\n### 命名数据库\n\n```json\naim_create_entities({\n  context: \"work\",\n  entities: [{\n    name: \"Q4_Project\",\n    entityType: \"project\",\n    observations: [\"截止日期为 2024 年 12 月\"]\n  }]\n})\n```\n\n### 位置覆盖\n\n```json\naim_read_graph({\n  context: \"work\",\n  location: \"global\"  \u002F\u002F 即使在项目目录中也强制使用全局数据库\n})\n```\n\n## 安装\n\n```bash\nnpx mcp-knowledge-graph --memory-path \u002Fpath\u002Fto\u002Fyour\u002Fmemory\u002Fdirectory\n```\n\n## 完整变更日志\n\n- 新增主数据库概念作为默认存储\n- 实现通过数据库参数进行上下文切换\n- 添加基于 `.aim` 目录的项目检测功能\n- 增加位置覆盖参数，用于选择项目或全局存储\n- 新增 `aim_list_databases` 工具，方便数据库发现\n- 引入 `_aim` 安全标记，保护文件安全\n- 将所有工具重命名为 `aim_` 前缀，保持一致性\n- 更新 README，明确说明主数据库的使用方法\n- 在仓库中添加 `.aim` 目录示例","2025-08-26T05:25:42",{"id":179,"version":180,"summary_zh":181,"released_at":182},342850,"v1.0.1","**完整更新日志**: https:\u002F\u002Fgithub.com\u002Fshaneholloman\u002Fmcp-knowledge-graph\u002Fcommits\u002Fv1.0.1","2025-04-24T09:56:26"]