Show HN:私に代わって仕事に応募するAIエージェント(Playwright、GPT-5.4によるフォーム入力)
このプロジェクトは、求人情報の発見、履歴書のカスタマイズ、PDFの生成、ATS申請フォーム(Greenhouse、Ashby、Leverなど)の入力を自動化するAIエージェントです。ただし、送信は行わず、ユーザーが確認し「Submit」をクリックするまで待機します。スパム送信ツールではなく、アシスタントとして機能します。
このプロジェクトは、就職活動のプロセス全体を自動化するオープンソースのAIエージェントです。求人の発見から履歴書のカスタマイズ、フォーム入力までを統合しつつ、最終的な制御はユーザーに委ねます。
エージェントはまず、discover.pyとyc_discover.pyを使用して、さまざまな求人ボードで募集中のポジションを発見します。次に、tailor.pyとgen_pdf.pyで各求人説明に合わせて履歴書を調整し、新しいPDFを生成します。中核機能はmain.pyで実現されており、Playwrightを使用して専用のChromiumブラウザウィンドウで実際の応募ページを開きます。これにより、ユーザーのメインブラウザは自由に使え、拡張機能ベースの自動入力とは異なります。
フォーム入力時には、DOMからフォームを抽出し、LLMが各フィールドを回答にマッピングします。プロファイルの事実はそのまま使用され、自由記述の質問(「なぜここで働きたいのか」など)はユーザーの音声メモに基づいて起草され、不明なフィールドはスキップされます。入力が完了するとエージェントは一時停止し、ユーザーが自分で確認して「Submit」をクリックするのを待ちます。決して自動で送信することはありません。
さらに、このエージェントは堅牢性を備えており、クラッシュしてもキュー処理を中断したところから再開できます。followup.pyは、提出済みの応募に対するフォローアップメールの下書きを作成します。個人情報や作品データはprofile.yamlに単一の情報源として保存されます。
セットアップは簡単で、Python仮想環境の作成、依存関係のインストール、Playwright用Chromiumのインストール、profile.yamlの作成、LLM APIキーの設定が必要です。実行時には、単一の求人URLまたは複数のURLを含むキューを指定できます。
プロジェクトは量より質を重視し、提出前の確認を推奨しています。LinkedIn Easy Apply(利用規約違反)やCAPTCHAが必要なフローには対応していません。Workdayなどのシステムでは、ユーザーは最初にエージェントのブラウザで一度ログインする必要がありますが、永続的なプロファイルがその状態を記憶します。ブラウザプロファイル、履歴書、応募データは.gitignoreに含まれ、個人情報を保護します。
このプロジェクトはTorontodeveloperによって開発され、Python、GPT-5.4、Playwrightを使用しており、就職活動の効率を高めることを目的としていますが、常に人間がループ内で制御することを前提としています。