can4hou6joeng4/boss-agent-cli

🤖 Local-assist BOSS Zhipin CLI for AI agents — search, welfare filtering, shortlist, JSON-envelope output; low-risk & compliant by default.

boss‑agent‑cli – ターミナルファーストの求職・採用アシスタント

概要

  • Pythonベースのコマンドラインインターフェースで、人間のユーザーまたはAIエージェントが中国の求人プラットフォームBOSS直聘(zhipin)と対話できます。求人検索、福利厚生フィルタリング、ローカルでの候補絞り込み、AIによる履歴書作成支援、採用担当者向けアクションなど、採用ワークフロー全体を単一のJSON出力CLIに統合しています。

重要性

  • プラットフォームをスキーマ駆動のJSONエンベロープ({ok, data, pagination, error, hints})の背後に抽象化し、下流の自動化(MCPホスト、シェルスクリプト、Python SDK)がHTMLを直接スクレイピングせずに機能を利用できるようにします。
  • **「福利厚生フィルター」**を追加し、福利厚生(例:週休2日、五険一金)をANDロジックでマッチングし、ローカル関連性スコアで結果をソートできます。これはネイティブサイトにはない機能です。
  • 検索、詳細取得、チャット、履歴書の洗練などの高負荷処理は、ローカルLLM(Ollama/vLLMまたはOpenAI互換エンドポイント)で実行でき、データをユーザーのマシンに保持します。

主な機能

領域 コマンド(例) ハイライト
求人検索 boss search "Golang" --city 广州 --welfare "双休,五险一金" キーワード検索+8次元フィルター、キャッシュ結果、HRアクティビティフィルター(--active 3d)。
福利厚生フィルタリング --welfare "双休,五险一金" --sort score 自動ページネーション、リアルタイムマッチング、スコアベースのランキング。
ローカル候補プール boss shortlist add <sec_id> <job_id> --tags 后端,远程
boss stats
SQLiteベースのショートリスト(タグ、メモ、ファネル統計付き)。
AI支援の求職者ツール boss ai analyze-jd
boss ai polish
boss ai local configure
JD分析、履歴書の洗練、面接シミュレーション、外部LLMで動作。
採用担当者ワークフロー boss hr candidates "Python" --city 101010100
boss hr greet
boss hr download-resume
候補者検索、挨拶送信、応募管理、チャット、履歴書ダウンロード – すべて同じCLIで。
エージェント統合 boss schema(OpenAI/Anthropicツール定義を出力)
boss-mcp(MCPホスト)
JSONスキーマが唯一の真実の源。MCP、サブプロセス、Python SDKで呼び出し可能。
回復可能なクローリング boss crawl configure …
boss crawl run …
ヘッドレスChrome(CDP)駆動のクローリング、チェックポイント、予算制限、プライバシー安全なエクスポート付き。

一般的な人間のワークフロー

# インストール(uv推奨)
uv tool install boss-agent-cli
patchright install chromium   # Chromeでのログインに必要

# 対話型ウィザードを開始
boss

# 福利厚生フィルターで検索
boss search "Golang" --city 广州 --welfare "双休,五险一金"

# 有望な投稿をローカルプールに追加
boss shortlist add <security_id> <job_id> --tags 后端,远程

# AI支援の履歴書の洗練を実行
boss ai polish --model ollama:mistral

# オフライン統計を表示
boss stats

エージェント/プログラム的利用

  • MCPホスト – JSON設定で77の実装ツールを公開:
    {"mcpServers": {"boss-agent": {"command": "uvx", "args": ["--from", "boss-agent-cli[mcp]", "boss-mcp"]}}}
    
  • サブプロセス – boss schemaを呼び出してツール定義を取得し、コマンドを呼び出してJSONエンベロープを解析します。
  • Python SDK – BossClientをインポート:
    from boss_agent_cli import AuthManager, BossClient
    client = BossClient(AuthManager(...))
    result = client.search_jobs("Golang", city="广州")
    

アーキテクチャ概要

CLI (Click) ──> AuthManager (Fernet暗号化ログイン) ──> Platform registry (zhipin, zhipin‑recruiter)
          │                     │
          │                     └─> BossClient (httpx + レート制限、オプションCDPブリッジ)
          │
          └─> CacheStore (SQLite WAL) ──> AIService (OpenAI互換 / Ollama / vLLM)
                │
                └─> output.py → JSONエンベロープ (stdout)

すべての状態は~/.boss-agent/(暗号化された資格情報、検索キャッシュ、ショートリスト、AI設定)に保存されます。モデルの重みは同梱されず、オンデマンドで取得されます。

インストールと配布

  • PyPIで公開(boss-agent-cli)。
  • Dockerでも配布可能(docker compose run --rm boss-mcp)。
  • クローリング用のオプションの追加サポート(uv sync --extra crawl)。

ライセンス

  • MITライセンス(LICENSEを参照)。

対象ユーザー

  • ターミナルUIを好み、AI支援の履歴書作成を希望する求職者。
  • BOSS直聘で候補者をスクリプトで管理したい採用担当者。
  • プラットフォームへの安定したJSONベースのインターフェースを必要とする自動化エンジニア/AIエージェント(個人の求職ボットの構築やRAGパイプラインへの統合など)。

注意点

  • ログインとクローリングにはChrome/Chromiumのインストールが必要です(patchrightで処理)。
  • プラットフォーム固有:現在はBOSS直聘のみサポートしており、他の中国の求人ボードは非対応です。
  • ユーザーはプラットフォームの利用規約、レート制限、プライバシー規制を尊重する必要があります。ツールは構造化エラーコード(NOT_SUPPORTED、AUTH_REQUIREDなど)と組み込みのタイムアウト/再試行制御を提供し、コンプライアンスを維持するのに役立ちます。

完全なコマンドリファレンス、クイックスタートガイド、トラブルシューティング手順については、リポジトリのdocs/フォルダを参照してください。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト