generated from kgod/ai-review-template
自内部仓库剥离深度优化与 RAG 知识库后的交付版本: - Builder 对话式简历生成(FSM + 意图路由 LLM 兜底增强) - 条目级轻度优化:事实覆盖门禁 + STAR/bullet 修复链,功能/简介/成果与技术栈同级保护 - 简历导入:DOCX/PDF 解析、结构归一、手机号脱敏 - PostgreSQL 运行时 + Alembic 迁移链 Co-Authored-By: Claude <noreply@anthropic.com>
60 lines
2.4 KiB
Markdown
60 lines
2.4 KiB
Markdown
# 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`(会把全量会话提权)。
|