مرجع سطر الأوامر
يثبّت Sweepy كأمر واحد، sweepy. اكتبه واضغط Enter. وأضف مفتاحًا عندما يحتاج الأمر أكثر من القيم الافتراضية. يبدأ كل ملف تعريفي ومسح وتقرير من هنا.
sweepy
يستخدم أليكس اثنين من هذه الأوامر كل صباح. أولًا --run يمسح بآخر ملف تعريفي محفوظ. ثم --logs يبلّغ عما حدث عندما يبدو تشغيل ما خاطئًا.
نفّذ كل أمر من داخل مجلد sweepy. إذا أغلقت طرفيتك منذ الخطوة السابقة، فأعد فتحها ونفّذ cd sweepy أولًا.
مرجع الأوامر
نفّذ sweepy بلا مفتاح لفتح منصة إطلاق البحث في المعالج. وتجمع الجداول أدناه كل مفتاح حسب المهمة التي يؤديها.
نفّذ pip install -e . مرة واحدة في مجلد sweepy. وتكتب الصفحات أدناه الصيغة القصيرة لأن ذلك الأمر يسجّلها. وإذا لم تجد طرفيتك sweepy، فأعد فتح الطرفية أو نفّذ python swee.py بدلًا منه.
عمليات المسح والملفات التعريفية
| المفتاح | ما يفعله |
|---|---|
--run | يشغّل مسحًا بآخر ملف تعريفي حفظته. |
--profile <path> | يشغّل مسحًا من ملف تعريفي بصيغة YAML. |
--setup | يفتح منصة إطلاق البحث للبحث وإعداد الملف التعريفي. |
--non-interactive | يبني ملفًا تعريفيًا أو يحدّثه من المفاتيح بدلًا من المطالبات. اقرنه بـ --setup. |
تجاوزات تشغيل واحد
| المفتاح | ما يفعله |
|---|---|
--no-dedupe | يبقي الإعلانات المكررة من منصات منفصلة في مسح واحد. |
--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. |
--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 بعد ذلك، ويأتي المسح أخيرًا. نفّذ مهمة واحدة لكل أمر.
شغّل آخر ملف تعريفي لديك بـ --run
احفظ ملفًا تعريفيًا مرة واحدة، ثم امسح بأمر قصير واحد. يخزّن 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 لفتح ملف تعريفي واحد للتحرير دون منصة الإطلاق:
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 اسم الملف من اسمك وأول مسمى، فيُحفظ ملف أليكس في profiles/alex_rivera_technical_writer.yaml. أضف --profile <path> لتحديث ملف قائم بدلًا من ذلك.
تحديثات Sweepy
اسحب أحدث شيفرة وأعد تثبيت التبعيات بـ:
sweepy --update
يجلب Sweepy النطاق البعيد origin، ويدفع الفرع الحالي للأمام، وينفّذ python -m pip install -r requirements.txt. ويرفض العمل عندما تحتوي الملفات المتتبعة على تغييرات غير مثبتة، فلا يتخلص من تعديلاتك المحلية قط. وفضّل الفحص للقراءة فقط لمعرفة ما إذا كان هناك تحديث:
sweepy --check-update
يشغّل Update Sweepy في Sweepy's Toolbox التحديث نفسه.
إدارة محركات البحث عن وظائف
اسرد كل محرك والمنصات التي يقرأها وحالة تثبيته:
sweepy --list-engines
نزّل المحركات الاختيارية:
sweepy --install-engines all
تتجاوز مجموعة all محرك JobDrop ما دام JobSpy يحمل تثبيته المتعارض. ثبّت JobDrop وحده بـ --allow-engine-conflicts:
sweepy --install-engines jobdrop --allow-engine-conflicts
ترك المحرك مثبتًا لا يجعله يعمل. أضفه إلى sources.enabled في ملف تعريفي أو مرّر --sources أثناء إعداد دون تفاعل. ويخرج الأمر بالرمز 1 عندما يفشل التثبيت. وتغطي صفحة المحركات الاختيارية كل محرك.
شغّل مسحًا بـ --profile
أبقِ ملفًا تعريفيًا لكل مدينة أو نوع وظيفة، ثم وجّه --profile إلى الملف الذي تريده. ويتولى Sweepy الباقي.
sweepy --profile profiles/paralegal_nyc.yaml
استبدل اسم الملف باسم ملفك. وفضّل --run عندما تريد أن يعيد Sweepy استخدام آخر ملف تعريفي حفظته.
خزّن ملفًا تعريفيًا واحدًا لكل مدينة أو نوع وظيفة. وغيّر اسم ملف واحد للتبديل بين عمليات البحث.
تجاوز تشغيل واحد
يقبل --run و--profile ثلاثة تجاوزات. ويُطبَّق كل منها على ذلك الأمر ويترك الملف التعريفي دون تغيير.
sweepy --run --no-dedupe
sweepy --run --include-seen
sweepy --run --reset-history
يبقي --no-dedupe إعلان كل منصة عندما تنشر منصتان الوظيفة نفسها. ويبلّغ المسح عن الإعلانات الجديدة فقط، ويضبط history.retention_days في الملف التعريفي النافذة على أربعة أيام افتراضيًا. ويبلّغ --include-seen عن الإعلانات المخفية أيضًا. نفّذ --reset-history وحده لمسح ذلك السجل والخروج دون مسح.
ما يحدث أثناء المسح
يتبع كل تشغيل المراحل الخمس نفسها بالترتيب نفسه.
| المرحلة | ما يحدث |
|---|---|
| 1. تحميل الملف التعريفي | يقرأ ملف YAML ويتحقق من الإعدادات. |
| 2. الاكتشاف | يشغّل أدوات الاستخراج عبر منصاتك الممكّنة ويجمع الإعلانات. |
| 3. التحقق | يحذف الروابط الميتة ويلتقط إعادات soft 404. وتبقى الإعلانات التي يعجز الفحص عن التحقق منها في التشغيل. |
| 4. احتساب التطابق | يحلل سيرتك الذاتية بصيغة PDF أو DOCX لتداخل المصطلحات، ثم يكتب Application Tip لكل وظيفة. |
| 5. الإنشاء | يبني ملفات PDF وCSV وJSON المختومة بالتاريخ. أضف png إلى صيغ التصدير لصور الصفحات. |
تطبع الطرفية كل مرحلة بالصيغة [1/5] حتى [5/5] أثناء العمل. وتعرض صفحة تشغيل أول مسح لك المخرجات كاملة.
حوّل DOCX إلى PDF بـ --docx
امنح --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 بناء PDF من نص DOCX أولًا. وعندما يتوفر 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، استبدل السطر الأول بـ 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 كل إعلان يبلّغ عنه لمدة أربعة أيام افتراضيًا. وعندما لا يظهر جديد في صباح ما، يطبع التشغيل No new postings since your last sweep ولا يكتب ملفات تقرير. ويحدث الأمر نفسه عندما تكون كل الروابط المكتشفة منتهية.
الجدولة على Windows
- افتح Task Scheduler من قائمة Start.
- اختر Create Basic Task وسمّها باسم مثل
Sweepy morning sweep. - اختر Daily، ثم اختر وقت بدء مثل 8:00 AM.
- للإجراء، اختر Start a program.
- اضبط Program/script على ملفك التنفيذي Python. ونفّذ
(Get-Command python).Sourceفي PowerShell لطباعة ذلك المسار. - اضبط Add arguments على المسار الكامل لـ
swee.pyمع الملف التعريفي:"C:\Users\Alex\sweepy\swee.py" --profile profiles\paralegal_nyc.yaml. - اضبط Start in على مجلد
sweepy. فيجد المحركprofilesويكتبresultsمن ذلك المجلد.
الجدولة على macOS وLinux
- افتح crontab بـ
crontab -e. - أضف سطرًا يشغّل المسح عند الساعة 8:00 صباحًا كل يوم، بتوقيت الجهاز.
0 8 * * * cd /path/to/sweepy && python3 swee.py --profile profiles/paralegal_nyc.yaml
جزء cd مهم. فالمحرك يقرأ profiles ويكتب results نسبةً إلى المجلد الذي تشغّله منه. واستخدم python3 الذي ثبّت حزم Sweepy. واختبره بـ python3 -c "import swee".
يبدأ التشغيل المجدول دون نافذة طرفية، فلا تنطبق إعدادات الصدفة من جلسات سابقة. نفّذ الأمر يدويًا مرة واحدة. وأكّد أنه يعمل قبل أن تجدوله.