mcpField
M

mnemex

本地服务
github.com/simplemindedbot记忆与知识3736 周前更新

关于 mnemex

CortexGraph(原名 mnemex)是为 AI 助手提供时间衰减记忆的 MCP 服务。记忆会随时间衰减,并因使用而得到强化,数据以 JSONL 与 Markdown 两层本地存储。项目定位为研究原型,并非面向生产的商业产品。

主要功能

  1. 01基于时间衰减与使用频率的记忆评分
  2. 02JSONL 短期记忆与 Markdown 长期记忆两层存储
  3. 03自动提升与遗忘阈值
  4. 04实体与关系组成的知识图谱
  5. 05数据完全保存在本地

适用场景

  1. 01让 AI 助手记住用户的偏好与决策
  2. 02研究认知架构中的记忆衰减机制
  3. 03将长期记忆以 Markdown 形式保存到 Obsidian 库

MCP 相关

以 MCP 服务形式运行,向 AI 助手暴露保存、检索、强化记忆等工具。另提供用于分析消息、判断记忆时机的辅助工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"simplemindedbot-mnemex": {
"command": "uvx",
"args": [
"mnemex"
],
"env": {
"MNEMEX_STORAGE_PATH": "<MNEMEX_STORAGE_PATH>",
"LTM_VAULT_PATH": "<LTM_VAULT_PATH>",
"MNEMEX_DECAY_MODEL": "<MNEMEX_DECAY_MODEL>",
"MNEMEX_PL_HALFLIFE_DAYS": "<MNEMEX_PL_HALFLIFE_DAYS>"
}
}
}
}
启动命令uvx mnemex
需要配置的环境变量
MNEMEX_STORAGE_PATHStorage path for short-term memory JSONL files
LTM_VAULT_PATHPath to Obsidian vault for long-term memory
MNEMEX_DECAY_MODELDecay model: power_law (default), exponential, or two_component
MNEMEX_PL_HALFLIFE_DAYSHalf-life in days for power-law decay model

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimnemex0.5.2

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

CortexGraph:AI 的时间记忆

一个模型上下文协议(MCP)服务,为 AI 助手提供类人记忆动态。记忆会随时间自然淡化,除非通过使用得到强化,这模拟了艾宾浩斯遗忘曲线。

License: AGPL-3.0 Python 3.10+ Tests Security Scanning codecov SBOM: CycloneDX

说明

关于名称与版本

该项目最初以 mnemex 的名称开发(在 PyPI 上发布至 v0.6.0)。2025 年 11 月,项目转交给 Prefrontal Systems,并更名为 CortexGraph,以更好地体现其在 AI 系统更广泛认知架构中的作用。

cortexgraph 软件包的版本号从 0.1.0 开始,以表明新名称下的全新起点,同时也承认它继承了 mnemex 成熟且经过充分测试的代码库(791 项测试,覆盖率超过 98%)。mnemex 软件包在 PyPI 上停留于 v0.6.0,不再更新。

这种版本策略:

  • 向发现 cortexgraph 的 PyPI 用户表明这是一个“新软件包”
  • 在 1.0 版本之前,为品牌、API 和组织集成的演进留出空间
  • 保持连续性:用户可以从 pip install mnemex 迁移到 pip install cortexgraph
  • 反映出代码虽已成熟,但 CortexGraph 这一身份才刚刚起步

重要

🔬 研究项目——不适用于生产环境

本软件是用于研究的**概念验证(PoC)**和参考实现,旨在验证认知架构与 AI 安全领域的理论框架(具体包括 STOPPER Protocol 和 CortexGraph)。

**它不是商业产品。**它不以一般生产用途为目标进行维护,可能包含破坏性变更,也不对稳定性或支持作出任何保证。你可以用它研究相关概念,但生产实现应由你自行构建。

**📖 初次了解本项目?**请从 ELI5 指南开始,了解本项目的功能和使用方法。

什么是 CortexGraph?

CortexGraph 为 Claude 等 AI 助手提供类人的记忆系统。

问题

你和 Claude 聊天时,它会忘记不同对话之间的所有内容。你告诉它“我偏好 TypeScript”或“我对花生过敏”,三天后又得重复一遍。这令人沮丧,也浪费时间。

CortexGraph 的功能

