このプロジェクトについて

# Job Agent 発見から応募追跡まで、求人検索のライフサイクル全体を自動化する自律型求人応募エージェントです。 ## 機能概要 Job Agentは主要な求人プラットフォーム(LinkedIn、Indeed、Glassdoor、ZipRecruiter、Dice、Wellfound)に接続し、求人を発見します。設定可能な候補者プロフィールに対してAIを用いてスコアリングを行い、各応募に合わせた履歴書をカスタマイズし、高確度のマッチングを自動的に送信します。中程度の確度の求人は、Webダッシュボードを通じて手動レビュー用にキューイングされます。 ## 主要機能 **マルチプラットフォーム求人発見** LinkedIn、Indeed、Glassdoor、ZipRecruiter、Dice、Wellfoundをサポートし、プラットフォームごとのレート制限とセッション管理を行います。 **AI駆動のマッチング** Google Gemini(無料)、Groq(無料)、Ollama(ローカル)、OpenRouter、Anthropic Claudeなどの設定可能なAIプロバイダーを使用して、あなたのプロフィールに対して各求人を0.0~1.0でスコアリングします。 **履歴書とカバーレターの調整** ATS最適化された履歴書(PDF)と、応募ごとにカスタマイズ可能なカバーレターを自動生成します。プロフェッショナル、カジュアル、フォーマルのトーンに対応しています。 **外部ATSの処理** 求人ボードが企業のキャリアサイトへリダイレクトする場合、エージェントはGreenhouse、Lever、Workday、Ashby、および汎用応募ポータルでのフォーム検出と入力を処理します。また、スクリーニング質問やメール応募フローにも対応しています。 **段階的自律性** - スコア ≥ 0.80: 自動応募 - スコア 0.70~0.79: 手動レビュー用にキューイング - スコア < 0.70: スキップ 閾値はダッシュボードまたはYAMLプロフィールを通じて設定可能です。 **Webダッシュボード** http://127.0.0.1:5000 で利用可能なFlask + HTMX + Bootstrap 5インターフェース。概要、求人、レビューキュー、応募、アウトリーチ、分析、設定などのページを提供します。ファイル編集を必要とせず、すべてをUIから設定できます。 **インタラクティブボット** Telegramボット(長距離ポーリング、公開URL不要)およびDiscordボット(スラッシュコマンド)により、スマートフォンから求人の承認/却下、キュー状況の確認、統計の閲覧が行えます。 **検出回避ブラウザ** Camoufoxステルスブラウザを使用し、人間のようなタイピング、マウス移動、ランダムな遅延、セッションローテーションを通じて検出リスクを低減します。 **通知とアウトリーチ** メール(SMTP)、Slack/Discord Webhook、Telegramアラート。リクルーター向けのAI生成コールドメールおよびLinkedIn接続リクエスト。 **スケジューリング** APSchedulerを使用し、設定可能なアクティビティウィンドウ(デフォルトは午前8時~午後11時)を提供します。一度きりの実行、スケジュール実行、またはドライランモードでの実行が可能です。 ## クイックスタート ```bash git clone https://github.com/billmal071/job-agent.git cd job-agent uv sync uv run playwright install chromium uv run job-agent init-db uv run job-agent dashboard ``` http://127.0.0.1:5000/settings にアクセスして、AIプロバイダー、プラットフォーム認証情報、閾値、通知を設定してください。 ## プロフィール生成 ダッシュボードで既存の履歴書(PDF/DOCX)をアップロードすると、AIがスキル、経験レベル、目標役職を抽出し、検索可能なプロフィールを自動生成します。 ## 複数プロフィール 異なる求人検索(例:フルスタック vs DevOps)用に個別のプロフィールをサポートしています。それぞれに独自のキーワード、場所、給与期待値、履歴書テンプレートを持てます。 ## Dockerサポート ```bash docker compose up dashboard # または docker compose run --rm agent ``` ## セキュリティ - プラットフォーム認証情報はFernetで暗号化されます(キーは ~/.job-agent/fernet.key にあります) - APIキーは .env に保存されます(gitignore対象) - データベースは ~/.job-agent/agent.db にあります(SQLite、リポジトリ外) - ブラウザの状態は別途永続化されます ## ライセンス MIT