Browse Source

feat: initialize project with BASELINE.md and README.md

main
Boom 1 week ago
parent
commit
1270461490
  1. 32
      .antigravity/BASELINE.md
  2. 49
      README.md

32
.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*

49
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*
Loading…
Cancel
Save