How to Build an Automated Job Hunting Workbench with GeekGeekRun in 30 Minutes

8 views 0 likes 0 comments 18 minutesOriginalTutorial

A step-by-step tutorial on automating your job search on BOSS Zhipin using GeekGeekRun. Covers installation, login, auto-chat rules, and AI follow-up configuration.

#Automation #Job Hunting #Open Source #Puppeteer #Electron #Vue.js
How to Build an Automated Job Hunting Workbench with GeekGeekRun in 30 Minutes

Still manually clicking "Initiate Chat" one by one? This guide will walk you through building an automated job hunting workbench using GeekGeekRun in just 30 minutes.

Last week, while reviewing a friend's resume for a career switch, he complained: "Every day on BOSS Zhipin, I have to manually scan the feed, click into each role, open the chat window, and send a greeting. My wrist aches by the end of the day, and barely anyone replies." I completely relate—job hunting is already draining enough. If the mass-application phase requires manual screening and individual greetings, the mental load becomes overwhelming.

Today, I'll show you how to automate this entire process with GeekGeekRun. It's a desktop tool built on Puppeteer + Electron that helps you auto-initiate chats based on rules, mark unsuitable roles, and automatically follow up on read-but-unreplied messages. By the end of this tutorial, you'll go from zero to a fully configured environment, mastering setup, login, rule configuration, AI follow-up, and running a complete automated job search workflow.


Prerequisites

Requirement Details
OS Windows 10 (post-2016 models) / macOS 14+ / Ubuntu 20.04
BOSS Zhipin Account Registered account. Highly recommended to use a dedicated account to avoid conflicts with your daily work profile.
Network Stable access to the BOSS Zhipin web version
⚠️ Important Note If operating on a company device, be aware that corporate networks often deploy traffic auditing tools (e.g., Sangfor, Qi-AnXin). Always use a personal device for this.

Step 1: Download & Install

Head to the project's Releases page and download the installer for your OS:

  • Windows: Download the .exe file, double-click to install. The app launches automatically upon completion.
  • Linux (.deb): Run dpkg -i GeekGeekRun_xxx.deb, then launch from your desktop/application menu.
  • macOS: Download the architecture-specific .dmg, mount it, and drag the app into your Applications folder.

⚠️ macOS Users Note: Since the installer isn't Apple-signed, double-clicking it will trigger a "App is damaged and can't be opened" error. This is macOS Gatekeeper blocking unsigned applications. You need to explicitly allow it via Terminal:

bash 复制代码
## Allow running unsigned applications
sudo spctl --master-disable

## Remove the Quarantine attribute from the app
xattr -cr /Applications/GeekGeekRun.app

Why is this necessary? macOS only trusts notarized apps by default. GeekGeekRun is an open-source project maintained by an individual developer and bypasses Apple's paid signing process. Manually allowing it is safe and only affects this specific app. If you prefer stricter security afterward, you can run sudo spctl --master-enable to revert.

Once installed, launch the app. You'll be greeted by the onboarding wizard. Let's configure it step-by-step.


Step 2: Log in to BOSS Zhipin

The app comes with a built-in BOSS Login Assistant. You don't need to manually extract cookies, JSON, or deal with developer jargon.

Workflow:

  1. The app opens an embedded browser window displaying the BOSS Zhipin login page.
  2. Log in using your credentials (QR code or phone number).
  3. Upon success, the app automatically saves your session credentials locally (nothing is uploaded to external servers).

Under the hood, Puppeteer simulates real browser behavior. Cookies are stored strictly on your local machine and only used to authenticate requests to BOSS Zhipin while the app runs. Keep your device secure and never share your session files.


Step 3: Configure Auto-Initiate Chat Rules

This is the core functionality. Open the "Auto-Initiate Chat" panel. You'll see several key configuration zones:

① Job Source: Choose where to pull listings from (e.g., Recommended feed, Search results). I recommend selecting multiple sources and dragging them to set priority. The app will scan them sequentially for broader coverage.

② Filtering Conditions: Define your job expectations:

  • Location: Shenzhen
  • Salary Range: 20k-35k RMB
  • Experience: 3-5 years
  • Keywords: Java / Backend

You can stack multiple filter combinations. The app will cycle through them automatically.

