generated from kgod/ai-review-template
ae2d9b128d2f631b2a436500da77b32af13d5767
自内部仓库剥离深度优化与 RAG 知识库后的交付版本: - Builder 对话式简历生成(FSM + 意图路由 LLM 兜底增强) - 条目级轻度优化:事实覆盖门禁 + STAR/bullet 修复链,功能/简介/成果与技术栈同级保护 - 简历导入:DOCX/PDF 解析、结构归一、手机号脱敏 - PostgreSQL 运行时 + Alembic 迁移链 Co-Authored-By: Claude <noreply@anthropic.com>
Resume Agent(Offerπ 简历生成 Agent)
对话式简历生成服务:引导用户分段填写经历,AI 将用户确认过的事实整理为优化稿,支持导入既有简历继续编辑。本仓库为 MVP 交付范围:
- 简历生成(Builder):分板块对话采集(教育/实习/项目/校园/竞赛等),事实→候选稿→确认写入
- 轻度优化:基于条目已有事实的一键 STAR 优化稿(纯 LLM 改写 + 声明校验,不追加追问)
- 简历导入:docx/pdf/图片解析为结构化草稿,确认后并入在线简历
- 个人总结生成/再生成、技能推荐、目标岗位设置、条目级编辑/撤销
当前不包含:深度优化(多轮追问式)与 RAG 知识库。两者将随深度优化架构重构后单独集成;轻度优化自始不依赖知识库(优化稿仅基于用户已确认事实 + 声明校验)。
目录结构
backend/ FastAPI 后端(Python 3.11+),SQLite(试点)或 PostgreSQL(生产)
frontend/ Vue 3 + Vite 前端(构建产物为静态文件)
快速开始
后端
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。
前端
cd frontend
npm ci
npm run build # 产物在 frontend/dist,任意静态服务器/Nginx 托管
npm run dev # 开发模式(默认代理到本机 8000)
前端通过 VITE_API_BASE_URL 指定后端地址(默认同源 /ai-api/resume-agent)。
测试
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。要点:试点期单进程 + 单 Postgres 即可,无需容器编排;
服务无内置认证,必须放在内网或网关之后;不要在环境变量中设置
RESUME_AGENT_DEFAULT_TIER=vip(会把全量会话提权)。
Languages
Python
79%
Vue
15.8%
TypeScript
4.2%
CSS
0.8%
JavaScript
0.1%