创建 Flask + Vue.js 全栈项目,采用单端口架构、uv 依赖管理、结构化日志和生产级前端设计。当用户要求以下操作时触发:创建新的 Flask+Vue 项目、搭建 Web 应用、构建全栈 Python+Vue 应用、初始化 Flask Web 项目、设置单端口 Flask 前后端项目。触发词:新建项目、创建项目、搭建项目、Flask项目、Vue项目。
Flask + Vue.js 项目创建器是一项面向实际任务的技能,主要用于搭建 Flask 3.1 + Vue.js 全栈项目,采用单端口架构、结构化日志和独特的前端设计;Web 框架;
80 (统一);单端口架构;所有请求由 Flask 在 80 端口统一处。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
搭建 Flask 3.1 + Vue.js 全栈项目,采用单端口架构、结构化日志和独特的前端设计。
| 层级 | 技术选型 |
|---|---|
| Web 框架 | Flask 3.1.0 |
| 前端 | Vue.js (CDN, 单端口) |
| 依赖管理 | uv |
| 日志 | Python logging (TimedRotatingFileHandler) |
| 端口 | 80 (统一) |
所有请求由 Flask 在 80 端口统一处理。静态文件(HTML/CSS/JS)通过 Flask 路由从 templates/ 目录提供。
按顺序执行以下步骤:
scripts/init_project.pypyproject.toml向用户询问:
运行初始化脚本:
python scripts/init_project.py--path
这将创建:
/ ├── AGENTS.md # AI Agent 项目指南(自动生成) ├── pyproject.toml # uv 项目配置 ├── uv.lock # uv 锁定文件(自动生成) ├── src/ │ ├── .py # Flask 主入口(含日志) │ ├── templates/ # 前端资源 │ │ ├── .html # 主页面 (Vue.js) │ │ ├── css/ # 样式文件 │ │ ├── js/ # JavaScript 文件 │ │ └── assets/ # 静态资源(图片、字体等) │ ├── utils/ # 核心工具模块 │ │ ├── __init__.py │ │ └── logger.py # 日志模块 │ └── log/ # 日志输出目录 │ └── *.log # 按模块分日志文件(按天轮转)
pyproject.toml 自动生成,包含 uv 镜像配置:
[tool.uv] index-url = "https://pypi.tuna.tsinghua.edu.cn/simple"
核心依赖:
dependencies = [
"flask>=3.1.0",
]
生成的 包含集成的日志功能:
from flask import Flask, send_from_directory, send_file
from utils.logger import get_logger
app = Flask(__name__)
logger = get_logger('')
@app.route('/')
def index():
return send_file('templates/.html')
# ... 静态文件路由 ...
if __name__ == '__main__':
logger.info('启动服务器,端口 80...')
app.run(host='0.0.0.0', port=80, debug=True)
创建 HTML/CSS/JS 时应用前端设计指南。完整设计系统参见 references/frontend-design.md。
核心原则:
模式Vue.js 集成模式:
详细的 Vue.js 最佳实践参见 references/vue-guidelines.md。
重要:任何项目修改后,更新 AGENTS.md 以反映变更。
AGENTS.md 文件在项目创建时自动生成,作为 AI Agent 项目指南。必须与实际项目状态保持同步。
何时更新 AGENTS.md:
更新内容:
更新日志格式:
## 更新日志 | 日期 | 版本 | 变更内容 | |------|------|---------| | 2026-06-07 | 0.1.0 | 初始项目创建 | | 2026-06-08 | 0.2.0 | 新增用户认证模块 |
cduv sync uv run python src/ .py
src/utils/logger.pysrc/log/%(asctime)s | %(levelname)-8s | %(name)s | %(message)sfrom utils.logger import get_logger
logger = get_logger('module_name')
logger.info('操作成功完成')
logger.warning('发生了意外情况')
logger.error('发生错误: %s', error_detail)
每个日志记录器名称创建单独的日志文件:src/log/
文件在午夜轮转,命名模式:
交付前验证:
pyproject.toml 包含 [tool.uv] 清华镜像配置pyproject.toml 位于项目根目录(与 src 同级)src/log/ 目录存在且包含 .gitkeepAGENTS.md 存在且反映当前项目状态cursor-pointer