Python直接依赖在 requirements.txt 固定版本,完整传递依赖在 requirements-lock.txt;开发测试额外使用 pytest/pytest-asyncio。FastAPI/Uvicorn提供 HTTP 与生命周期,Pydantic提供严格输入与结构化模型,SQLAlchemy/aiosqlite提供真实 asyncSQLite,LangGraph提供条件状态图,httpx提供真实异步 AI,PyJWT提供签名令牌,python-multipart解析上传,Alembic管理结构迁移,Pillow/PyMuPDF验证和转换图像与PDF,openpyxl/reportlab导出真实文件,tzdata支持 Windows 业务时区。
前端 package.json:vue、vue-router、pinia为组件、路由与会话;Element Plus与icons提供中文表单、表格和图标;Vite/plugin-vue为开发与构建;TypeScript/vue-tsc检查接口使用与模板类型;@types/node用于配置类型;Prettier用于源码格式化。package-lock.json保证传递版本。npm脚本:dev启动开发服务,build先进行类型检查再构建,preview检查构建结果。Node要求24+,原因是原生 TypeScript配置加载与本次实测环境。
tsconfig.json:strict拒绝隐式类型错误,Bundler解析与 Vite一致,DOM库提供 fetch/ReadableStream/AbortController类型,noEmit由 vue-tsc命令保证不会生成混杂 JS文件。配置文件与锁文件是标准 JSON,语法不支持注释,因此此处解释用途而不加入无效的 // 注释。
后端 .env.example对地址、端口、密钥、数据库、模型、上传、消费者与告警阈值集中注释。前端只含非敏感 VITE_API_BASE、BACKEND_URL与FRONTEND_PORT;服务器密钥不能放入 VITE_环境变量。运行时 data/jwt.secret由服务端随机生成并排除分发。