ES Agentic RAG 控制台:索引建模 · 多源数据接入 · 检索与降级 · 自然语言查询计划 · MCP · 逐索引 RBAC + 行级权限 · 全链路审计
一个面向业务数据的 ES Agentic RAG 控制台。把"建索引 → 接数据 → 写文档 → 查内容"做成完整闭环:
- 不重新发明轮子:登录、JWT、权限、文件存储、审计等基座开箱即用
- 以索引为中心:所有数据建模、权限、检索、API 入口都绑在"索引"这个一阶对象上
- AI 不黑盒:自然语言 → 5 步推理 → 显式 DSL → ES 执行,每一步都可审计、可重放
- MCP 标准化:检索能力经标准 MCP 协议暴露,Claude Desktop / Cursor / 自建 Agent 直接接入
- 索引建模:字段类型、向量化方案、关联关系(LOOKUP)、EAV 容器
- 多源接入:Excel / 数据库 / API / 推送 Ingest / 预切片 JSONL
- 多模态检索:term / match / 向量 / 混合(RRF)+ ES→DB 降级
- 查询计划:自然语言 → 意图识别 → DSL 编译 → 执行;含 AND/OR/NOT 表达式树
- MCP 协议暴露:OAuth 2.1 / 接入方注册表 / 内部通道三选一
- 逐索引 RBAC + 行级权限:角色 × 索引矩阵 + 表达式过滤 + 宏(
${user.dept}) - 模型接入:OpenAI Chat / OpenAI Responses / Anthropic Messages 三协议适配
- 全链路审计:字段级 diff + 操作投影 + 异步落库
| 层 | 选型 |
|---|---|
| 后端 | Kotlin 2.2 · Spring Boot 3.5 · Spring Cloud 2025 · Jimmer 0.10 |
| 前端 | Vue 3 · TypeScript · Vite · shadcn-vue · TanStack Table |
| 数据 | MySQL 9 · Redis 7 · RabbitMQ 4 · MinIO |
| 检索 | Elasticsearch 9(IK 分词) |
| 治理 | Nacos · Spring Cloud Alibaba · Flyway |
| 监控 | Actuator · Prometheus |
| 模块 | 端口 | 职责 |
|---|---|---|
gateway |
8000 / 8001 | 路由、真实 IP、OpenAPI 聚合 |
system |
10000 | 用户 / 角色 / 权限 / 通知 |
file |
10001 | 文件对象存储(MinIO) |
auth |
10002 | 登录 / 令牌 |
captcha |
10003 | 验证码(图形 / reCAPTCHA) |
agent |
10005 | Agent 平台(会话 / run / 工具 / trace / 沙箱) |
audit |
10008 | 审计日志 |
rag |
10009 | ES RAG 控制台(核心业务) |
依赖:Docker + Docker Compose,20G+ 可用磁盘。
# 1. 复制环境模板并填入强密码
cp deploy/.env.example deploy/.env
cp deploy/.env-mysql.example deploy/.env-mysql
cp deploy/.env-nacos.example deploy/.env-nacos
cp deploy/.env-redis.example deploy/.env-redis
cp deploy/.env-mq.example deploy/.env-mq
cp deploy/.env-s3.example deploy/.env-s3
cp deploy/.env-rag.example deploy/.env-rag
cp deploy/.env-jwt.example deploy/.env-jwt
# 编辑每个 .env-* 把 PASSWORD 改为强随机值
# .env-jwt 里的 JWT_*_KEY 来自 ecdsa 密钥对(参考 deploy/README.md)
# 2. 一键启动
bash deploy/deploy.sh
# Windows: .\deploy\deploy.bat启动后访问 http://<your-host>,默认登录用 Nacos 的管理员账号(部署完成后立刻改默认密码)。
首次部署的细节、Nacos 默认密码轮换、
.env各变量含义:见deploy/README.md
| 文档 | 用途 |
|---|---|
AGENTS.md |
AI 协作规则入口(Codex / Kimi / Claude 等 agent 用) |
CLAUDE.md |
详细规范 + 导航(Claude Code 用) |
deploy/README.md |
部署、env 变量、首次部署、增量发布 |
gateway/README.md |
路由、真实 IP、内部路径拦截 |
modules/*/README.md |
各功能模块的"功能点 → 源码"映射、接口、数据表 |
docs/ |
设计与迭代方案、专题调研 |
提交前必读:
- 后端 / 前端规范见
AGENTS.md与.claude/rules/ - Web 端代码改动先读
web/下的 CLAUDE.md - 新增服务端口查
.claude/rules/modules.md,避免与历史已移除端口(10005/10006/10007)冲突
部署到生产前请确认:
- Nacos / MySQL / Redis / RabbitMQ / MinIO 全部使用强密码(不要用默认
nacos/nacos、minioadmin/minioadmin、guest/guest) - JWT 签名 EC 私钥重新生成(不要用模板里的)
.env文件不入库(已在.gitignore)- reCAPTCHA 密钥在 Google 控制台重新签发
- 如对外暴露 MCP:启用 OAuth 2.1,禁用 token passthrough
Copyright 2026 Lyp