一款轻量化、易上手的流媒体/自媒体营销内容辅助工具,帮助自媒体从业者提高创作效率,降低创作门槛。
本项目旨在开发一款轻量化的AI辅助内容创作工具,聚焦"营销素材智能生成、内容格式快速适配、创作记录留存与基础数据统计"核心需求。
- 用户认证:用户注册、登录、JWT认证
- 素材库管理:素材CRUD、分类管理、标签管理、素材检索
- AI内容生成:选题推荐、文案生成、质量评估、人工编辑
- 平台适配:抖音、小红书、微信视频号格式适配,一键排版
- 创作记录:创作历史、版本管理、检索功能、导出功能
- 统计分析:每日统计、关键词分析、数据可视化
前端:
- Vue.js 3
- Element Plus
- Pinia(状态管理)
- Vue Router(路由)
- Axios(HTTP客户端)
- ECharts(数据可视化)
后端:
- Python FastAPI
- SQLAlchemy(ORM)
- Alembic(数据库迁移)
- JWT认证
- OpenAI API / 通义千问 / 文心一言
数据库:
- MySQL 8.0
- Redis 6.0
部署:
- Docker
- Nginx
内容创作AI-Agent/
├── frontend/ # 前端项目(Vue.js 3)
│ ├── src/
│ │ ├── api/ # API请求封装
│ │ ├── assets/ # 资源文件
│ │ ├── components/ # 公共组件
│ │ ├── layouts/ # 布局组件
│ │ ├── router/ # 路由配置
│ │ ├── stores/ # Pinia状态管理
│ │ ├── utils/ # 工具函数
│ │ ├── views/ # 页面组件
│ │ ├── App.vue
│ │ └── main.js
│ ├── package.json
│ ├── vite.config.js
│ └── index.html
├── backend/ # 后端项目(FastAPI)
│ ├── app/
│ │ ├── api/ # API路由
│ │ ├── core/ # 核心配置
│ │ ├── models/ # 数据模型
│ │ ├── schemas/ # Pydantic模型
│ │ ├── services/ # 业务逻辑
│ │ ├── utils/ # 工具函数
│ │ └── main.py # 应用入口
│ ├── tests/ # 测试文件
│ ├── requirements.txt
│ ├── run.py
│ └── .env.example
├── 文档集合/ # 项目文档
├── 启动项目.bat # 项目启动脚本
├── 启动测试.bat # 测试启动脚本
├── docker-compose.yml # Docker编排
└── README.md
- Node.js 18+
- Python 3.10+
- MySQL 8.0+
- Redis 6.0+
- Docker(可选)
Windows系统下,可以使用提供的批处理脚本快速启动项目:
# 双击运行或在命令行执行
启动项目.bat该脚本会自动:
- 启动后端服务(http://localhost:8000)
- 启动前端服务(http://localhost:3000)
默认账号:
- 用户名:admin
- 密码:admin123
# 进入前端目录
cd frontend
# 安装依赖
npm install
# 配置环境变量
cp .env.example .env.development
# 编辑.env.development文件,填写配置信息
# 启动开发服务器
npm run dev前端服务将在 http://localhost:3000 启动
# 进入后端目录
cd backend
# 创建虚拟环境
python -m venv venv
# 激活虚拟环境
# Windows:
venv\Scripts\activate
# Linux/Mac:
source venv/bin/activate
# 安装依赖
pip install -r requirements.txt
# 配置环境变量
cp .env.example .env
# 编辑.env文件,填写配置信息
# 初始化数据库
alembic upgrade head
# 启动后端服务
python run.py后端服务将在 http://localhost:8000 启动
API文档访问地址:http://localhost:8000/docs
Windows系统下,可以使用提供的批处理脚本启动测试可视化工具:
# 双击运行或在命令行执行
启动测试.bat该脚本会自动:
- 检查Python环境
- 检查并创建虚拟环境
- 安装测试依赖(pytest、pytest-json-report)
- 启动后端服务(如果未运行)
- 打开测试可视化网页
- 建议先启动start_backend.bat文件在启动以上bat文件
测试可视化网页:项目根目录下的
test-dashboard.html
# 进入后端目录
cd backend
# 激活虚拟环境
# Windows:
venv\Scripts\activate
# Linux/Mac:
source venv/bin/activate
# 安装测试依赖
pip install -r requirements-dev.txt
# 运行所有测试
pytest
# 运行特定测试文件
pytest tests/test_auth.py
# 运行特定测试函数
pytest tests/test_auth.py::test_register
# 生成测试报告
pytest --json-report --json-report-file=test_report.json测试覆盖范围:
- 用户认证测试(
test_auth.py) - 素材管理测试(
test_materials.py) - 创作记录测试(
test_records.py) - 平台适配测试(
test_adapter.py) - 统计分析测试(
test_statistics.py) - 仪表盘测试(
test_dashboard.py) - 安全性测试(
test_security.py) - 性能测试(
test_performance.py)
# 启动所有服务
docker-compose up -d
# 查看日志
docker-compose logs -f
# 停止服务
docker-compose down前端项目使用Vue.js 3 + Vite + Element Plus构建。
src/api/:API请求封装src/components/:公共组件src/layouts/:布局组件src/router/:路由配置src/stores/:Pinia状态管理src/views/:页面组件src/utils/:工具函数
- 遵循ESLint规则
- 遵循Prettier格式化
- 组件命名:PascalCase
- 文件命名:kebab-case
- 变量命名:camelCase
后端项目使用Python FastAPI + SQLAlchemy构建。
app/api/:API路由app/core/:核心配置app/models/:数据模型app/schemas/:Pydantic模型app/services/:业务逻辑app/utils/:工具函数tests/:测试文件
- 遵循PEP 8规范
- 函数命名:snake_case
- 类命名:PascalCase
- 常量命名:UPPER_CASE
- 添加类型注解
后端API文档使用Swagger/OpenAPI自动生成,启动后端服务后访问:
users:用户表categories:分类表materials:素材表tags:标签表material_tags:素材标签关联表records:创作记录表versions:版本表statistics:统计表
详细的数据库设计请参考 文档集合/详细设计文档.md
文档集合/概要设计文档.md:项目概要设计文档集合/详细设计文档.md:项目详细设计文档集合/项目定位与功能设计.md:项目定位与功能设计文档集合/详细分工文档.md:团队详细分工文档集合/接口设计文档.md:API接口设计文档集合/开发流程文档.md:开发流程说明文档集合/测试报告.md:测试报告
本项目由4人团队开发,采用角色分工模式:
- 队长:项目统筹、后端架构、AI核心功能
- 前端开发:Vue3页面、SSE交互、UI/UX
- 后端开发:数据模型、业务API、数据库
- 测试运维:质量保障、CI/CD、部署文档
详细的团队分工请参考 文档集合/04-研发管理/项目现状审计与任务分配.md
本项目开发周期为14周(按课程大纲),采用Scrum敏捷迭代:
- 第1-3周:团队组建、需求分析、系统设计
- 第4-6周:用户认证、素材库管理、数据库设计
- 第6-8周:AI内容生成(RAG + SSE + Few-Shot)
- 第8-10周:平台适配、创作记录、版本管理
- 第10-12周:统计分析、前后端联调、系统测试
- 第12-14周:项目答辩与总结
详细的开发计划请参考 文档集合/01-项目背景与需求/项目定位与功能设计.md
- 切到 develop 拉取最新代码 (
git checkout develop && git pull) - 切回个人分支并同步 (
git checkout dev/你的名字 && git merge develop) - 开发并提交 (
git commit -m 'feat: 你的改动描述') - 推送到远端 (
git push) - 在 GitHub 上创建 Pull Request 到
develop分支,等待队长审查
本项目采用 MIT 许可证 - 详见 LICENSE 文件
注意:本项目为教学实训项目,仅供学习交流使用。