③ Marking Strategy for Unsuitable Roles: Crucial for handling mismatched listings:

  • Mark as "Unsuitable" on BOSS: Most effective. BOSS will replace it with new recommendations.
  • Local Skip (7 days): Records it locally without alerting BOSS. Ideal if you want to avoid leaving a footprint on the platform.
  • Skip for this run only: Temporary. It will re-evaluate in the next session.

My Recommendation: Use the first option for maximum efficiency. If you're worried about triggering anti-spam mechanisms, mix in the second and third options.


Step 4: Configure AI Follow-up for Read-but-Unreplied Messages

This step ensures your applications aren't forgotten. Open the "Auto Follow-up for Read Messages" panel:

  1. Follow-up Threshold: Set how long to wait before following up (e.g., 48 hours).
  2. Follow-up Interval: Minimum gap between reminders to avoid harassment (recommend 24h+).
  3. Message Generation Method:
    • "[Awaiting Reply] Emoji": Quick and simple.
    • LLM Generated: More natural. It crafts personalized messages based on your resume and chat context.

If using LLM Generation, configure your model first:

  • Navigate to "LLM Settings"
  • Enter your API Key (supports multiple providers; auto-fallback if one fails).
  • Edit the Prompt Template (Optional): Customize the tone (formal vs. casual).
  • Click "Simulate Test": Input sample context to verify output quality.

Prompt Template Tip: Instruct the AI: "You are a job applicant. Politely and concisely follow up on a read-but-unreplied message. Express interest in the role and ask for feedback. Avoid being overly enthusiastic. Keep it under 50 words." This yields highly professional and natural responses.


Step 5: Run & Practical Example

Once configured, hit "Start Running". Let's simulate my scenario: A 3-year Java Backend Developer looking to relocate to Shenzhen.

Scenario: Targeting Shenzhen Java Backend roles at 25k-40k RMB.

  1. Add 3 Filter Combinations:

    • Combo 1: Shenzhen + 25k-40k + 3-5 yrs + Keyword "Java Backend"
    • Combo 2: Shenzhen + 20k-30k + 1-3 yrs + Keyword "Backend Development"
    • Combo 3: Shenzhen + 30k-50k + 5-10 yrs + Keyword "Java Architecture"
  2. Marking Strategy: Auto-mark as unsuitable on BOSS if salary <20k or experience mismatches. Locally skip others I'm less interested in.

  3. AI Follow-up: 48h threshold, 24h+ interval, LLM generation with a prompt tailored to my tech stack and intro.

  4. Expected Workflow: The app scans feeds → matches target roles → auto-clicks "Initiate Chat" → filters unsuitable ones → auto-sends follow-ups to messages left on "Read" for 48h+.

Once you hit your daily chat limit on BOSS, the app automatically pauses for 60 minutes and resumes. If it crosses midnight, it seamlessly starts a new daily cycle.


FAQ & Troubleshooting

Issue Solution
App crashes & restarts suddenly BOSS Zhipin may have updated its UI or run A/B tests. Submit an Issue to the developer.
macOS says "App is damaged" Run sudo spctl --master-disable && xattr -cr /Applications/GeekGeekRun.app
Worried about account bans Use moderately. Take breaks between bulk sessions. Strongly recommended: use a dedicated new account.
Safe to use on a company PC? Not recommended. Corporate networks monitor traffic, and HR might detect job-hunting activity.
Want to hide from current employer? Use BOSS's settings to block your current company and affiliated subsidiaries.

Conclusion

Today, we walked through the complete GeekGeekRun workflow: Install → Login → Configure Position Filters → Set Up AI Follow-ups → Run Automation. The core philosophy is simple: let tools handle repetitive tasks so you can focus on what truly matters—polishing your resume, researching target companies, and prepping for interviews.

Next Steps:

  • Let it run for a few days, then tweak filters based on actual reply rates.
  • Experiment with custom prompts to make AI follow-ups match your personal voice.
  • If you're a developer, grab Debugtron to inspect logs or even contribute to the open-source codebase.

Tools are just enablers. Landing your dream job still comes down to your skills. But by automating the grunt work, you save hours that can be spent grinding LeetCode or refining past projects—effort that absolutely pays off. Wishing you swift success and that coveted Offer!

Last Updated:

Comments (0)

Post Comment

Loading...
0/500

No comments yet, be the first to comment!