
DaGeGong: A Technical Deep Dive into an Electron + Puppeteer Job-Hunting Automation Tool
Project site: https://dagong.awen.me/
GitHub: https://github.com/monkey-wenjun/dagegong
In today’s increasingly competitive job market, how to efficiently submit resumes and build connections with recruiters has become a challenge every job seeker faces. Today I want to introduce an open-source project called “DaGeGong“ — a BOSS Zhipin automation tool built on Electron + Puppeteer that helps job seekers with smart matching, automatic chat initiation, and automatic follow-up when a message has been read but not answered.


Project Overview
“DaGeGong” is a job-hunting assistant desktop app for the working crowd. Its core features include:
- Automatic chat initiation: automatically match jobs based on job-seeking preferences and send greetings
- Smart filtering: automatically filter target jobs based on company name, job type, and job description
- Automatic follow-up when read but not answered: detect chats that have been read but not replied to and automatically follow up
- AI smart replies: integrate a large language model to generate personalized reply content
- Data management: manage the job database, company database, and BOSS database
- Headless mode — automatically save cookies after login and work in headless mode
- Run logs — check in headless mode whether things are working correctly
Tech Architecture
Overall Architecture
The project uses a Monorepo architecture, managing multiple sub-packages with pnpm workspace:
|
Core Tech Stack
| Technology | Purpose |
|---|---|
| Electron | Cross-platform desktop app framework |
| Vue 3 | Frontend UI framework, Composition API |
| TypeScript | Type-safe superset of JavaScript |
| Vite | Fast frontend build tool |
| electron-vite | Electron app build tool |
| Element Plus | Vue 3 component library |
| UnoCSS | Atomic CSS engine |
| Pinia | Vue state management |
| Puppeteer | Headless browser automation |
| SQLite | Local data storage |
Core Implementation Principles
1. Browser Automation (Puppeteer)
The project’s most core feature is automated interaction with the BOSS Zhipin website, achieved via Puppeteer. It uses the puppeteer-extra-plugin-stealth plugin to hide automation fingerprints and avoid detection by the site’s anti-scraping mechanisms.
2. Monorepo Design Pattern
The project splits functionality into multiple independent packages, each with a single responsibility:
- UI layer: Electron main-process + renderer-process architecture
- Core logic layer: encapsulates the interaction logic with BOSS Zhipin
- Process management layer: daemon management, child-process lifecycle control
- Data layer: SQLite local database operations
3. Cookie Helper Implementation
To let users log in conveniently, the project implements a Chrome extension that injects a script to capture the Cookie after login. This is friendlier than asking users to copy the Cookie directly.
4. AI Smart Reply Integration
The project supports integrating a large language model (LLM) to generate personalized replies, producing context from the resume and chat history, and supports configuring multiple LLM providers.
5. Read-But-Not-Answered Detection Mechanism
It polls chat status to detect messages that have been read but not replied to, and automatically follows up after a set time.
Technical Highlights
1. Anti-Detection Mechanism
- User-Agent anonymization
- WebDriver fingerprint hiding
- Behavior simulation: simulate real users’ mouse movement and click intervals
2. Smart Rate Limiting
BOSS Zhipin has a daily communication limit. The project implements smart control: it automatically detects the number of communications used, pauses intelligently once exhausted, and automatically resumes the next day.
3. Process Keep-Alive
It uses a daemon-process mode to ensure core tasks run stably, automatically restarting the Worker after a crash.
4. Cross-Platform Builds
It uses electron-builder to package Windows, macOS, and Linux platforms with one command.
Summary
The “DaGeGong” project demonstrates how to build a practical desktop app with a modern frontend tech stack, and offers a good practical reference for the Electron + Puppeteer development model.
Related links:
- Project site: https://dagong.awen.me/
- GitHub: https://github.com/monkey-wenjun/dagegong
评论
0 条评论