# OnCall-Agent **Repository Path**: hacker__007/OnCall-Agent ## Basic Information - **Project Name**: OnCall-Agent - **Description**: 本项目是一个基于AI Agent的运维自动化助手,整合知识库、对话、运维三大核心能力,实现问题自动应答和故障智能排查的一体化服务。致力于降低团队OnCall的人力成本,提升团队效率。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-25 - **Last Updated**: 2026-02-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SuperBizAgent > 基于 Spring Boot + AI Agent 的智能问答与运维系统 ## 📖 项目简介 企业级智能业务代理系统,包含两大核心模块: ### 1. RAG 智能问答 集成 Milvus 向量数据库和阿里云 DashScope,提供基于检索增强生成的智能问答能力,支持多轮对话和流式输出。 ### 2. AIOps 智能运维 基于 AI Agent 的自动化运维系统,采用 Planner-Executor-Replanner 架构,实现告警分析、日志查询、智能诊断和报告生成。 ## 🚀 核心特性 - ✅ **RAG 问答**: 向量检索 + 多轮对话 + 流式输出 - ✅ **AIOps 运维**: 智能诊断 + 多 Agent 协作 + 自动报告 - ✅ **工具集成**: 文档检索、告警查询、日志分析、时间工具 - ✅ **会话管理**: 上下文维护、历史管理、自动清理 - ✅ **Web 界面**: 提供测试界面和 RESTful API ## 🛠️ 技术栈 | 技术 | 版本 | 说明 | |------|------|------| | Java | 17 | 开发语言 | | Spring Boot | 3.2.0 | 应用框架 | | Spring AI | - | AI Agent 框架 | | DashScope | 2.17.0 | 阿里云 AI 服务 | | Milvus | 2.6.10 | 向量数据库 | ## 📦 核心模块 ``` SuperBizAgent/ ├── src/main/java/org/example/ │ ├── controller/ │ │ └── ChatController.java # 统一接口控制器 ⭐ │ ├── service/ │ │ ├── ChatService.java # 对话服务 ⭐ │ │ ├── AiOpsService.java # AIOps 服务 ⭐ │ │ ├── RagService.java # RAG 服务 │ │ └── Vector*.java # 向量服务 │ ├── agent/tool/ # Agent 工具集 │ │ ├── DateTimeTools.java # 时间工具 │ │ ├── InternalDocsTools.java # 文档检索 │ │ ├── QueryMetricsTools.java # 告警查询 │ │ └── QueryLogsTools.java # 日志查询 │ └── config/ # 配置类 ├── src/main/resources/ │ ├── static/ # Web 界面 │ └── application.yml # 应用配置 └── aiops-docs/ # 运维文档库 ``` ## 📡 核心接口 ### 1. 智能问答接口 **流式对话(推荐)** ```bash POST /api/chat_stream Content-Type: application/json { "Id": "session-123", "Question": "什么是向量数据库?" } ``` 支持 SSE 流式输出、自动工具调用、多轮对话。 **普通对话** ```bash POST /api/chat Content-Type: application/json { "Id": "session-123", "Question": "什么是向量数据库?" } ``` 一次性返回完整结果,支持工具调用和多轮对话。 ### 2. AIOps 智能运维接口 ```bash POST /api/ai_ops ``` 自动执行告警分析流程,生成运维报告(SSE 流式输出)。 ### 3. 会话管理 - `POST /api/chat/clear` - 清空会话历史 - `GET /api/chat/session/{sessionId}` - 获取会话信息 ### 4. 文件管理 - `POST /api/upload` - 上传文件并自动向量化 - `GET /milvus/health` - Milvus 健康检查 ## ⚙️ 核心配置 ### application.yml ```yaml server: port: 9900 # Milvus 向量数据库 milvus: host: localhost port: 19530 # 阿里云 DashScope spring: ai: dashscope: api-key: "${DASHSCOPE_API_KEY}" // 环境变量 # RAG 配置 rag: top-k: 3 model: "qwen3-max" # 文档分片 document: chunk: max-size: 800 overlap: 100 ``` ### 环境变量 ```bash export DASHSCOPE_API_KEY=your-api-key ``` ## 🚀 快速开始 ### 1. 环境准备 ```bash # 设置 API Key export DASHSCOPE_API_KEY=your-api-key ``` ### 2. 启动应用 方法一: 手动启动 ```bash 1.先启动向量数据库 docker compose up -d -f vector-database.yml 2.启动服务 mvn clean install mvn spring-boot:run ``` 方法二:一键启动 ```bash make init # 会自动启动向量数据库并上传运维文档到向量库 ``` ### 3. 使用示例 **Web 界面** ``` http://localhost:9900 ``` **命令行** ```bash # 上传文档 curl -X POST http://localhost:9900/api/upload \ -F "file=@document.txt" # 智能问答 curl -X POST http://localhost:9900/api/chat \ -H "Content-Type: application/json" \ -d '{"Id":"test","Question":"什么是向量数据库?"}' # 健康检查 curl http://localhost:9900/milvus/health ``` **版本**: v1.0.0 **作者**: chief **许可证**: MIT