关于 mnemex
CortexGraph(原名 mnemex)是为 AI 助手提供时间衰减记忆的 MCP 服务。记忆会随时间衰减,并因使用而得到强化,数据以 JSONL 与 Markdown 两层本地存储。项目定位为研究原型,并非面向生产的商业产品。
主要功能
- 01基于时间衰减与使用频率的记忆评分
- 02JSONL 短期记忆与 Markdown 长期记忆两层存储
- 03自动提升与遗忘阈值
- 04实体与关系组成的知识图谱
- 05数据完全保存在本地
适用场景
- 01让 AI 助手记住用户的偏好与决策
- 02研究认知架构中的记忆衰减机制
- 03将长期记忆以 Markdown 形式保存到 Obsidian 库
MCP 相关
以 MCP 服务形式运行,向 AI 助手暴露保存、检索、强化记忆等工具。另提供用于分析消息、判断记忆时机的辅助工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx mnemexMNEMEX_STORAGE_PATHStorage path for short-term memory JSONL filesLTM_VAULT_PATHPath to Obsidian vault for long-term memoryMNEMEX_DECAY_MODELDecay model: power_law (default), exponential, or two_componentMNEMEX_PL_HALFLIFE_DAYSHalf-life in days for power-law decay model本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
CortexGraph:AI 的时间记忆
一个模型上下文协议(MCP)服务,为 AI 助手提供类人记忆动态。记忆会随时间自然淡化,除非通过使用得到强化,这模拟了艾宾浩斯遗忘曲线。
说明
关于名称与版本
该项目最初以 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 助手像人类记忆一样自然地记住事情:
- 🧠 记住重要内容——你的偏好、决定和重要事实
- ⏰ 自然遗忘——陈旧且未使用的信息会随时间淡化(就像艾宾浩斯遗忘曲线)
- 💪 越用越牢——你越频繁地提及某件事,它记住的时间就越长
- 📦 永久保存重要内容——频繁使用的记忆会被提升至长期存储
工作原理(简明版)
- 自然地交流——“我喜欢所有应用都使用深色模式”
- 自动保存记忆——无需特殊命令
- 时间流逝——如果不使用,记忆会逐渐淡化
- 再次提及——“把这个应用设为深色模式”
- 记忆变得更牢固——现在它能保持更久
- 重要记忆会被提升——使用 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)
- JSONL(默认):易读、Git 友好的文件(
-
长期记忆:针对 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. 自然间隔重复
灵感来自概念在不同情境中自然得到强化的方式(即“马斯洛效应”——当马斯洛需求层次理论出现在历史学、经济学和社会学课程中时,人们会记得更牢)。
无需抽认卡。无需专门的复习环节。只需自然对话。
工作原理:
- 复习优先级计算 - “危险区”(衰减分数为 0.15-0.35)中的记忆优先级最高
- 跨领域检测 - 检测记忆是否在不同情境中使用(标签 Jaccard 相似度 <30%)
- 自动强化 - 记忆在使用时自然增强,尤其是在跨领域使用时
- 混合搜索 - 复习候选项占搜索结果的 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 文件的位置:
- 主要位置:
~/.config/cortexgraph/.env←uv tool install/uvx请使用此位置 - 备用位置:
./.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$(次线性加权)时:
| 使用次数 | 增益因子 |
|---|---|
| 1 | 1.0× |
| 5 | 2.6× |
| 10 | 4.0× |
| 50 | 11.4× |
频繁访问可显著延长记忆保留时间。
文档
- MCP 工具参考 - 全面介绍全部 18 个 MCP 工具
- API 快速参考 - 精简的工具签名和使用示例
- 评分算法 - 完整的数学模型和 LaTeX 公式
- 智能提示 - 自然集成大模型的模式
- 架构 - 系统设计和实现
- 多 Agent 系统 - 整合 Agent 和流水线架构
- Bear 集成 - 使用 Bear 应用作为 LTM 存储的指南
- 图谱功能 - 知识图谱的使用方法
使用场景
个人助手(均衡)
- 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)
- 开发工作流
- 测试指南
- 代码风格要求
- 拉取请求流程
快速开始:
- 阅读 CONTRIBUTING.md 了解特定平台的设置
- 了解架构文档
- 查看评分算法
- 遵循现有代码模式
- 为新功能添加测试
- 更新文档
状态
版本: 1.0.0 状态: 研究实现版——功能可用,仍在持续演进
阶段 1(已完成)✅
- 14 个 MCP 工具
- 时间衰减算法
- 知识图谱
阶段 2(已完成)✅
- JSONL 存储
- LTM 索引
- Git 集成
- 智能提示词文档
- 维护 CLI
- 记忆整合(算法式合并)
阶段 3(已完成)✅
- 多 Agent 整合流水线
- DecayAnalyzer、ClusterDetector、SemanticMerge、LTMPromoter、RelationshipDiscovery
- 用于编排的调度器
- Beads 问题跟踪集成
- 支持试运行和速率限制
- 自然语言激活(v0.6.0+)
- 实体提取自动增强
未来工作
- 自适应衰减参数
- 性能基准测试
- 大模型辅助整合(可选增强)
使用以下工具构建: Claude Code 🤖
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。