# oak-spring-ai-alibaba-crawl4ai **Repository Path**: tree_boss/oak-spring-ai-alibaba-crawl4ai ## Basic Information - **Project Name**: oak-spring-ai-alibaba-crawl4ai - **Description**: Spring AI Alibaba +Crawl4ai + Ollama 实现具有联网能力的Agent - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2025-12-12 - **Last Updated**: 2026-01-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Oak Spring AI Alibaba Crawl4AI Demo ## 项目概述 这是一个基于 Spring Boot 和 Spring AI 的 Crawl4AI 集成演示项目,用于展示如何使用 Spring AI 框架与 Crawl4AI API 进行集成,实现网页爬取和搜索功能。 ## 功能特点 - 基于 Spring Boot 3.x 构建的现代化 Java 应用 - 集成 Spring AI 框架,支持 AI 代理工具配置 - 与 Crawl4AI API 深度集成,实现网页爬取功能 - 提供必应搜索功能,支持用户输入内容搜索 - 内置聊天界面,可通过 Web 界面与 AI 代理交互 - 支持任务管理和结果获取 ## 技术栈 - **框架**: Spring Boot 3.x - **AI 框架**: Spring AI - **HTTP 客户端**: Hutool HTTP - **JSON 处理**: Hutool JSON - **日志**: SLF4J - **构建工具**: Maven ## 快速开始 ### 环境要求 - JDK 17 或以上 - Maven 3.6 或以上 - Crawl4AI API 密钥 ### 安装步骤 1. **克隆项目** ```bash git clone cd oak-spring-ai-alibaba-crawl4ai ``` 2. **配置 Crawl4AI API** 编辑 `application.properties` 文件,添加 Crawl4AI API 配置: ```properties # Crawl4AI API 配置 crawl4ai.base-url=https://api.crawl4ai.com/v1 crawl4ai.api-token=your-api-token-here ``` 3. **构建项目** ```bash mvn clean install ``` 4. **运行应用** ```bash java -jar target/oak-spring-ai-alibaba-crawl4ai-0.0.1-SNAPSHOT.jar ``` 或使用 Maven 运行: ```bash mvn spring-boot:run ``` 5. **访问应用** 应用启动后,访问以下地址: ``` http://localhost:8080/chatui/index.html ``` ## 项目结构 ``` src/main/java/com/example/ ├── Crawl4aiApplication.java # 应用程序入口 ├── config/ # 配置类 │ ├── ConfigProperties.java # 配置属性类 │ └── ReactAgentConfig.java # AI 代理配置 ├── http/ # HTTP 相关类 │ ├── request/ # 请求类 │ └── response/ # 响应类 ├── service/ # 服务接口 │ ├── Crawl4aiApi.java # Crawl4AI API 接口 │ └── impl/ # 服务实现 │ └── Crawl4aiApiImpl.java # Crawl4AI API 实现 └── tools/ # AI 工具 └── CrawlTool.java # 爬取工具 ``` ## 核心功能说明 ### 1. Crawl4AI API 集成 项目通过 `Crawl4aiApiImpl` 类实现了与 Crawl4AI API 的集成,提供以下主要功能: - **任务查询**: 根据任务 ID 获取爬取结果 - **必应搜索**: 根据用户输入进行必应搜索并返回 Markdown 格式结果 ### 2. AI 代理配置 使用 Spring AI 的 `ReactAgentConfig` 类配置了 AI 代理和工具,允许通过 Web 界面与 AI 进行交互。 ### 3. Web 界面 应用启动后,可通过 `/chatui/index.html` 访问内置的聊天界面,与 AI 代理进行交互,使用爬取和搜索功能。 ## 使用说明 ### 1. 通过 API 使用 #### 任务查询 ```java @Autowired private Crawl4aiApi crawl4aiApi; String result = crawl4aiApi.task("task-id"); ``` #### 必应搜索 ```java @Autowired private Crawl4aiApi crawl4aiApi; String searchResult = crawl4aiApi.bingSearchToolMd("Spring Boot"); ``` ### 2. 通过 Web 界面使用 1. 启动应用后访问 `http://localhost:8080/chatui/index.html` 2. 在聊天界面中输入问题或搜索请求 3. AI 代理会自动调用相应的工具进行处理并返回结果 ## 配置信息 | 配置项 | 描述 | 默认值 | |-------|------|--------| | `crawl4ai.base-url` | Crawl4AI API 基础 URL | `https://api.crawl4ai.com/v1` | | `crawl4ai.api-token` | Crawl4AI API 令牌 | 无 | | `server.port` | 服务器端口 | `8080` | | `server.servlet.context-path` | 应用上下文路径 | 无 | ## 故障排除 ### 常见问题 1. **API 调用失败** - 检查 `application.properties` 中的 API 配置是否正确 - 确保网络连接正常,能够访问 Crawl4AI API 2. **应用启动失败** - 检查 JDK 版本是否符合要求 - 检查 Maven 依赖是否正确下载 3. **中文乱码问题** - 确保系统环境使用 UTF-8 编码 - 检查请求和响应的编码设置 ## 开发指南 ### 代码风格 项目使用阿里巴巴 Java 编码规范,建议在开发前配置好 IDE 的代码风格检查。 ### 测试 ```bash mvn test ``` ### 构建 ```bash mvn clean package -DskipTests ``` ## 贡献 欢迎提交 Issue 和 Pull Request! ## 许可证 Apache License 2.0 ## 联系方式 如有问题或建议,请联系项目维护者。 ## 更新日志 ### 版本 0.0.1 - 初始版本发布 - 实现 Crawl4AI API 集成 - 添加必应搜索功能 - 集成 Spring AI 框架 - 提供 Web 聊天界面