CortexGraph 让 AI 助手像人类记忆一样自然地记住事情:

  • 🧠 记住重要内容——你的偏好、决定和重要事实
  • ⏰ 自然遗忘——陈旧且未使用的信息会随时间淡化(就像艾宾浩斯遗忘曲线)
  • 💪 越用越牢——你越频繁地提及某件事,它记住的时间就越长
  • 📦 永久保存重要内容——频繁使用的记忆会被提升至长期存储
工作原理(简明版)
  1. 自然地交流——“我喜欢所有应用都使用深色模式”
  2. 自动保存记忆——无需特殊命令
  3. 时间流逝——如果不使用,记忆会逐渐淡化
  4. 再次提及——“把这个应用设为深色模式”
  5. 记忆变得更牢固——现在它能保持更久
  6. 重要记忆会被提升——使用 5 次以上?永久保存到你的 Obsidian 知识库

没有抽认卡。无需专门复习。只需自然对话。

有何不同

大多数记忆系统都很笨:

  • ❌ “7 天后删除”(不管你是否用过 100 次)
  • ❌ “保留最近 100 项”(仅仅因为内容旧就丢掉重要信息)

CortexGraph 很聪明:

  • ✅ 结合新近度(何时使用?)、频率(使用多频繁?)和重要性(有多关键?)
  • ✅ 像人类记忆一样自然淡化
  • ✅ 常用记忆会保留更久
  • ✅ 你可以将关键内容标记为“永不遗忘”

技术概览

此代码库包含一套短期记忆系统的研究、设计和完整实现,该系统结合了:

  • 基于认知科学的新型时间衰减算法
  • 通过使用模式实现的强化学习
  • 用于工作记忆和永久记忆的双层架构(STM + LTM)
  • 用于自然集成 LLM 的智能提示模式
  • 使用易读 JSONL 的Git 友好型存储
  • 包含实体和关系的知识图谱
模块组织

CortexGraph 采用模块化架构:

  • cortexgraph.core:基础算法(衰减、相似度、聚类、整合、搜索验证)
  • cortexgraph.agents:多 Agent 整合流程和存储工具
  • cortexgraph.storage:支持批量操作的 JSONL 和 SQLite 存储后端
  • cortexgraph.tools:MCP 工具实现

为什么选择 CortexGraph?

🔒 隐私与透明度

所有数据都存储在你的计算机本地——不使用云服务、不进行跟踪、不共享数据。

  • 短期记忆:

    • JSONL(默认):易读、Git 友好的文件(~/.config/cortexgraph/jsonl/)
    • SQLite:适合较大数据集的可靠数据库存储(~/.config/cortexgraph/cortexgraph.db)
  • 长期记忆:针对 Obsidian 优化的 Markdown 文件

    • 包含元数据的 YAML frontmatter
    • 用于建立关联的 Wiki 链接
    • 由你掌控的永久存储
  • 导出:内置工具,可将记忆导出为 Markdown,方便移植。

你的数据归你所有。无需任何特殊工具,你就能读取、编辑、删除数据或进行版本控制。

核心算法

时间衰减评分函数:

$$ \Large \text{score}(t) = (n_{\text{use}})^\beta \cdot e^{-\lambda \cdot \Delta t} \cdot s $$

其中:

  • $\large n_{\text{use}}$ - 使用次数(访问次数)
  • $\large \beta$(beta)- 使用次数的次线性权重(默认值:0.6)
  • $\large \lambda = \frac{\ln(2)}{t_{1/2}}$(lambda)- 衰减常数;通过半衰期设置(默认值:3-day)
  • $\large \Delta t$ - 距上次访问的时间(秒)
  • $\large s$ - 强度参数 $\in [0, 2]$(重要性乘数)

阈值:

  • $\large \tau_{\text{forget}}$(默认值 0.05)——如果 score < 此值,则遗忘
  • $\large \tau_{\text{promote}}$(默认值 0.65)——如果 score ≥ 此值,则提升(或者如果 $\large n_{\text{use}}\ge5$ 且在 14 天内)

衰减模型:

  • 幂律(默认):长尾效应更强;保留方式最接近人类记忆
  • 指数:长尾效应较弱;遗忘更快
  • 双组分:前期快速遗忘 + 更强的长尾效应

有关详细参数说明、模型选择和示例,请参阅 docs/scoring_algorithm.md。

