{
  "markdown": "# AiFP 记忆感知系统 — MCP Server\n\n通过 [Model Context Protocol](https://modelcontextprotocol.io/) 为 AI 编程助手提供持久记忆。\n\n[English](./README.en.md) · [npm](https://www.npmjs.com/package/aifp-mcp) · [GitHub](https://github.com/wjabanjj/aifp-mcp)\n\n让 Obsidian、DeepSeek Harness、Claude Code、Cursor、Codex 等一切支持 MCP 的 AI 工具拥有**跨会话的持续记忆**。完全本地运行，数据不出本机（默认 `~/.ai-cognition/`）。\n\n## 为什么选 AiFP — 一套记忆，所有 AI 共享\n\n你受够了 AI 的\"健忘\"吗？\n\n- 聊了一上午，它忘了项目名——**存了，但用不上**\n- 你说\"拍森\"，它只认 Python——**说错一个字就搜不到**\n- 昨天说 Docker 连不上，今天说 MySQL 连不上，它不知道是同一件事——**相关的记不住**\n- DeepSeek Harness 学会的，Claude Code 不知道——**每个 AI 都是记忆孤岛**\n\n多数 AI 记忆系统只是**存**——存是存了，但用不上。AiFP 是让 AI 真正**记住、想通、共享**，把上面这些毛病一次解决。\n\n**先讲别人做不到的（共享）：**\n\n> **一套记忆，所有 AI 共用。** 今天 DeepSeek Harness 学会的，明天 Claude Code 还记得；Codex 攒的偏好，VS Code Copilot 不用重新问。别的记忆系统做不到——因为它们每个各记各的，互不相通。AiFP 让同电脑上所有 AI 工具共用一个大脑，**记一份，处处用**。\n\n**再讲它为什么好用（能力）：**\n\n- **会掂量着记**——不是每句话都存。聊的东西先进\"待定区\"，由识别器判断这条值不值得长期记住：值得才正式记下，不值得就跳过。不会一股脑全存，也不会错漏重要的。\n- **能听懂人话**——你说\"拍森\"，它知道是 Python；你说\"上个月\"，它知道是哪个月。说错字、口语、时间词都能理解。\n- **能看出关联**——昨天说\"连不上数据库\"，今天说\"改了配置还不行\"，它知道是同一件事的延续。还能顺着一条线索联想出相关的内容。\n- **记得清，用得上**——一条记忆只留核心意思，不堆垃圾。用的时候只挑最相关的几条给你，又快又不乱。\n- **越用越懂你**——你的偏好、习惯它会慢慢积累成\"画像\"，但它分得清\"事实\"和\"建议\"，不会把你的想法和它自己的混在一起。\n- **该忘的就忘**——太久没用的记忆会自然淡出，重要的记忆会越来越牢。记忆库永远干净，不会变成堆不动的垃圾场。\n\n**看这些名字，就知道它不简单**——记忆被做成了大脑的结构：\n\n| 概念 | 它到底在干嘛（大白话） |\n|------|----------------------|\n| 🧠 **海马体 · 记忆感知** | 会掂量着记——先进\"待定区\"，识别器判断值不值得长期记住，值得才正式记下，不值得就跳过 |\n| 🔗 **神经元突触 · 感知链** | 自动发现信息之间的联系，还能顺着线索找到最直接的关系 |\n| 👃 **嗅觉皮层 · 语义检索** | 说错也能找到——你说\"拍森\"，它知道你要找 Python |\n| ⚡ **共燃神经元 · 关联** | 一起出现的东西自动绑在一起，问 A 顺带带出 B |\n| 🗣 **语言中枢 · 理解** | 懂口语、认错字、认得\"上个月\"是哪个月 |\n| 🌊 **神经扩散 · 联想回忆** | 一条线索能联想出好几层相关的记忆 |\n| 🧬 **突触固化 · 记忆巩固** | 用得越多记得越牢，从临时记忆慢慢变成长期记忆 |\n| ⏳ **遗忘曲线** | 太久不用的自然淡出，记忆库永远干净不堆积 |\n| 📊 **神经信号 · 置信度** | 每条记忆带个\"可信度\"标尺，越靠谱的越优先给你 |\n| 👤 **主人认知模型 · 画像** | 懂你这个人——偏好习惯会积累成画像，但不跟它的想法混 |\n| 💪 **肌肉记忆 · 跨轮复用** | 做过的经验跨会话记得，不用每次从头学 |\n\n**天生为中文服务**：认错字、懂口语、认时间词，全都是为中文设计的。英文为主的记忆系统，遇到\"拍森找 Python\"这种就抓瞎了。\n\n**默认完全私有**：所有数据都存你本机，不上云、不注册、不偷偷上报。所谓\"共享\"只是多个工具读写同一份本地记忆——**你的数据从没离开过这台电脑**。\n\n**一条命令装好**：`npm install -g` 自动帮你配好 12 个 AI 工具（Claude Code、Cursor、Windsurf、Cline、Gemini CLI、Qwen Code、Zed、VS Code Copilot、Codex CLI、Trae、DeepSeek Harness、pi-coding-agent）。\n\n**一个大脑，多个助手**：今天 DeepSeek Harness 学到的，明天 Claude Code 还记得——像跟一个有记忆的同事说话，不用每次都重新自我介绍。\n\n## 快速开始\n\n```bash\nnpm install -g aifp-mcp\nclaude mcp add ai-cognition -s user -- npx aifp-mcp\n```\n\n重启 Claude Code 即可使用。数据存在 `~/.ai-cognition/data/cognition.db`。\n\n### DeepSeek Harness (dsh) 自动接入\n\n装完 `aifp-mcp` 后**自动接入 dsh**，无需手动执行任何 dsh 命令：\n\n```bash\nnpm install -g aifp-mcp\n```\n\n安装时会自动检测 dsh 并写入配置（`~/.dsh/cordis.patch.yml`）。重启 dsh，记忆工具自动注册为 `mcp__aifp__*`（如 `mcp__aifp__search_memories`、`mcp__aifp__save_memory`），无需手动改任何配置。\n\n### 在任意 AI 对话中安装（推荐）\n\n不需要手动配任何东西。在 Claude Code、Codex、Cursor、DeepSeek Harness 等任意工具里直接输入：\n\n> 帮我安装记忆系统：`npm install -g aifp-mcp`\n\n`postinstall` 钩子会**自动检测并配置所有已安装的 AI 工具**（Claude Code、Cursor、Windsurf、Cline、Gemini CLI、Qwen Code、Zed、VS Code Copilot、Codex CLI、Trae、DeepSeek Harness、pi-coding-agent），并打印状态报告。重启工具即可使用记忆工具——AI 看到报告后会告诉你重启哪个，**无需手动改任何 MCP 配置文件**。\n\n> **首次启动**：需要下载 ~30MB 的 bge-small-zh 嵌入模型，最多阻塞 45 秒。后续启动有缓存，秒开。\n\n## 本地模式 vs 服务器增强模式\n\nAiFP 支持两种运行模式（环境变量 `COGNITION_MODE`，默认 `remote`）：\n\n本地模式完全私有（数据不出本机），但**感知链工具需要连接服务器**。服务器地址不随包分发，需通过官方接入渠道获取。\n\n### 拿到 key 后，一条命令连上\n\n> 接入地址和密钥通过官方渠道发放：**联系作者（微信：zm8571806/QQ：8571806/邮箱：8571806@qq.com）订阅后发放**，不随包公开。订阅到期可单独吊销，不影响其他用户。\n\n```bash\n# 1. 安装（如未安装）\nnpm install -g aifp-mcp\n\n# 2. 一条命令连接服务器（地址和 key 由作者发放）\naifp-mcp --connect https://<官方地址> <你的64位key>\n\n# 3. 重启你的 AI 工具（Claude Code / Cursor / dsh 等）\n#    感知链 / 深度追踪 / 图扩散自动可用\n\n# 断开（恢复纯本地）：\n# aifp-mcp --disconnect\n```\n\n`--connect` 会把连接信息保存在本机 `~/.ai-cognition/server.json`，之后启动自动生效，无需每次配置环境变量。\n\n### 更简单：直接让你的 AI 配置\n\n不需要手动敲命令。在 Claude Code / Cursor / Codex / dsh 等任何 AI 工具的输入框里说：\n\n> 这是我的 aifp 服务器地址和 key，帮我配置：\n> 地址：https://<官方地址>\n> key：<你的64位key>\n\nAI 会自动执行 `aifp-mcp --connect` 并提示你重启工具。重启后感知链增强自动生效。\n\n> ⚠️ key 会出现在对话记录中，介意的话配置完可在管理后台吊销重发（不影响使用）。\n\n### 接入 Obsidian（笔记 ↔ 记忆双向）\n\n**Obsidian 笔记 → 记忆库**（AI 可语义检索你的笔记）：直接让你的 AI 导入，**无需配置环境变量**：\n\n> 把 Obsidian 笔记导入记忆：directory = C:/Users/你/Obsidian/我的笔记库\n\nAI 会调用 `reimport_sources` 同步导入（frontmatter 自动剥离、哈希去重）。以后新增笔记再说一次即可。\n\n**记忆库 → Obsidian 笔记**（在 Obsidian 里看到全部记忆）：让 AI 调用 `export_memories_md`：\n\n> 把记忆导出到 Obsidian：directory = C:/Users/你/Obsidian/我的笔记库/AiFP记忆\n\n导出的笔记带 frontmatter（type/tier/tags），Obsidian 可直接识别和检索；同名笔记自动覆盖更新，保持与记忆库同步。\n\n\n## MCP 工具（共 33 个）\n\n核心工具（15 个）：\n\n| 工具 | 功能 | 链路 |\n|------|------|------|\n| `save_memory` | 保存记忆（自动去重 + 向量索引） | 基础 |\n| `search_memories` | 双路检索：FTS5 关键词 + 向量语义 | **逻辑链** |\n| `recall_context` | 一键回忆（直接命中 + 因果链 + 关联 + 扩散） | **综合链** |\n| `get_memory` | 按 ID 获取记忆详情 | 基础 |\n| `list_memories` | 分页列出 | 基础 |\n| `trace_perception_chain` | BFS 感知链追踪（6 类因果） | **上下链** |\n| `find_perception_path` | 双向 BFS 找两条记忆间最短路径 | **关系链** |\n| `get_perception_graph_stats` | 感知图统计 | **关系链** |\n| `diffuse_memories` | 图扩散搜索（关联多跳） | **关系链** |\n| `get_memory_tree` | 层级树结构 | 基础 |\n| `get_related_memories` | Hebbian 共现关联 | **关系链** |\n| `get_user_profile` | 用户画像——聚合偏好/事实/习惯 | **画像** |\n| `observe_turn` | 记录对话轮次到识别队列（跨平台自动记忆入口） | **自动** |\n| `reimport_sources` | 重新扫描外部笔记目录 | 导入 |\n| `get_stats` | 系统统计 | 基础 |\n\n另有 18 个管理/进阶工具：`consolidate_memories` / `share_memory` / `merge_memories` / `batch_delete` / `batch_update` / `export_memories` / `export_memories_md`（Obsidian）/ `explain_query` / `get_confidence_stats` / `scan_memory_patterns` / `validate_memory` / `get_top_experiences` / `deduplicate_memories` / `scan_observation_patterns` / `rotate_observation_logs` / `session_mine` / `derive_memories` / `flush_recognizer`。\n\n## 跨平台自动记忆识别\n\nClaude Code 使用原生 hooks（100% 自动，零遗漏）。其他工具通过 `observe_turn` 工具 + 指令文件实现（详见 `rules/` 目录）：\n\n| 平台 | 配置方式 | 自动程度 |\n|------|----------|----------|\n| **Claude Code** | hooks（原生） | 100% 自动，零遗漏 |\n| **Cursor** | `.cursor/rules/` 指令文件 | AI 遵守指令时自动触发 |\n| **Codex CLI** | `AGENTS.md` 指令文件 | AI 遵守指令时自动触发 |\n| **Trae** | 项目规则（手动配置） | AI 遵守指令时自动触发 |\n\n指令文件告诉 AI：\"每次回答完用户后调用 `observe_turn` 记录本轮消息\"。系统会自动判断是否有值得记住的内容，不需手动决定。\n\n## 核心技术\n\n- **SQLite + FTS5** 全文索引（CJK 感知，unicode61 tokenizer）\n- **bge-small-zh-v1.5 向量嵌入**（本地 512 维语义搜索，自动重试 + 多镜像回退）\n- **Hebbian 共现矩阵**（\"一起发射的神经元连在一起\"）\n- **有向因果链**（6 种关系类型）\n- **BFS 图扩散**（沿关联多跳发现间接知识）\n- **纠错 + 消歧 + 中文时间词解析**\n\n## 各 AI 工具怎么接入（自动或手动）\n\n`npm install -g aifp-mcp` 时自动完成（postinstall 检测所有已装 AI 工具并写入 MCP 配置）。**以后新装了某个 AI 工具**，跑一次即可接入：\n\n```bash\naifp-mcp --setup   # 重新检测并配置所有 AI 工具\n```\n\n自动检测并配置已安装的 AI 工具（检测到才写入，不重复覆盖）：\n\n| 平台 | 配置方式 |\n|------|----------|\n| Claude Code | `~/.claude/settings.json` → mcpServers + 启动 hook |\n| Cursor | `~/.cursor/mcp.json` |\n| Windsurf | `~/.codeium/windsurf/mcp_config.json` |\n| Cline | `~/.config/cline/mcp_settings.json` |\n| Gemini CLI | `~/.gemini/settings.json` → mcpServers |\n| Qwen Code | `~/.qwen/settings.json` → mcpServers |\n| Zed | `~/.config/zed/settings.json` → context_servers |\n| VS Code Copilot | `%APPDATA%/Code/User/mcp.json` → servers |\n| Codex CLI | `~/.codex/config.toml` |\n| **pi-coding-agent** | 生成扩展到 `~/.pi/agent/extensions/aifp-memory/`（pi 无内置 MCP，用扩展机制） |\n\n## 手动配置\n\n### Claude Code / Cursor\n\n```json\n{\n  \"mcpServers\": {\n    \"ai-cognition\": {\n      \"command\": \"node\",\n      \"args\": [\"path/to/aifp-mcp/dist/index.js\"]\n    }\n  }\n}\n```\n\n### 自定义数据目录\n\n```bash\nCOGNITION_DATA_DIR=/path/to/data npx aifp-mcp\n```\n\n## 环境变量\n\n| 变量 | 默认值 | 说明 |\n|------|--------|------|\n| `COGNITION_DATA_DIR` | `~/.ai-cognition/` | 数据存储目录 |\n| `COGNITION_MODE` | `remote` | `local` 本地保底 / `remote` 连接服务器增强 |\n| `COGNITION_SERVER_URL` | *（无默认，须显式配置）* | 远程算法服务器地址（自建） |\n| `COGNITION_API_KEY` | - | 远程模式 API 密钥 |\n| `COGNITION_RECOGNIZER` | `0` | 设为 `1` 启用自动识别 |\n| `COGNITION_LLM_API_KEY` | - | 识别器 LLM 密钥（OpenAI 兼容） |\n| `COGNITION_LLM_BASE_URL` | `https://api.deepseek.com` | 识别器 LLM 地址 |\n| `COGNITION_LLM_MODEL` | `deepseek-chat` | 识别器 LLM 模型 |\n| `HF_MIRROR` | `https://hf-mirror.com` | 嵌入模型下载镜像（失败自动回退 huggingface.co） |\n| `CORS_ORIGIN` | `*` | HTTP 模式跨域白名单 |\n| `PORT` | `5000` | HTTP 端口 |\n\n## 识别器 LLM 配置（启用自动记忆识别）\n\n观察队列需要 LLM 判断是否值得入记忆，二选一：\n\n```bash\n# OpenAI 兼容（推荐：DeepSeek 等）\nexport COGNITION_RECOGNIZER=1\nexport COGNITION_LLM_API_KEY=你的DeepSeek密钥\nexport COGNITION_LLM_BASE_URL=https://api.deepseek.com   # 可选，默认同左\nexport COGNITION_LLM_MODEL=deepseek-chat                 # 可选\n\n# 或 Anthropic\n# export COGNITION_RECOGNIZER=1\n# export ANTHROPIC_API_KEY=sk-ant-...\n```\n\n不配置则只记录观察日志，自动识别不落地（AI 主动 `save_memory` 不受影响）。\n\n## 技术栈\n- Node.js 22+ (node:sqlite) + TypeScript\n- SQLite (内置) + FTS5\n- @xenova/transformers (bge-small-zh-v1.5)\n- @modelcontextprotocol/sdk (MCP 协议)\n\n## License\n\n专有软件 — 见 [LICENSE](./LICENSE)。个人/非商业用途免费；商业用途需授权。第三方依赖遵循各自开源许可。\n",
  "bytes": 8544,
  "sha": "a4026e1b13ebdfc31613a26d1862250504e47637af407557947326bf7cfa36de",
  "repo_slug": "wjabanjj/aifp-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_wjabanjj_aifp_mcp_79c8e029/readme"
}