🎯 JD Matcher 文档

config/index.js

常量、匹配权重、技能词库与 .env 异步加载(Sprint 2)。

config/index.js

层级config(依赖 typesSprint:S2


导出项速查

导出类型说明
initConfig()async () => envMap加载 .env,更新所有配置
SITE_CONFIGobjectappTitle / appName / resumeUrl
RESUME_URLstring远程简历 URL(空则禁用)
AI_CONFIGobjectclaude / openai 的 endpoint / model / maxTokens
WEIGHTSobject三维权重(skill / experience / education)
EDU_LEVEL_MAPobject学历数值映射
EDU_KEYWORDSobject学历识别关键词
SKILL_DICTIONARYobject7 大分类技能词库
ALL_SKILLSstring[]SKILL_DICTIONARY 的平铺数组
EXPERIENCE_PATTERNSRegExp[]年限提取正则(中英文)

initConfig()

// 在应用启动时调用一次
import { initConfig } from '../config/index.js';
await initConfig();
  • 发起 fetch('/.env') 请求,解析 KEY=VALUE 格式
  • 更新模块级 SITE_CONFIGRESUME_URLAI_CONFIG
  • 文件不存在 / 请求失败 → 静默降级到 DEFAULT_ENV
  • 多次调用共享同一个 Promise(单例模式,不重复请求)

WEIGHTS — 匹配权重

export const WEIGHTS = {
  skill:      0.50,   // 技能匹配占 50%
  experience: 0.30,   // 经验年限占 30%
  education:  0.20,   // 学历占 20%
};

SKILL_DICTIONARY — 技能词库

覆盖 7 大技术领域,共约 80+ 个词条:

分类示例词条
languagespython, golang, rust, typescript...
ailangchain, rag, llm, embedding, prompt engineering...
backendfastapi, grpc, graphql, microservices...
databasepostgresql, redis, kafka, elasticsearch...
web3solana, ethereum, smart contract, defi...
devopsdocker, kubernetes, terraform, github actions...
dataspark, airflow, dbt, data pipeline...

.env 配置项

详见 配置指南

On this page