diff --git a/.antigravity/BASELINE.md b/.antigravity/BASELINE.md new file mode 100644 index 0000000..72697ac --- /dev/null +++ b/.antigravity/BASELINE.md @@ -0,0 +1,32 @@ +# Project Baseline: AI-Native CRM (Backend) + +## 🏗️ 全局架构 (Global Architecture) +本项目是一个 **AI 原生 (AI-Native) CRM** 系统的后端。 +- **核心理念**:摆脱传统的 REST API 增删改查动作,所有的业务模块定义和数据变更都通过 AI Agent 调用 Tool 实现。 +- **技术栈**:JDK 19 + Spring Boot 3.2.4 + PostgreSQL。 +- **关键组件**: + - `CrmTools.java`: 系统的“消息枢纽”,包含所有 `@Tool` 方法(Define, Save, Delete),直接与 Repository 交互。 + - `AgentController.java`: 主要入口,负责处理自然语言指令或业务事实报告。 + - **隔离机制**:实现了基于 Header `X-Creator-Id` 的简易用户 Session 隔离,所有数据查询和变更均强制绑定 `creatorId`。 + +## 💼 业务逻辑 (Business Logic) +- **动态模块**:系统支持通过 AI 指令动态创建业务实体(Entities),并在数据库中自动维护。 +- **AI 优先变更**:禁用了传统的 CRUD REST 接口,强制所有数据变更流经 AI 逻辑,以保证业务意图的记录。 + +## 📈 当前开发进度 (Current Progress) +- [x] **AI 原生 CRUD**:已实现 Agent 驱动的插入、更新和删除。 +- [x] **实体关联**:支持通过 `x-link-entity` 扩展 Schema 实现实体间关联选择。 +- [x] **用户会话隔离**:已完成后端拦截与过滤逻辑,确保多用户数据不串线。 +- [x] **CORS 配置**:已解决前后端跨域通信问题。 + +## ⚠️ 尚未解决的隐患 (Known Issues/Risks) +- **并发冲突**:动态 Schema 变更在极高并发下的稳定性待验证。 +- **权限细化**:目前的 `X-Creator-Id` 仅做基础隔离,缺乏细粒度的 RBAC。 + +## 🚀 下一步计划 (Next Steps) +1. **AI 增强搜索**:实现通过 AI 生成复杂查询逻辑。 +2. **仪表盘分析**:开发动态数据的 AI 汇总分析模块。 +3. **性能监控**:针对 AI Tool 调用的耗时进行埋点监控。 + +--- +*Last Updated: 2026-03-25 by Antigravity* diff --git a/README.md b/README.md new file mode 100644 index 0000000..ff20970 --- /dev/null +++ b/README.md @@ -0,0 +1,49 @@ +# AI-Native CRM Backend + +🚀 **AI 原生客户关系管理系统 - 后端服务** + +本项目是一个基于 [Spring Boot](https://spring.io/projects/spring-boot) 和 [LangChain4j](https://github.com/langchain4j/langchain4j) 构建的 AI 原生后端系统。 + +## 🏗️ 核心理念 (Core Concepts) + +与传统 CRM 不同,本项目完全围绕 **AI Agent** 逻辑构建: +- **AI 枢纽 (AI Hub)**:通过 `CrmTools.java` 定义的一系列 `@Tool` 方法,AI Agent 可以直接操作数据库。 +- **动态实体 (Dynamic Entities)**:支持在运行时通过自然语言指令动态定义新的业务模块。 +- **免 API 维护**:减少了为每个业务动作手动编写 Controller 的需求,一切数据变更均由 AI 驱动。 + +## 🛠️ 技术栈 (Tech Stack) + +- **语言**: Java 19 +- **框架**: Spring Boot 3.2.4 +- **持久层**: Spring Data JPA + PostgreSQL +- **AI 框架**: LangChain4j 0.30.0 +- **构建工具**: Maven 3.x + +## 🚀 快速开始 (Quick Start) + +### 前置条件 +- 已安装 JDK 19 或更高版本。 +- 本地运行的 PostgreSQL 数据库。 +- 有效的 AI 模型 API Key(请在环境变量或配置文件中配置)。 + +### 运行应用 +1. 克隆项目并进入 backend 目录。 +2. 修改 `src/main/resources/application.properties` 配置数据库连接。 +3. 执行 Maven 命令: + ```bash + mvn clean install + mvn spring-boot:run + ``` + +## 📂 项目结构 + +- `src/main/java/com/.../crm/controller/AgentController.java`: AI 交互的主入口。 +- `src/main/java/com/.../crm/tools/CrmTools.java`: AI 直接调用的工具集合。 +- `src/main/java/com/.../crm/model/SysEntity.java`: 动态实体的元数据定义。 +- `sql/`: 包含初始化数据库的 SQL 脚本。 + +## 📈 当前进度与基准 +详细的架构和进度记录请参阅:[.antigravity/BASELINE.md](.antigravity/BASELINE.md) + +--- +*Created by Antigravity*