Model or dataset
yangfeng20/ai-job avatar
yangfeng20/ai-job

AI 工作猎手 (yangfeng20/ai-job): a browser-side auto-applier for Boss 直聘

找工作,用AI工作猎手!让AI帮您找工作!【DeepSeek+ChatGpt】赋能,ai助理作为您的求职者分身7*24小时在线找工作,并结合您的简历信息定制化回复。批量投递,自动发送简历,交换联系方式。hr拒绝挽留。高意向邮件通知,让您不错过每一份工作机会。BOSS直聘

692 stars97 forksJavaMIT

At a glance

What is it?
AI 工作猎手 is an MIT-licensed Spring Boot backend plus a Tampermonkey script that hooks Boss 直聘's Protobuf traffic, batch-applies to jobs and lets an LLM answer HR messages. It assumes a Chinese job market, a self-hosted server and a willingness to run a browser extension that reads your chat.
Who is it for?
Adopt it if you are job-hunting on Boss 直聘, you can run the Spring Boot backend or point the UI at someone else's server, and you accept that the script reads your HR conversations. Do not adopt it if you are job-hunting outside China, if you cannot host a server, or if you are unwilling to let a third-party API see your resume and chat history.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 44 days ago.
What is it written in?
Mainly Java, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What AI 工作猎手 actually automates on Boss 直聘

The project targets one narrow workflow: applying to jobs on Boss 直聘 (zhipin.com) at volume, then keeping the resulting conversations alive. The README describes an "AI 坐席" (AI seat) that acts as a job-seeker stand-in, replying to HR messages with answers customized from your resume, sending your resume on request, and exchanging contact details. Around that sit two smaller tools: batch application with a configurable per-run count and custom greeting text, and email notifications for every round of HR conversation plus a high-intent alert triggered by keywords or conversation length.

The audience is specific. It is a Chinese-language job seeker who already uses Boss 直聘 and wants throughput, not someone browsing international boards. The README also addresses a second audience explicitly: operators who want to run it commercially, since the backend ships with an Alipay payment system so a deployer can sell AI seats to other users. That dual purpose explains a lot of the repository's shape, including why a payment integration lives next to a job-application tool.

Architecture: a userscript, an Nginx hop and a Spring Boot backend

The README's own diagram shows a three-layer split. In the browser, a Tampermonkey userscript built with Vue 3 and Vite through vite-plugin-monkey injects a UI into the Boss 直聘 page. It talks to the backend over HTTPS and SSE, normally through an Nginx reverse proxy. The backend is Spring Boot 3 with Spring AI, MySQL and the Alipay integration, and it manages a pool of models (the README names Kimi and GPT in the diagram, and DeepSeek and ChatGPT in the feature description).

The interesting part is the protocol layer. The README states the project uses a self-developed WebSocket hook to intercept and parse Boss 直聘's Protobuf traffic in real time. That is how the script sees incoming HR messages and how it sends replies without a human clicking. There is also a file named AntiAnti-Hook.js at the repository root, which implies the site has anti-automation measures the project tries to work around. Nothing in the README documents how stable that hook is, and a Protobuf schema change on the site side is the obvious way this breaks.

The repository ships two builds of the front end. ai-job-hunting.user.js loads dependencies from a CDN, and the README warns that some networks cannot reach it. ai-job-hunting.bundle.user.js embeds the dependencies, and the README suggests switching to it if the UI fails to appear after repeated page refreshes.

Installing the userscript and pointing it at a server

The README gives three installation routes for the front end: search for AI 工作猎手 on greasyfork, import the ai-job-hunting.user.js file into Tampermonkey as a local script, or open the Gitee raw URL and let Tampermonkey install it automatically. Browser developer mode must be enabled, because newer Tampermonkey versions require it to run scripts.

bash
# Option: install from the Gitee raw URL in a browser with Tampermonkey active
https://gitee.com/yangfeng20/ai-job/raw/master/ai-job-hunting.user.js

Opening that address in a browser with Tampermonkey installed should trigger the install prompt for the userscript. The README notes developer mode has to be on first.

The functional panel does not appear on the Boss 直聘 home page. According to the README, you need to be on the job list page:

text
https://www.zhipin.com/web/geek/job

With the panel visible, open the server configuration section of the plugin and set your API address, then use the test-connection button. The README's screenshot caption reads "配置服务器地址,点击测试连接配置到新的服务器". If you are running your own backend, the README points to 部署指南v1.md in the repository root for the deployment steps; that file is where the actual server setup lives, and the README itself does not restate it.

One operational note from the README: after updating your resume on Boss 直聘, re-import it into the tool. The resume the AI replies from is a copy, not a live link.

The AI seat is interruptible, and that design choice matters

The README documents a control model that is worth reading before you turn the AI seat on. Once the global AI seat is enabled, HR messages are forwarded to the model automatically. If you reply yourself from the web or the app, the AI seat for that conversation stops. You can restart it from the message list with a "重启当前会话AI坐席" button, or by sending the shortcut command start into the chat box. The README states Boss 直聘 does not receive that command message, so it is a local control channel rather than something the HR sees.