调优速查表

  • 均衡(默认)
    • 半衰期:3 天(λ ≈ 2.67e-6)
    • β = 0.6,τ_forget = 0.05,τ_promote = 0.65,14 天内 use_count≥5
    • 强度:1.0(关键记忆可提高至 1.3–2.0)
  • 高速变化的上下文(临时笔记、频繁切换)
    • 半衰期:12–24 小时(λ ≈ 1.60e-5 至 8.02e-6)
    • β = 0.8–0.9,τ_forget = 0.10–0.15,τ_promote = 0.70–0.75
  • 长期保留(研究/归档)
    • 半衰期:7–14 天(λ ≈ 1.15e-6 至 5.73e-7)
    • β = 0.3–0.5,τ_forget = 0.02–0.05,τ_promote = 0.50–0.60
  • 偏好/决策较多的助手
    • 半衰期:3–7 天;β = 0.6–0.8
    • 强度默认值:偏好为 1.3–1.5;决策为 1.8–2.0
  • 积极控制空间占用
    • 将 τ_forget 提高至 0.08–0.12 和/或缩短半衰期;安排每周执行 GC
  • 环境变量模板
    • CORTEXGRAPH_DECAY_LAMBDA=2.673e-6, CORTEXGRAPH_DECAY_BETA=0.6
    • CORTEXGRAPH_FORGET_THRESHOLD=0.05, CORTEXGRAPH_PROMOTE_THRESHOLD=0.65
    • CORTEXGRAPH_PROMOTE_USE_COUNT=5, CORTEXGRAPH_PROMOTE_TIME_WINDOW=14

决策阈值:

  • 忘记:$\text{score} < 0.05$ → 删除记忆
  • 提升:$\text{score} \geq 0.65$ 或 14 天内 $n_{\text{use}} \geq 5$ → 移至 LTM

核心创新

1. 带强化机制的时间衰减

与传统缓存(TTL、LRU)不同,Mnemex 会持续为记忆评分,将近期性(指数衰减)、频率(次线性使用次数)和重要性(可调整强度)结合起来。数学公式请参阅核心算法。这使记忆动态与人类认知高度相似。

2. 智能提示词系统 + 自然语言激活(v0.6.0+)

让 AI 助手自然使用记忆的模式,现已增强自动实体提取和重要性评分功能:

自动增强(v0.6.0 新增)

保存记忆时,CortexGraph 会自动:

  • 使用 spaCy NER 提取实体(人物、技术、组织)
  • 根据内容标记计算重要性/强度
  • 从自然语言短语中检测保存/回忆意图
# Before v0.6.0 - manual entity specification
save_memory(content="Use JWT for auth", entities=["JWT", "auth"])

# v0.6.0+ - automatic extraction
save_memory(content="Use JWT for auth")
# Entities auto-extracted: ["jwt", "auth"]
# Strength auto-calculated based on content

自动保存

User: "Remember: I prefer TypeScript over JavaScript"
→ Detected save phrase: "Remember"
→ Automatically saved with:
   - Entities: [typescript, javascript]
   - Strength: 1.5 (importance marker detected)
   - Tags: [preferences, programming]

自动回忆

User: "What did I say about TypeScript?"
→ Detected recall phrase: "what did I say about"
→ Automatically searches for TypeScript memories
→ Retrieves preferences and conventions

自动强化

User: "Yes, still using TypeScript"
→ Memory strength increased, decay slowed

决策支持工具(v0.6.0+)

两个新工具可帮助 Claude 决定何时保存/回忆:

  • analyze_message - 检测值得记忆的内容,并建议实体和强度
  • analyze_for_recall - 检测回忆意图,并建议搜索查询

无需显式的记忆命令——只需自然对话。

3. 自然间隔重复

灵感来自概念在不同情境中自然得到强化的方式(即“马斯洛效应”——当马斯洛需求层次理论出现在历史学、经济学和社会学课程中时,人们会记得更牢)。

无需抽认卡。无需专门的复习环节。只需自然对话。

工作原理:

  1. 复习优先级计算 - “危险区”(衰减分数为 0.15-0.35)中的记忆优先级最高
  2. 跨领域检测 - 检测记忆是否在不同情境中使用(标签 Jaccard 相似度 <30%)
  3. 自动强化 - 记忆在使用时自然增强,尤其是在跨领域使用时
  4. 混合搜索 - 复习候选项占搜索结果的 30%(可配置)

