关于 gitmem
gitmem 是为 AI 编码 Agent 提供跨会话持久记忆的 MCP 服务,记录错误、成功经验、决策和未完成事项。数据默认保存在本地,并通过回顾流程让 Agent 在后续会话中检索经验。
主要功能
- 01保存错误、成功经验与决策
- 02跨会话延续上下文和未完成事项
- 03按需召回相关经验
- 04结构化会话回顾
- 05初始化向导合并现有配置
适用场景
- 01让 Agent 避免重复遇到已记录的问题
- 02在新会话继续未完成的开发任务
- 03将项目决策和有效做法提供给编码 Agent
- 04为不同 MCP 客户端配置持久记忆
MCP 相关
作为 MCP 服务,gitmem 向兼容客户端提供记忆管理、搜索、线程和多 Agent 协作工具。初始化向导可生成客户端配置。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y gitmem-mcpSUPABASE_URLSupabase project URL for pro tier features (semantic search, analytics). Not required for free tier.SUPABASE_SERVICE_ROLE_KEY密钥Supabase service role key for pro tier features. Not required for free tier.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
21收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| plan | string | 是 | 你即将执行的操作(例如,'implement auth layer'、'deploy to production') |
| project | string | 否 | 项目命名空间(例如,'my-project')。限定会话和搜索范围。 |
| issue_id | string | 否 | 用于变体分配的 Linear issue 标识符(例如,'PROJ-123')。提供后,将随机分配带有变体的经验教训,并按相应格式呈现。 |
| match_count | number | 否 | 要返回的经验教训数量(默认值:3) |
| similarity_threshold | number | 否 | 纳入结果的最低相似度分数(0-1)。低于阈值的弱匹配将被抑制。默认值:0.4(免费版 BM25),0.35(专业版嵌入)。 |
详细介绍
GitMem 是一个 MCP 服务,可为你的 AI 编码 Agent 提供跨 Agent 会话的持久学习记忆。它会记住错误(伤痕)、成功(胜利)和决策,让你的 Agent 能从经验中学习,而不是每次都从头开始。
什么是 MCP? Model Context Protocol 是 AI 编码工具连接外部能力的方式。GitMem 是一个 MCP 服务——安装一次,你的 Agent 就能获得持久记忆。
适用于 Claude Code、Cursor、VS Code (Copilot)、Windsurf 以及任何兼容 MCP 的客户端。
快速入门
npx gitmem-mcp init
一条命令即可完成。向导会自动检测你的 IDE 并完成所有设置:
- 包含初始伤痕的
.gitmem/目录 - MCP 服务配置(
.mcp.json、.vscode/mcp.json、.cursor/mcp.json等) - 指令文件(
CLAUDE.md、.cursorrules、.windsurfrules、.github/copilot-instructions.md) - 生命周期钩子(在支持的环境中)
- 更新
.gitignore
已有配置?向导会合并配置,不会破坏任何内容。可以安全地重复运行。
npx gitmem-mcp init --yes # Non-interactive
npx gitmem-mcp init --dry-run # Preview changes
npx gitmem-mcp init --client vscode # Force specific client
工作原理
recall --> work --> learn --> close --> recall --> ...
- 回忆 — 开始行动前,Agent 会检查记忆,查找以往会话中的相关经验
- 工作 — Agent 执行任务,并自动应用过去的经验
- 学习 — 错误会成为伤痕,成功会成为胜利,策略会成为模式
- 收尾 — 会话反思会保存上下文,供下次使用
每条伤痕都包含反驳理由——说明为什么有人可能会合理地忽略它。这可以避免记忆变成一堆僵化的规则。
会记住哪些内容
| 类型 | 用途 | 示例 |
|---|---|---|
| 伤痕 | 应避免的错误 | "Always validate UUID format before DB lookup" |
| 胜利 | 行之有效的方法 | "Parallel agent spawning cut review time by 60%" |
| 模式 | 可复用的策略 | "5-tier test pyramid for MCP servers" |
| 决策 | 附带理由的架构选择 | "Chose JWT over session cookies for stateless auth" |
| 线程 | 可延续到后续会话的未完成工作 | "Rate limiting still needs implementation" |
主要功能
- 自动回想 — Agent 采取类似行动前,会先呈现相关教训
- 会话连续性 — 上下文、线程和默契会延续到后续会话
- 收尾仪式 — 通过结构化反思记录哪些出了问题、哪些奏效,以及下次该如何改进
- 20+ 个 MCP 工具 — 提供完整工具集,用于记忆管理、搜索、线程和多 Agent 协作
- 零配置 — 运行
npx gitmem-mcp init即可开始使用 - 非破坏性 — 与现有的
.mcp.json、CLAUDE.md和钩子合并
支持的客户端
| 客户端 | 设置 | 钩子 |
|---|---|---|
| Claude Code | npx gitmem-mcp init | 完整(会话、回想、凭据防护) |
| Cursor | npx gitmem-mcp init --client cursor | 部分(会话、回想) |
| VS Code (Copilot) | npx gitmem-mcp init --client vscode | 基于说明 |
| Windsurf | npx gitmem-mcp init --client windsurf | 基于说明 |
| Claude Desktop | 添加到 claude_desktop_config.json | 手动 |
| 任何 MCP 客户端 | npx gitmem-mcp init --client generic | 基于说明 |
向导会自动检测你的 IDE。使用 --client 可覆盖此设置。
手动配置 MCP
将以下内容添加到 MCP 客户端的配置文件中:
{
"mcpServers": {
"gitmem": {
"command": "npx",
"args": ["-y", "gitmem-mcp@latest"]
}
}
}
| 客户端 | 配置文件 |
|---|---|
| Claude Code | .mcp.json |
| Cursor | .cursor/mcp.json |
| VS Code | .vscode/mcp.json |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
CLI 命令
| 命令 | 说明 |
|---|---|
npx gitmem-mcp init | 交互式设置向导(自动检测 IDE) |
npx gitmem-mcp init --client <name> | 为指定客户端设置(claude、cursor、vscode、windsurf、generic) |
npx gitmem-mcp init --yes | 非交互式设置 |
npx gitmem-mcp init --dry-run | 预览更改 |
npx gitmem-mcp activate <key> | 激活 Pro 版本(自动应用架构) |
npx gitmem-mcp deactivate | 移除 Pro 凭据,释放设备名额 |
npx gitmem-mcp setup | 输出架构 SQL(用于手动设置 Supabase) |
npx gitmem-mcp uninstall | 完全卸载(保留 .gitmem/ 数据) |
npx gitmem-mcp uninstall --all | 完全卸载,包括数据 |
npx gitmem-mcp check | 诊断健康状况 |
Pro 版本
在你自己的 Supabase 上自托管。基础设施由你提供,gitmem 负责设置。
| 你将获得 | 对 Agent 的意义 |
|---|---|
| 语义搜索 | 回想会返回正确的教训,而不是无关的关键词结果 |
| 会话分析 | 发现反复出错的模式 |
| 子 Agent 简报 | 自动向子 Agent 传递组织经验 |
| 云端持久化 | 记忆不受设备更换影响,可在团队间共享 |
| A/B 测试分析 | 衡量不同教训表述对 Agent 行为的实际影响 |
快速开始
npx supabase login # one time
export SUPABASE_URL="https://yourproject.supabase.co"
export SUPABASE_SERVICE_ROLE_KEY="eyJ..."
export OPENROUTER_API_KEY="sk-or-v1-..."
npx gitmem-mcp activate <your-license-key>
activate 命令会自动创建所有表、视图、RPC 函数和索引。无需手动执行 SQL。
完整指南请参阅 docs/pro-setup-guide.md。
免费版为个人项目提供所有功能。Pro 版让回想更智能、记忆更便于迁移。
GitMem + MEMORY.md
你的 AI Agent 可能有自己的记忆文件(MEMORY.md、.cursorrules 等)。以下是它们的协作方式:
| MEMORY.md | GitMem | |
|---|---|---|
| 加载时机 | 每轮对话(系统提示词) | 按需(工具调用) |
| 适用内容 | 偏好、快捷方式、快速参考 | 实践所得的经验、未完成的工作、决策 |
| 更新方式 | Agent 直接写入 | 会话生命周期(收尾仪式) |
| 示例 | “用户偏好简洁的输出” | “查询数据库前务必验证 UUID” |
提示: 在 MEMORY.md 中加入 .gitmem/agent-briefing.md,即可轻松衔接这两个系统。
隐私与数据
- 本地优先 — 默认情况下,所有数据都存储在你机器上的
.gitmem/中 - 无遥测 — GitMem 不会收集使用数据,也不会向外发送数据
- 云端需主动启用 — Pro 套餐的 Supabase 后端需要通过环境变量显式配置
- 你的数据 — 会话、伤痕和决策都归你所有。删除
.gitmem/即可移除所有内容
开发
git clone https://github.com/gitmem-dev/gitmem.git
cd gitmem
npm install
npm run build
npm test
请参阅 CONTRIBUTING.md,了解完整的开发环境设置。
许可证
MIT — 请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。