Introduction¶
In DSH, developing agents often involves workflows scattered across conversations: screening criteria are unclear, switching between Boss Zhipin and Liepin requires constant window hopping, and ledgers and daily reports rely on manual updates. Switching machines or AI tools can also easily lead to lost context.
recruiting-copilot consolidates job profiling, dual-platform sourcing and initial screening, resume evaluation, interview scheduling, candidate ledger management, and daily reporting into a reusable skill workflow. When installed as a DSH plugin, it also adds an observable “Recruitment Browser” panel on the right side of the Web interface. Below, we’ll introduce what it is, what it can do, how to install it, how to use it daily, and important points related to account security.
What Is This¶
recruiting-copilot is maintained by Viy1204 and categorized as a “Workflow” in the SkillHub directory. The GitHub repository currently has about 42 stars and 12 forks, is licensed under MIT, and is at package version 0.6.0.
It positions itself as an AI recruitment co-pilot for HR and headhunters: through targeted questioning to clarify real job requirements → daily sourcing and initial screening across Boss Zhipin and Liepin → initiating contact → scheduling interviews → maintaining candidate ledgers → generating daily reports. Additional features include market talent mapping, resume evaluation, and on-demand retrieval of resume attachments from Feishu email for Liepin/Boss.
Beyond being a DSH plugin, you can also clone the repository and use it with any AI coding assistant that can read the workspace’s AGENTS.md file (Claude Code, Codex, workbuddy, etc.), or install it as a Claude Code plugin to access slash commands. This article focuses on DSH installation and Web panel usage.
Core Features¶
Job Profiling (recruit-grill)¶
A one-question-at-a-time interview process that translates vague requirements into actionable screening criteria: hard thresholds, essential skills, exclusion signals, target companies, and search keywords. It simultaneously produces an external job description (JD) and internal sourcing notes (the latter stored in _internal/ and not for external distribution).
Daily Recruitment (recruit-daily)¶
By telling the workspace “process today’s recruitment,” the AI will check unread messages on both platforms, proactively search for candidates based on criteria in CONTEXT.md, and perform initial screening. After your confirmation, it will initiate contact, update the ledger, and generate a daily report.
Market Talent Mapping (market-talent-mapping)¶
Conducts in-depth research for a specific role: market supply, salary benchmarks, assessability of target companies, and provides a list of candidates who could be approached.
Resume Collection and Evaluation (resume-review)¶
Supports direct evaluation of local resumes; if Feishu is configured, it can browse recent Liepin/Boss resume emails from the Feishu mailbox, deduplicate and download attachments, and proceed with the same review, ledger, and interview file process. The mailbox side is read-only; it does not mark emails as read, move or delete them, or auto-reply.
Interview Scheduling (interview-schedule)¶
Checks interviewer availability, creates calendar events with video meeting links, invites interviewers to the meeting, and generates candidate invitation scripts; interview files are automatically synchronized. When Feishu is not installed, interview scheduling outputs a manual meeting creation list, while sourcing and local resume review remain unaffected.
Recruitment Browser Panel (Exclusive to DSH Web)¶
The DSH Web interface provides an operational browser panel on the right side: mouse, scroll wheel, keyboard, Chinese input method, and pasting all work directly. Boss and Liepin can be switched with a single click at the top of the panel. If the browser isn’t running, clicking within the panel launches it. It shares the respective user-data-dir and fixed debugging port with the boss / liepin CLIs, so login states are universal.
The panel is collapsed by default and read-only; once expanded, the host will continuously subscribe to the screen and enable crash recovery. Manual operation requires explicit unlocking via the lock icon in the toolbar. The panel uses a “fit” mode where the viewport is fixed to the source size (Boss 958×1149, Liepin 1440×1149), and text is at native size rather than the entire page being scaled down.
Workspace and Data Model¶
After initialization, you get a self-contained recruitment workspace where local files are the single source of truth:
Your Workspace/
├── CONTEXT.md ← Screening hard rules, open positions & priorities, glossary, decision logs
├── AGENTS.md ← AI tool routing & guardrails
├── skills/ ← Workflow documentation source
├── 01-jd/ ← External JD + _internal/ internal sourcing notes
├── 02-sourcing/ ← dedup-ledger.csv candidate ledger + shortlist
├── 03-interview/ ← Interview files
├── 04-offer/ 05-onboarding/
├── _shared/templates/
└── runtime/
├── reports/ ← Local daily reports & review summaries
└── resumes/ ← Email resume attachments & dedup index
Irreversible actions (initiating contact, marking “unsuitable,” notifying candidates) require your confirmation by default; the AI can screen resumes in batches but does not automatically reject candidates.
In each round, search keywords can be reverse-extracted from matched real resumes and backfilled into the keyword iteration table, making the next round of searches more accurate.
Prerequisites¶
- Node.js ≥ 20 (the
enginesfield in the repository’spackage.jsonrequires ≥ 22), with Chrome installed locally. - Run the dependency installation script. The script installs the Boss CLI, which is the
Viy1204/boss-climaintained version. - Log in to each platform once by scanning QR codes:
boss login
liepin login
The login command requires a visible window. Boss runs with a GUI by default during normal operation; Liepin runs headless by default. liepin login will first close the headless instance and launch with a GUI, preserving the login state.
- Optional: Feishu users can install
lark-cliand configure credentials for Feishu cloud document daily reports, calendar event scheduling, and mailbox resume retrieval; if not installed, daily reports will be local Markdown.
Panel takeover requires @viyzhu/boss-cli-fork ≥ 0.7.0 and @viyzhu/liepin-cli ≥ 0.2.0.
Installation and Enablement¶
Run the official installation command in any directory (web is the Web interface profile; for other profiles like headless, replace web with the corresponding name):
dsh plugin --profile web add git+https://github.com/Viy1204/recruiting-copilot.git
After installation, restart the DSH session. The 7 skills under this repository’s skills/ directory will appear in the skill directory of any workspace, without needing to clone the repository as a workspace:
ask-viy, recruit-init, recruit-grill, recruit-daily, resume-review, interview-schedule, market-talent-mapping.
To update or uninstall:
dsh plugin --profile web update recruiting-copilot
dsh plugin --profile web remove recruiting-copilot
For first-time use, initialization and dependency installation within the workspace are still required. If using the general method by cloning from the repository, you can run:
git clone https://github.com/Viy1204/recruiting-copilot.git
cd recruiting-copilot
sh skills/recruit-init/scripts/install-dependencies.sh
After opening the directory with an AI tool, say “help me initialize the recruitment workspace,” and the AI will check dependencies, set up the workspace, and profile the requirements for each position one by one.
Typical Usage¶
Initialization (Once for the first time)
Tell the workspace: “help me initialize the recruitment workspace.”
Profiling a Position
Say: “profile the recruitment requirements for /recruit-grill <position>.
Daily Recruitment
Open your own workspace directory and say: “process today’s recruitment.”
Market Mapping
Say: “deep map the market talent for /recruit-mapping <position>.
Resume Evaluation
Drop a resume locally, or say “collect resumes from Feishu mailbox and evaluate”; corresponding to /resume-review.
Interview Scheduling
Say “schedule an interview” or /interview-schedule.
Not Sure Which to Use
Say “how do I use this toolset,” or /ask-viy.
Account Security and Usage Notes¶
The maintainer emphasized BOSS account security in the README (updated 2026-08-19), which is directly related to the DSH panel:
Two rules: Do not run BOSS headless; perform daily recruitment actions via CLI commands, not by manually clicking in the “Recruitment Browser” panel.
- BOSS now runs with a GUI by default (a real window, which will grab keyboard focus once upon startup); Liepin remains headless by default. The user-agent (UA) of headless Chrome reports
HeadlessChrome, which has been tested and may trigger BOSS web login restrictions (the page indicates detection of third-party recruitment management tools), typically for 24 hours, while the APP and PC client remain usable. - Do not set
RECRUIT_BROWSER_HIDDEN=true. This is a unified override switch read by boss-cli, liepin-cli, and this plugin; setting it totruewill drag BOSS into headless mode as well. - The anti-detection protection of boss-cli is attached to the CLI process’s own CDP session and becomes invalid after the process exits; during the browser’s persistent run across commands, panel operations are not protected by the CLI side.
- This version has removed the headless/GUI toggle button for the panel; the panel is collapsed and read-only by default; when a page falls into a 403 / verify / security-check state, a risk control circuit breaker is triggered, requiring manual confirmation to release.
If you previously installed an older version and manually operated in the panel, it is recommended to update the plugin and restart the DSH session. Details can be found in repository Issue #33.
General Notes
The plugin runs with the permissions of the current DSH process; you should review the source code and MIT license yourself before installation. Boss / Liepin login states are stored in the browser’s user-data-dir, so local files serve as credentials—be mindful of disk and backup security. Feishu credentials, if configured, are also saved locally.
The DSH ecosystem philosophy is “everything is a plugin”; the SkillHub directory is a community site and has no official affiliation with DeepSeek or High-Flyer.
Conclusion¶
recruiting-copilot consolidates the most time-consuming aspects of recruitment—standard profiling, dual-platform sourcing, ledgers, and daily reports—into a skill workflow that uses local files as the single source of truth. When installed as a DSH plugin, it also allows direct observation of Boss / Liepin pages on the right side of the Web interface, though daily actions are still recommended via CLI. It is suitable for HR and headhunter teams that need systematic initial screening but do not want to lock their standards into a single AI tool.
- Directory Page: https://www.skillhub.cn/plugins/Viy1204/recruiting-copilot
- GitHub: https://github.com/Viy1204/recruiting-copilot