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-jdboss ai polishboss ai local configure |
JD分析、履歴書の洗練、面接シミュレーション、外部LLMで動作。 |
| 採用担当者ワークフロー | boss hr candidates "Python" --city 101010100boss hr greetboss 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/フォルダを参照してください。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト