是的
AI编码代理的持久内存。每一次会议,每一个符号——都是可搜索的。
建立在 全部 对于会话捕获, 兰斯数据库 对于矢量搜索, 主控程序 用于代理集成。
you code with an agent
↓
Entire captures the session as a Git checkpoint
↓
post-commit hook triggers yep sync
↓
transcripts → summaries → embeddings → vector store
code files → symbols → embeddings → code index
↓
next task: agent calls search_all via MCP
↓
relevant sessions + code → agent context快速开始
bunx yep-mem enablenpx yep-mem enable # npm
pnpm dlx yep-mem enable # pnpm这可以完成所有操作:创建向量存储,启用Entire,设置提交后挂钩,在Cursor中注册MCP服务器,安装代理规则,为现有检查点和代码符号建立索引。在此之后,内存会自动工作。
提供商
开放人工智能 (默认)--需要 OPENAI_API_KEY (env, .yep-mem/config.json,或 .cursor/mcp.json).
奥拉玛 (本地,免费)-无API密钥,完全脱机:
ollama pull nomic-embed-text && ollama pull llama3.1:8b
YEP_PROVIDER=ollama bunx yep-mem enableOpenAI Ollama。 |---|---|---| |嵌入| text-embedding-3-small (1536d)| nomic-embed-text (768天)| |摘要生成器| gpt-4o-mini | llama3.1:8b | |API密钥|必需|否|
命令
| 命令 | 描述 |
|---|---|
yep enable | 完整设置:向量存储、钩子、MCP、代理规则、初始索引 |
yep sync | 索引新的检查点+重新索引更改的代码(通过提交后自动) |
yep index-code | 索引代码符号(函数、类、类型) |
yep search "..." | 搜索过去的解决方案 |
yep context "..." | 输出管道到提示的上下文 |
yep diff | 文件的内存时间线 |
yep watch | 文件更改时自动同步 |
yep status | 健康检查:块、配置、同步状态 |
yep reset | 删除矢量存储(--reindex 重建) |
yep serve | 启动MCP服务器(由Cursor自动启动) |
yep api | 启动HTTP API服务器 |
yep gui | 浏览器中的Web仪表板 |
yep eval | 搜索质量A/B评估 |
yep debug | 用于代码索引和搜索的调试工具 |
yep | 交互式TUI |
自动代码索引
代码索引是全自动的——你永远不需要手动运行它:
yep sync同步会话后的索引代码(提交后挂钩)yep enable在安装过程中运行初始代码索引yep gui过时时在后台重新索引
支持TypeScript、JavaScript、Python、Go、Rust。使用 TypeScript编译器API 用于TS/JS/TSX/JSX文件(精确的AST解析),并为其他语言提供正则表达式回退。使用调用图和导入跟踪提取函数、类、接口、类型、React组件。增量-仅重新索引自上次提交以来更改的文件。
桌面应用程序
一个基于以下内容构建的原生桌面应用程序 金牛座2:
cd apps/desktop
bun run tauri:dev # development
bun run tauri:build # production build带有搜索、代码浏览器、同步、文件时间线、设置和 代码洞察 --死码检测、最连通符号、复杂性热点、语言/类型分布。
Web图形用户界面
yep gui # opens http://localhost:3838
yep gui --port 4000 # custom port与桌面应用程序相同的界面,直接从CLI提供。
MCP工具
Cursor(或任何MCP客户端)中的代理会自动获得这些工具:
| 工具 | 它做什么 |
|---|---|
search_solutions | 查找相关的往期会议。具有重新排序功能的混合搜索(向量+BM25+RRF)。 |
search_all | 跨会话和代码符号的统一搜索。 |
symbol_context | 360°视图:定义、调用者、被调用者、导入者、相关会话。 |
detect_changes | Git差异→ 受影响的符号→ 爆炸半径→ 相关会议。 |
mem_stats | 矢量存储健康、块计数、代码索引统计。 |
资源: memory://summary, memory://symbols, memory://files, memory://recent
提示: pre_task (工作前搜索), pre_commit (提交前检查爆炸半径)
代理规则安装在 .cursor/rules/yep-memory.mdc --代理在执行任务之前自动搜索内存,在编辑之前检查符号上下文,在提交之前检测更改。
运作原理
会话索引 --解析整个检查点→ 使用差异将块分为提示/响应对→ LLM总结→ 嵌入→ 位于LanceDB的商店。通过内容哈希跟踪本地会话(更新,不重复)。同步由基于文件的锁保护,以防止并发损坏。
代码索引 --漫游项目文件→ 适用于TS/JS的TypeScript编译器API(适用于Python/Go/Rust的regex回退)→ 使用调用/导入图进行符号提取→ 嵌入→ 单独存放 code_symbols 桌子。按git commit递增。
检索 --嵌入查询→ 矢量+全文并行搜索→ 互逆排序融合→ 重新排序(最近度、文件重叠、关键字密度、符号匹配)→ 去重(余弦>0.95)→ 前K结果。
错误处理 -具有级别和模块上下文的结构化日志记录、用于嵌入API重试的抖动指数退避、可重试错误检测(速率限制、超时、5xx)。
建筑
yep/
├── apps/
│ ├── desktop/ Tauri 2 desktop app (React 19, TailwindCSS, TanStack Query)
│ ├── tui/ CLI + MCP server + HTTP API (Bun, Hono, LanceDB)
│ └── server/ AI inference server (Hono, Gemini)
├── packages/
│ ├── config/ Shared TypeScript configuration
│ ├── db/ Prisma client (libSQL/Turso)
│ └── env/ Environment variable validation (Zod)
└── .github/
└── workflows/ CI (lint, types, test, build) + Release (npm + Tauri).yep-mem/
├── vectors/ LanceDB (solutions + code_symbols tables)
├── cache/ Embedding + search result caches
├── eval/ Golden question set for quality eval
├── sync.lock File lock for sync atomicity
└── config.json Provider, models, sync state构建于
兰斯数据库 · AI SDK · 全部 · 奥拉玛 · 主控程序 · 涛瑞 · TanStack查询 · 包子 · 涡轮仓库
______________________________________________________________________
Development
bun install
bun run dev # all apps
bun run build # build everything
bun run test # run all tests
bun run build:gui # build GUI assets into apps/tui/gui-dist
bun run check # lint (Biome via Ultracite)
bun run fix # auto-fix lint issues测试
bun run test # all tests via Turborepo
cd apps/tui && bun test src/ # TUI tests only67个单元测试,涵盖核心模块:代码分块器、分块器,缓存,存储工具,文件锁定。
释放
通过GitHub Actions自动发布:
- 标记版本:
git tag v0.2.0 && git push --tags - CI发布
yep-mem到npm - CI为macOS(arm64+x64)、Linux、Windows构建Tauri桌面二进制文件
- GitHub发布草案已创建,并附有二进制文件
桌面应用程序包括通过Tauri更新器插件的自动更新支持。
代码质量
- 生物群系 + 超岩矿 用于裁剪和格式化
- 左撇子 预提交挂钩
- 严格的TypeScript (
strictNullChecks,noUncheckedIndexedAccess) - 依赖机器人 用于自动更新依赖关系
高级功能
图依赖关系和PageRank --带有PageRank的代码符号依赖图,用于流行度评分。用于搜索排名,以提升常用符号。
Git元数据 --自动提取每个符号的更改计数、作者计数和上次更改日期。用于漏洞风险评分和新鲜度排名。
指标快照 --代码质量指标的自动每日快照(健康评分0-100、复杂性、文档覆盖率、死代码)。查看趋势 yep trends.
Bug风险评分 --基于6个因素的预测分析:复杂性(25%)、更改频率(20%)、作者流失(15%)、行数(15%),测试覆盖率(15%)和文档(10%)。在错误发生之前识别高风险符号。
共同变化分析 --从git历史中检测时间耦合。识别经常一起更改的文件(支持+置信度指标)。用于代码审查和重构决策。
模式检测 --基于启发式的架构模式(Singleton、Factory、Observer、Builder)和React模式(HOC、自定义挂钩、渲染道具)检测。还可以检测反模式(幻数、长参数列表、深嵌套)。
多信号排名 --7个信号搜索排名:向量相似性(35%)、FTS(20%)、精确匹配(15%)、流行度(15%),新鲜度(5%)、复杂性(5%),上下文(5%)。在所有搜索中自动集成。
