मुख्य कंटेंट तक स्किप करें

प्रोफ़ाइल कॉन्फ़िगरेशन संदर्भ

यह पेज Sweepy प्रोफ़ाइल की हर स्वीकार्य सेटिंग सूचीबद्ध करता है। प्रोफ़ाइल संपादित करते समय इसे खुला रखें। चरण-दर-चरण मार्गदर्शन के लिए इसके बजाय Sweepy सेट करना देखें।

प्रोफ़ाइल कहाँ रहती हैं​

Sweepy अपनी डायरेक्टरी के अंदर profiles/ फ़ोल्डर से प्रोफ़ाइल पढ़ता है। हर प्रोफ़ाइल 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 टैब अस्वीकार करता है, और एक भी छूटा टैब पूरी प्रोफ़ाइल अपठनीय बना देता है।

पूरा प्रोफ़ाइल उदाहरण​

नीचे का उदाहरण Alex की पूरी प्रोफ़ाइल दिखाता है। # से शुरू होने वाली पंक्तियाँ कमेंट का काम करती हैं, और Sweepy उन्हें अनदेखा करता है:

profiles/paralegal_nyc.yaml
# ─────────────────────────────────────────────────
# 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 नीचे दिए डिफ़ॉल्ट पर लौट आता है। उपयोगी मिलान पाने के लिए Sweepy को फिर भी search.titles, search.location और resume.path चाहिए।

