Token导航 LogoToken导航TokenDH.com
codemem (Cogniplex) logo
数据服务未说明官方级别未说明来源级核验

codemem (Cogniplex)

MCP Server

Codemem是一个独立的Rust内存引擎,为AI编程助手提供持久化、可查询的知识图谱,帮助助手在跨会话时保持上下文记忆。

工具数

32

提示词数

0

GitHub Stars

11

资源数

0
知识图谱代码分析RustClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

cogniplex

提供方

cogniplex

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Codemem

![CI](https://github.com/cogniplex/codemem/actions/workflows/ci.yml) ![codecov](https://codecov.io/gh/cogniplex/codemem) ![Crates.io](https://crates.io/crates/codemem) ![License: Apache 2.0](LICENSE)

用于AI编码助手的独立Rust内存引擎。单二进制,零运行时间依赖。

Codemem存储您的AI助手发现的内容——读取的文件、搜索的符号、进行的编辑——因此存储库不需要在会话之间重新探索。可选择通过以下方式用编译器级交叉引用丰富图形 竞争情报从业者协会 索引器。

______________________________________________________________________

问题

你的人工智能助手探索50个文件,跟踪调用链,做出架构决策——然后会话结束。下次会议?一切从头开始。每一个。单身。时间。

更糟糕的是:它编辑 UserService.validate() 而不知道47个下游函数依赖于该返回类型。它重构了一个模块,但不知道为什么选择了之前的方法。

助理需要的是知识图谱,而不是更多的文本。

Codemem做什么

Codemem构建了一个持久的、可查询的代码库知识图,以及你的助手与它的交互。提交成为节点。符号具有键入的边。决策留下痕迹。你的助手会在它停止的地方继续。

# One command. That's it.
cd your-project && codemem init

从那时起,Codemem会默默地捕获上下文,在会话开始时注入先验知识,并为您的助手提供32个MCP工具,包括时间查询、差异审查和爆炸半径分析。

______________________________________________________________________

快速开始

安装

# Shell (macOS/Linux)
curl -fsSL https://raw.githubusercontent.com/cogniplex/codemem/main/install.sh | sh

# Homebrew
brew install cogniplex/tap/codemem

# Cargo
cargo install codemem

或者从以下网址下载预构建的二进制文件 发布.

平台架构二进制
macOSARM64(苹果硅)codemem-macos-arm64.tar.gz
Linuxx86_64codemem-linux-amd64.tar.gz
LinuxARM64codemem-linux-arm64.tar.gz

初始化

cd your-project
codemem init

下载本地嵌入模型(约440MB,一次性),注册生命周期挂钩,并为您的AI助手配置MCP服务器。自动检测克劳德代码、光标和风帆。

就这样

Codemem现在可以自动捕获上下文,在会话开始时注入先验知识,并为您的助手提供32个MCP工具。

映射您的代码库(可选)

运行完整的分析管道——使用树形图对代码库进行索引,使用SCIP交叉引用(如果安装了索引器)丰富图形,计算PageRank,并检测架构集群:

codemem analyze

然后启动代码映射器代理进行深入的、代理驱动的分析——它产生了一个专门的代理团队,可以遍历知识图、发现模式并存储架构见解:

claude --agent code-mapper

索引和丰富管道 对于引擎盖下发生的事情。

SCIP浓缩(可选,推荐)

竞争情报从业者协会 (源代码智能协议)提供codemem编译器级的交叉引用——代码库中的每个调用、导入、类型引用和重写,都没有误报。 codemem analyze 自动检测已安装的索引器并自动运行它们。

为您的语言安装索引器:

语言索引器安装
锈蚀锈蚀分析仪rustup component add rust-analyzer
TypeScript/JavaScriptscip类型脚本npm install -g @sourcegraph/scip-typescript
Pythonscip-Pythonnpm install -g @sourcegraph/scip-python
去吧go install github.com/sourcegraph/scip-go/cmd/scip-go@latest
Java/Kotlinscip-Javascip java发布
C#scipdotnet tool install --global scip-dotnet
红宝石scip-Rubygem install scip-ruby

Codemem从清单文件中检测语言(Cargo.toml, package.json, pyproject.toml, go.mod等等)并检查相应索引器的PATH。如果找到,SCIP边将与ast-grep模式边融合——当两个源在同一条边上一致时,它们的置信度得分相加(0.10+0.15=0.25),产生更高保真的图连接。

通过配置 ~/.codemem/config.toml:

[scip]
enabled = true                    # Master switch (default: true)
auto_detect_indexers = true       # Check PATH for available indexers
cache_index = true                # Cache .scip files between runs
cache_ttl_hours = 24              # Re-index if cache older than this
create_external_nodes = true      # Create ext: nodes for dependency symbols
store_docs_as_memories = true     # Attach hover docs as memories
hierarchical_containment = true   # Build nested containment tree
collapse_intra_class_edges = true # Fold intra-class calls into parent metadata

[scip.fan_out_limits]
module = 200     # Modules can be widely imported
class = 50       # Classes referenced moderately
function = 30    # Functions and methods less so
method = 30

# Override auto-detected indexer commands per language:
# [scip.indexers]
# rust = "rust-analyzer scip ."
# typescript = "scip-typescript index --infer-tsconfig"

没有安装SCIP索引器?没问题,codemem没有它也能正常工作。你只会得到ast-grep模式边(置信度0.10),而不是编译器级边。

______________________________________________________________________

所得

在你改变之前知道什么会破裂

用管子穿过差速器 codemem review 在合并之前,进行完整的爆炸半径分析——将更改的符号映射到直接和传递的依赖项、风险评分以及可能遗漏的更改。

git diff main..HEAD | codemem review --format text
Risk Score: 7.2 (high)
Changed Symbols: 3
  sym:AuthService::validate  (PageRank: 0.032)
  sym:AuthService::refresh   (PageRank: 0.018)
  sym:TokenStore::revoke     (PageRank: 0.011)
Direct Dependents: 12
Transitive Dependents: 47
Potentially Missing Changes:
  sym:SessionMiddleware::check — calls validate(), may need update

也可作为 review_diff MCP工具,供助手使用。

穿越时空

每个提交都会成为图中的一个节点。询问发生了什么变化,何时发生,以及发生了什么漂移:

# "What changed in the last two weeks?"
# → MCP tool: what_changed(from, to)

# "Show me the graph as it was on March 1st"
# → MCP tool: graph_at_time(at)

# "Which high-centrality files haven't been touched in 90 days?"
# → MCP tool: find_stale_files(stale_days=90)

# "Detect architectural drift between Q1 and Q2"
# → MCP tool: detect_drift(from, to)

# "What's the commit history for this function?"
# → MCP tool: symbol_history(node_id)

5个临时MCP工具为您的助手提供了跨代码库的全时旅行能力,包括图形快照、过时文件检测和架构漂移分析。

跨会话智能

你的助手会从中断的地方继续。决策、模式和见解在9个组成部分混合评分的会话中持续存在:

组件重量测量内容
向量相似度25%与查询的语义接近度
图强度20%PageRank+介数+度+聚类加成
BM25标记重叠15%与代码感知标记器进行关键字匹配
范围上下文10%分行/回购/用户意识
时态10%与查询上下文的时态对齐
重要性10%存储的重要性得分
置信度10%边缘置信度和来源可靠性
标签匹配5%查询派生标签与内存标签
时效性5%最近访问的内存提升

重量可通过以下方式配置 codemem config set scoring. .

跨服务API检测

Codemem解析OpenAPI/Swagger规范、AsyncAPI规范,并检测事件驱动模式(Kafka、RabbitMQ、Redis、SQS、SNS、NATS)以构建跨服务边缘:

  • HttpCalls --服务之间的REST调用
  • PublishesTo --事件发布关系
  • SubscribesTo --事件订阅关系

过期的记忆

会话范围的内存和过时的富集会自动过期。在任何内存上设置TTL:

{
  "name": "store_memory",
  "arguments": {
    "content": "Temporary note: API key rotates Friday",
    "ttl_hours": 72
  }
}

在中配置默认值 ~/.codemem/config.toml:

[memory]
default_session_ttl_hours = 168          # 7 days for session memories
expire_enrichments_on_reindex = true     # Auto-expire stale analysis

可插拔的一切

嵌入提供者 --完全离线运行或使用任何API:

# Local (default, no API key needed)
export CODEMEM_EMBED_PROVIDER=candle

# Ollama (local server)
export CODEMEM_EMBED_PROVIDER=ollama

# OpenAI-compatible (Voyage AI, Together, Azure, etc.)
export CODEMEM_EMBED_PROVIDER=openai
export CODEMEM_EMBED_URL=https://api.voyageai.com/v1
export CODEMEM_EMBED_MODEL=voyage-3
export CODEMEM_EMBED_API_KEY=pa-...

# Google Gemini
export CODEMEM_EMBED_PROVIDER=gemini
export CODEMEM_EMBED_API_KEY=AIza...

与Ollama一起跑步(例如。 nomic-embed-textmxbai-embed-large)比内置的Candle模型快得多,同时仍然保持一切本地化。

可配置的模型、精度和批量:

[embedding]
provider = "candle"
model = "BAAI/bge-base-en-v1.5"    # Any HuggingFace BERT model
dtype = "f16"                       # f32, f16, bf16 — half precision halves memory
batch_size = 16                     # Tune for GPU memory / throughput
dimensions = 768                    # Auto-detected for Candle
cache_capacity = 10000              # LRU embedding cache

存储后端 --当前为SQLite(本地),具备Postgres+pgvector和远程图后端的trait对象抽象:

[storage]
backend = "sqlite"       # or "postgres" (future)

[vector]
backend = "hnsw"         # or "pgvector", "qdrant" (future)

[graph]
backend = "inmemory"     # or "neo4j", "postgres" (future)

______________________________________________________________________

主要特点

  • 图向量混合架构 --HNSW向量搜索(768 dim)+图谱知识图(PageRank、Louvain社区检测、介数中心性、BFS/DFS、SCC、拓扑排序等)
  • 时间图层 --将提交和PR作为图节点、Modified By边、, valid_from/valid_to 所有节点上的时间戳。5个时态查询工具:what_changed、graph_at_time、find_stale_files、detect_drift、symbol_history
  • 差异感知代码审查 --将更改后的线条映射为图形符号,使用风险评分、表面相关记忆和潜在的缺失变化计算多跳爆炸半径。可用作CLI(codemem review)MCP工具(review_diff)
  • 范围上下文 --Repo/branch/用户感知内存作用域。特征分支与基础分支的叠加分辨率。标记为的内存和图形数据 repogit_ref 用于团队就绪过滤
  • SCIP集成 --编译器级交叉引用 竞争情报从业者协会 索引器(锈分析器、scip typescript、scip-python、scip-go、scip-java等)。使用ast-grep进行多层边缘融合:当两个来源一致时,置信度得分相加。自动检测已安装的索引器,缓存结果,并在重新索引时清理过时的节点
  • 跨服务API检测 --解析OpenAPI/Swagger、AsyncAPI规范和事件框架(Kafka、RabbitMQ、Redis、SQS、SNS、NATS)。在服务之间创建HttpCalls、PublishesTo、SubscribeTo边
  • 32个MCP工具 --内存CRUD、自编辑(精化/拆分/合并)、图遍历、代码搜索、时态查询、差异审查、整合、影响分析、会话上下文、JSON-RPC上的模式检测
  • 9个生命周期挂钩 --自动上下文注入(SessionStart)、提示捕获(UserPromptSubmit)、观察捕获(PostToolUse)、错误跟踪(PostToolUseFailure)、会话摘要(Stop)、子代理捕获(SubagentStart/Stop)、清除关闭(SessionEnd)和预压缩检查点(PreCompact)
  • 9组分混合评分 --向量相似性、图强度、BM25标记重叠、范围上下文、时间对齐、标签匹配、重要性、置信度和新近度
  • 内存过期 --可选TTL内存,具有机会清理功能。会话记忆自动过期(可配置)。文件重新索引时过期的内容丰富
  • 代码感知索引 --使用清单解析(Cargo.toml、package.json、Go.mod、pyproject.toml)对14种语言(Rust、Types/JS/JSX、Python、Go、C/C++、Java、Ruby、C#、Kotlin、Swift、PHP、Scala、HCL/Terraform)进行树型结构提取
  • 上下文嵌入 --嵌入前丰富元数据和图形上下文,以提高召回率
  • 可插拔嵌入件 --Candle(本地BERT,默认)、Ollama、OpenAI兼容API或Google Gemini。可配置的模型、数据类型(f32/f16/bf16)和批量
  • 跨会话情报 --模式检测、文件热点跟踪、决策链和会话连续性
  • 记忆巩固 --5个受神经科学启发的循环:衰变(幂律)、创造性/REM(语义KNN)、聚类(余弦+联合发现)、总结(LLM驱动)、遗忘
  • 自编辑存储器 --通过时间图边缘进行完全来源跟踪,优化、分割和合并内存
  • 可插拔存储后端 --向量(VectorBackend)、图(GraphBackend)和存储(StorageBackend)的特征对象抽象。SQLite+usearch+petgraph今天,准备好用于Postgres+pgvector+Neo4j
  • 运营指标 --每个工具的延迟百分比(p50/p95/p99)、调用计数器和仪表 codemem_status 工具
  • 实时文件查看 --基于通知的监视器,具有\|SessionStart hook| B[codemem mcp context]

A -->|PostToolUse hooks| C[codemem mcp ingest] A -->|Stop hook| E[codemem mcp summarize] A -->|MCP tools| D[codemem mcp serve] B -->|Inject context| A C --> F[Storage + Vector + Graph] D --> F F -->|Recall| A


1. **被动捕捉** 你的人工智能通过9个生命周期钩子读取、搜索和编辑什么
1. **积极回忆** 通过9分量混合评分的MCP工具获取相关上下文
1. **注入上下文** 在会话开始时,让你的助手从中断的地方继续
1. **评论差异** 用于合并前的爆炸半径,具有风险评分和缺失变化检测功能
1. **追踪时间** --每个提交都变成了一个图节点,实现了时间查询和漂移检测

## MCP工具

按类别组织的32种工具。看 [MCP工具参考](docs/mcp-tools.md) 获取完整的API文档。

|类别|工具|
|----------|-------|
|内存CRUD(7)| `store_memory`, `recall`, `delete_memory`, `associate_memories`, `refine_memory`, `split_memory`, `merge_memories` |
|图形与结构(9)| `graph_traverse`, `summary_tree`, `codemem_status`, `search_code`, `get_symbol_info`, `get_symbol_graph`, `find_important_nodes`, `find_related_groups`, `get_cross_repo` |
|节点分析(2)| `get_node_memories`, `node_coverage` |
|整合与模式(3)| `consolidate`, `detect_patterns`, `get_decision_chain` |
|命名空间(3)| `list_namespaces`, `namespace_stats`, `delete_namespace` |
|会话和上下文(2)| `session_checkpoint`, `session_context` |
|代码审查(1)| `review_diff` |
|时态查询(5)| `what_changed`, `graph_at_time`, `find_stale_files`, `detect_drift`, `symbol_history` |

## 命令行界面

codemem init # Initialize project (model + hooks + MCP) codemem search # Search memories codemem stats # Database statistics codemem ui # Open control plane UI (REST API + embedded React frontend) codemem analyze # Full pipeline: index + SCIP + enrich + PageRank + clusters codemem review # Diff-aware blast radius analysis (reads diff from stdin) codemem consolidate # Run consolidation cycles codemem export/import # Backup and restore (JSONL, JSON, CSV, Markdown) codemem sessions # Session management (list, start, end) codemem doctor # Health checks on installation codemem config # Get/set configuration values codemem migrate # Run pending schema migrations codemem mcp serve # Start MCP server (JSON-RPC stdio, or --http for HTTP) codemem mcp ingest # Process hook payload from stdin codemem mcp context # SessionStart hook (+ 7 more lifecycle hooks)


看 [CLI 参考](docs/cli-reference.md) 完全使用。

## 配置

### 观察压迫

在存储之前,可以选择通过LLM压缩原始工具观测值:

export CODEMEM_COMPRESS_PROVIDER=ollama # or openai, anthropic


### 持久配置

评分权重、向量/图调整、嵌入提供程序、内存过期和存储设置将保留在 `~/.codemem/config.toml`部分配置与默认值合并。

## 演出

|操作|目标|
|-----------|--------|
|HNSW搜索k=10(100K向量)|\
Papers

|论文|地点|主要贡献|
|-------|-------|-----------------|
| [HippoRAG](https://arxiv.org/abs/2405.14831) |NeurIPS 2024 |使用LLMs+知识图+个性化PageRank的神经生物学启发的长期记忆。多跳QA提高了20%|
| [从RAG到记忆](https://arxiv.org/abs/2502.14802) |ICML 2025 | LLM的非参数连续学习(HippoRAG 2)。联想记忆任务提高7%。 |
| [A-MEM](https://arxiv.org/abs/2502.12110) |2025 | Zettelkasten通过动态索引、链接和记忆进化激发了主体记忆。 |
| [MemGPT](https://arxiv.org/abs/2310.08560) |ICLR 2024 |受操作系统启发的LLM分层内存层——通过函数调用的自编辑内存。 |
| [旋律](https://arxiv.org/abs/2410.03156) |谷歌DeepMind 2024 |分层短期+长期记忆压缩。内存占用减少8倍。 |
| [ReadAgent](https://arxiv.org/abs/2402.09727) |谷歌DeepMind 2024 |人类启发的阅读代理,具有20倍上下文扩展的情节要点记忆。 |
| [机车移动](https://arxiv.org/abs/2402.17753) |ACL 2024 |评估非常长期会话记忆(300回合,9K令牌会话)的基准。 |
| [Mem0](https://arxiv.org/abs/2504.19413) |2025 |具有可扩展长期内存的生产就绪AI代理。与OpenAI Memory相比,准确率提高了26%。 |
| [泽普](https://arxiv.org/abs/2501.13956) |2025 |基于双时态数据模型的代理内存时态知识图架构。 |
| [人工智能时代的记忆](https://arxiv.org/abs/2512.13564) |2024年调查|智能体记忆的综合分类:事实记忆、经验记忆、工作记忆。 |
| [AriGraph](https://arxiv.org/abs/2407.04363) |2024 | LLM代理探索知识图中的情景+语义记忆。 |

Blog posts and techniques

- [上下文检索](https://www.anthropic.com/news/contextual-retrieval) (Anthropic,2024)-在嵌入之前预先挂起特定于块的上下文,可以将失败的检索减少49%。Codemem将其作为基于模板的上下文丰富,使用元数据+图关系。
- [上下文嵌入食谱](https://platform.claude.com/cookbook/capabilities-contextual-embeddings-guide) (Anthropic)——带有提示缓存的上下文嵌入实现指南。

Open-source projects

- [自动Mem](https://automem.ai/) --图向量混合存储器在LoCoMo上实现了90.53%。直接启发Codemem的混合评分和整合周期。
- [克劳德·梅](https://github.com/thedotmack/claude-mem) --通过Claude Agent SDK实现持久内存压缩。灵感来自生命周期挂钩和观察压缩。
- [Mem0](https://github.com/mem0ai/mem0) --AI的生产存储层(47K+星)。知情存储器类型设计。
- [Zep/Graphiti](https://github.com/getzep/graphiti) --时态知识图引擎。启发图持久性模型。
- [莱塔](https://github.com/letta-ai/letta) (MemGPT)——具有自编辑记忆的有状态AI代理。
- [标志](https://github.com/topoteretes/cognee) --通过三元组提取实现知识图记忆。
- [克劳德语境](https://github.com/zilliztech/claude-context) --通过MCP进行AST感知代码搜索(由Zilliz提供)。

看 [docs/comparison.md](docs/comparison.md) 以进行详细的功能比较。

## 许可证

[Apache 2.0](LICENSE)

目录标签

目录标签

知识图谱代码分析RustClaude本地部署AI编程助手上下文记忆SCIP集成

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

32

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明api-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP