效率与协作 job-searchrest-apiclibunfacet-filteringtech-recruitingremote-jobsself-hostable

freehire 职位搜索技能

通过 freehire.me 公共聚合 API 搜索多国技术职位,无需任何密钥或登录,直接在本地运行。

FollowSkills 评估 · FSRS-2.0
推荐
63/ 100 五分制 3.2 / 5
1 2 3 4 5 6
1信任安全20 / 25 · 4.0/5

代码仅通过公开无鉴权的 GET 请求读取 freehire.me API,零运行时依赖,Bash 权限限定为单一 CLI 路径,无凭据处理、无写操作、无隐蔽数据流;错误路径清晰、可降级,还提供 FREEHIRE_API_URL 可替换数据源。扣分:行为是外部网络请求,依赖第三方托管服务(无 SLA),静态审查无法验证服务端行为,无显式回滚/隔离机制。

2可靠稳定12 / 20 · 3.0/5

CLI 代码自洽,参数校验严格(拒绝未知 flag、拒绝小数/0 的数值),错误统一输出 stderr JSON 且退出码 1;仓库附带离线 mock 测试套件覆盖 flag 校验、搜索/详情路径与 404/网络失败分支,CI 声明运行 typecheck 与 mock 测试。扣分:静态审查未执行,测试经由截断的 CI 文件不能完全确认对本 skill 生效;真实 API 行为(429 重试、agent 端点)未经独立复现。

3适用触发9 / 15 · 3.0/5

触发词明确、范围边界清晰(限定技术类职位,并诚实声明非技术覆盖不成熟),输入/输出/部分数据语义均有文档。扣分:无中文支持说明;核心功能完全依赖海外服务 freehire.me,在中国大陆的可达性未声明、无镜像保障,属于环境适配的实质风险。

4规范维护11 / 15 · 3.7/5

SKILL.md 分层清晰(范围、依赖、命令、示例、输出格式、部分数据语义),有 README、package.、版本号 1.0.0、MIT 许可;自我依赖风险(best-effort 无 SLA)如实披露。扣分:无独立 CHANGELOG,维护责任与更新路径依赖仓库整体治理而非本 skill 明确声明,发布者身份未经验证。

5有效结果6 / 15 · 2.0/5

宣称的核心任务(跨市场技术职位搜索、单帖详情)路径完整、输出结构化且可直接使用,相对手工浏览有明确边际价值,并针对 agent 上下文做了 token 成本优化(--no-description)。扣分:静态审查未执行,无第三方代表性输出验证;有效性依赖一个无 SLA 的个人托管服务的持续可用。

6证据核验5 / 10 · 2.5/5

仓库包含可审计的一手材料:源码、离线 mock 测试、CI 工作流、明确标注的验证日期注释(如 2026-08-19 的 live API 行为)。扣分:静态模式无法独立复现结论,无多种独立证据来源交叉印证,作者对 API 行为的'已验证'声明仅可采信为作者陈述。

证据充分度: 评估于 2026年9月9日 审查版本 8c81edc330b9
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
使用前请注意
  • 核心功能完全依赖海外托管服务 freehire.me(个人项目、无 SLA),中国大陆可达性未声明,服务中断时该数据源即不可用。
  • 本评分仅为静态源码审查,未执行任何代码;live API 行为(429 重试、agent 端点、include_description 参数)均基于作者陈述。
  • 非技术类职位覆盖尚不成熟,触发应限定于技术/工程类职位,否则过滤结果不可靠。
  • 免费职位搜索结果来自聚合抓取,职位信息可能不完整或过期(文档已披露 region/country 可能无法解析),使用前应核对原始招聘页。
  • 发布者未经验证;CLI 对外发起网络请求,请自行确认所在网络环境对其可达。
查看完整评分方法 →

这个 Skill 能做什么,适合哪些场景?

freehire-search 是 ai-job-search 仓库中的一个职位门户搜索技能,通过 freehire.me 的公共 JSON API 查询实时技术类职位(软件、数据、工程、DevOps、远程等)。freehire.me 将约 50 个 ATS 平台的职位聚合为统一结构,因此技能返回的是带有技能、级别、地区等结构化字段的结果,而非从网页解析的文本。该技能零运行时依赖,仅需 Bun 即可运行,支持按地区、国家、级别、技能等分面过滤。其后端本身是 MIT 协议的开源项目,可通过环境变量切换到自托管实例。

运行一个 Bun CLI,调用 freehire.me 的 /api/v1/agent/jobs/search 和职位详情接口。search 命令支持关键词搜索及分面过滤(--region、--country、--city、--seniority、--category、--skill、--remote、--jobage 等),每次搜索结果直接携带完整职位描述,无需逐条跟进请求;detail 命令按 slug 或 URL 查询单个职位(包括已关闭的职位)。输出支持 、table、plain 三种格式,错误以结构化 JSON 写入 stderr 并以非零码退出。API 对 429/5xx 自动做指数退避重试。

  1. 求职者想在多个国家/市场同时搜索远程开发者职位,一次搜索即可拿到每条职位的完整描述
  2. 用户想按级别(如 senior)、类别(如 devops)、技能(如 go、kubernetes)精确筛选技术职位
  3. 已有某个职位的 freehire slug 或链接,想查其完整详情,包括已从搜索中下线的关闭职位
  4. fork 了 ai-job-search 的用户希望 /scrape 工作流接入一个免登录、无 API key 的国际市场职位源
  5. 注重隐私的用户想把 API 指向自托管的 freehire 实例(FREEHIRE_API_URL 环境变量一行切换)

