Files
resume-agent/README.md
T
hypandClaude ae2d9b128d feat: builder 简历生成 + 轻度优化 + 简历导入交付副本
自内部仓库剥离深度优化与 RAG 知识库后的交付版本:
- Builder 对话式简历生成(FSM + 意图路由 LLM 兜底增强)
- 条目级轻度优化:事实覆盖门禁 + STAR/bullet 修复链,功能/简介/成果与技术栈同级保护
- 简历导入:DOCX/PDF 解析、结构归一、手机号脱敏
- PostgreSQL 运行时 + Alembic 迁移链

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-05 11:08:30 +08:00

60 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Resume AgentOfferπ 简历生成 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_URLPostgres 测试库)
cd frontend
npm run typecheck && npm run build
```
## 部署与安全基线
见 [docs/DEPLOY.md](docs/DEPLOY.md)。要点:试点期单进程 + 单 Postgres 即可,无需容器编排;
服务无内置认证,必须放在内网或网关之后;不要在环境变量中设置
`RESUME_AGENT_DEFAULT_TIER=vip`(会把全量会话提权)。