☰
AI Forge
2026/9/28 20:27:41 网站建设 项目流程

AI Forge

AI-Native Workspace— 把 AI 对话、Agent 流水线、知识库 RAG、代码审查统一到一个工作台。

已完成8 个阶段:基础架构 → AI Chat → Agent Pipeline → Code Review → RAG → Redis/PostgreSQL/RabbitMQ → 测试与安全加固 → Docker 一键部署。
https://github.com/lfl171/ai_forge.git

特性

  • 多轮对话 + SSE 流式:模型逐 token 输出,前端实时渲染 Markdown。
  • Agent 流水线:Requirement → Architecture → Database → API → Code Review 五阶段编排,状态机驱动 + 异步事件推送。
  • 知识库 / RAG:文档按 heading 分块,CJK bigram 检索,限域查询。
  • 代码审查:Monaco 编辑器 + AI 返回结构化 JSON(score / issues / suggestion)。
  • 双 Profile:dev零依赖内存模式,prodPostgreSQL + Redis + RabbitMQ 一键拉起。
  • 安全加固:请求体上限、CORS 白名单、AI 端点限流、安全响应头、错误信息收敛、Bean Validation。

技术栈

层选型
前端React 18 · TypeScript · Vite 5 · Tailwind · Zustand · Monaco Editor · react-markdown
后端Spring Boot 3.3 · Java 17 · Maven · Actuator
数据PostgreSQL 16 · Redis 7 · RabbitMQ 3.13
部署Docker · docker compose · nginx

模块

模块路径说明
Dashboard/欢迎区、快捷入口、最近任务
AI Chat/chat多轮对话 · Markdown · SSE 流式
AI Agent/agent多 Agent Pipeline 可视化 + 实时事件
Knowledge/knowledge知识库 / 文档 / RAG 检索
Code Review/reviewMonaco Editor + AI 结构化审查
Tasks/tasksChat / Agent / Review / RAG 任务中心
History/history按天聚合的任务历史
Settings/settingsAPI Key / 模型 / 主题

启动方式

1. Docker 一键拉起(推荐)

前提:Docker Desktop / Docker Engine 已启动。

# 在仓库根目录(与本 README 同级)# 1. 准备 LLM 凭据(也可放进 .env)exportAI_API_KEY=sk-xxxexportAI_MODEL=gpt-4o-mini# 2. 构建 + 启动 postgres / redis / rabbitmq / backend / frontenddockercompose up-d--build# 3. 浏览器访问 http://localhost

服务端口:

服务端口说明
frontend (nginx)80唯一对外入口
backend8080仅供内部访问(可选直接访问调试)
postgres5432
redis6379
rabbitmq mgmt15672guest/guest

关闭:

dockercompose down# 保留数据卷dockercompose down-v# 同时清理数据卷

2. 本地开发(dev profile,零依赖)

适合前端 / 后端单端调试。

前端

cdfrontendnpminstallnpmrun dev# http://localhost:5173,Vite proxy 把 /api 转发到 :8080

后端(dev profile:内存仓储,不连任何外部服务)

cdbackend mvn spring-boot:run# 或:mvn -DskipTests package && java -jar target/ai-forge-backend-0.1.0.jar# 健康检查:curl http://localhost:8080/actuator/health

dev profile不会启动 JPA / Redis / RabbitMQ 自动配置,Windows / Linux 装机即可跑。

3. 本地模拟 prod 链路(连真实基础设施)

# 后端依赖:postgres / redis / rabbitmqdockercompose up-dpostgres redis rabbitmqcdbackendSPRING_PROFILES_ACTIVE=prod mvn spring-boot:run

配置 LLM

API Key只在后端环境变量,前端绝对不可见。