खंडकुंजीआवश्यकडिफ़ॉल्टविवरण
शीर्ष स्तरnameनहीं"Job Seeker"आपका नाम। PDF रिपोर्ट हेडर में आता है।
शीर्ष स्तरdebugनहींfalselogs/ में घूमते डीबग लॉग लिखने के लिए true सेट करें।
searchtitlesहाँ[]आपके लक्ष्य पद नाम। Sweepy हर पद नाम एक साथ खोजता है।
searchlocationहाँ""आपका बाज़ार, "City, State" के रूप में।
searchremote_onlyनहींfalseकेवल रिमोट भूमिकाएँ रखने के लिए true सेट करें।
searchinclude_hybridनहींtrueहाइब्रिड भूमिकाएँ हटाने के लिए false सेट करें।
searchmin_salaryनहीं0वार्षिक वेतन की न्यूनतम सीमा। 0 फ़िल्टर बंद कर देता है।
searchsalary_from_descriptionनहींtrueजब बोर्ड संरचित वेतन प्रकाशित न करे, तब पोस्टिंग टेक्स्ट से वेतन सीमा पढ़ें। केवल संरचित फ़ील्ड इस्तेमाल करने के लिए false सेट करें।
resumepathहाँ""आपकी PDF या Word (DOCX) रिज़्यूमे फ़ाइल का पथ।
resumemust_have_skillsनहीं[]वे शब्द जिन्हें सबसे ऊँचा स्कोरिंग भार मिलता है।
resumekeywords_weightनहीं1.0कौशल मिलानों का गुणक। ऊँचे मान मेल को अधिक भार देते हैं।
resumesynonymsनहीं[]एक-दूसरे के बदले इस्तेमाल योग्य शब्दों के समूह। देखें रिज़्यूमे समानार्थी।
resumetracksनहीं[]हर भूमिका परिवार के लिए एक रिज़्यूमे। देखें रिज़्यूमे ट्रैक।
resume.tracks[]nameहाँn/aरिपोर्ट कार्ड और ट्रैक बैज पर दिखने वाला लेबल।
resume.tracks[]pathहाँn/aउस ट्रैक की PDF या DOCX रिज़्यूमे फ़ाइल का पथ।
resume.tracks[]colorनहीं#1D4ED8बैज का रंग, hex कोड या navy जैसे रंग नाम के रूप में।
resume.tracks[]route_keywordsनहीं[]वे कीवर्ड जो पोस्टिंग को इस ट्रैक पर भेजते हैं।
platformsgreenhouseनहींtrueGreenhouse खोज चलाएँ।
platformsashbyनहींtrueAshby खोज चलाएँ।
platformsleverनहींtrueLever खोज चलाएँ।
platformsworkableनहींtrueWorkable खोज चलाएँ।
platformsaggregatorsनहींfalseRemotive और Adzuna जैसी मुफ़्त एग्रीगेटर फ़ीड चलाएँ।
platformscustomनहीं[]अतिरिक्त applicant tracking system (ATS) डोमेन। हर प्रविष्टि name, domain और enabled लेती है।
sourcesjobspy.linkedinनहींtruepython-jobspy के ज़रिए LinkedIn से पूछताछ करें।
sourcesjobspy.indeedनहींtruepython-jobspy के ज़रिए Indeed से पूछताछ करें।
sourcesjobspy.glassdoorनहींtruepython-jobspy के ज़रिए Glassdoor से पूछताछ करें।
sourcesjobspy.zip_recruiterनहींtruepython-jobspy के ज़रिए ZipRecruiter से पूछताछ करें।
sourcesgreenhouse.enabledनहींtrueGreenhouse स्रोत चालू या बंद करें।
sourcesgreenhouse.boardsनहीं[]Greenhouse बोर्ड टोकन। खाली होने पर data/sources/greenhouse_boards.txt पर लौट आता है।
sourcesashby.enabledनहींtrueAshby स्रोत चालू या बंद करें।
sourcesashby.orgsनहीं[]Ashby संगठन slug। खाली होने पर data/sources/ashby_orgs.txt पर लौट आता है।
sourceslever.enabledनहींtrueLever स्रोत चालू या बंद करें।
sourceslever.companiesनहीं[]Lever कंपनी टोकन। खाली होने पर data/sources/lever_companies.txt पर लौट आता है।
sourcesworkable.enabledनहींtrueWorkable स्रोत चालू या बंद करें।
sourcesworkable.slugsनहीं[]Workable अकाउंट slug। खाली होने पर data/sources/workable_slugs.txt पर लौट आता है।
sourcesbuiltinnyc.enabledनहींtrueBuilt In NYC स्रोत चालू या बंद करें।
sourcesbuiltinnyc.categoriesनहीं[]jobs/legal जैसे Built In NYC श्रेणी पथ। खाली होने पर data/sources/builtin_categories.txt पर लौट आता है।
sourcesbuiltinnyc.detail_pagesनहींfalseहर पोस्टिंग का पूरा टेक्स्ट उसके detail पेज से पढ़ें। Built In कुछ अनुरोधों के बाद उन पेजों पर चुनौती देता है, इसलिए Sweepy एक बार में एक पेज लाता है और पहली चुनौती पर रुक जाता है। लिस्टिंग फिर भी कंपनी, स्थान और वेतन देती है।
sourcesenabledनहीं["jobspy", "ats"]चलाने वाले इंजन। हर इंजन इंस्टॉल करने के बाद hirehunt, openroles, jobdrop या apify जोड़ें। देखें स्रोत और प्लेटफ़ॉर्म।
sourcesjobspy.sitesनहीं["linkedin", "indeed", "glassdoor", "zip_recruiter"]JobSpy बोर्ड, सूची के रूप में। jobspy.linkedin शैली के boolean पर इसका दबदबा रहता है।
sourcesjobspy.fetch_descriptionsनहींtrueस्कोरिंग के लिए पोस्टिंग का पूरा टेक्स्ट लाएँ। कमज़ोर स्कोर के साथ तेज़ स्वीप के लिए false सेट करें।
sourcesjobspy.proxiesनहीं[]user:pass@host:port के रूप में लिखे प्रॉक्सी लक्ष्य। प्रॉक्सी क्रेडेंशियल आपकी मशीन पर ही रहते हैं।
sourcesjobspy.user_agentनहींnullJobSpy अनुरोधों के लिए user agent। अंतर्निहित Chrome मान इस्तेमाल करने के लिए इसे छोड़ दें।
cacheenabledनहींtrueस्वीप के बीच डिस्कवरी नतीजे दोबारा इस्तेमाल करें।
cachettl_secondsनहीं3600Sweepy कैश किए नतीजे को कितने सेकंड दोबारा इस्तेमाल करता है।
cachepathनहींnullकैश डेटाबेस का स्थान। null पर ~/.sweepy/cache.db इस्तेमाल होता है, और SWEEPY_CACHE_PATH दोनों पर भारी पड़ता है।
historyenabledनहींtrueवे पोस्टिंग छिपाएँ जो पिछले स्वीप पहले रिपोर्ट कर चुके हैं।
historyretention_daysनहीं4Sweepy रिपोर्ट की गई पोस्टिंग को दोबारा आने से पहले कितने दिन छिपाता है।
historymatchनहीं"url+role"url केवल एक जैसे पोस्टिंग पते से मिलाता है। url+role दूसरे बोर्ड पर वही पद नाम, कंपनी और स्थान भी मिलाता है।
historypathनहींnullइतिहास डेटाबेस का स्थान। null पर ~/.sweepy/history.db इस्तेमाल होता है, और SWEEPY_HISTORY_PATH दोनों पर भारी पड़ता है।
orchestratortimeout_per_source_secondsनहीं180Sweepy किसी एक स्रोत को रोकने से पहले उसे कितने सेकंड चलने देता है।
orchestratorcircuit_breaker.failure_thresholdनहीं5Sweepy उस स्रोत को छोड़ने से पहले लगातार कितनी विफलताएँ सहता है।
orchestratorcircuit_breaker.cooldown_secondsनहीं30छोड़े गए स्रोत को दोबारा आज़माने से पहले Sweepy कितने सेकंड रुकता है।
reportstyleनहीं"cards"रिपोर्ट लेआउट: cards या legacy।
reportcards_per_pageनहीं6हर PDF पेज पर रखे जाने वाले कार्ड।
reportmax_cardsनहीं24कार्ड की अधिकतम संख्या। 0 या उससे कम हर मिलान दिखाता है।
reportdestinationsनहीं[]वे अतिरिक्त फ़ोल्डर जिन्हें PDF और PNG फ़ाइलों की प्रति मिलती है।
reportassessmentनहीं"agent"agent तब रिपोर्ट रोक देता है जब किसी कार्ड पर केवल कीवर्ड मेल हो। keyword बिना agent मूल्यांकन वाली रिपोर्ट की अनुमति देता है।
exportformatनहीं"pdf,csv"pdf, csv, json और png का कोई भी मेल, कॉमा से अलग।
exportoutput_dirनहीं"results"आपकी रिपोर्ट फ़ाइलों का फ़ोल्डर। न होने पर Sweepy इसे बना देता है।
exporttrackingनहींtrueCSV में जॉब-ट्रैकिंग कॉलम जोड़ें: date_applied, status, interview_stage, offer_amount, offer_date, follow_up_date, contact और notes। Sweepy आपके भरे मान उसी प्रोफ़ाइल के बाद के स्वीप में ले जाता है। केवल कच्चे डेटा के लिए false सेट करें।
exportdescription_charsनहीं1000CSV और JSON में सहेजे जाने वाले पोस्टिंग टेक्स्ट के अक्षर। Sweepy वाक्य की सीमा पर काटता है। 0 पूरी पोस्टिंग सहेजता है।
सुझाव