使用模式:

User: "Can you help with authentication in my API?"
→ System searches, retrieves JWT preference memory
→ System uses memory to answer question
→ System calls observe_memory_usage with context tags [api, auth, backend]
→ Cross-domain usage detected (original tags: [security, jwt, preferences])
→ Memory automatically reinforced, strength boosted
→ Next search naturally surfaces memories needing review

配置:

CORTEXGRAPH_REVIEW_BLEND_RATIO=0.3           # 30% review candidates in search
CORTEXGRAPH_REVIEW_DANGER_ZONE_MIN=0.15      # Lower bound of danger zone
CORTEXGRAPH_REVIEW_DANGER_ZONE_MAX=0.35      # Upper bound of danger zone
CORTEXGRAPH_AUTO_REINFORCE=true              # Auto-reinforce on observe

请参阅 docs/prompts/,了解可启用自然记忆使用的 LLM 系统提示词模板。

4. 双层架构
graph TD
    STM["<b>Short-Term Memory</b><br/>- JSONL storage<br/>- Temporal decay<br/>- Hours to weeks retention"]
    LTM["<b>LTM (Long-Term Memory)</b><br/>- Markdown files Obsidian<br/>- Permanent storage<br/>- Git version control"]
    
    STM -->|Automatic promotion| LTM
    
    style STM fill:#e1f5ff,stroke:#01579b,stroke-width:2px
    style LTM fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
5. 多 Agent 整合流水线

通过五个专用 Agent 自动维护记忆:

graph LR
    decay["<b>DecayAnalyzer</b><br/>Find at-risk<br/>memories"]
    cluster["<b>ClusterDetector</b><br/>Find similar<br/>groups"]
    merge["<b>SemanticMerge</b><br/>Combine<br/>similar groups"]
    promote["<b>LTMPromoter</b><br/>Promote<br/>to LTM"]
    relations["<b>RelationshipDiscovery</b><br/>Discover cross-<br/>domain links"]
    
    decay --> cluster
    cluster --> merge
    merge --> promote
    promote --> relations
    relations -.->|feedback| decay
    
    style decay fill:#ffebee,stroke:#b71c1c,stroke-width:2px
    style cluster fill:#fff3e0,stroke:#e65100,stroke-width:2px
    style merge fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
    style promote fill:#e8f5e9,stroke:#1b5e20,stroke-width:2px
    style relations fill:#e1f5fe,stroke:#01579b,stroke-width:2px

五个 Agent:

Agent用途
DecayAnalyzer找出有遗忘风险的记忆(危险区:0.15-0.35)
ClusterDetector使用嵌入相似度对相似记忆进行分组
SemanticMerge智能合并聚类后的记忆,同时保留独特信息
LTMPromoter将高价值记忆移至永久 Obsidian 存储
RelationshipDiscovery通过共享实体发现跨领域关联

主要功能:

  • 试运行模式:预览更改而不修改数据
  • 速率限制:可配置每分钟的操作次数(默认:60)
  • 审计记录:通过 beads 问题跟踪记录每项决策
  • 人工覆盖:执行前审核并批准决策

用法:

from cortexgraph.agents import Scheduler

# Preview what would change (dry run)
scheduler = Scheduler(dry_run=True)
preview = scheduler.run_pipeline()

# Run full pipeline
scheduler = Scheduler(dry_run=False)
results = scheduler.run_pipeline()

# Run single agent
decay_results = scheduler.run_agent("decay")

CLI:

# Dry run (preview)
cortexgraph-consolidate --dry-run

# Run specific agent
cortexgraph-consolidate --agent decay --dry-run

# Scheduled execution (with interval)
cortexgraph-consolidate --scheduled --interval-hours 1

请参阅 docs/agents.md,了解完整文档,包括配置、beads 集成和故障排除。

快速开始

安装

推荐:UV Tool Install(来自 PyPI)

# Install from PyPI (recommended - fast, isolated, includes all 7 CLI commands)
uv tool install cortexgraph

这会在隔离环境中安装 cortexgraph 和全部 7 个 CLI 命令。

其他安装方法

# Using pipx (similar isolation to uv)
pipx install cortexgraph

# Using pip (traditional, installs in current environment)
pip install cortexgraph

# From GitHub (latest development version)
uv tool install git+https://github.com/simplemindedbot/cortexgraph.git