# OpenAIexportAI_PROVIDER=openaiexportAI_API_KEY=sk-xxxexportAI_MODEL=gpt-4o-mini# DeepSeekexportAI_PROVIDER=deepseekexportAI_BASE_URL=https://api.deepseek.com/v1exportAI_MODEL=deepseek-chatexportAI_API_KEY=sk-xxx# 通义千问(DashScope OpenAI 兼容)exportAI_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1exportAI_MODEL=qwen-turboexportAI_API_KEY=sk-xxx# MoonshotexportAI_BASE_URL=https://api.moonshot.cn/v1exportAI_MODEL=moonshot-v1-8kexportAI_API_KEY=sk-xxx

关键 API

POST /api/chat/conversations 创建会话 GET /api/chat/conversations 会话列表 GET /api/chat/conversations/{id}/messages 历史消息 DELETE /api/chat/conversations/{id} 删除会话 POST /api/chat/conversations/{id}/stream SSE 流式对话 POST /api/agent/pipelines 创建 Agent 流水线 GET /api/agent/pipelines/{id} 查询状态 GET /api/agent/pipelines/{id}/events SSE 实时事件 POST /api/review 代码审查(结构化 JSON) POST /api/knowledge/bases 创建知识库 POST /api/knowledge/bases/{id}/documents 上传文档(自动分块) POST /api/knowledge/bases/{id}/query RAG 检索问答 GET /actuator/health 健康检查(携带 X-Request-Id 等安全响应头)

完整接口与事件说明见docs/API.md。

安全要点(Phase 07)

  • 请求体上限:表单 1MB,header 16KB,文件 2MB swallow。
  • 入参校验:Bean Validation(@NotBlank/@Size),上传前Sanitizers.safeFilename。
  • CORS:通过forge.cors.allowed-origins白名单(环境变量注入)。
  • AI 端点限流:令牌桶,forge.ratelimit.{window-seconds, max-requests}(默认 60s/30 次),返回 429 +Retry-After。
  • 安全响应头:X-Content-Type-Options、X-Frame-Options: DENY、Referrer-Policy、Permissions-Policy,prod 额外Strict-Transport-Security。
  • 错误收敛:5xx 不回传原始异常,统一 “服务异常,请稍后重试”,全量堆栈仍写入日志。

项目结构

ai-forge/ ├── backend/ # Spring Boot 3.3 (Maven) │ ├── src/main/java/com/aiforge/ │ │ ├── ai/ # AiClient + ChatRequest + TokenSink │ │ ├── chat/ # Chat / Conversation 实体、Controller、Service │ │ ├── agent/ # Pipeline 状态机、Agent 编排 │ │ ├── knowledge/ # Chunker / Retriever / RAG │ │ ├── review/ # 代码审查 │ │ ├── security/ # Sanitizers / Filters │ │ └── config/ # Cors / Cache / Redis / Rabbit / GlobalException │ ├── src/main/resources/ # application.yml + dev / prod profile │ ├── src/test/java/ # 24 个单元测试 + Spring 上下文加载测试 │ ├── Dockerfile │ └── pom.xml ├── frontend/ # React 18 + Vite + TS │ ├── src/ │ │ ├── pages/ # Dashboard / Chat / Agent / Knowledge / Review ... │ │ ├── components/ # 通用 UI 组件 │ │ ├── stores/ # Zustand stores │ │ └── lib/ # API client │ ├── nginx.conf │ ├── Dockerfile │ └── package.json ├── docs/ # API / 架构 / 博客素材 ├── docker-compose.yml # postgres + redis + rabbitmq + backend + frontend └── README.md

阶段路线

Phase内容状态
01项目骨架 + UI✅
02AI Chat + SSE 真实流式✅
03Agent Pipeline 调度✅
04Code Review✅
05Knowledge Base + RAG✅
06Redis + PostgreSQL + RabbitMQ✅
07测试 + 安全加固✅
08Docker + 文档 + 博客素材✅

License

MIT — 仅供学习交流,生产使用请自行评估 LLM 凭据管理与依赖安全。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询