freehire

一个入口搜遍全网职位,自托管求职搜索引擎

开源 🏷️基础免费,高级付费 ✅ 目前可打开 行业应用 🍴 复刻 367 🐛 待处理 6 👀 关注 12
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 3532
维护状态 活跃
是否开源 开源
定价模式 🏷️基础免费,高级付费 支持限时试用 · 开源可自托管,官网提供免费搜索服务,定价信息待确认

项目预览

freehire 项目界面预览图
图片来源:项目官网

项目数据

分类行业应用
开发团队strelov1
定价模式🏷️基础免费,高级付费
价格说明开源可自托管,官网提供免费搜索服务,定价信息待确认
访问状态✅ 目前可打开
是否开源是
开源协议MIT
主要语言Go
技术栈/模型ats,career,careers,golang,hiring,job-aggregator,job-board,job-portal,job-scraper,job-search,jobs,langchain,llm,meilisearch,postgresql,recruitment,remote-jobs,self-hosted,svelte,sveltekit
GitHub 星标★ 3532
上线时间2026-06-07 00:00:00
代码更新2026-11-03
仓库体积136.4 MB
本站数据更新2026-11-03
维护状态活跃
收录时间2026-09-13
浏览次数2

项目介绍

freehire 是一个用 Go 编写的开源求职搜索引擎,目标是把分散在各家公司招聘系统(ATS)和招聘网站上的职位信息聚合起来,让求职者用一个入口完成搜索。它通过抓取或对接职位来源,把岗位数据统一清洗后写入 Meilisearch 提供快速全文检索,并借助 LangChain 与 LLM 能力做语义理解、职位匹配或摘要,帮助用户从关键词搜索升级为更贴近意图的查找。项目定位是自托管的职位聚合与搜索后端,适合想搭建垂直招聘搜索、职位看板或求职工具的个人与团队,也可作为研究职位数据抓取与检索架构的参考实现。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-09-13 · 当前星标 ★ 3532

使用教程

ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。

难度:入门 约 15 分钟 部署方式:Docker 5 步

环境要求

  • 已安装 Docker 与 Docker Compose(README 用 docker compose 命令)
  • 已安装 GNU Make(需执行 make up)
  • 主机 8080 端口空闲,或通过 HIRE_HOST_PORT 另行指定
  • 首次启动需拉取构建镜像,建议预留足够磁盘与网络时间

安装与启动步骤

  1. 1准备运行环境

    确认 Docker、Docker Compose 和 make 可用,并检查 8080 端口未被占用,否则后面启动会失败。

    docker --version
    docker compose version
    make --version
  2. 2获取项目代码

    从 GitHub 克隆仓库并进入目录,后续所有 make 命令都要在仓库根目录执行。

    git clone https://github.com/strelov1/freehire.git
    cd freehire
  3. 3一键启动全栈

    make up 会构建并启动整套服务:api、web、postgres、meilisearch、redis、s3。

    make up
  4. 4检查健康状态

    访问 api 的健康检查接口,返回正常即说明后端已就绪。

    curl localhost:8080/health
  5. 5验证职位接口

    调用职位列表接口,能返回职位数据说明数据库、检索和服务串联成功。

    curl localhost:8080/api/v1/jobs

关键配置

配置项必填说明示例
HIRE_HOST_PORT否指定 api 暴露到宿主机的端口,默认 80808090

如何确认成功

curl localhost:8080/health 返回正常,且 curl localhost:8080/api/v1/jobs 能拿到职位数据即启动成功。

常见问题

Q:8080 端口已被其他程序占用怎么办?

A:启动时换一个宿主机端口,例如执行 HIRE_HOST_PORT=8090 make up,之后访问对应新端口。

Q:修改了 migrations 里的迁移文件为什么不生效?

A:迁移只在首次初始化 Postgres 数据卷时自动执行,改动不会重新应用。可用 docker compose down -v && make up 重建数据卷,或用 make migrate 手动应用待执行迁移。

Q:第一次启动时数据库表结构是怎么建的?

A:migrations/ 目录会被挂载到容器的 /docker-entrypoint-initdb.d,首次初始化 Postgres 数据卷时自动执行迁移。

Q:启动后要访问哪个地址?

A:README 只给出 api 的 8080 端口健康检查与职位接口地址;web 前端的具体端口 README 未说明,可查看 docs/architecture.md。

注意事项

  • docker compose down -v 会删除数据卷,原有职位数据会丢失,谨慎使用。
  • README 未提供 LLM、Meilisearch 密钥等配置项的填写方式,相关细节需查阅 docs/ 目录文档。
  • 所有 make 命令需在项目根目录执行,避免找不到 Makefile。

核心亮点

  • 用 Go 实现抓取与索引,单二进制部署轻量,适合自托管
  • 以 Meilisearch 为检索核心,职位全文搜索响应快、配置简单
  • 引入 LangChain/LLM 做语义匹配,比纯关键词搜索更贴近求职意图

不足之处

  • 项目处于早期,职位源适配器与抓取稳定性仍需时间验证
  • 依赖 LLM 与外部搜索服务,部署和运行成本高于纯静态方案

适用场景

  • 个人搭建私有职位搜索站,聚合关注公司的在招岗位
  • 求职工具开发者将其作为职位数据与检索后端
  • 团队内部监控目标行业职位变化,做招聘市场分析

替代项目

JobSpy、linkedin-jobs-scraper

上一篇:DeepZero

下一篇:marketing-team-eve-template

同类项目推荐

alpasim 开源

在虚拟世界里闭环跑通端到端自动驾驶策略

AlpaSim is an open-source autonomous vehicle simulation platform designed for develo···

★ 1289 2026-09-17
DriveAGI 开源

用视频预训练一个能预测驾驶未来的通用模型

[CVPR 2024 Highlight] GenAD: Generalized Predictive Model for Autonomous Driving

★ 809 2026-08-09
nextai-translator 开源

选中即译,用 ChatGPT 让翻译更懂上下文

基于 ChatGPT API 的划词翻译浏览器插件和跨平台桌面端应用 - Browser extension an···

★ 25019 2026-08-09
CoPilot 开源

把分散的安全告警收进一个面板,快速闭环处置

SOCFortress CoPilot

★ 542 2026-10-23
CyberStrikeAI 开源

让 AI 智能体自动执行渗透测试,安全操作越用越聪明

The system of action for AI-native cybersecurity—where intent becomes governed exec···

★ 8357 2026-08-09
femr 开源

把电子病历变成AI训练数据,快速上手自监督医疗模型

FEMR (Framework for Electronic Medical Records) provides tooling for large-scale, se···

★ 183 2026-08-09
bob-plugin-openai-translator 开源

在 Bob 里用 ChatGPT 翻译,译文更自然更地道

基于 LLM 的文本翻译、文本润色、语法纠错 Bob 插件,让我们一起迎接不需要巴别塔的新时代···

★ 5652 2026-08-09
cynative 开源

让 AI 安全读懂你的云和代码,一键获得验证答案

Open-source AI agent framework for security engineering across AWS, GCP, Azure, Kube···

★ 228 2026-08-09