strelov1/freehire
freehire — the open-source search engine for job seekers
freehire – 开源求职与申请平台
它是什么
- 一个可自托管的服务,直接从公司ATS(Workday、Greenhouse、Lever等)和招聘网站聚合超过330万个实时IT职位信息,将其去重为统一模式,并提供分面搜索API。
- 内置AI功能:语义职位嵌入、确定性简历到职位评分、LLM驱动的适配度分析、自动简历定制,以及可通过Chrome侧边栏浏览、回答问题、模拟面试甚至填写申请表的应用内助手。
关键能力
| 领域 | 你获得的功能 |
|---|---|
| 查找 | 全文+分面搜索(地区、工作模式、资历、技能、薪资)。精选词典确保可靠标签。保存搜索并支持邮件/Telegram摘要、共享看板、市场分析和“幽灵职位”现实信号。 |
| 申请 | 结构化简历编辑器,支持ATS安全PDF模板、确定性简历↔职位评分、可选LLM适配度分析、自动表单填写、追踪链接和推荐处理。 |
| 跟踪 | 个人申请看板、邮件收件箱关联招聘人员回复到正确申请、追加式事件账本、提醒。 |
| 询问 | 流程内AI助手(聊天、浏览、个人资料、简历定制、面试演练),无需暴露API密钥即可运行。 |
| 扩展 | 公开无密钥HTTP API、Go CLI、用于Claude Desktop/Code的MCP服务器、浏览器扩展、ChatGPT Actions。 |
架构概览
- 后端:Go + Fiber HTTP服务器,PostgreSQL与pgvector用于语义向量,Meilisearch用于快速分面搜索,Redis用于速率限制和实时扇出,S3兼容存储用于简历资产。
- AI层:
langchaingo用于任何兼容OpenAI的LLM,Bifrost用于每用户虚拟密钥和支出跟踪,Langfuse用于调用追踪,可选LLM端点用于增强和适配度分析。 - 前端:
web/下的服务端渲染SvelteKit 2应用(Tailwind)。 - 工作进程:独立的cron风格Go二进制文件处理爬取(
ingest)、增强(LLM)、嵌入、搜索索引、Telegram频道提取、表单捕获等。 - 部署:Docker Compose通过单个
make up命令启动API、Web UI、Postgres、Meilisearch、Redis和S3存根。
快速开始(本地)
# 克隆,复制环境模板并启动所有服务
cp .env.example .env
make up # 构建并运行所有容器
curl localhost:8080/health # 健康检查
curl localhost:8080/api/v1/jobs # 示例API调用
- 使用
go run ./cmd/<worker>运行单个工作进程(例如ingest greenhouse)。 - 使用
make reindex在模式更改后重建Meilisearch索引。
典型使用场景
- 求职者:搜索干净、最新的目录,获得AI增强的匹配分数,让助手定制简历并自动填写申请。
- 开发者/初创公司:分叉仓库,托管自己的实例,或在公共API之上构建自定义服务(例如小众职位提醒机器人、分析仪表板)。
- 招聘人员/HR技术:利用开放数据管道为内部工具提供数据,或将简历匹配引擎集成到现有申请人跟踪工作流中。
社区与贡献
- MIT许可,欢迎贡献新来源(单行YAML看板条目)或新的ATS适配器。
- 在Discord、GitHub Issues/PRs上讨论,并在实时站点上提供“贡献看板”表单。
- 通过Prometheus + Grafana监控;LLM使用按用户跟踪。
了解更多
- 实时演示:https://freehire.me
- API文档:https://freehire.me/docs/api
- 架构细节:
docs/architecture.md - 功能列表:
docs/features.md
freehire是一个全栈、开源平台,结合了大规模实时职位聚合与现代LLM驱动的辅助功能,全部在宽松的MIT许可下提供。
相关
- 项目
- 项目
- 项目
- 项目
- 项目