feat: builder 简历生成 + 轻度优化 + 简历导入交付副本

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
hyp
2026-08-05 11:08:30 +08:00
co-authored by Claude
commit ae2d9b128d
191 changed files with 27719 additions and 0 deletions
+43
View File
@@ -0,0 +1,43 @@
# ===== LLM — production uses Volcengine Ark over the OpenAI-compatible protocol =====
RESUME_AGENT_LLM_PROVIDER=volcengine
VOLCENGINE_API_KEY=
VOLCENGINE_BASE_URL=https://ark.cn-beijing.volces.com/api/v3
# A plain model name (as below) or an Ark inference endpoint ID (ep-xxxxxxxx) both work.
VOLCENGINE_MODEL=deepseek-v4-flash-260425
# Alternative: any OpenAI-compatible gateway. With provider=auto the LLM is used
# only when OPENAI_API_KEY is non-empty; otherwise requests fall back to rules.
# RESUME_AGENT_LLM_PROVIDER=openai
# OPENAI_API_KEY=
# OPENAI_BASE_URL=https://api.openai.com/v1
# OPENAI_MODEL=gpt-4o-mini
# The Ark gateway requires json_object; switch back to json_schema if your
# upstream supports it.
OPENAI_STRUCTURED_OUTPUT_MODE=json_object
OPENAI_TIMEOUT_SECONDS=30
OPENAI_MAX_RETRIES=2
OPENAI_STRUCTURED_OUTPUT_RETRIES=1
# false = LLM failures surface as errors (current production value);
# true = silently fall back to rule-based output.
RESUME_AGENT_LLM_FALLBACK_TO_RULES=false
# Builder chat intent routing: off = rules only, shadow = LLM logs but does not
# act, on = LLM rescue enabled (current production value).
RESUME_AGENT_INTENT_ROUTER_MODE=on
# RESUME_AGENT_INTENT_MODEL= # dedicated intent-classifier model; defaults to the main model
# ===== Database — PostgreSQL is required at runtime (create_app fails without it) =====
DATABASE_URL=postgresql+psycopg://resume_agent:change-me@127.0.0.1:5435/resume_agent
RESUME_AGENT_TEST_DATABASE_URL=postgresql+psycopg://resume_agent:change-me@127.0.0.1:5435/resume_agent_test
# Schema the tables live in; defaults to resume_agent. Set per environment when
# several deployments share one database.
# RESUME_AGENT_DATABASE_SCHEMA=resume_agent
# ===== Optional =====
# RESUME_AGENT_CORS_ORIGINS=http://localhost:5173,http://127.0.0.1:5173
# Light-optimization rate limit: 20 requests per user per 3600 s window (defaults).
# RESUME_AGENT_LIGHT_OPT_RATE_LIMIT=20
# RESUME_AGENT_LIGHT_OPT_RATE_WINDOW_SECONDS=3600
# Keep secrets only in .env; .env is ignored by Git.