用于开发(可编辑安装)

# Clone and install in editable mode
git clone https://github.com/simplemindedbot/cortexgraph.git
cd cortexgraph
uv pip install -e ".[dev]"
配置

重要:配置位置取决于安装方法:

方法 1:.env 文件(适用于所有安装方法)

创建 ~/.config/cortexgraph/.env:

# Create config directory
mkdir -p ~/.config/cortexgraph

# Option A: Copy from cloned repo
cp .env.example ~/.config/cortexgraph/.env

# Option B: Download directly
curl -o ~/.config/cortexgraph/.env https://raw.githubusercontent.com/simplemindedbot/cortexgraph/main/.env.example

使用你的设置编辑 ~/.config/cortexgraph/.env:

# Storage
CORTEXGRAPH_STORAGE_PATH=~/.config/cortexgraph/jsonl

# Decay model (power_law | exponential | two_component)
CORTEXGRAPH_DECAY_MODEL=power_law

# Power-law parameters (default model)
CORTEXGRAPH_PL_ALPHA=1.1
CORTEXGRAPH_PL_HALFLIFE_DAYS=3.0

# Exponential (if selected)
# CORTEXGRAPH_DECAY_LAMBDA=2.673e-6  # 3-day half-life

# Two-component (if selected)
# CORTEXGRAPH_TC_LAMBDA_FAST=1.603e-5  # ~12h
# CORTEXGRAPH_TC_LAMBDA_SLOW=1.147e-6  # ~7d
# CORTEXGRAPH_TC_WEIGHT_FAST=0.7

# Common parameters
CORTEXGRAPH_DECAY_LAMBDA=2.673e-6
CORTEXGRAPH_DECAY_BETA=0.6

# Thresholds
CORTEXGRAPH_FORGET_THRESHOLD=0.05
CORTEXGRAPH_PROMOTE_THRESHOLD=0.65

# Long-term memory (optional)
LTM_VAULT_PATH=~/Documents/Obsidian/Vault

cortexgraph 查找 .env 文件的位置:

  1. 主要位置:~/.config/cortexgraph/.env ← uv tool install / uvx 请使用此位置
  2. 备用位置:./.env(当前目录)← 仅适用于可编辑安装
MCP 配置

推荐:使用绝对路径(适用于所有环境)

添加到 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "cortexgraph": {
      "command": "/Users/yourusername/.local/bin/cortexgraph"
    }
  }
}

查找你的实际路径:

which cortexgraph
# Example output: /Users/yourusername/.local/bin/cortexgraph

在配置中使用该路径。将 yourusername 替换为你的实际用户名。

为什么使用绝对路径? Claude Desktop 等 GUI 应用不会继承 shell 的 PATH 配置(.zshrc、.bashrc)。使用完整路径可确保始终正常运行。

用于开发(可编辑安装):

{
  "mcpServers": {
    "cortexgraph": {
      "command": "uv",
      "args": ["--directory", "/path/to/cortexgraph", "run", "cortexgraph"],
      "env": {"PYTHONPATH": "/path/to/cortexgraph/src"}
    }
  }
}

配置可从项目目录中的 ./.env 或 ~/.config/cortexgraph/.env 加载。

故障排除:找不到命令

如果 Claude Desktop 显示 spawn cortexgraph ENOENT 错误,说明 Claude Desktop 的 PATH 中没有 cortexgraph 命令。

macOS/Linux:GUI 应用不会继承 shell PATH

macOS 和 Linux 上的 GUI 应用看不到 shell 的 PATH 配置(.zshrc、.bashrc 等)。Claude Desktop 只会搜索:

  • /usr/local/bin
  • /opt/homebrew/bin(macOS)
  • /usr/bin
  • /bin
  • /usr/sbin
  • /sbin

如果 uv tool install 将 cortexgraph 安装到了 ~/.local/bin/ 或其他自定义位置,Claude Desktop 就无法找到它。

解决方案:使用绝对路径

# Find where cortexgraph is installed
which cortexgraph
# Example output: /Users/username/.local/bin/cortexgraph

使用绝对路径更新你的 Claude 配置:

{
  "mcpServers": {
    "cortexgraph": {
      "command": "/Users/username/.local/bin/cortexgraph"
    }
  }
}

