# aib **Repository Path**: oneto7/aib ## Basic Information - **Project Name**: aib - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-10 - **Last Updated**: 2026-02-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI 网站生成平台 基于 PRD / 技术设计文档实现的 MVP:Vue3 前端 + Spring Boot 3 后端,AI 使用火山引擎方舟(Responses API)。 ## 环境要求 - JDK 17+ - Node 18+ - MySQL 8(已执行 `docs/schema-mysql.sql` 建库建表) - Redis(本地或远程) - 火山引擎方舟 API Key ## 配置说明 ### 后端(backend) - 数据库与 Redis:通过环境变量覆盖(推荐): - `DB_HOST`、`DB_PORT`、`DB_USERNAME`、`DB_PASSWORD` - `REDIS_HOST`、`REDIS_PORT`、`REDIS_PASSWORD` - **ARK_API_KEY(必填)**:火山引擎方舟 API Key。 - 建议通过环境变量设置:`setx ARK_API_KEY 你的Key`(Windows)或 `export ARK_API_KEY=你的Key`(macOS/Linux) - 可选:`ARK_MODEL` 默认为 `glm-4-7-251222`,可按需修改。 ### 前端(frontend) - 开发时通过 Vite 代理访问后端,无需单独配置;生产构建需配置 `VITE_API_BASE_URL` 指向后端地址。 ## 首次运行 ### 1. 数据库 在目标 MySQL 执行建表脚本(需先创建好数据库 `aib` 或使用脚本中的 CREATE DATABASE): ```bash mysql -h -P -u -p < docs/schema-mysql.sql ``` 执行后会自动插入**默认管理员**账号(若尚未存在): - **用户名**:`admin` - **密码**:`admin@123` 请首次登录后尽快修改密码。若只补插管理员,可单独执行:`mysql ... < docs/data-init-admin.sql`。 ### 2. 后端 ```bash cd backend export ARK_API_KEY=你的火山引擎方舟API_Key # 必填(macOS/Linux) mvn spring-boot:run ``` 默认启动在 `http://localhost:8081`。 ### 3. 前端 ```bash cd frontend npm install npm run dev ``` 默认访问 `http://localhost:5173`,代理会转发 `/api` 到后端。 ### 4. 使用流程 1. 打开 http://localhost:5173 ,使用默认管理员(admin / admin@123)登录或自行注册。 2. 创建项目,进入创作台。 3. 输入网站描述(如:「做一个律师所官网首页,包含导航、Banner、服务介绍、联系方式,风格简约专业」),点击「生成网站」。 4. 等待生成完成后在右侧预览,可切换版本、导出 ZIP、部署或浏览器新开预览页。 ## 项目结构 ``` aib/ ├── docs/ # PRD、技术设计、开发前准备、schema ├── backend/ # Spring Boot 3 后端 └── frontend/ # Vue3 + Vite 前端 ``` ## 接口与 AI 接入说明 - 后端调用火山引擎方舟 **Responses API**:`POST https://ark.cn-beijing.volces.com/api/v3/responses`。 - 模型名默认:`glm-4-7-251222`,可通过 `ARK_MODEL` 修改。 ## 诊断与排查 - 生成异常时,会将 **AI 请求/响应** 保存到 `site_version.ai_request_json / ai_response_json`,方便排查。 - 若你的数据库是老版本,需要执行一次字段变更: ```sql ALTER TABLE aib.site_version ADD COLUMN ai_request_json MEDIUMTEXT DEFAULT NULL COMMENT 'AI 请求参数(JSON 字符串,可为数组)', ADD COLUMN ai_response_json MEDIUMTEXT DEFAULT NULL COMMENT 'AI 返回内容(JSON 字符串,可为数组)'; ```