# Resume Agent(Offerπ 简历生成 Agent) 对话式简历生成服务:引导用户分段填写经历,AI 将用户确认过的事实整理为优化稿,支持导入既有简历继续编辑。本仓库为 MVP 交付范围: - **简历生成(Builder)**:分板块对话采集(教育/实习/项目/校园/竞赛等),事实→候选稿→确认写入 - **轻度优化**:基于条目已有事实的一键 STAR 优化稿(纯 LLM 改写 + 声明校验,不追加追问) - **简历导入**:docx/pdf/图片解析为结构化草稿,确认后并入在线简历 - 个人总结生成/再生成、技能推荐、目标岗位设置、条目级编辑/撤销 **当前不包含**:深度优化(多轮追问式)与 RAG 知识库。两者将随深度优化架构重构后单独集成;轻度优化自始不依赖知识库(优化稿仅基于用户已确认事实 + 声明校验)。 ## 目录结构 ``` backend/ FastAPI 后端(Python 3.11+),SQLite(试点)或 PostgreSQL(生产) frontend/ Vue 3 + Vite 前端(构建产物为静态文件) ``` ## 快速开始 ### 后端 ```bash cd backend python -m pip install -r requirements.txt cp .env.example .env # 配置 OPENAI_API_KEY / DATABASE_URL 等 python -m uvicorn app.asgi:application --port 8000 ``` - `OPENAI_API_KEY` 留空时走规则兜底(可演示流程,无 AI 改写)。 - 生产使用 PostgreSQL:在 `.env` 配置 `DATABASE_URL`,表结构由 Alembic 迁移管理 (`alembic upgrade head`;存量 SQLite 数据可用 `scripts/migrate_sqlite_to_postgres.py` 迁移)。 - API 文档默认关闭;仅在开发环境设置 `RESUME_AGENT_API_DOCS=1` 开启 `/docs`。 ### 前端 ```bash cd frontend npm ci npm run build # 产物在 frontend/dist,任意静态服务器/Nginx 托管 npm run dev # 开发模式(默认代理到本机 8000) ``` 前端通过 `VITE_API_BASE_URL` 指定后端地址(默认同源 `/ai-api/resume-agent`)。 ## 测试 ```bash cd backend python -m pytest tests -q # 需要 .env 中配置 RESUME_AGENT_TEST_DATABASE_URL(Postgres 测试库) cd frontend npm run typecheck && npm run build ``` ## 部署与安全基线 见 [docs/DEPLOY.md](docs/DEPLOY.md)。要点:试点期单进程 + 单 Postgres 即可,无需容器编排; 服务无内置认证,必须放在内网或网关之后;不要在环境变量中设置 `RESUME_AGENT_DEFAULT_TIER=vip`(会把全量会话提权)。