# 仓库指南 ## 项目结构与模块组织 SmartUp 主应用由 FastAPI 后端和 Vue 3/Vite 前端组成,并通过 Docker Compose 打包运行。后端代码位于 `backend/app/`:`routers/` 定义 API 路由,`services/` 放业务逻辑和上游集成,`models/` 是 SQLAlchemy ORM,`schemas/` 是 Pydantic 类型,`utils/` 放通用工具。后端测试为 `backend/test_*.py`。 前端代码位于 `frontend/src/`:`views/` 是页面,`components/` 是复用组件,`api/` 封装 Axios 请求,`stores/` 管理 Pinia 状态,`assets/` 存放样式和静态资源。`data/` 存放本地 SQLite 数据库,视为运行时数据。 ## 上下游网关与扩展目录 `new-api/`、`nox-api/`、`sub2api/` 和 `browser-extension/` 是 SmartUp 监控、同步和对接的上下游 API 网关或配套扩展,不是 Python 应用的一部分。其中 Go 项目有独立的 `go.mod`、README、Dockerfile 或本地 `AGENTS.md`,修改时优先遵循各自目录内说明。 当 Python 应用中关于上游/下游账号、密钥、分组、模型、额度、认证头或同步流程的逻辑不清楚时,应读取这些目录的源码来确认真实接口行为,不要只按后端字段名猜测协议。 ## 构建、测试与开发命令 - `make up`:使用现有镜像启动 Docker Compose 应用。 - `make up-build`:依赖或镜像配置变化后重新构建并启动。 - `make log`:查看 `smartup` 服务日志。 - `cd backend && pip install -r requirements.txt`:安装后端依赖。 - `cd backend && uvicorn app.main:app --reload --port 8000`:本地运行 API。 - `cd backend && pytest`:运行后端测试。 - `cd frontend && npm install`:安装前端依赖。 - `cd frontend && npm run dev`:启动 Vite;`npm run build` 执行类型检查并构建。 ## 编码风格与命名约定 Python 使用 4 空格缩进,模块名使用 snake_case,例如 `finance_service.py`、`external_api_logs.py`。路由处理函数应保持精简,将业务逻辑下沉到 `services/`。请求和响应边界使用 Pydantic schema。 前端使用 Vue SFC 和 `