स्रोत और प्लेटफ़ॉर्म समर्थन का विवरण स्रोत और प्लेटफ़ॉर्म में है। वहाँ के गेटिंग नियम बताते हैं कि platforms.* और sources.* मिलकर कैसे काम करते हैं। वैकल्पिक hirehunt, openroles, jobdrop और apify खंड भी sources के अंतर्गत रहते हैं, और कमांड संदर्भ उनकी कुंजी तय करने वाले फ़्लैग सूचीबद्ध करता है।

रिज़्यूमे ट्रैक​

ट्रैक एक नाम वाला रिज़्यूमे है। जब आप दो अलग भूमिकाएँ या पद नाम लक्षित करें और चाहें कि हर पोस्टिंग सही दस्तावेज़ के सामने स्कोर हो, तब ट्रैक इस्तेमाल करें।

profiles/paralegal_nyc.yaml
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"]

हर प्रविष्टि चार फ़ील्ड लेती है:

  • name ट्रैक को लेबल देता है। रिपोर्ट कार्ड यह लेबल दिखाता है, इसलिए एक या दो शब्द लिखें।
  • path उस ट्रैक की PDF या DOCX रिज़्यूमे फ़ाइल पर इशारा करता है।
  • color बैज का रंग तय करता है। #1D4ED8 जैसा hex कोड, या navy जैसा रंग नाम इस्तेमाल करें।
  • route_keywords तय करते हैं कि Sweepy किन पोस्टिंग को इस ट्रैक पर भेजता है।