Preset questions are the other lever. You configure them in preferences, and the README says the AI seat matches them to the situation rather than answering from scratch. That is a sensible constraint: a preset answer is bounded and reviewable, while a free-form generation against your resume is not. It also means the quality of your replies depends on how well you wrote those presets, not only on the model.

The rejection case gets its own feature. When an HR declines you, the tool can trigger a "拒绝挽留" flow that sends your resume and a custom retention message. Whether that reads as persistent or as spam is a judgement call the README does not make for you.

Where it breaks, and who should not run it

The most concrete limitation is stated by the author, not by a critic. The README says cloud provider pricing treats returning customers badly, that token consumption makes the server uneconomical to renew, and that the author's server was scheduled to shut down around 2026-04-13. Local application is supported now, and the README tells users who want the AI features to switch to a server someone else deployed or to deploy carefully themselves. So the default hosted path is not something to count on.

That leaves self-hosting, and the repository is honest about the cost of that path only by omission. 部署指南v1.md is a separate file the README does not summarize. A Spring Boot 3 service, MySQL, Nginx and an Alipay integration is a real deployment, not a one-liner, and it assumes you can keep a server running for the duration of a job search.

The second limitation is structural. The tool works by hooking Boss 直聘's WebSocket Protobuf traffic. Any change to that protocol, or any anti-automation measure the site adds, can break the hook, and the presence of AntiAnti-Hook.js suggests the project is already in that arms race. There is no release history in the repository to indicate how often it is patched. The last push was on 2026-08-18.

The third is trust. Your resume and your HR conversations pass through a backend you either run or borrow. Running someone else's server means handing a stranger your resume, your chat history and, if the exchange feature fires, your contact details. The README does not document what that server logs or retains. If you are not comfortable with that, this is the wrong tool regardless of how well it works.

How it differs from a generic AI job-search assistant

Most tools in this space are read-only helpers: they parse a job posting, score it against your resume, and hand you a shortlist. AI 工作猎手 is the opposite. It writes to the platform. Batch application, automatic resume sending, automatic contact exchange and automatic replies all mutate state on Boss 直聘, which is why the protocol hook exists at all. A shortlisting tool can be a web app; an auto-applier has to live inside the page.

The trade-off is portability. A resume-matching tool works across boards because it only reads. This one is built for a single site's Protobuf protocol and a single site's page structure, and the README's own framing (Boss 直聘 in the topics list, the job list URL as the required entry point) confirms it. If you are applying outside Boss 直聘, none of the automation applies.

The author's related project, beacon 灯塔, covers the other half of the pipeline. It is a Windows desktop app for recording interviews, generating a review report and running mock interviews from your own resume. The README's own line is that AI 工作猎手 gets you into the interview room and beacon is what you take out of it. The split is deliberate: apply with a server-side bot, prepare with a local desktop app that keeps recordings on your machine.

Licence, maintenance and what upgrading costs you

The repository is MIT-licensed, which permits commercial use and modification. That matters here because the README explicitly invites commercial operation: deploy the backend, use the built-in Alipay payment system, and sell AI seats. Under MIT you can do that, but the licence grants rights over the code, not over Boss 直聘. Running an automated applier against a third-party site is governed by that site's terms, and nothing in the repository addresses that question. This is not legal advice; it is a gap you should notice before building a business on it.

Upgrade cost is hard to estimate from the repository. There are no retrieved releases, so there is no changelog to read beyond the README's own log, whose most recent entry is dated 2025.03.13 and mentions AI greeting text, a trial option and page optimizations. The last push was on 2026-08-18, which is recent, but a push is not a release and the README does not describe a versioned upgrade path for the backend or the userscript.

In practice, upgrading means re-importing the userscript and, if you self-host, redeploying the Spring Boot service. The README's only upgrade-adjacent instruction is the resume one: after changing your resume on Boss 直聘, re-import it. Treat the userscript as the piece most likely to need updating, since it is the piece that touches the site's live protocol.

Editorial conclusion

Adopt it if you are job-hunting on Boss 直聘, you can run the Spring Boot backend or point the UI at someone else's server, and you accept that the script reads your HR conversations. Do not adopt it if you are job-hunting outside China, if you cannot host a server, or if you are unwilling to let a third-party API see your resume and chat history. Before anything else, read 部署指南v1.md end to end and check whether the server you intend to use is still online, since the README states the author's own server was scheduled to shut down around 2026-04-13.

Frequently asked questions

Is AI 工作猎手 an AI job search tool or an auto-applier?

It is an auto-applier with a reply agent attached. The README describes batch application with a configurable count, automatic resume sending, and an AI seat that answers HR messages from your resume.

What is the AI job hunter feature in AI 工作猎手?

The project's own name for it is AI 坐席, an AI seat that acts as a stand-in for the job seeker, replying to HR around the clock and exchanging contact details when the HR initiates it.

Does AI 工作猎手 use AI to match jobs to my resume?

The README frames matching around resumes and presets rather than a scoring engine: the AI seat answers HR from your imported resume and matches preset questions you configure in preferences. Job filtering is described as custom filtering by company, position and salary.

Official sources

  1. Issues
  2. License: MIT
  3. README
  4. yangfeng20/ai-job on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/yangfeng20-ai-job.svg)](https://hysenlabs.com/projects/yangfeng20-ai-job)