TeaRAGs 🦖🍵
Trajectory Enrichment-Aware RAG for Coding Agents
______________________________________________________________________
你的编码代理会复制它找到的第一个代码,而不是正确的代码。
TeaRAGs是一个用于代码搜索的MCP服务器,它丰富了每个检索到的块 git历史:作者、流失率、bug修复率、所有权。你的经纪人停了下来 从热点中学习,并开始从 稳定、拥有、久经考验 代码.
问题
1.理解单回购是昂贵的——对人类和代理人来说都是如此
每个新开发人员都按小时付费。每次新的代理会话都会以代币支付。 命名约定、域逻辑、本地习语——所有这些都必须重建 从零开始,每一次。
2.糟糕的代码卫生是对你的代理人的征税
令人困惑的名称意味着代理会读取更多的文件。更多的文件意味着更多的令牌, 响应速度较慢,选择错误示例的可能性较高。你的 代码库的技术债务现在是你的人工智能账单。
3.代理无法区分稳定代码和热点
标准代码搜索仅通过嵌入相似性进行排名。它不知道是哪一个 函数在每次冲刺时都会修复错误,哪个模块在两次冲刺中都没有被触及 年份,或其名字出现在承诺书上。所以特工会复制任何看起来的东西 类似——包括坏例子。
解决方案
TeaRAGs为您的代理提供了两种从普通代码搜索中无法获得的东西。
1.每块都有自己的历史
检索到的代码带有以下信号 谁写的,它有多稳定,如何 它经常被修复bug,以及 改变的影响有多大.语义 相似性不再是全部答案,它变成了地板。
2.预先构建的技能,而不仅仅是原始工具
TeaRAGs船舶代理 技能 --现成的剧本,告诉你的经纪人什么时候 以及如何使用这些信号。无需立即进行工程设计:
explore--在陌生的代码库中定向data-driven-generation--编写由稳定的自有模板支持的代码risk-assessment--在打破它之前,知道你会打破什么refactoring-scan·bug-hunt·pattern-search--以及更多
安装插件后,您的代理将学习工作流程。 查看所有技能→
奖金: dinopowers --一个包含10个包装器的配套插件 superpowers:* 技能(杰西·文森特的 Claude Code的技能库),将抹布信号注入头脑风暴, 规划、调试、TDD、审查和完成流程。平均评估增量+71pp 136例。 了解更多→
用例
🛡️ 安全代码生成
您的代理编写由以下内容支持的新代码 稳定、规范的模板 --模块 具有低错误修复率、长期稳定性和明确的所有者。不再复制 最后冲刺的热点。 _技能: data-driven-generation · 为什么稳定代码更安全→_
🔧 重构计划和问题模式发现
找出导致80%事件的5%代码。 高流失率+高 错误修复率+集中所有权=您的下一个生产问题 --和你的 下一个重构候选者。 _技能: refactoring-scan, bug-hunt_
🎯 变更前的风险评估
在修改函数之前,代理会检查 谁依赖它,多久一次 休息时间,以及门票历史记录在你之前知道爆炸半径 爆炸。 _技能: risk-assessment · 耦合与爆炸半径理论→_
🗺️ 学习不熟悉的代码库
提问而不是阅读目录树。 _“身份验证是如何工作的?”_ 返回 稳定、规范的实现 附上它的历史——不是 一个外观相似的随机片段。 _技能: explore_
运作原理
flowchart LR
User([👤 You])
subgraph mcp["TeaRAGs MCP Server"]
Agent[🤖 Agent
runs skills]
TeaRAGs[🍵 TeaRAGs
search · enrich · rerank]
Agent TeaRAGs
end
Qdrant[(🗄️ Qdrant
vector DB)]
Embeddings[✨ Embeddings
Ollama/OpenAI]
Codebase[📁 Your Codebase
+ Git History]
User Agent
TeaRAGs Qdrant
TeaRAGs Embeddings
TeaRAGs Codebase你和你的经纪人谈谈。该特工拥有TeaRAGs技能。TeaRAGs搜索您的 代码,用git历史丰富每个结果,并根据技能需求进行排名-- 稳定性、所有权、风险或纯粹的相关性。
所得
- 🧬 轨迹感知检索 --唯一得分的开源代码RAG
基于git历史的结果,而不仅仅是嵌入相似性
- 📚 具有代理技能的船只 --6本现成的探索剧本,
生成、风险评估和指标管理(加上2个内部策略)
- 🔒 本地优先,隐私优先 --与Ollama完全离线合作;代码
永不离开您的计算机(云提供商可选)
- 🚀 专为monorepos打造 --跨10多种语言的AST感知组块,
增量重新索引、并行管道、数百万LOC测试
这是给谁的
- 大型monorepos的开发人员 --其中“查找类似代码”返回十几个
几乎是重复的,你需要 _规范的_ 一
- 单人开发人员进行代理开发 --代理驱动的工作流生成
微提交的爆发破坏了客户流失指标。TeaRAGs船 GIT会话 模式(TRAJECTORY_GIT_SQUASH_AWARE_SESSIONS=true)该团体承诺 (author, time gap) 因此,20次提交重构会话计为 一.Curn, 即使只有一个人+一个人,错误修复率和所有权仍然有意义 代理作为唯一的贡献者。
- 技术负责人担心AI代码质量 --他们希望自己球队的经纪人
从稳定的模块中学习,而不是从上次sprint的热点中学习
- 隐私敏感团队 --金融、医疗、国防或任何
无法将源代码发送到云API
不适用于: 没有git历史记录的repos(没有丰富的信号)或只有git历史的团队 需要自动补全(使用Copilot)。
🚀 快速开始
内部 克劳德代码,安装TeaRAGs插件并运行安装向导:
/plugin marketplace add artk0de/TeaRAGs-MCP
/plugin install tea-rags-setup@tea-rags
/tea-rags-setup:install然后安装技能插件(仅限Claude,最后一步):
/plugin install tea-rags@tea-rags可选安装 dinopowers 用于包装 superpowers:* 技能:
/plugin install dinopowers@tea-rags索引你的代码库:
/tea-rags:index问你的经纪人任何事情: _“身份验证在这个项目中是如何工作的?”_, _“找到稳定 重试逻辑示例”_, _在处理付款之前,我应该知道什么 模块?"_.
对于其他MCP客户端、CI或气隙设置,请参阅 手动安装 (节点+ npm install -g tea-rags +Ollama/ONNX/OpenAI/Cohere/Voyage)。
🗂️ 项目注册表
TeaRAGs在以下位置维护每台机器的注册表 ~/.tea-rags/registry.json (或 $TEA_RAGS_DATA_DIR/registry.json)它记录集合元数据并允许 您可以通过短名称而不是绝对路径来寻址索引项目,或者 不透明的集合id。
CLI:
tea-rags register-project --path ./my-repo --name myrepo
tea-rags list-projects
tea-rags list-projects --json
tea-rags tune --project myrepo
tea-rags unregister-project --name myrepoMCP工具: register_project, list_projects, unregister_project.
每个项目感知工具和命令还接受一个可选 project 参数旁边 path 和 collection.解决方案优先级为 collection > project > path。注册表在每次结束时自动填充 使用嵌入模型、嵌入维度、Qdrant进行索引/重新索引 URL, indexedAt 时间戳、抹布版本和块数——无需手动 register-project 对于您通过茶布索引的藏品,需要致电。
📚 文档
****
| 我想… | 从这里开始 |
|---|---|
| 让它运行起来 | 快速入门(15分钟) --安装、索引、首次查询 |
| 理解概念 | 核心概念 --矢量化、轨迹富集、重新排序 |
| 看看我的经纪人能做什么 | 技能 --6个现成的代理人剧本,用于探索、生成、风险 |
| 看看引擎盖下面 | 建筑 --管道、数据模型、重新分级器内部 |
| 学习理论 | 知识库 --RAG、代码搜索、软件进化 |
🤝 贡献
看 贡献.md 用于工作流程和惯例。
🙏 致谢
建在叉子上 mhalder/qdrant mcp服务器 — 干净的架构、坚实的测试、开源精神。以及它的祖先 qdrant/mcp服务器qdrant. 代码矢量化的灵感来自 克劳德语境 (齐利兹)。
_请随意叉这把叉子。它一直往下都是叉子。_ 🐢