将 /Users/username/.local/bin/cortexgraph 替换为 which cortexgraph 显示的实际路径。

维护

使用维护 CLI 检查并压缩 JSONL 存储:

# Show storage stats (active counts, file sizes, compaction hints)
cortexgraph-maintenance stats

# Compact JSONL (rewrite without tombstones/duplicates)
cortexgraph-maintenance compact
迁移到 UV Tool Install

如果你目前使用可编辑安装(uv pip install -e .),可以切换到更简单的 UV tool install:

# 1. Uninstall editable version
uv pip uninstall cortexgraph

# 2. Install as UV tool
uv tool install git+https://github.com/simplemindedbot/cortexgraph.git

# 3. Update Claude Desktop config to just:
#    {"command": "cortexgraph"}
#    Remove the --directory, run, and PYTHONPATH settings

你的数据是安全的! 这只会改变命令的安装方式。~/.config/cortexgraph/ 中的记忆不会受到影响。

CLI 命令

该服务包含 7 个命令行工具:

cortexgraph                  # Run MCP server
cortexgraph-migrate          # Migrate from old STM setup
cortexgraph-index-ltm        # Index Obsidian vault
cortexgraph-backup           # Git backup operations
cortexgraph-vault            # Vault markdown operations
cortexgraph-search           # Unified STM+LTM search
cortexgraph-maintenance      # JSONL storage stats and compaction

可视化

使用 PyVis 进行交互式图可视化:

# Install visualization dependencies
pip install "cortexgraph[visualization]"
# or with uv
uv pip install "cortexgraph[visualization]"

# Or install dependencies manually
pip install pyvis networkx

# Generate interactive HTML visualization
python scripts/visualize_graph.py

# Custom output location
python scripts/visualize_graph.py --output ~/Desktop/memory_graph.html

# Custom data paths
python scripts/visualize_graph.py --memories ~/data/memories.jsonl --relations ~/data/relations.jsonl

功能:

  • 支持平移和缩放的交互式网络图
  • 根据状态显示节点颜色(活跃=蓝色,已提升=绿色,已归档=灰色)
  • 根据使用次数确定节点大小
  • 根据关系类型显示边的颜色
  • 悬停提示显示完整内容、标签和实体
  • 可调整布局的物理控制项

可视化会直接读取 JSONL 文件,并生成一个可在任意浏览器中打开的独立 HTML 文件。

MCP 工具

用于帮助 AI 助手管理记忆的 13 个工具:

工具用途
save_memory使用标签和实体保存新记忆(v0.6.0+ 中自动丰富信息)
search_memory使用筛选条件和评分进行搜索(包含待审核候选项)
search_unified跨 STM + LTM 统一搜索
touch_memory强化记忆(提升强度)
observe_memory_usage记录记忆使用情况,以实现自然的间隔重复
analyze_message✨ 全新 v0.6.0 - 检测值得记忆的内容,并建议实体/强度
analyze_for_recall✨ 全新 v0.6.0 - 检测回忆意图,并建议搜索查询
gc清理低评分记忆
promote_memory移至长期存储
cluster_memories查找相似记忆
consolidate_memories合并相似记忆(算法方式)
read_graph获取整个知识图谱
open_memories获取指定记忆
create_relation显式关联记忆
示例:统一搜索

使用 CLI 跨 STM 和 LTM 进行搜索:

cortexgraph-search "typescript preferences" --tags preferences --limit 5 --verbose
示例:强化(触碰)记忆

提高记忆的新近度/使用次数,以减缓衰减:

{
  "memory_id": "mem-123",
  "boost_strength": true
}

示例响应:

{
  "success": true,
  "memory_id": "mem-123",
  "old_score": 0.41,
  "new_score": 0.78,
  "use_count": 5,
  "strength": 1.1
}
示例:提升记忆

建议并将高价值记忆提升至 Obsidian 保管库。

自动检测(试运行):

{
  "auto_detect": true,
  "dry_run": true
}

提升指定记忆:

{
  "memory_id": "mem-123",
  "dry_run": false,
  "target": "obsidian"
}

作为 MCP 工具(请求正文):

{
  "query": "typescript preferences",
  "tags": ["preferences"],
  "limit": 5,
  "verbose": true
}
示例:整合相似记忆

查找并合并重复或高度相似的记忆,以减少杂乱:

自动检测候选项(预览):

