コマンドラインリファレンス
Sweepy は sweepy という 1 つのコマンドとしてインストールされます。入力して Enter を押してください。既定値以上の動作が必要なときはフラグを追加します。プロファイル、スイープ、レポートはすべてここから始まります。
sweepy
Alex は毎朝このうち 2 つのコマンドを使います。まず --run で最後に保存したプロファイルのスイープを実行します。次に、実行結果がおかしいときに --logs で何が起きたかを確認します。
すべてのコマンドは sweepy フォルダーの中で実行してください。前の手順からターミナルを閉じた場合は、開き直して先に cd sweepy を実行します。
コマンドリファレンス
フラグを付けずに sweepy を実行すると、ウィザードの検索ランチパッドが開きます。次の表は、すべてのフラグを役割ごとにまとめたものです。
sweepy フォルダーで pip install -e . を一度実行してください。以下のページでは、このコマンドが登録する短い形式で書いています。シェルが sweepy を見つけられない場合は、ターミナルを開き直すか、代わりに python swee.py を実行します。
スイープとプロファイル
| フラグ | 動作 |
|---|---|
--run | 最後に保存したプロファイルでスイープを実行します。 |
--profile <path> | YAML プロファイルからスイープを実行します。 |
--setup | 検索とプロファイル設定のための検索ランチパッドを開きます。 |
--non-interactive | プロンプトではなくフラグからプロファイルを作成または更新します。--setup と組み合わせます。 |
1 回だけの上書き
| フラグ | 動作 |
|---|---|
--no-dedupe | 1 回のスイープで、別々のサイトにある重複した求人を残します。 |
--include-seen | 以前のスイープで報告した求人も報告します。 |
--reset-history | そのプロファイルで報告済みの求人を忘れます。 |
ドキュメント
| フラグ | 動作 |
|---|---|
--docx <path> | DOCX ファイルを PDF に変換して終了します。 |
--convert <path> | 対応するドキュメントを元ファイルの隣に PDF として変換して終了します。 |
求人検索エンジン
| フラグ | 動作 |
|---|---|
--list-engines | すべてのエンジン、読み取るサイト、インストール状態を一覧します。 |
--install-engines [names] | 任意のエンジンをすべて、または指定したエンジンだけをダウンロードします。 |
--allow-engine-conflicts | インストール済みのものとバージョン指定が衝突するエンジンを、その指定を飛ばしてインストールします。--install-engines と組み合わせます。 |
更新とバージョン
| フラグ | 動作 |
|---|---|
--update | 最新の Sweepy のコードを取得し、依存パッケージを入れ直します。 |
--check-update | 新しいバージョンの Sweepy があるかを報告します。 |
--version | エンジンのバージョンと依存パッケージを表示します。 |
ログ
| フラグ | 動作 |
|---|---|
--debug | logs/ 配下のデバッグログを有効にします。 |
--log-dir <dir> | デバッグログのフォルダーを移動します。 |
--logs | 直近のデバッグログの項目を表示します。 |
ヘッドレス設定の値
これらのフラグは、--setup を付けたときにプロファイルを埋めます。各値には対応するフラグが必要で、--name、--titles、--location、--resume はプロファイル側に値がない限り必須です。
| フラグ | 動作 |
|---|---|
--sources <names> | これらのエンジンを有効にします。コンマ区切りです。 |
--jobspy-sites <sites> | JobSpy のサイトを設定します。コンマ区切りです。 |
--hirehunt-sources <sources> | HireHunt のソースを設定します。コンマ区切りです。 |
--jobdrop-sites <sites> | JobDrop のサイトを設定します。コンマ区切りです。 |
--openroles-companies <slugs> | OpenRoles の企業スラッグを設定します。コンマ区切りです。 |
--apify-actor <actor> | Apify のアクター ID を設定します。 |
--timeout <seconds> | ソースごとのタイムアウトを設定します。 |
--cache-ttl <seconds> | 検出キャッシュの有効期間を設定します。 |
--no-cache | 検出キャッシュを無効にします。 |
--history-days <days> | 報告済みの求人が再び現れるまでの日数を設定します。 |
--no-history | 毎回の実行ですべての求人を報告します。 |
--job-tracking / --no-job-tracking | CSV の求人管理の列を有効または無効にします。 |
--name <name> | プロファイルの名前を設定します。 |
--titles <titles> | 希望の職種を設定します。コンマ区切りです。 |
--location <location> | 希望の勤務地を設定します。 |
--resume <path> | 履歴書のパスを設定します。 |
Sweepy は --logs、--version、--update、--check-update、--list-engines、--install-engines を先に処理し、その後にドキュメントを変換します。続いて --setup が動き、最後にスイープが実行されます。1 つのコマンドにつき 1 つの処理を実行してください。
--run で最後のプロファイルを実行する
プロファイルを一度保存すれば、短いコマンド 1 つでスイープできます。Sweepy は最後に保存したプロファイルを profiles/.last_profile に記録し、再利用します。
sweepy --run
このコマンドは次の順序でプロファイルを決めます。
profiles/.last_profileにあるパス。profiles/の中で最も新しいプロファイル。profiles/custom_profile.yaml、次にprofiles/paralegal_nyc.yaml、次にconfig.sample.yaml。
どれも存在しない場合、Sweepy はエラーを報告し、--setup を案内します。
--setup でプロファイルを作る
ウィザードは検索ランチパッドを開き、YAML プロファイルを書き出します。
sweepy --setup
| ランチパッドのタイル | 動作 |
|---|---|
| Launch Sweep | 開いているプロファイルでスイープを実行します。プロファイルを開くまで、ステータス行が警告を表示します。 |
| Load Profile | 次のスイープで使う保存済みプロファイルを選べます。 |
| Sweepy's Toolbox | 次に挙げるツールボックスの項目を開きます。 |
| Build Profile | 平易な言葉で質問し、新しいプロファイルを保存します。 |
| Sweep Settings | キーワードの重み、カードの上限、レポートの形式、履歴の動作、CSV の求人管理の列を変更します。 |
| Exit Sweepy | 変更を保存し、シェルに戻ります。 |
Sweepy's Toolbox には残りの操作が入っています。
| ツールボックスの項目 | 動作 |
|---|---|
| Edit an existing profile | profiles/ からプロファイルを読み込み、変更できます。求人管理の列の切り替えも含みます。 |
| Manage job engines | エンジンを有効または無効にし、設定を編集します。 |
| Download job engines | 確認のうえで任意のエンジンをインストールします。 |
| Add or edit aggregators | フィードを切り替え、カスタムアグリゲーターを管理します。 |
| Toggle debug logging | プロファイルの debug の値を切り替えます。 |
| Show help | ウィザードの使い方を表示します。 |
| Show recent logs | 最新のデバッグログの項目を表示します。 |
| Convert a document to PDF (bonus) | DOCX、DOC、TXT、MD、PDF のファイルを変換し、ツールボックスに戻ります。 |
| Update Sweepy | 最新のコードを取得し、依存パッケージを入れ直します。 |
| Exit | ツールボックスからウィザードを閉じます。 |
プロファイルを追加で作るときも、既存のものを編集するときも、いつでもウィザードを再実行できます。古いプロファイルが削除されることはありません。Sweepy のセットアップのページで、すべての質問を順に説明しています。
ドキュメントを PDF に変換する(おまけ)
Sweepy's Toolbox はプロファイルがなくてもドキュメントを変換します。Convert a document to PDF (bonus) を選び、Sweepy にパスを渡します。
| 入力 | Sweepy の動作 |
|---|---|
.docx | python-docx と reportlab で整形したテキストを組み直し、失敗した場合は Microsoft Word に切り替えます。 |
.doc | Microsoft Word 経由で描画します。docx2pdf パッケージが必要です。 |
.txt、.md | 見出しと箇条書きを付けてテキストを描画します。 |
.pdf | ファイルをそのまま通すか、指定した出力先にコピーします。 |
パスが誤っていると、Sweepy は警告を表示してプロンプトを開き直します。入力の誤りはウィザードに戻るだけです。
プロファイルを直接開く
--profile を追加すると、ランチパッドを経由せずに 1 つのプロファイルを編集用に開けます。
sweepy --setup --profile profiles/paralegal_nyc.yaml
ウィザードは、そのファイルの現在の値で確認画面を初期化します。
プロンプトなしでプロファイルを作る
どの環境でも同じ設定が必要なときは、プロファイルをスクリプトで作ります。--setup --non-interactive を追加し、各値をフラグで渡します。
sweepy --setup --non-interactive `
--name "Alex Rivera" `
--titles "Technical Writer,UX Writer" `
--location "New York, NY" `
--resume C:\Users\Alex\sweepy\resume.pdf `
--sources jobspy,openroles `
--openroles-companies figma,stripe,notion `
--timeout 120 --no-cache
Sweepy はファイルを書き込む前に、有効なエンジンをすべて確認します。OpenRoles の企業スラッグのような値が欠けていると、Error: を表示してコード 1 で終了します。--profile を付けない場合、Sweepy は名前と最初の職種からファイル名を作るため、Alex のプロファイルは profiles/alex_rivera_technical_writer.yaml に保存されます。既存のファイルを更新するには --profile <path> を追加します。
Sweepy の更新
最新のコードを取得し、依存パッケージを入れ直すには、次のコマンドを実行します。
sweepy --update
Sweepy は origin リモートを取得し、現在のブランチを早送りし、python -m pip install -r requirements.txt を実行します。追跡対象のファイルに未コミットの変更がある場合は実行を拒否するため、ローカルの編集が失われることはありません。更新があるかどうかだけを確認するには、読み取り専用のチェックを使ってください。
sweepy --check-update
Sweepy's Toolbox の Update Sweepy も同じ更新を実行します。
求人検索エンジンを管理する
すべてのエンジン、読み取るサイト、インストール状態を一覧します。
sweepy --list-engines
任意のエンジンをダウンロードします。
sweepy --install-engines all
all の組は、JobSpy が衝突するバージョン指定を持つ間は JobDrop を飛ばします。JobDrop は --allow-engine-conflicts を付けて単独でインストールします。
sweepy --install-engines jobdrop --allow-engine-conflicts
エンジンをインストールしても、無効のままです。プロファイルの sources.enabled に追加するか、ヘッドレス設定のときに --sources を渡します。インストールに失敗すると、コマンドはコード 1 で終了します。任意のエンジンで各エンジンを説明しています。
--profile でスイープを実行する
都市や職種の種類ごとにプロファイルを 1 つ用意し、使いたいものを --profile で指定します。あとは Sweepy が行います。
sweepy --profile profiles/paralegal_nyc.yaml
自分のファイル名に置き換えてください。最後に保存したプロファイルを Sweepy に再利用させたい場合は --run が向いています。
都市や職種の種類ごとにプロファイルを 1 つ保存します。ファイル名を変えるだけで検索を切り替えられます。
1 回の実行だけ上書きする
--run と --profile は 3 つの上書きを受け付けます。いずれもそのコマンドにだけ適用され、プロファイルは変更しません。
sweepy --run --no-dedupe
sweepy --run --include-seen
sweepy --run --reset-history
--no-dedupe は、2 つのサイトが同じ求人を掲載している場合に、両方のサイトの掲載を残します。スイープは新しい求人だけを報告し、プロファイルの history.retention_days が既定で 4 日の期間を定めます。--include-seen は非表示の求人も報告します。--reset-history を単独で実行すると、その履歴を消去し、スイープせずに終了します。
スイープ中に起きること
どの実行も、同じ 5 つの段階を同じ順序でたどります。
| 段階 | 起きること |
|---|---|
| 1. プロファイルの読み込み | YAML ファイルを読み取り、設定を確認します。 |
| 2. 検出 | 有効なプラットフォームで取得処理を実行し、求人を集めます。 |
| 3. 検証 | 無効なリンクを削除し、ソフト 404 のリダイレクトを検出します。確認できない求人は実行に残ります。 |
| 4. 採点 | 履歴書の PDF または DOCX を解析して用語の重複を測り、各求人に Application Tip を書きます。 |
| 5. 生成 | 日付を付けた PDF、CSV、JSON ファイルを組み立てます。ページ画像が必要なときは、エクスポート形式に png を追加します。 |
ターミナルは作業中に各段階を [1/5] から [5/5] として表示します。初回スイープを実行するで出力の全体を示しています。
--docx で DOCX を PDF に変換する
--docx に Word ファイルを渡します。Sweepy は変換して PDF を保存し、終了します。
sweepy --docx path/to/resume.docx
続いて Sweepy は PDF の保存先を尋ねます。
Where should the PDF go? (leave blank to save next to the DOCX):
回答を空のまま Enter を押すと、PDF は DOCX の隣に同じベース名で保存されます。別の場所に保存するには、代わりにフルパスを入力します。どちらの場合も、Sweepy は PDF saved: と最終的な場所を表示します。
Sweepy はまず DOCX のテキストから PDF を組み直します。Microsoft Word がある環境では、Sweepy は見た目が近くなるように docx2pdf に切り替えます。
--convert で任意のドキュメントを変換する
--convert はプロンプトなしで動作し、元のファイルの隣に PDF を書き出します。.docx、.doc、.txt、.md、.pdf のファイルを指定できます。
sweepy --convert path/to/resume.docx
PDF saved: C:\Users\Alex\sweepy\resume.pdf
出力は元の名前を保ち、拡張子だけを変えるため、notes.md は同じフォルダーの notes.pdf になります。.pdf の入力はすでにその場所にあるため、Sweepy は This file is already a PDF: と報告し、ファイルはそのまま残します。
| 入力 | Sweepy の動作 |
|---|---|
.docx | python-docx と reportlab で整形したテキストを組み直し、失敗した場合は Microsoft Word に切り替えます。 |
.doc | Microsoft Word 経由で描画します。docx2pdf パッケージが必要です。 |
.txt、.md | 見出しと箇条書きを付けてテキストを描画します。 |
.pdf | ファイルを変更せずに残し、そのパスを報告します。 |
ファイルがない場合や未対応の形式では、Error: を表示してコード 1 で終了します。そのため、スクリプトや定時実行の中でも安全に使えます。
PDF ができたら、プロファイルの resume.path をそのファイルに向け、スイープを実行します。
--version でバージョンを確認する
エンジンとライブラリが正しくインストールされたかを確かめるには、このコマンドを使います。
sweepy --version
Sweepy v3.0.0
Python 3.13.1 | pymupdf 1.28.2 | reportlab 5.0.1
Ready to sweep.
pymupdf や reportlab が MISSING と表示されたら、依存パッケージを入れ直してください。インストールでその手順を説明しています。
デバッグログを有効にする
デバッグログは、エンジンが行う処理を段階ごとに記録します。フラグ、プロファイルの設定、環境変数のいずれかで有効にできます。
| 方法 | 設定する場所 | 有効な期間 |
|---|---|---|
--debug フラグ | ターミナルのコマンドに追加します。 | その実行の間だけ有効です。 |
debug: true | YAML プロファイルに追加します。 | 削除するまで毎回有効です。 |
SWEEPY_DEBUG=1 | 環境変数として設定します。 | ターミナルを閉じるまで毎回有効です。 |
どのスイープにもフラグを追加できます。
sweepy --debug --profile profiles/paralegal_nyc.yaml
プロファイルで常時有効にする場合は、次のように書きます。
# Write a rotating debug log under logs/ on every run.
debug: true
環境変数で設定する場合は、次のようにします。
$env:SWEEPY_DEBUG = "1"
sweepy --profile profiles/paralegal_nyc.yaml
macOS または Linux では、1 行目を export SWEEPY_DEBUG=1 に置き換えます。
Sweepy はアプリのフォルダー内の logs/ にログを書き出します。別の場所にするには --log-dir を使います。
sweepy --debug --log-dir C:\Users\Alex\sweepy-logs --profile profiles/paralegal_nyc.yaml
ファイルを開かずに直近の項目を読むには、次のコマンドを実行します。
sweepy --logs
デバッグログができるまで、--logs コマンドは No debug logs found. Run Sweepy with --debug to enable logging. と表示します。
日次実行を定時化する
採用チームは週を通して新しい求人を掲載します。毎朝同じコマンドを実行すれば、その求人を早く捉えられます。
sweepy --profile profiles/paralegal_nyc.yaml
新しい求人があった実行はレポートのファイルを書き出します。Sweepy はプロファイル、日付、時刻を各レポートのファイル名に入れます。たとえば paralegal_nyc_2026-10-08-081500.pdf と paralegal_nyc_2026-10-08-081500.csv です。Sweepy は時刻を協定世界時で読むため、記録はローカルの時計と異なることがあります。この記録により、ある実行が別の実行を上書きすることはなく、results に検索の履歴がすべて残ります。
スイープは新しい求人だけを報告し、Sweepy は報告した各求人を既定で 4 日間記憶します。ある朝に新しい求人が見つからない場合、実行は No new postings since your last sweep と表示し、レポートのファイルを書き出しません。検出したリンクがすべて期限切れの場合も同じです。
Windows で定時実行する
- スタートメニューから Task Scheduler を開きます。
- Create Basic Task を選び、
Sweepy morning sweepなどの名前を付けます。 - Daily を選び、8:00 AM などの開始時刻を指定します。
- 操作として Start a program を選びます。
- Program/script に Python の実行ファイルを設定します。PowerShell で
(Get-Command python).Sourceを実行するとそのパスを表示できます。 - Add arguments に
swee.pyのフルパスとプロファイルを設定します:"C:\Users\Alex\sweepy\swee.py" --profile profiles\paralegal_nyc.yaml。 - Start in に
sweepyフォルダーを設定します。エンジンはそのフォルダーからprofilesを読み、resultsを書き出します。
macOS と Linux で定時実行する
crontab -eで crontab を開きます。- マシンのタイムゾーンで毎日 8:00 AM にスイープを実行する行を追加します。
0 8 * * * cd /path/to/sweepy && python3 swee.py --profile profiles/paralegal_nyc.yaml
cd の部分が重要です。エンジンは起動したフォルダーを基準に profiles を読み、results を書き出します。Sweepy のパッケージをインストールした python3 を使ってください。python3 -c "import swee" で動作を確認できます。
定時実行はターミナルのウィンドウなしで始まるため、以前のセッションのシェル設定は適用されません。コマンドを一度手作業で実行してください。定時化する前に動作を確認します。