跳到正文
GitHub·· 6 天前AI 评分38

job-radar:用自建 AI 给职位打分并推送到 Telegram 的开源求职工具

Joevonlong/job-radar

AI 导读

开源项目 job-radar 聚合招聘网站、公司招聘页和职位提醒邮件中的新岗位,去重后按城市、薪资下限、合同类型等自定义规则过滤,并用你自己的 AI(claude / codex 订阅或 API key)为每个职位打 0–100 分,附评分理由、能力差距和招聘广告中的薪资。

正文

Job Radar: Your job feed, tuned to you. The right jobs find you.

Tell it what you want. It reads every job, scores it for you, and sends the good ones to your phone.

License: AGPL-3.0 Latest release CI Runs with Docker Compose Self-hosted

Website · Docs · Quick start · FAQ · 中文

Job Radar in one minute

Three copies of one job from different sites merge into a single entry

Every source, one feed

Adding a dealbreaker in the scoring settings, then the job's score drops after a re-score

Your rules, not ours

Salaries written in different ways line up on one yearly salary axis, with the quote from the ad

It reads every job for you

A Telegram push on a phone; tapping Interested moves the card on the application board

The good ones come to you

What it does

  • Collects new postings from the job boards, company career pages and job-alert emails you pick, and merges duplicates.
  • Filters by your cities, salary floor, contract types and dealbreakers, written in your own words.
  • Scores every job 0–100 with your own AI (a claude / codex subscription or an API key), with reasons, gaps and the salary quoted from the ad.
  • Pushes the good ones to your own Telegram bot, with buttons that move them on your application board.
  • Stays yours: self-hosted, open source, no accounts, no telemetry. It does not apply for you.

More: features and screenshots.

Quick start

You need Docker with Compose 2.24 or newer, Node 22 with pnpm 11 and git, on macOS or Linux (Windows: inside WSL2, see platform notes).

git clone https://github.com/Joevonlong/job-radar.git
cd job-radar
git checkout v2.0.1                  # the latest release; main is the development branch
cp .env.example .env                 # every value has a working default; secrets go here later

On Linux, let the containers run as your user before the first start (macOS skips this):

sed -i.bak -e "s/^PUID=.*/PUID=$(id -u)/" -e "s/^PGID=.*/PGID=$(id -g)/" .env && rm .env.bak
mkdir -p data/config data/profile data/backups data/exports data/logs .auth

Sign in to your AI on this machine (claude then /login, or codex login). Then start the stack and the AI worker (leave it running):

docker compose up -d --build         # db, web, runner, jobspy; the first build takes a few minutes
pnpm install
pnpm ai-worker                       # or scripts/ops/install-ai-worker.sh to run it as a background service

Open http://127.0.0.1:3000. The setup wizard asks eight short questions; nothing is collected until you finish it. No browser on this machine? Run the same wizard in the terminal:

pnpm run setup                       # all eight steps
pnpm run setup --step telegram       # Telegram pushes, once you have created your bot
pnpm run doctor                      # checks everything and says what to fix

The full walkthrough, with updating, backups, phone access and troubleshooting: docs/installation.md.

Documentation

Contributing

Issues and pull requests are welcome: see CONTRIBUTING.md and docs/development.md. Every commit needs a DCO sign-off (git commit -s). Questions go to Discussions; the Code of Conduct applies.

Security

Report vulnerabilities privately as described in SECURITY.md. The dashboard listens on 127.0.0.1 only; before anyone else can reach it, set a password with pnpm web:password (web access).

Scraping and terms of service

Sources that scrape a site are off in a new install and ask for your confirmation; you are responsible for respecting each site's terms. Not affiliated with any job board; trademarks belong to their owners. Details and disclaimer: docs/sources.md, NOTICE.

License

AGPL-3.0-only. Running a modified version as a service for others means offering them your source; for companies and teams see docs/commercial-use.md. Built on Next.js, PostgreSQL, Drizzle ORM and python-jobspy.

来源:GitHub · github.com