RootSeeker v3.0:AI 驱动的错误根因分析神器
在复杂的微服务架构中,线上故障排查一直是开发者的痛点。面对海量的日志和错综复杂的调用链,传统的"通灵"式 Debug 已经无法满足快速定位问题的需求。今天给大家介绍一款开源神器 —— RootSeeker,它通过 AI 驱动的方式,自动分析错误日志、定位根因、生成修复建议。
什么是 RootSeeker?
RootSeeker 是一个面向公司内网的 AI 驱动错误分析与根因发现服务。它的核心价值在于:
- 告别"通灵"式 Debug:从一条报错日志出发,自动还原故障现场
- 全息现场还原:自动关联 TraceID,拉取全链路上的所有上下文日志
- 懂你的私有代码:构建私有代码索引,AI 通过语义搜索理解业务意图
- 多轮侦探推理:AI 自主规划工具调用,逐步逼近根因
v3.0.0 重大更新
最新发布的 v3.0.0 版本带来了多项重磅功能:
1. 双编排模式
- Plan-Act 模式(默认):固定四步流程,适合结构化分析
- tool_use_loop 模式:模型自主决定工具调用,更灵活高效
2. MCP 网关
应用内极简网关,支持工具注册/发现/执行,还可接入外部 MCP Server 扩展能力。
3. 双引擎代码检索
- Zoekt:正则/符号搜索,精确匹配
- Qdrant:向量语义搜索,理解意图
4. 外部依赖识别
新增依赖解析能力,支持 Java/Python 的依赖冲突检测与版本漂移分析。
5. 链路追问
发现"集合为空"等中间结论时,自动追溯上游,避免过早收尾。
核心工作流程
Plan(规划)→ Act(执行工具)→ Synthesize(生成报告)→ Check(自检)
↑ ↓
└────────────── 需更多证据,继续下一轮 ←─────────┘
- Ingest:接收报错,入队分析任务
- Plan:AI 规划本轮要调用的工具
- Act:执行器按计划调用 MCP 工具,收集证据
- Synthesize:LLM 生成本轮分析报告
- Check:自检覆盖性、一致性;若需更多证据,继续下一轮
- Report:生成包含根因、证据和修复建议的最终报告
MCP 工具一览
| 工具 | 说明 |
|---|---|
index.get_status | 获取仓库与索引概览 |
correlation.get_info | 获取关联日志、Trace 链 |
code.search | Zoekt 正则/关键词代码搜索 |
code.read | 读取文件内容 |
evidence.context_search | 在已收集证据中检索 |
deps.get_graph | 依赖拓扑、调用链 |
analysis.synthesize | 基于证据生成报告 |
快速开始
Docker 一键部署
git clone https://gitee.com/icey_1/root_seeker.git
cd root_seeker/root_seeker_docker
bash start.sh
启动后访问:
- RootSeeker API: http://localhost:8000
- Admin 后台: http://localhost:8080
配置 LLM
llm:
kind: deepseek
base_url: "https://api.deepseek.com"
api_key: "ENV:DEEPSEEK_API_KEY"
model: "deepseek-chat"
实际案例
场景:线上交易服务突发 NullPointerException
RootSeeker 的表现:
- Plan 阶段规划调用 index.get_status、correlation.get_info
- Act 阶段 Zoekt 定位到
DiscountCalculator.java第 89 行 - Synthesize 阶段发现该类由
new手动实例化导致 Spring 注入失败 - 30 秒内推送报告至企微/钉钉,建议改为 Spring 托管
项目信息
- 版本: v3.0.0
- 语言: Python 3.11+
- 许可证: Apache 2.0
- 仓库: gitee.com/icey_1/root…
如果这个项目帮到了你,请给一个 Star ⭐️ 支持一下!
本文介绍的项目是 RootSeeker,一个 AI 驱动的错误根因分析工具,v3.0.0 版本支持 Plan-Act 与 tool_use_loop 双编排模式,通过 MCP 网关、SLS、Zoekt、Qdrant 和 LLM 协同,实现自动化的根因发现。