プロファイル設定リファレンス
このページは、Sweepy のプロファイルが受け付けるすべての設定を一覧します。プロファイルを編集する間は、このページを開いたままにしてください。順を追った説明が必要な場合は、Sweepy のセットアップを参照してください。
プロファイルの保存場所
Sweepy は Sweepy のディレクトリ内の profiles/ フォルダーからプロファイルを読み取ります。各プロファイルは YAML を使います。YAML はインデントとコロンで構造を表すプレーンテキストの形式です。Notepad、VS Code、その他手元にあるテキストエディターで開けます。
config.sample.yaml か、profiles/paralegal_nyc.yaml などのプリセットから始めます。テンプレートをコピーし、名前を変えて値を編集します。
copy config.sample.yaml profiles\my_search.yaml
notepad profiles\my_search.yaml
そのファイルを指してスイープを実行します。
sweepy --profile profiles/my_search.yaml
プロファイルには設定のすべてが入ります。都市ごと、職種群ごとに、いくつでもプロファイルを作れます。Sweepy はスイープの状態をプロファイルの外、つまり検出キャッシュ、履歴データベース、logs/ と results/ の各フォルダーに保ちます。
インデントにはスペースを使い、タブは決して使わないでください。YAML はタブを受け付けず、タブが 1 つ混じるだけでプロファイル全体が読めなくなります。
プロファイルの完全な例
次の例は Alex のプロファイルの全体です。# で始まる行はコメントとして扱われ、Sweepy は無視します。
# ─────────────────────────────────────────────────
# Sweepy — Alex's Paralegal Profile (New York City)
# ─────────────────────────────────────────────────
# Your name. It appears in the PDF report header.
name: "Alex Rivera"
# Set true to write rotating debug logs under logs/.
debug: false
# ─── Job search ───────────────────────────────────
search:
# Every title Sweepy searches at the same time.
titles:
- "Paralegal"
- "Legal Assistant"
- "Litigation Support Specialist"
- "Legal Secretary"
# Your target market.
location: "New York, NY"
# true keeps remote roles only. false keeps remote, hybrid, and on-site roles.
remote_only: false
# false removes hybrid roles from every report.
include_hybrid: true
# Annual salary floor. Use 0 to skip salary filtering.
min_salary: 65000
# true reads pay from the posting text when a board omits structured pay.
salary_from_description: true
# ─── Resume ───────────────────────────────────────
resume:
# Path to a PDF or DOCX resume. Forward slashes work on Windows.
path: "Alex_Rivera_Resume.pdf"
# Terms that carry the most weight when Sweepy scores a posting.
must_have_skills:
- "Westlaw"
- "LexisNexis"
- "e-discovery"
- "Contract Review"
- "Legal Research"
# 1.0 is standard. Raise it to reward exact skill matches.
keywords_weight: 1.5
# Interchangeable terms. Sweepy matches every member of a group either way.
synonyms:
- ["e-discovery", "ediscovery", "electronic discovery"]
- ["legal research", "case law research"]
- ["docketing", "case calendaring"]
- ["legal assistant", "legal secretary"]
- ["contract review", "contract analysis", "agreement review"]
# Optional: one resume per role family. Sweepy picks the best fit for each posting.
tracks:
- name: "Paralegal Resume"
path: "C:/Users/Alex/Documents/Alex_Rivera_Paralegal.pdf"
color: "#1D4ED8"
route_keywords: ["paralegal", "litigation", "e-discovery"]
- name: "Legal Assistant Resume"
path: "C:/Users/Alex/Documents/Alex_Rivera_Legal_Assistant.pdf"
color: "#7E22CE"
route_keywords: ["legal assistant", "legal secretary", "scheduling"]
# ─── Platforms ────────────────────────────────────
platforms:
greenhouse: true
ashby: true
lever: true
workable: true
aggregators: false
# Extra ATS domains. Sweepy labels matching postings with this name.
custom:
- name: "SmartRecruiters"
domain: "smartrecruiters.com"
enabled: true
- name: "Breezy HR"
domain: "breezy.hr"
enabled: true
# ─── Sources ──────────────────────────────────────
sources:
jobspy:
linkedin: true
indeed: true
glassdoor: true
zip_recruiter: true
# Leave a list empty to fall back to the seed lists in data/sources/.
ashby:
orgs:
- "crosby"
- "normlaw"
- "hargrove-firm"
- "lawhive"
workable:
slugs:
- "shegerianand-associates-1"
- "harper-james"
- "legalvision"
builtinnyc:
enabled: true
categories:
- "jobs/legal"
- "jobs/legal/search/paralegal"
# ─── Cache and history ────────────────────────────
cache:
enabled: true
ttl_seconds: 3600 # reuse discovery results for an hour
history:
enabled: true
retention_days: 4 # hide a reported posting for four days
match: "url+role" # "url" matches only an identical posting address
path: null # null uses ~/.sweepy/history.db
orchestrator:
timeout_per_source_seconds: 180
circuit_breaker:
failure_threshold: 5
cooldown_seconds: 30
# ─── Report layout ────────────────────────────────
report:
style: "cards" # "cards" (default) or "legacy"
cards_per_page: 6 # cards on each PDF page
max_cards: 24 # 0 or less shows every match
destinations: [] # extra folders for a copy of the PDF
assessment: "agent" # "keyword" accepts reports without agent judgments
# ─── Exports ──────────────────────────────────────
export:
format: "pdf,csv,json" # add "png" for page images
output_dir: "results"
tracking: true # job-tracking columns in the CSV
description_chars: 1000 # posting excerpt length in the CSV and JSON
すべての設定
省略した設定には、Sweepy が次の既定値を使います。有用なマッチを返すには、search.titles、search.location、resume.path がやはり必要です。
| セクション | キー | 必須 | 既定値 | 説明 |
|---|---|---|---|---|
| Top level | name | 任意 | "Job Seeker" | あなたの名前です。PDF レポートのヘッダーに表示されます。 |
| Top level | debug | 任意 | false | logs/ にローテーションするデバッグログを書き出すには true を設定します。 |
search | titles | 必須 | [] | 対象とする職種です。Sweepy はすべての職種を同時に検索します。 |
search | location | 必須 | "" | あなたの市場を "City, State" の形式で指定します。 |
search | remote_only | 任意 | false | リモートの求人だけを残すには true を設定します。 |
search | include_hybrid | 任意 | true | ハイブリッドの求人を除外するには false を設定します。 |
search | min_salary | 任意 | 0 | 年収の下限です。0 でフィルターを無効にします。 |
search | salary_from_description | 任意 | true | サイトが構造化された給与を公開していない場合、求人本文から給与レンジを読み取ります。構造化された項目だけを使うには false を設定します。 |
resume | path | 必須 | "" | 履歴書の PDF または Word(DOCX)ファイルのパスです。 |
resume | must_have_skills | 任意 | [] | 最も高い採点の重みを受け取る用語です。 |
resume | keywords_weight | 任意 | 1.0 | スキルの一致に掛ける倍率です。値を上げるほど重複を評価します。 |
resume | synonyms | 任意 | [] | 互換として扱う用語のグループです。履歴書の類義語を参照してください。 |
resume | tracks | 任意 | [] | 職種群ごとに 1 つの履歴書です。履歴書トラックを参照してください。 |
resume.tracks[] | name | 必須 | n/a | レポートのカードとトラックのバッジに表示されるラベルです。 |
resume.tracks[] | path | 必須 | n/a | そのトラックの履歴書 PDF または DOCX ファイルのパスです。 |
resume.tracks[] | color | 任意 | #1D4ED8 | バッジの色を 16 進コードか navy などの色名で指定します。 |
resume.tracks[] | route_keywords | 任意 | [] | 求人をこのトラックに割り当てるキーワードです。 |
platforms | greenhouse | 任意 | true | Greenhouse の検索を実行します。 |
platforms | ashby | 任意 | true | Ashby の検索を実行します。 |
platforms | lever | 任意 | true | Lever の検索を実行します。 |
platforms | workable | 任意 | true | Workable の検索を実行します。 |
platforms | aggregators | 任意 | false | Remotive や Adzuna などの無料アグリゲーターフィードを実行します。 |
platforms | custom | 任意 | [] | 追加の応募者追跡システム(ATS)ドメインです。各項目は name、domain、enabled を取ります。 |
sources | jobspy.linkedin | 任意 | true | python-jobspy 経由で LinkedIn に問い合わせます。 |
sources | jobspy.indeed | 任意 | true | python-jobspy 経由で Indeed に問い合わせます。 |
sources | jobspy.glassdoor | 任意 | true | python-jobspy 経由で Glassdoor に問い合わせます。 |
sources | jobspy.zip_recruiter | 任意 | true | python-jobspy 経由で ZipRecruiter に問い合わせます。 |
sources | greenhouse.enabled | 任意 | true | Greenhouse ソースの有効と無効を切り替えます。 |
sources | greenhouse.boards | 任意 | [] | Greenhouse のサイトトークンです。空の場合は data/sources/greenhouse_boards.txt に切り替わります。 |
sources | ashby.enabled | 任意 | true | Ashby ソースの有効と無効を切り替えます。 |
sources | ashby.orgs | 任意 | [] | Ashby の組織スラッグです。空の場合は data/sources/ashby_orgs.txt に切り替わります。 |
sources | lever.enabled | 任意 | true | Lever ソースの有効と無効を切り替えます。 |
sources | lever.companies | 任意 | [] | Lever の企業トークンです。空の場合は data/sources/lever_companies.txt に切り替わります。 |
sources | workable.enabled | 任意 | true | Workable ソースの有効と無効を切り替えます。 |
sources | workable.slugs | 任意 | [] | Workable のアカウントスラッグです。空の場合は data/sources/workable_slugs.txt に切り替わります。 |
sources | builtinnyc.enabled | 任意 | true | Built In NYC ソースの有効と無効を切り替えます。 |
sources | builtinnyc.categories | 任意 | [] | jobs/legal などの Built In NYC のカテゴリパスです。空の場合は data/sources/builtin_categories.txt に切り替わります。 |
sources | builtinnyc.detail_pages | 任意 | false | 各求人の詳細ページから全文を読み取ります。Built In は数回のリクエストでそのページに確認を求めるため、Sweepy は 1 件ずつ取得し、最初の確認で止めます。一覧からは企業、勤務地、給与が得られます。 |
sources | enabled | 任意 | ["jobspy", "ats"] | 実行するエンジンです。インストールのうえ hirehunt、openroles、jobdrop、apify を追加します。ソースとプラットフォームを参照してください。 |
sources | jobspy.sites | 任意 | ["linkedin", "indeed", "glassdoor", "zip_recruiter"] | JobSpy のサイトをリストで指定します。jobspy.linkedin 形式の真偽値より優先されます。 |
sources | jobspy.fetch_descriptions | 任意 | true | 採点のために求人の全文を取得します。より速いスイープと引き換えにスコアが弱くなる場合は false を設定します。 |
sources | jobspy.proxies | 任意 | [] | user:pass@host:port 形式で書くプロキシの指定です。プロキシの認証情報はあなたのマシンにとどまります。 |
sources | jobspy.user_agent | 任意 | null | JobSpy のリクエストに使うユーザーエージェントです。省略すると組み込みの Chrome の値を使います。 |
cache | enabled | 任意 | true | スイープの間で検出結果を再利用します。 |
cache | ttl_seconds | 任意 | 3600 | Sweepy がキャッシュした結果を再利用する秒数です。 |
cache | path | 任意 | null | キャッシュデータベースの場所です。null は ~/.sweepy/cache.db を使い、SWEEPY_CACHE_PATH がいずれよりも優先されます。 |
history | enabled | 任意 | true | 以前のスイープで報告済みの求人を非表示にします。 |
history | retention_days | 任意 | 4 | 報告済みの求人が再び現れるまで、Sweepy がその求人を非表示にする日数です。 |
history | match | 任意 | "url+role" | url は同一の求人アドレスだけに一致します。url+role は別のサイトにある同じ職種、企業、勤務地にも一致します。 |
history | path | 任意 | null | 履歴データベースの場所です。null は ~/.sweepy/history.db を使い、SWEEPY_HISTORY_PATH がいずれよりも優先されます。 |
orchestrator | timeout_per_source_seconds | 任意 | 180 | Sweepy が停止させるまでに 1 つのソースが実行できる秒数です。 |
orchestrator | circuit_breaker.failure_threshold | 任意 | 5 | Sweepy がそのソースを飛ばすまでの連続失敗回数です。 |
orchestrator | circuit_breaker.cooldown_seconds | 任意 | 30 | 飛ばしたソースを再試行するまでに Sweepy が待つ秒数です。 |
report | style | 任意 | "cards" | レポートの構成です。cards または legacy です。 |
report | cards_per_page | 任意 | 6 | PDF の各ページに置くカードの枚数です。 |
report | max_cards | 任意 | 24 | カードの最大枚数です。0 以下ならすべてのマッチを表示します。 |
report | destinations | 任意 | [] | PDF と PNG ファイルのコピーを受け取る追加のフォルダーです。 |
report | assessment | 任意 | "agent" | agent はキーワードの重複だけのカードがある間、レポートを止めます。keyword はエージェントの判定なしのレポートを許可します。 |
export | format | 任意 | "pdf,csv" | pdf、csv、json、png の任意の組み合わせをコンマで区切ります。 |
export | output_dir | 任意 | "results" | レポートのファイルを置くフォルダーです。存在しない場合は Sweepy が作成します。 |
export | tracking | 任意 | true | CSV に求人管理の列を追加します: date_applied、status、interview_stage、offer_amount、offer_date、follow_up_date、contact、notes です。入力した値は、同じプロファイルの次のスイープに引き継がれます。生データだけにするには false を設定します。 |
export | description_chars | 任意 | 1000 | CSV と JSON に保存する求人本文の文字数です。Sweepy は文の区切りで切ります。0 なら求人の全文を保存します。 |
ソースとプラットフォームの対応の詳細はソースとプラットフォームにあります。そこでの有効化の規則が、platforms.* と sources.* がどう組み合わさるかを説明します。任意の hirehunt、openroles、jobdrop、apify のブロックも sources の下に置き、コマンドリファレンスにそれらのキーを設定するフラグを載せています。
履歴書トラック
トラックは名前を付けた履歴書です。異なる 2 つの職種や肩書きを狙い、求人ごとに適した書類で採点したいときにトラックを使います。
resume:
tracks:
- name: "Paralegal Resume"
path: "C:/Users/Alex/Documents/Alex_Rivera_Paralegal.pdf"
color: "#1D4ED8"
route_keywords: ["paralegal", "litigation", "e-discovery"]
- name: "Legal Assistant Resume"
path: "C:/Users/Alex/Documents/Alex_Rivera_Legal_Assistant.pdf"
color: "#7E22CE"
route_keywords: ["legal assistant", "legal secretary", "scheduling"]
各項目は 4 つのフィールドを取ります。
nameはトラックに名前を付けます。レポートのカードにこのラベルが表示されるため、1 語か 2 語で書きます。pathはそのトラックの履歴書 PDF または DOCX ファイルを指します。colorはバッジの色を設定します。#1D4ED8などの 16 進コードか、navyなどの色名を使います。route_keywordsは、どの求人をこのトラックに割り当てるかを決めます。
Sweepy はキーワードの重複で各求人を振り分けます。求人の職種名と説明、および各トラックの route_keywords の間で、単語全体の一致を数えます。Sweepy は最も多く一致したトラックに求人を割り当てます。2 つのトラックが同数の場合は、リストの先にある方を使います。
route_keywords は求人を履歴書に振り分けるだけで、マッチ率を変えることはありません。各職種群が求人で実際に使うフレーズを追加してください。
tracks を省略すると、Sweepy は resume.path を 1 つの暗黙のトラックとして使います。
履歴書の類義語
resume.synonyms は、同じ意味を持つ単語のグループを保持します。Sweepy はグループ内のすべての単語を互いに等しいものとして扱います。そのため照合はどちらの向きでも機能します。書式のチェックリスト全体については、業界固有の用語を追加するを参照してください。
resume:
synonyms:
- ["e-discovery", "ediscovery", "electronic discovery"]
- ["legal research", "case law research"]
- ["docketing", "case calendaring"]
- ["legal assistant", "legal secretary"]
- ["contract review", "contract analysis", "agreement review"]
グループには 2 つ以上の用語が必要です。1 つだけのグループは無視されます。照合は大文字と小文字を区別せず、規則的な単数形と複数形を扱います。エンジンはフレーズ全体で照合するため、legal research と legal researcher の両方を数えたい場合は別々の用語として載せます。
Alex は履歴書に e-discovery と書いています。electronic discovery と書いた求人は、両方の用語が同じグループに入っているため一致します。
同じ取りこぼしに 2 度気づいたら、グループを追加してください。求人の正確な表現を、自分の用語の隣にコピーします。
よくある書式の誤り
壊れたプロファイルの多くは、いくつかのよくある誤りにたどり着きます。
Windows のパスにはスラッシュか二重のバックスラッシュが必要です。 YAML はバックスラッシュ 1 つをエスケープ文字として読みます。C:\Users\Alex のようなパスはファイルを壊します。
resume:
path: "C:/Users/Alex/Documents/Alex_Rivera_Resume.pdf" # ✅ works
# path: "C:\\Users\\Alex\\Documents\\Alex_Rivera_Resume.pdf" # ✅ also works
# path: "C:\Users\Alex\Documents\Alex_Rivera_Resume.pdf" # ❌ breaks YAML
パスにバックスラッシュが 1 つ混じるだけで、Sweepy はプロファイルを読み取れなくなります。セットアップウィザードはスラッシュで書き出すため、手作業で編集するときはその書き方に合わせてください。
コメントは # で始まります。 Sweepy はその行の # 以降をすべて無視します。例のプロファイルと同じように、値が重要な理由をコメントで書き留めてください。
インデントが構造を決めます。 各階層を 2 つのスペースでインデントします。ファイルのどこかにタブが 1 つあると YAML が壊れます。