Productivity & Collaboration job-searchboss-zhipincommand-linemcpjson-outputsqliteresume-analysiswelfare-filtering

BOSS Job Search CLI

A low-risk local CLI for BOSS Zhipin job discovery, welfare filtering, shortlists, and agent-ready JSON output.

FollowAgents review · FARS-2.0
Not yet reviewed
See the full review method →

What does this agent do, and when should you use it?

boss-agent-cli is a local BOSS Zhipin assistant for terminal and AI-agent workflows, operating in Assisted Mode by default. Its Click CLI covers job search, detail lookup, welfare filtering, local shortlists, statistics, resumes, and AI job-search assistance while restricting stdout to JSON envelopes. The documented architecture combines AuthManager, BossClient, dual Platform registries, a SQLite WAL CacheStore, and AIService adapters for OpenAI-compatible services, Ollama, and vLLM. It can be used through the CLI, as a typed Python library, or as an MCP server; the repository provides MCP setup examples for Claude Desktop and Cursor. CDP, Bridge, and patchright support user-initiated login, export, and explicit research workflows, while default mode blocks sensitive outreach, applications, chats, and recruiter-side candidate-data flows.

A user completes boss login interactively, then runs commands such as boss search "Golang" --city 广州 --welfare "双休,五险一金". BossClient uses httpx with throttling to access the platform; show and detail revisit results, while welfare filters fetch additional pages and apply AND-based matching with optional --sort score ordering. After viewing a role, shortlist add <security_id> <job_id> --tags 后端,远程 stores it locally, and shortlist compare, stats, watch, preset, and favorites support review. Normal output uses the {ok, data, pagination, error, hints} envelope, and boss schema can export openai-tools or anthropic-tools definitions. With operating_mode=research explicitly enabled, crawl runs bounded, checkpointed collection with request, detail, time, and retry budgets; result exports hide security IDs, job IDs, and recruiter fields by default.

  1. A job seeker wants to find Golang roles in Guangzhou that require both a two-day weekend and social insurance/housing-fund benefits.
  2. A Claude Desktop or Cursor user wants an MCP host to inspect `boss schema` and invoke low-risk local-assistance tools.
  3. A candidate wants to save reviewed roles in a local shortlist, tag them as remote or backend, and compare them offline.
  4. A job seeker wants JD analysis, resume polishing or targeting, interview preparation, and chat coaching through an OpenAI-compatible, Ollama, or vLLM model service.
  5. A BOSS Zhipin recruiter needs to list or take jobs online/offline with `hr jobs`, without handling candidate personal-data flows.

What are this agent's strengths and limitations?

Pros
  • Welfare filtering fetches additional pages, performs true AND matching, and can sort roles by a local match score instead of relying on keyword filtering alone.
  • A fixed stdout JSON envelope, stderr-only logging, and `boss schema` exports for OpenAI and Anthropic tool formats make it suitable for CLI, MCP, and scripted orchestration.
  • Its local SQLite WAL shortlist supports tags, notes, comparisons, statistics, and offline review, with state stored under `~/.boss-agent/`.
  • Assisted Mode explicitly blocks greetings, applications, contact exchange, chats, and recruiter candidate-data processing by default.
Limitations
  • The main job workflow depends on BOSS Zhipin; Zhilian has only partial paths, and the Qiancheng adapter consistently returns `NOT_SUPPORTED`.
  • Users must still initiate login and perform greetings, applications, and conversations manually on the platform.
  • Research collection is not a default feature: it requires explicit Research Mode, an extra crawl dependency, bounded budgets, checkpoints, and a user decision to continue.
  • Login and local export depend on Chromium plus patchright, CDP, or Bridge runtime paths; platform risk responses or security pages stop automated access.

How do you install or deploy this agent?

The documented setup requires Python ≥3.10, uv, and Chromium for user-initiated login or local export. Run uv tool install boss-agent-cli, then patchright install chromium. For first use, run boss doctor, complete the interactive boss login, and verify the session with boss status. The supplied material does not document a separate platform API key; AI features require configuring the chosen model service through boss ai config. For MCP, use uvx --from "boss-agent-cli[mcp]" boss-mcp.

How do you use this agent?

After logging in, run boss search "Golang" --city 广州 --welfare "双休,五险一金", then inspect a role with boss detail <security_id>. Save it locally with boss shortlist add <security_id> <job_id> --tags 后端,远程, and review it through boss shortlist compare --tag 远程 and boss stats. For an agent integration, call boss schema and parse its stdout JSON, or configure boss-mcp as an MCP server. Bulk collection additionally requires uv sync --extra crawl and explicit boss config set operating_mode research; it is not available in default Assisted Mode.

How does this agent compare with similar options?

Compared with doing all job discovery on the BOSS Zhipin website, this CLI moves search, welfare matching, and local candidate organization into terminal and agent workflows. Greetings, applications, and conversations intentionally remain manual website actions.

FAQ

Can it automatically apply or contact recruiters in bulk?
No. In default Assisted Mode, sensitive commands including greet, batch-greet, apply, exchange, and chat return `COMPLIANCE_BLOCKED`.
Is it locked to one model provider?
No. The repository documents AIService support for OpenAI-compatible services, Ollama, and vLLM. It does not make a pricing or availability promise for those services.
What happens when login or platform-risk checks fail?
Run `boss doctor`, or use `boss status --live` for an optional low-frequency read-only probe. Error envelopes include `code`, `recoverable`, and `recovery_action`; automation stops on platform risk codes or security pages.
Do research exports expose role or recruiter identifiers?
By default, `crawl results` and exports do not expose security IDs, job IDs, or recruiter fields. `boss clean --privacy` deletes crawl state, budgets, and exports.

Related agents