← 返回列表
需源码安装
你的代理值得拥有结构化记忆。
暂不能直接安装(需源码编译或环境不满足):仓库缺少 package.json,无法用 dsh 插件安装命令安装。 · 最近上游提交 2026/9/18 · 已提供中文文档
为AI编程代理提供的结构化记忆。双时态图,原生支持MCP,零LLM调用。Cursor · Claude Code · Codex · DeepSeek Harness · Hermes · VS Code · Windsurf。
综合分
67.7
GitHub 分
67.7
用户评分
—
★ Stars
472
周下载量
—
兼容 / 相关生态插件(非 dsh 原生,请按其对应运行时安装)
git clone https://github.com/syncable-dev/memtrace-public.git🟢实装验证通过· 2026/9/16
由 dsh-plugin-verify(GitHub Actions)在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查需源码安装
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包memtrace-public(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
仓库缺少 package.json,无法用 dsh 插件安装命令安装
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/16 16:50:57
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
你的代理值得拥有结构化记忆。
Syncable 出品的官方 Memtrace。 请从 memtrace.io/docs 开始。官方软件包是 npm 上的 memtrace,公开仓库是 syncable-dev/memtrace-public。其他同名项目均与此无关。请将 memtrace --version 与 Stable 和 Nightly 发布历史 进行比对。
如需安装支持,请在官方公开仓库中提交 issue,并附上你的操作系统、Memtrace 版本和确切的错误信息。请从共享日志中移除凭据和私有源代码。Syncable 团队负责维护此软件包及其支持渠道。
📖 文档 ·
⭐ 为我们加星 ·
memtrace.io ·
npm ·
Discord
Memtrace 将你的代码库转变为一个实时知识图谱,AI 编程代理可以在毫秒内查询——每一个函数、类、调用边和版本,跨越每一个会话,无需重新读取文件,也不会破坏它们看不见的东西。
让你的整个代理集群在 90 秒内共享结构化记忆。
结构化 · 零 LLM 调用 · 双时态 · 时间旅行查询 · 重放感知 · 零盲目重构
DeepSeek Harness
Memtrace 作为 DeepSeek Harness 插件运行。请先安装 Harness(npm install -g @deepseek-ai/dsh —— 即 dsh 命令),然后添加 Memtrace:
npx -y @deepseek-ai/dsh plugin --profile web add github:syncable-dev/dsh-plugin-memtrace
然后让 agent 索引工作区,并拉取影响范围、演化历史或架构简报。详情见:syncable-dev/dsh-plugin-memtrace。
它能做什么
每个版本,三件事。
🧭 在同一仓库上运行一队编码 agent,而不陷入合并地狱。
每个 agent 读取相同的调用图,看到相同的影响范围,继承相同的时间历史。没有冲突。没有过期的上下文。
🔁 以完整的因果感知重放任何重构。
Agent 能准确看到什么依赖于什么,以及何时发生了变化。不再有“我重构了一个函数,结果 14 个测试挂了,却没人发现。”
⚡ 在 90 秒内索引一个 5 万文件的仓库。
Rust + Tree-sitter,API 成本 $0,支持 20 多种语言以及框架感知扫描器(Vapor、Lapis、Kong、GitHub Actions、Terraform、RLS 策略……),完全本地运行。你的代码永远不会离开你的机器。
🆕 LeanCTX 原生 —— 压缩读取、智能树和值账本。
get_source_window 上新增四种压缩模式、单次调用目录映射、实时 token 节省仪表盘,以及一个可选的、比静态表高出约 14% 的自适应学习器。完整解析:docs/leanctx-native.md。v0.3.57+ 可用。
https://github.com/user-attachments/assets/e7d6a1e9-c912-4e65-a421-bd0256dffa5a
数据
| 操作 | Memtrace | 最佳替代方案 | Δ |
|---|---|---|---|
| 索引 1,500 个文件 | 1.5s · $0 | Mem0: 31 min · $10–50 | 约 1,200× 更快 |
| 精确符号查询(acc@1,延迟) | 96.6% · 0.07 ms | GitNexus: 97.0% · 8.95 ms | 延迟低 128× |
| 图调用者召回率(Django) | 81.6% | GitNexus: 5.3% | 15.4× |
| 增量重建索引 p95 | 42.5 ms | CodeGrapher: 613.7 ms | 14.4× |
| 混合 acc@1(Django,3K 用例) | 73.9% | GitNexus: 38.6% | 1.91× |
| PR 代码审查 F1(50 个 PR) | 0.7268 | Cubic v2: 0.6077 | +19.60% |
| RSS / 进程 | 26 MB | ChromaDB: 1,060 MB | 紧凑 41× |
| 语言 | 16+(Tree-sitter) | 因工具而异 | — |
可复现的基准测试套件:benchmarks/。同一台机器、同一批语料、同一套适配器契约。基准真值来自 Python 的 ast 和 pyright LSP —— 绝不来自任何工具自身的索引。没有任何系统在数据集中享有主场优势。
详细分解:BENCHMARKS-v0.3.22.md · BENCHMARKS-v0.3.29.md · 代码审查器基准测试
GitHub Star 增长
获取访问权限
Memtrace 目前处于私有测试阶段。我们分批开放访问权限,以保持紧密的反馈循环——每一批用户都会进入一个 Discord 频道,我们会在那里根据真实的 bug 报告在一周内发布修复。
→ 在 memtrace.io 加入等待列表。
已经有访问权限了?npm install -g memtrace,90 秒内即可开始索引。完整设置见下文。
🔒 隐私。 Memtrace 完全在你的机器上运行。源代码永远不会离开你的机器。唯一的网络流量是许可证验证、聚合的节点/边计数,以及可选择退出的崩溃遥测——不涉及源代码、不涉及文件路径、不涉及符号名称。完整说明:PRIVACY.md、TELEMETRY.md。使用 MEMTRACE_TELEMETRY=off 禁用遥测。
为什么会有 Memtrace
优秀的代码智能工具已经存在。GitNexus 和 CodeGrapherContext 构建基于 AST 的图,适用于“我的仓库里现在有什么”这类问题。
Memtrace 是一个双时态情景化结构化知识图谱。 它建立在相同的 AST 基础之上,并增加了两个维度:
- 时间记忆——每个符号都携带其完整的版本历史。六种评分算法(影响、新颖性、时近性、方向性、复合、概览)让智能体可以提出不同的时间性问题:“什么发生了变化?”、“什么是意料之外的?”、“什么会出问题?”。
- 跨服务 API 拓扑——Memtrace 映射仓库之间的 HTTP 调用图,检测你的架构中哪些服务调用了哪些端点。
在此基础上,结构化层非常全面:
| | |
|---|---|
| 符号即节点 | 函数、类、接口、类型、端点 |
| 关系即边 | CALLS、IMPLEMENTS、IMPORTS、EXPORTS、CONTAINS |
| 社区检测 | Louvain 算法自动识别架构模块 |
| 混合检索 | Tantivy BM25 + 向量嵌入 + 倒数排名融合 + 交叉编码器重排序 |
| Rust 原生 | 编译后的二进制文件,无 Python/JS 运行时开销,p95 查询延迟低于 8 毫秒 |
智能体不只是搜索你的代码。它会记住它。
Memtrace 与通用记忆系统(Mem0、Graphiti)的对比
Mem0 和 Graphiti 是强大的对话记忆引擎,专为跟踪实体知识而设计(例如 User -> Likes -> Apples)。它们在这方面表现出色。但具体到代码智能,其代价是它们依赖 LLM 推理来构建图谱——这在处理数千个源文件时会增加成本和时间。
Graphiti 通过 add_episode() 处理数据,每个 episode 都会触发多次 LLM 调用——实体抽取、关系解析、去重。以约 50 episodes/分钟的速度(来源),摄取 1,500 个代码文件需要 1–2 小时。
Mem0 通过 client.add() 处理数据,它会为每个记忆项排队执行异步 LLM 抽取和冲突解决(来源)。使用 infer=True(默认值)进行批量摄取意味着每个文件都要经过 LLM 流水线。吞吐量受限于你的 LLM 提供商的速率限制。
两者在处理大型代码库时都会累积 $10–50+ 的 API 成本,因为每个关系都是推断出来的,而不是解析出来的。
Memtrace 采取了不同的方法: 它在 1.2–1.8 秒内索引 1,500 个文件,成本为 $0.00——没有 LLM 调用、没有 API 成本、没有速率限制。原生 Tree-sitter AST 解析器在本地解析确定性的符号引用(CALLS、IMPLEMENTS、IMPORTS)。代价是 Memtrace 专为代码而构建——它不像 Mem0 和 Graphiti 那样处理对话式实体记忆。
25+ 个 MCP 工具
Memtrace 通过 Model Context Protocol 暴露了一套完整的结构化工具包。
搜索与发现
- find_code — 混合 BM25 + 语义 + RRF
- find_symbol — 基于 Levenshtein 的精确 / 模糊匹配
关系
- analyze_relationships — 调用者、被调用者、层级结构、导入
- get_symbol_context — 一次调用获得 360° 视图
影响分析
- get_impact — 带风险评级的影响范围
- detect_changes — diff 到符号的范围映射
代码质量
- find_dead_code — 零调用者检测
- find_most_complex_functions — 复杂度热点
- calculate_cyclomatic_complexity
- get_repository_stats
时序分析
- get_evolution — 6 种评分模式
- get_timeline — 完整版本历史
- detect_changes — 基于 diff 的范围
图算法
- find_bridge_symbols — 介数中心性
- find_central_symbols — PageRank / 度
- list_communities — Louvain 模块
- list_processes / get_process_flow
API 拓扑
- get_api_topology — 跨仓库 HTTP 图
- find_api_endpoints
- find_api_calls
索引与监听
- index_directory — 解析、解析引用、嵌入
- watch_directory — 实时增量
- execute_cypher — 直接图查询
17 个 agent 技能
Memtrace 附带技能/指导,教会 agent 如何使用图谱。它们会根据你的提问自动触发——无需提示工程。
| 技能 | 你说…… |
|---|---|
| memtrace-search | "find this function"、"where is X defined" |
| memtrace-relationships | “谁调用了这个”、“显示类层次结构” |
| memtrace-evolution | “这周改了什么”、“这是如何演变的” |
| memtrace-impact | “如果我改这个会破坏什么”、“影响范围” |
| memtrace-quality | “查找死代码”、“复杂度热点” |
| memtrace-graph | “给我看看架构”、“查找瓶颈” |
| memtrace-api-topology | “列出 API 端点”、“服务依赖关系” |
| memtrace-index | “索引这个项目”、“解析这个代码库” |
| memtrace-cochange | “还有什么会随之改变”、“隐藏耦合” |
外加 8 个工作流技能,它们通过决策逻辑串联多个工具:memtrace-first、codebase-exploration、change-impact-analysis、incident-investigation、refactoring-guide、continuous-memory、episode-replay 和 session-continuity。
时间引擎
六种评分算法,用于回答不同的时间相关问题:
| 模式 | 最适合 |
|---|---|
| compound | 通用型“改了什么?”——影响、新颖度、近期性的加权混合 |
| impact | “什么坏了?”——按影响范围排序(in_degree^0.7 × (1 + out_degree)^0.3) |
| novel | “什么是意料之外的?”——通过意外评分进行异常检测 |
| recent | “事件附近改了什么?”——指数时间衰减 |
| directional | “添加了什么与移除了什么?”——非对称评分 |
| overview | 快速模块级摘要 |
使用 结构显著性预算(Structural Significance Budgeting) 来呈现覆盖总显著性 ≥80% 的最小变更集。
兼容性
| 编辑器 / 代理 | MCP 工具(25+) | 技能 / 指导 | 安装 |
|---|---|---|---|
| Claude Code | ✅ | ✅ | npm install -g memtrace —— 全自动 |
| Claude Desktop | ✅ | ✅ | 自动 —— 与 Claude Code 共享 |
| DeepSeek Harness | ✅ | ✅ | npx -y @deepseek-ai/dsh plugin --profile web add github:syncable-dev/dsh-plugin-memtrace |
| Cursor (v2.4+) | ✅ | ✅ | npm install -g memtrace —— 全自动 |
| Codex CLI | ✅ | ✅ | npm install -g memtrace —— 全自动 |
| Windsurf | ✅ | ✅ | npm install -g memtrace —— 全自动 |
| VS Code (Copilot) | ✅ | ✅ | npm install -g memtrace —— 全自动 |
| Hermes | ✅ | ✅ | npm install -g memtrace —— 全自动 |
| OpenCode | ✅ | ✅ | npm install -g memtrace —— 全自动 |
| Kiro | ✅ | Steering | npm install -g memtrace —— 全自动 |
| Cline / Roo Code | ✅ | — | 手动添加 MCP 服务器 |
| 任意 MCP 客户端 | ✅ | — | 手动添加 MCP 服务器 |
技能是工作流提示,用于教导代理如何串联工具。Kiro 不使用 SKILL.md,因此 Memtrace 会改为写入等效的自动 steering 文件。
设置
DeepSeek Harness
dsh 来自 @deepseek-ai/dsh,而非来自 Memtrace。
npm install -g @deepseek-ai/dsh
dsh plugin --profile web add github:syncable-dev/dsh-plugin-memtrace
或者不使用全局 CLI:
npx -y @deepseek-ai/dsh plugin --profile web add github:syncable-dev/dsh-plugin-memtrace
该捆绑包会注册 Memtrace 的技能,并在 Harness 配置文件中启动 memtrace mcp。首次启动可能会通过 npx 获取 Memtrace 二进制文件;使用 npm install -g memtrace 和 MEMTRACE_BIN=memtrace 固定为本地安装。
Claude Code + Claude Desktop
npm install -g memtrace
处理一切——二进制文件、17 项技能、MCP 服务器、插件、市场。一条命令,两个编辑器。
手动设置:
claude plugin marketplace add https://github.com/syncable-dev/memtrace-public.git
claude plugin install memtrace-skills@memtrace --scope user
claude mcp add memtrace -- memtrace mcp
Cursor
npm install -g memtrace 会自动处理一切。Cursor v2.4+ 读取与 Claude 相同的 SKILL.md 格式。
用于项目本地安装(技能随你的仓库一起携带):
npx memtrace-skills install --only cursor --local
Codex、Windsurf、VS Code、Hermes、OpenCode 和 Kiro
安装程序还会为较新的代理界面写入技能/指南和 MCP 配置:
| Agent | 全局技能 / 指南 | 全局 MCP 配置 | 项目本地支持 |
|---|---|---|---|
| Codex | ~/.agents/skills/ | ~/.codex/config.toml | .agents/skills/、.codex/config.toml |
| Windsurf | ~/.codeium/windsurf/skills/ | ~/.codeium/windsurf/mcp_config.json | .windsurf/skills/;MCP 仍为用户级 |
| VS Code / Copilot | ~/.copilot/skills/ | VS Code 用户 mcp.json | .github/skills/、.vscode/mcp.json |
| Hermes | ~/.hermes/skills/ | ~/.hermes/config.yaml | 仅用户级 |
| OpenCode | ~/.config/opencode/skills/ | ~/.config/opencode/opencode.json | .opencode/skills/、opencode.json |
| Kiro | ~/.kiro/steering/ | ~/.kiro/settings/mcp.json | .kiro/steering/、.kiro/settings/mcp.json |
仅安装选定的集成:
npx memtrace-skills install --only codex,windsurf,vscode,hermes,opencode,kiro
在支持的地方安装项目本地配置:
npx memtrace-skills install --only codex,vscode,opencode,kiro --local
其他 MCP 客户端
对于 Cline、Roo Code 或任何只需要 MCP 工具的客户端,请手动添加此服务器:
{
"mcpServers": {
"memtrace": {
"command": "memtrace",
"args": ["mcp"],
"env": {}
}
}
}
| 编辑器 | 配置文件 |
|---|---|
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
| VS Code (Copilot) | 项目根目录中的 .vscode/mcp.json |
| Codex | ~/.codex/config.toml 或 .codex/config.toml |
| Hermes | ~/.hermes/config.yaml |
| OpenCode | ~/.config/opencode/opencode.json 或项目中的 opencode.json |
| Kiro | ~/.kiro/settings/mcp.json 或 .kiro/settings/mcp.json |
| Cline | 扩展面板中的 Cline MCP 设置 |
卸载
memtrace uninstall # removes skills, MCP server, plugin, settings
npm uninstall -g memtrace
已经先运行了 npm uninstall?清理脚本位于 ~/.memtrace/uninstall.js:
node ~/.memtrace/uninstall.js
安装故障排除
npm install -g memtrace 会安装一个小型主包 + 一个平台特定的二进制文件(@memtrace/darwin-arm64、@memtrace/linux-x64、@memtrace/win32-x64 之一)。如果 memtrace start 提示 “Could not find binary for your platform”:
重新运行安装,让 npm 保留可选依赖
npm install -g memtrace --include=optional
或从最新版本刷新
memtrace install # 内置自更新
npm install -g memtrace@latest --force
或直接安装平台二进制文件(此处以 Apple Silicon 为例——请替换为你的平台)
npm install -g @memtrace/darwin-arm64
这通常只发生在 npm 被配置为跳过可选依赖的机器上(企业 npmrc、某些 CI 缓存)。
语言
编程: Rust · Go · TypeScript · JavaScript · Python · Java · C · C++ · C# · Swift · Kotlin · Ruby · PHP · Dart · Scala · Perl · Lua —— 完整 AST:函数、类、类型、调用、复杂度。
基础设施与配置: YAML · HCL / Terraform · JSON · TOML · SQL(包括用于 RLS 的 PostgreSQL CREATE POLICY,并带有从策略到 Drizzle / Prisma / TS schema 符号的跨语言边)。
基于 AST 层的框架感知扫描器:
- 后端 HTTP: Express · NestJS · Encore · Fastify · Vapor · Hummingbird · FastAPI · Flask · Django · Gin · Chi · Echo · Actix · Lapis · Kong · OpenResty · Rails routes
- 前端 / 客户端: RTK Query · TanStack Query · SWR · URLSession · AsyncHTTPClient · axios · fetch · SwiftUI views
- CI / 基础设施: GitHub Actions workflows(jobs、steps、needs: 边)· Terraform variables / modules / data sources · Helm charts · K8s manifests
- 包与依赖图: package.json scripts + deps · Cargo.toml deps · pyproject.toml(尽力而为)
- 数据库: PostgreSQL RLS policies + triggers + functions,并带有到 ORM schema 的启发式边
要求
Memtrace 在本地运行——首次索引会占用大量 CPU/RAM,后续查询和增量索引则轻量得多。
| | 最低 | 推荐 |
|---|---|---|
| CPU | 4 核 | 大型 monorepo 建议 8+ 核 |
| 内存 | 8 GB RAM | 16–32 GB RAM |
| 磁盘 | 5 GB 可用空间 | 10–20 GB 可用空间 |
| GPU | 不需要 | 不需要 |
| Node.js | ≥ 18 | 当前 LTS |
| Git | 时间分析所需 | 完整仓库历史可获得最佳结果 |
遥测
自 v0.3.17 起,Memtrace 附带可选择退出的遥测功能,帮助我们在他人在提交 issue 之前捕获崩溃、回归和性能问题。
- 收集: 应用启动事件、索引/嵌入耗时、panic 报告、来自 Memtrace 自身 crates 的 WARN/ERROR 日志行。
- 不收集: 源代码、文件内容、符号名称、嵌入、仓库名称或路径、分支名称、提交数据。
- 脱敏: 每个 payload 在写入磁盘之前都会经过脱敏器处理,移除主目录路径、token 形式的字符串和电子邮件地址。
用一个环境变量即可禁用:
MEMTRACE_TELEMETRY=off memtrace start # 单次运行
export MEMTRACE_TELEMETRY=off # 永久生效(~/.zshrc、~/.bashrc)
或者在编辑器的 MCP 配置中:"env": { "MEMTRACE_TELEMETRY": "off" }。
完整说明——包括磁盘上的队列布局、数据在接收端的存储位置,以及如何检查本应发送的内容——见 TELEMETRY.md。
许可证与所有权
专有 EULA。 在私有测试期间以及正式发布后,个人开发者均可免费使用。索引器 + 数据库(MemDB)为闭源。
基准测试套件以 MIT 许可证发布于 benchmarks/ 下——完全可复现,运行它们无需任何专有代码。
memtrace.io ·
Discord ·
npm ·
Issues
由 Syncable 构建 · 哥本哈根 🇩🇰
MseeP.ai Security Assessment Badge扫码进群