这个 Skill 有哪些优点和局限?

优点
  • 零运行时依赖,仅需 Bun,无需 API key 或任何认证
  • 搜索结果直接携带完整职位描述,一次请求替代 1+N 次抓取
  • 结构化 JSON 输出(技能、级别、类别、地区分面),而非网页解析文本
  • 国家无关:通过 --region/--country 分面适配任意市场
  • 后端开源且可自托管,FREEHIRE_API_URL 一行切换;API 不可达时优雅降级,不破坏外围工作流
局限
  • 依赖第三方托管服务 freehire.me,为个人项目、无正式 SLA,可能宕机
  • 分面过滤(技能、类别、级别)面向技术职位调优,不适合通用(非技术)求职覆盖
  • 分面数据可能不完整:地区/国家未解析的职位会被 --region 过滤静默排除
  • 自托管完整、持续更新的镜像(数百万职位)资源开销大
  • 搜索技能本身不管理申请记录;申请跟踪等能力属于仓库中的其他技能

如何安装这个 Skill?

本技能是 MadsLorentzen/ai-job-search 仓库(MIT 协议)的一部分,路径为 .agents/skills/freehire-search/。先 fork 并克隆仓库:gh repo fork MadsLorentzen/ai-job-search --clone。由于本技能零运行时依赖,bun install 是可选的(仅拉取 TypeScript 开发类型);若要统一安装:cd .agents/skills/freehire-search/cli && bun install。需要在机器上安装 Bun(https://bun.sh)。仓库整体还需要 Claude Code CLI。

如何使用这个 Skill?

在仓库根目录运行,例如:bun run .agents/skills/freehire-search/cli/src/cli.ts search -q "backend engineer" --seniority senior --limit 10 --format table。其他示例:--remote remote --region eu 过滤欧盟远程职位;--category devops --country DE --jobage 14 过滤德国近 14 天 DevOps 职位;detail golang-zensar-2bxu6dxm 查询单个职位。分面取值可访问 https://freehire.me/api/v1/jobs/facets 查询实时词汇表,不要凭空编造。在 Claude Code 中,该技能由 /scrape 工作流按触发词(如 "find a tech job"、"remote developer jobs")调用。

这个 Skill 与同类方案有什么区别?

仓库将其定位为 linkedin-search 的国家无关替代或补充:linkedin-search 基于 LinkedIn 公开未认证接口、按自由文本位置过滤但仅限个人使用;freehire-search 基于聚合器的公共 REST API,返回结构化分面结果且条款上更干净。与仓库中四个丹麦 HTML 抓取门户(Jobindex、Jobnet 等)不同,本技能不解析 HTML。

常见问题

需要 API key 或注册账号吗?
不需要。freehire.me 的读取接口公共且未认证;只有个人的申请跟踪功能需要 key,而本技能刻意只做搜索和详情查询。
API 挂了怎么办?
CLI 会以非零码退出并给出明确错误信息,仅降级这一个数据源,不会破坏 /scrape 工作流中的其他门户。也可将 FREEHIRE_API_URL 指向自托管实例。
能搜非技术职位吗?
freehire 语料中存在部分非技术职位,但其分面字典(技能、类别、级别)目前以技术为主且仍在完善,官方明确不建议依赖本技能做通用求职。
为什么 --region eu 搜不到某些明显在欧盟的职位?
地理分面是逐职位推导的,来源位置文本含糊时 freehire 不会猜测,职位会被归入未解析桶。可用 --region eu,none 将未解析的职位一并纳入,或直接去掉该分面。

同仓库的其他 Skills

均来自 MadsLorentzen/ai-job-search

效率与协作

丹麦职位搜索(Jobdanmark Search)

一条命令直连 Jobdanmark.dk 公共 API,无需登录即可搜索丹麦全境约 15,000+ 条在职职位,按关键词、城市、类别和雇佣类型精确筛选。

效率与协作

Jobnet-Search:丹麦官方求职门户检索技能

直接调用 Jobnet.dk 公共 API,在本机搜索丹麦官方政府求职门户上的两万余个在招职位,无需任何账号或密钥。

效率与协作

Jobindex 丹麦职位搜索

直接查询 Jobindex.dk 的公开 API,在 Claude Code 中实时搜索丹麦全行业的职位信息,无需任何账号或密钥。

效率与协作

LinkedIn 职位搜索技能

无需登录、无需 API 密钥、零运行时依赖,只靠 Bun 就能在任何国家或远程市场直接搜索 LinkedIn 公开职位列表。

开发与工程

Jobbank 搜索技能

直接在本地搜索丹麦 Akademikernes Jobbank 的实时职位,覆盖学术、高学历岗位的按关键词与多维度筛选查询。

效率与协作

Job Scraper — 本地运行的职位搜寻技能

在你的机器上自动搜索多个招聘门户网站的新职位,去重后按匹配度排序呈现,让职位搜寻不再靠手动刷站。

效率与协作

求职申请助手(Job Application Assistant)

在本地运行的 AI 求职流水线:评估职位匹配度、定制 LaTeX 简历、撰写求职信、准备面试,全程由 Claude Code 驱动。

效率与协作

Upskill 技能差距分析与学习计划

对比你追踪的职位与个人档案,找出技能差距,生成带真实网络学习资源和优先顺序的学习计划。

相关 Skills