{
  "auto_detect": true,
  "mode": "preview",
  "cohesion_threshold": 0.75
}

对检测到的集群执行整合:

{
  "auto_detect": true,
  "mode": "apply",
  "cohesion_threshold": 0.80
}

该工具将:

  • 智能合并内容(保留独特信息)
  • 合并标签和实体(取并集)
  • 根据集群凝聚度计算强度
  • 保留最早的 created_at 和最新的 last_used 时间戳
  • 创建跟踪关系,展示整合历史

数学细节

衰减曲线

对于 $n_{\text{use}}=1$、$s=1.0$ 且 $\lambda = 2.673 \times 10^{-6}$(3 天半衰期)的记忆:

时间分数状态
0 小时1.000新鲜
12 小时0.917活跃
1 天0.841活跃
3 天0.500半衰期
7 天0.210衰减中
14 天0.044接近遗忘
30 天0.001已遗忘
使用次数的影响

当 $\beta = 0.6$(次线性加权)时:

使用次数增益因子
11.0×
52.6×
104.0×
5011.4×

频繁访问可显著延长记忆保留时间。

文档

使用场景

个人助手(均衡)
  • 3 天半衰期
  • 记住偏好和决策
  • 自动提升经常被引用的信息
开发环境(激进)
  • 半衰期为 1 天
  • 快速切换上下文
  • 激进地遗忘旧上下文
研究 / 归档(保守)
  • 半衰期为 14 天
  • 长期保留
  • 全面保存知识

许可证

AGPL-3.0 许可证 - 详情请参阅 LICENSE。

本项目采用 GNU Affero 通用公共许可证 v3.0,该许可证要求:将本软件用于提供网络服务时,必须以源代码形式提供对本软件所作的修改。

相关项目

  • Model Context Protocol - MCP 规范
  • 艾宾浩斯遗忘曲线 - 认知科学基础
  • Basic Memory - 集成层的主要灵感来源。CortexGraph 在此概念上扩展,加入了艾宾浩斯遗忘曲线、时间衰减算法、以 JSONL 存储的短期记忆,以及自然间隔重复。
  • 其他研究灵感来源:mem0、Neo4j Graph Memory

引用

如果你在研究中使用了本项目,请引用:

@software{cortexgraph_2025,
  title = {Mnemex: Temporal Memory for AI},
  author = {simplemindedbot},
  year = {2025},
  url = {https://github.com/simplemindedbot/cortexgraph},
  version = {0.5.3}
}

贡献

欢迎贡献!详细说明请参阅 CONTRIBUTING.md。

🚨 需要帮助:Windows 和 Linux 测试人员!

我在 macOS 上进行开发,需要帮助在 Windows 和 Linux 上测试。如果你可以使用这些平台,请:

  • 尝试安装说明
  • 运行测试套件
  • 报告哪些内容可用、哪些不可用

详情请参阅 CONTRIBUTING.md 中的需要帮助部分。

常规贡献

所有贡献者请参阅 CONTRIBUTING.md,了解:

  • 特定平台的设置(Windows、Linux、macOS)
  • 开发工作流
  • 测试指南
  • 代码风格要求
  • 拉取请求流程

快速开始:

  1. 阅读 CONTRIBUTING.md 了解特定平台的设置
  2. 了解架构文档
  3. 查看评分算法
  4. 遵循现有代码模式
  5. 为新功能添加测试
  6. 更新文档

状态

版本: 1.0.0 状态: 研究实现版——功能可用,仍在持续演进

阶段 1(已完成)✅
  • 14 个 MCP 工具
  • 时间衰减算法
  • 知识图谱
阶段 2(已完成)✅
  • JSONL 存储
  • LTM 索引
  • Git 集成
  • 智能提示词文档
  • 维护 CLI
  • 记忆整合(算法式合并)
阶段 3(已完成)✅
  • 多 Agent 整合流水线
    • DecayAnalyzer、ClusterDetector、SemanticMerge、LTMPromoter、RelationshipDiscovery
    • 用于编排的调度器
    • Beads 问题跟踪集成
    • 支持试运行和速率限制
  • 自然语言激活(v0.6.0+)
  • 实体提取自动增强
未来工作
  • 自适应衰减参数
  • 性能基准测试
  • 大模型辅助整合(可选增强)

使用以下工具构建: Claude Code 🤖

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。