From 939590855bf71356ffda432a3ea16ad6fde3fd5e Mon Sep 17 00:00:00 2001 From: bruce Date: Mon, 18 May 2026 20:24:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E5=88=9D=E5=A7=8B=E5=8C=96?= =?UTF-8?q?=E3=80=81=E5=BC=95=E5=85=A5mp=E3=80=81lombok=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + README.md | 109 +++++++++++++++++++ pom.xml | 27 +++++ src/main/resources/application-template.yaml | 13 +++ src/main/resources/application.yaml | 3 + 5 files changed, 153 insertions(+) create mode 100644 README.md create mode 100644 src/main/resources/application-template.yaml diff --git a/.gitignore b/.gitignore index 667aaef..eebc32d 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,4 @@ build/ ### VS Code ### .vscode/ +/docs/ \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..ec7d27c --- /dev/null +++ b/README.md @@ -0,0 +1,109 @@ +# Common Agent + +Common Agent 是一个规划中的通用 Agent 平台,技术路线基于 Java、Spring Boot 和 Spring AI。 +项目目标是建设一套完整的前后端系统,支持 Agent 编排、工具调用、会话管理、RAG 知识库和平台管理能力。 + +当前项目处于基础工程阶段。后端骨架、PostgreSQL 配置、MyBatis-Plus、Lombok 和多环境配置文件已经完成; +Agent 运行时、RAG 索引、前端页面和管理功能会在后续阶段逐步实现。 + +## 项目愿景 + +Common Agent 希望成为一个可复用的企业级 AI 应用基础平台: + +- Agent 运行时:支持对话、工具调用、记忆、任务执行和流程编排。 +- RAG 知识库:支持文档导入、解析、切片、向量化、检索和基于上下文的回答生成。 +- 模型抽象:通过 Spring AI 统一接入聊天模型、Embedding 模型和重排序模型。 +- 管理控制台:提供会话、Agent、知识库、文档、提示词和系统配置的 Web 管理界面。 +- 多环境部署:支持本地开发、测试环境和生产环境的配置隔离。 + +## 当前技术栈 + +- Java 21 +- Spring Boot 4.0.6 +- Spring AI,规划接入 +- MyBatis-Plus 3.5.16 +- PostgreSQL JDBC Driver +- Lombok +- Maven Wrapper +- PostgreSQL 数据库:`common_agent` + +## 项目结构 + +```text +common_agent +├── src/main/java/com/bruce +│ └── CommonAgentApplication.java +├── src/main/resources +│ ├── application.yaml +│ ├── application-dev.yaml +│ └── application-template.yaml +├── docs +│ ├── ARCHITECTURE.md +│ └── ROADMAP.md +├── pom.xml +└── README.md +``` + +## 配置说明 + +主配置文件只负责选择当前环境: + +```yaml +spring: + application: + name: common_agent + profiles: + active: dev +``` + +本地开发环境配置位于 `src/main/resources/application-dev.yaml`。 +当前开发环境数据库指向 PostgreSQL: + +```yaml +spring: + datasource: + driver-class-name: org.postgresql.Driver + url: jdbc:postgresql://110.42.106.130:5431/common_agent?currentSchema=common_agent + username: common_agent + password: common_agent +``` + +`src/main/resources/application-template.yaml` 是配置模板,可用于复制生成 +`application-test.yaml`、`application-prod.yaml` 等其他环境配置文件。 + +## 运行方式 + +运行测试: + +```powershell +.\mvnw.cmd test +``` + +启动应用: + +```powershell +.\mvnw.cmd spring-boot:run +``` + +当前阶段还没有加入 Web 服务依赖或常驻任务,所以应用可能启动成功后立即退出。 + +## 规划模块 + +- `agent-core`:Agent 执行模型、工具注册、记忆和编排能力。 +- `rag-core`:文档导入、切片、Embedding、检索和引用元数据。 +- `model-provider`:基于 Spring AI 的聊天模型、Embedding、重排序和模型配置层。 +- `platform-api`:面向前端和外部系统的 REST API。 +- `platform-admin`:平台管理前端。 +- `common-infra`:持久化、审计日志、安全、租户隔离和可观测性。 + +## 文档 + +- [架构说明](docs/ARCHITECTURE.md) +- [开发路线图](docs/ROADMAP.md) + +## 参考资料 + +- [Spring AI Reference](https://docs.spring.io/spring-ai/reference/) +- [Spring AI RAG Reference](https://docs.spring.io/spring-ai/reference/api/retrieval-augmented-generation.html) +- [MyBatis-Plus](https://baomidou.com/) + diff --git a/pom.xml b/pom.xml index c652a31..3e59eee 100644 --- a/pom.xml +++ b/pom.xml @@ -28,6 +28,7 @@ 21 + 3.5.16 @@ -35,6 +36,24 @@ spring-boot-starter + + com.baomidou + mybatis-plus-spring-boot4-starter + ${mybatis-plus.version} + + + + org.projectlombok + lombok + true + + + + org.postgresql + postgresql + runtime + + org.springframework.boot spring-boot-starter-test @@ -47,6 +66,14 @@ org.springframework.boot spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + diff --git a/src/main/resources/application-template.yaml b/src/main/resources/application-template.yaml new file mode 100644 index 0000000..ca451bc --- /dev/null +++ b/src/main/resources/application-template.yaml @@ -0,0 +1,13 @@ +# Copy this file to application-dev.yaml, application-test.yaml, or application-prod.yaml, +# then change spring.profiles.active in application.yaml to select the environment. +spring: + datasource: + driver-class-name: org.postgresql.Driver + url: jdbc:postgresql://:/ + username: + password: + +mybatis-plus: + mapper-locations: classpath*:/mapper/**/*.xml + configuration: + map-underscore-to-camel-case: true diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml index 15507b8..efd6f1c 100644 --- a/src/main/resources/application.yaml +++ b/src/main/resources/application.yaml @@ -1,3 +1,6 @@ spring: application: name: common_agent + profiles: + active: dev +