Sweepy हर पोस्टिंग को कीवर्ड मेल से भेजता है। यह पोस्टिंग के पद नाम और विवरण तथा हर ट्रैक के route_keywords के बीच पूरे-शब्द मिलान गिनता है। Sweepy पोस्टिंग को सबसे अधिक गिनती वाले ट्रैक पर भेजता है। जब दो ट्रैक बराबर हों, Sweepy आपकी सूची में पहला इस्तेमाल करता है।

सुझाव

route_keywords पोस्टिंग को एक रिज़्यूमे पर भेजते हैं, और वे मिलान प्रतिशत कभी नहीं बदलते। वे वाक्यांश जोड़ें जो हर भूमिका परिवार अपनी पोस्टिंग में सचमुच इस्तेमाल करता है।

tracks छोड़ दें और Sweepy resume.path को एक अंतर्निहित ट्रैक की तरह इस्तेमाल करता है।

रिज़्यूमे समानार्थी​

resume.synonyms उन शब्दों के समूह रखता है जिनका अर्थ एक ही है। Sweepy समूह के हर शब्द को बाकी के बराबर मानता है। फिर मिलान दोनों दिशाओं में काम करता है। व्यापक फ़ॉर्मैटिंग चेकलिस्ट के लिए उद्योग-विशिष्ट शब्द जोड़ना देखें।

profiles/paralegal_nyc.yaml
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"]

समूह में कम से कम दो शब्द चाहिए, वरना Sweepy उसे अनदेखा कर देता है। मिलान केस की परवाह नहीं करता और नियमित एकवचन व बहुवचन रूप संभालता है। इंजन फिर भी पूरे वाक्यांश मिलाता है, इसलिए जब आप दोनों को गिनना चाहें, तो legal research और legal researcher अलग शब्दों के रूप में सूचीबद्ध करें।

Alex रिज़्यूमे पर e-discovery लिखता है। अब electronic discovery कहने वाली पोस्टिंग उससे मेल खाती है, क्योंकि दोनों शब्द एक ही समूह के हैं।

सुझाव

जब भी वही चूक दो बार दिखे, तब एक समूह जोड़ें। पोस्टिंग की सटीक शब्दावली अपने शब्द के बगल में समूह में कॉपी करें।

आम फ़ॉर्मैटिंग ग़लतियाँ​

टूटी प्रोफ़ाइलें ज़्यादातर दो-तीन आम ग़लतियों से जुड़ी होती हैं।

Windows पथों में फ़ॉरवर्ड स्लैश या दोहरे बैकस्लैश चाहिए। YAML एक बैकस्लैश को escape अक्षर पढ़ता है। C:\Users\Alex जैसा पथ फ़ाइल तोड़ देगा।

profiles/paralegal_nyc.yaml
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
सावधानी

पथ में एक भी छूटा बैकस्लैश Sweepy को आपकी प्रोफ़ाइल पढ़ने से रोक देता है। सेटअप विज़ार्ड आपके लिए फ़ॉरवर्ड स्लैश लिखता है, इसलिए हाथ से संपादित करते समय वही शैली कॉपी करें।

कमेंट # से शुरू होते हैं। Sweepy उस पंक्ति पर # के बाद का सब कुछ अनदेखा करता है। कमेंट से नोट करें कि कोई मान क्यों मायने रखता है, जैसा उदाहरण प्रोफ़ाइल करती है।

इंडेंटेशन संरचना तय करता है। हर स्तर को दो स्पेस से इंडेंट करें। फ़ाइल में कहीं भी एक टैब YAML तोड़ देता है।