# waihu **Repository Path**: zhangs669/waihu ## Basic Information - **Project Name**: waihu - **Description**: 外呼小助手 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-23 - **Last Updated**: 2025-12-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 智能外呼助手 (Smart Outbound Call Assistant) —— Java Dify 版 本项目是一个基于 Spring Boot 和 Spring AI 构建的智能外呼数据处理与管理平台。旨在通过 AI 技术(如 LLM)辅助企业进行外呼任务的语料清洗、ASR 纠错、意图识别及扩展问生成。 UI 设计采用了现代化、优雅的 Tailwind CSS 风格。 ## 🚀 项目简介 **智能外呼助手** 提供了一站式的工作流,帮助业务人员高效管理外呼数据。 主要功能模块包括: 1. **📊 仪表盘 (Dashboard)** * 实时监控语料处理总量、ASR 纠错准确率、今日生成量及 Token 消耗。 * 可视化展示近期的任务处理趋势(ECharts 图表)。 2. **📁 数据处理 (Data Processing)** * 支持上传 Excel/CSV 格式的录音文本数据。 * 自动化任务流程:上传 -> 解析 -> ASR 纠错 -> 意图分类(开发中)。 * 从 `TaskMain`(主任务)到 `TaskDetail`(明细)的数据落库管理。 3. **✨ 扩展问生成 (Extended Generation)** * 针对标准客服问答对,利用 LLM 生成语义相似的多种问法变体。 * 提高外呼机器人的意图识别泛化能力。 4. **⚙️ 系统设置 (System Settings)** * 配置底层大模型参数(如阿里云通义千问、OpenAI、DeepSeek 等)。 * 管理 API Key 及系统级 Prompt 模板。 ## 🛠️ 技术栈 ### 后端 (Backend) * **语言**: Java 21 * **框架**: Spring Boot 3.4.1 * **AI 整合**: Spring AI (支持 OpenAI 协议及多种大模型接入) * **数据库**: MySQL 8.0+ (配合 Spring Data JPA 自动建表) * **工具**: EasyExcel (高效 Excel 处理), Lombok ### 前端 (Frontend) * **架构**: 单页应用 (SPA),原生 HTML + Vue.js 3 (CDN 引入,无需 Node.js 构建) * **样式**: Tailwind CSS (CDN 引入) * **图表**: Apache ECharts ## 🏁 快速开始 ### 1. 环境准备 * JDK 21 或更高版本 * MySQL 8.0 数据库 * Maven 3.6+ ### 2. 数据库配置 ### 2. 数据库与 AI 配置 在 MySQL 中创建一个名为 `javadify_db` 的数据库。 本项目使用 `src/main/resources/application.yml` 进行配置(`application.properties` 已不再使用)。 **`application.yml` 示例:** ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/javadify_db?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true&characterEncoding=utf-8 username: root password: 你的数据库密码 driver-class-name: com.mysql.cj.jdbc.Driver jpa: hibernate: ddl-auto: update # 自动建表 (开发环境) show-sql: true # AI 供应商配置 (后端硬编码 Base URL,前端只用选) ai-providers: siliconflow: base-url: https://api.siliconflow.cn/v1 model: deepseek-ai/DeepSeek-V3 provider: SiliconFlow ollama: base-url: http://localhost:11434/v1 model: llama3 provider: Ollama ``` > **注意**: > 1. 系统设置页面 (System Settings) 允许用户输入 API Key,并进行连接测试。 > 2. Base URL 和 Model 名称在 `application.yml` 中配置,前端不再展示 Base URL 输入框。 ### 3. 运行项目 在项目根目录下运行: ```bash # 启动 Spring Boot 应用 mvn spring-boot:run ``` ### 4. 访问应用 项目启动成功后,打开浏览器访问: 👉 `http://localhost:8080` ## 📂 项目结构 ``` java-dify ├── src/main/java/com/example/java_dify │ ├── controller # 控制器 (API 接口) │ ├── entity # 实体类 (TaskMain, TaskDetail) │ ├── repository # JPA 仓库接口 │ ├── service # 业务逻辑 (文件解析, 任务调度) │ └── JavaDifyApplication.java # 启动类 ├── src/main/resources │ ├── static # 静态资源 (index.html 为前端入口) │ └── application.properties # 配置文件 └── pom.xml # Maven 依赖管理 ``` ## 📝 待办事项 (TODO) - [ ] 完善 `DashboardController` 的文件上传接口 (`/api/preview`)。 - [ ] 对接入 Spring AI ChatClient,实现真实的 ASR 纠错与意图分类逻辑。 - [ ] 前端对接真实的后端数据,替换 Mock 数据。 - [ ] 增加用户登录认证 (Spring Security)。 ## 🤝 贡献 欢迎提交 Issue 或 Pull Request 来改进这个项目! ## 📄 许可证 MIT License