إنتقل إلى المحتوى الرئيسي

مرجع سطر الأوامر

يثبّت 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

يحل الأمر الملف التعريفي بهذا الترتيب:

  1. المسار في profiles/.last_profile.
  2. أحدث ملف تعريفي في profiles/.
  3. 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

أو شغّل التسجيل دائمًا داخل ملفك التعريفي:

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​

  1. افتح Task Scheduler من قائمة Start.
  2. اختر Create Basic Task وسمّها باسم مثل Sweepy morning sweep.
  3. اختر Daily، ثم اختر وقت بدء مثل 8:00 AM.
  4. للإجراء، اختر Start a program.
  5. اضبط Program/script على ملفك التنفيذي Python. ونفّذ (Get-Command python).Source في PowerShell لطباعة ذلك المسار.
  6. اضبط Add arguments على المسار الكامل لـ swee.py مع الملف التعريفي: "C:\Users\Alex\sweepy\swee.py" --profile profiles\paralegal_nyc.yaml.
  7. اضبط Start in على مجلد sweepy. فيجد المحرك profiles ويكتب results من ذلك المجلد.

الجدولة على macOS وLinux​

  1. افتح crontab بـ crontab -e.
  2. أضف سطرًا يشغّل المسح عند الساعة 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".

حذر

يبدأ التشغيل المجدول دون نافذة طرفية، فلا تنطبق إعدادات الصدفة من جلسات سابقة. نفّذ الأمر يدويًا مرة واحدة. وأكّد أنه يعمل قبل أن تجدوله.