boss-cli について
boss-cli は、求職者や自動化ワークフロー向けの BOSS 直聘用コマンドラインツールです。求人検索や結果の出力、応募状況の確認、連絡先への一括挨拶ができます。
主な機能
- 01条件を指定した求人検索
- 02求人詳細とおすすめの表示
- 03検索結果のエクスポート
- 04応募と面接情報の確認
- 05ログインと認証状態の確認
- 06求人担当者への一括挨拶
活用シーン
- 01都市や給与で求人を絞り込む
- 02検索結果を CSV または JSON で出力する
- 03応募状況、面接招待、チャットを確認する
- 04対象者への一括挨拶を事前確認して実行する
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ jackwener/ boss-cli --skill boss-cliインストール後、Claude Code で/boss-cliを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.md.gitignoreSCHEMA.mdpyproject.tomluv.lock.github/workflows/publish.ymlci.ymlboss_cli/__init__.pyclient.pybrowser_login.pycli.pyauth.pyindex_cache.pyconstants.pyexceptions.pyboss_cli/commands/__init__.pypersonal.pysocial.pysearch.pyauth.pyrecruiter.py_common.pytests/__init__.pytest_auth.pyconftest.pytest_cli.pytest_cdp_auth.pytest_smoke.py詳細
boss-cli — BOSS 直聘 CLI ツール
バイナリ: boss
認証情報: ブラウザーの Cookie(10 種類以上のブラウザーから自動抽出)または QR コードログイン(--qrcode)
セットアップ
# Install (requires Python 3.10+)
uv tool install kabi-boss-cli
# Or: pipx install kabi-boss-cli
# Upgrade to latest (recommended)
uv tool upgrade kabi-boss-cli
# Or: pipx upgrade kabi-boss-cli
認証
エージェントへの重要事項:boss コマンドを実行する前に、必ず認証情報があるか確認してください。Cookie が設定済みだと決めつけないでください。
ステップ 0:認証済みかどうか確認する
boss status --json 2>/dev/null | jq -r '.authenticated' | grep -q true && echo "AUTH_OK" || echo "AUTH_NEEDED"
AUTH_OK の場合は、コマンドリファレンスに進んでください。
AUTH_NEEDED の場合は、ステップ 1 に進んでください。
ステップ 1:認証するようユーザーに案内する
対応ブラウザー(Chrome、Firefox、Edge、Brave、Arc、Chromium、Opera、Vivaldi、Safari、LibreWolf)のいずれかで、ユーザーが zhipin.com にログインしていることを確認してください。次に、以下を実行します。
boss login # auto-detect browser with valid cookies
boss login --cookie-source chrome # specify browser explicitly
boss login --qrcode # QR code login — scan with Boss app
次のコマンドで確認します。
boss status
boss me --json | jq '.data.name'
ステップ 2:よくある認証の問題に対処する
| 症状 | エージェントの対応 |
|---|---|
环境异常 (__zp_stoken__ 已过期) | boss logout && boss login を実行します |
未登录 | boss login を実行します |
| レート制限(code=9) | クールダウン機能が組み込まれています。待ってから再試行してください |
| API のタイムアウト | ネットワークを確認して再試行してください |
エージェントのデフォルト設定
すべての機械可読な出力では、SCHEMA.md に記載されている形式を使用します。
ペイロードは .data の下に格納されます。
- 標準出力が TTY ではない場合 → YAML を自動出力
--json/--yaml→ 出力形式を明示的に指定- リッチ出力 → 標準エラー出力(パイプで安全に使用できます:
boss search X --json | jq .data)
コマンドリファレンス
検索と閲覧
| コマンド | 説明 | 例 |
|---|---|---|
boss search <keyword> | フィルターを指定して求人を検索 | boss search "golang" --city 杭州 --salary 20-30K |
boss show <index> | 直前の検索結果から求人 #N を表示 | boss show 3 |
boss detail <securityId> | 求人の詳細をすべて表示 | boss detail abc123 --json |
boss export <keyword> | 検索結果を CSV/JSON にエクスポート | boss export "Python" -n 50 -o jobs.csv |
boss recommend | パーソナライズされたおすすめを表示 | boss recommend -p 2 --json |
boss history | 閲覧履歴を表示 | boss history --json |
boss cities | 対応している都市の一覧を表示 | boss cities |
パーソナルセンター
| コマンド | 説明 | 例 |
|---|---|---|
boss me | プロフィールを表示(氏名、年齢、学位) | boss me --json |
boss applied | 応募した求人を表示 | boss applied -p 1 --json |
boss interviews | 面接の招待を表示 | boss interviews --json |
boss chat | やり取りした採用担当者を表示 | boss chat --json |
アクション
| コマンド | 説明 | 例 |
|---|---|---|
boss greet <securityId> | 採用担当者に挨拶する/応募する | boss greet abc123 --json |
boss batch-greet <keyword> | 検索結果から一括で挨拶する | boss batch-greet "Python" --city 杭州 -n 5 |
boss batch-greet <keyword> --dry-run | 送信せずにプレビューする | boss batch-greet "golang" --dry-run |
アカウント
| コマンド | 説明 |
|---|---|
boss login | ブラウザーから Cookie を抽出(自動検出、失敗時は QR コードにフォールバック) |
boss login --cookie-source <browser> | 指定したブラウザーから抽出 |
boss login --qrcode | QR コードログインのみ(ターミナルに QR コードを出力) |
boss status | 認証状態を確認(Cookie 名を表示) |
boss logout | 保存済みの認証情報を削除 |
検索フィルターオプション
| フィルター | フラグ | 値 |
|---|---|---|
| 都市 | --city | 北京、上海、杭州、深圳など(一覧は boss cities で確認) |
| 給与 | --salary | 3K以下、3-5K、5-10K、10-15K、15-20K、20-30K、30-50K、50K以上 |
| 経験 | --exp | 指定なし、在学中/新卒、1年以内、1-3年、3-5年、5-10年、10年以上 |
| 学位 | --degree | 指定なし、短大、学士、修士、博士 |
| 業界 | --industry | インターネット、Eコマース、ゲーム、人工知能、金融、教育・研修、医療・健康など |
| 企業規模 | --scale | 0-20人、20-99人、100-499人、500-999人、1000-9999人、10000人以上 |
| 資金調達段階 | --stage | 未調達、エンジェルラウンド、Aラウンド、Bラウンド、Cラウンド、Dラウンド以上、上場済み、資金調達不要 |
| 雇用形態 | --job-type | 正社員、パートタイム、インターン |
エージェントのワークフロー例
検索 → 一括挨拶のパイプライン
# Preview first
boss batch-greet "golang" --city 杭州 --salary 20-30K --dry-run
# Then execute
boss batch-greet "golang" --city 杭州 --salary 20-30K -n 10 -y
検索 → 詳細表示のパイプライン(構造化)
# Search and extract securityId
SEC_ID=$(boss search "golang" --city 杭州 --json | jq -r '.data.jobList[0].securityId')
# Get full detail
boss detail "$SEC_ID" --json | jq '.data.jobInfo | {jobName, salaryDesc, skills}'
毎日の求人確認ワークフロー
boss recommend --json | jq '.data.jobList | length' # Check recommendations count
boss search "Python" --city 杭州 --json # Search specific jobs
boss show 1 # View top result details
boss applied --json # Check application status
boss interviews --json # Check interview invitations
boss chat --json # Check messages
boss history --json # Review browsing history
エクスポートのパイプライン
boss export "golang" --city 杭州 --salary 20-30K -n 50 -o jobs.csv
boss export "Python" -n 100 --format json -o jobs.json
プロフィールの確認
boss me --json | jq '.data | {name, age, degreeCategory}'
エラーコード
error.code フィールドで返される構造化エラーコードです(SCHEMA.md を参照)。
not_authenticated— Cookie の有効期限切れ、または Cookie がありませんrate_limited— リクエストが多すぎます(自動クールダウン機能を内蔵)invalid_params— パラメーターがないか、無効ですapi_error— 上流 API エラーですunknown_error— 予期しないエラーです
制限事項
- メッセージ送信不可 — チャットメッセージを送信できません(MQTT/Protobuf が必要です)
- 履歴書の編集不可 — CLI から履歴書を編集できません
- 企業検索不可 — 企業ページは HTML を返します(zp_stoken が必要です)
- アカウントは 1 つのみ — 一度に使用できる Cookie セットは 1 つです
- レート制限あり — batch-greet では挨拶の間に 1.5 秒の遅延が組み込まれています
エージェント向けの検出回避に関する注意事項
- リクエストを並列化しないでください — アカウントを安全に保つため、組み込みのガウスジッター遅延があります
- レート制限からの自動復旧:code=9 が発生すると、クライアントは遅延を増やしながら自動でクールダウンし(10s→20s→40s→60s)、1 回再試行します
- デバッグには
-vフラグを使用してください:boss -v search "Python"でリクエストのタイミングを確認できます - 一括挨拶の上限:検出を避けるため、1 セッションあたり 10 件以下の挨拶を推奨します
- Cookie の自動更新:Cookie の有効期間が 7 日以上の場合、boss-cli はブラウザーからの取得を自動で試みます
__zp_stoken__の有効期限が切れた場合は再ログインしてください:boss logout && boss loginを実行します
安全に関する注意事項
- チャットログで Cookie の生の値をユーザーに共有させないでください。
- 手動でシークレットをコピー&ペーストするより、ローカルブラウザーから Cookie を取得する方法を優先してください。
- 認証に失敗した場合は、
boss loginで再ログインするようユーザーに案内してください。 - エージェントは Cookie の値をシークレットとして扱ってください(stdout に出力しないでください)。
- 組み込みのレート制限遅延はアカウントを保護します。回避しないでください。
コメント
Markdown 対応