انتقل إلى المحتوى

ترجمة آلية

تمت ترجمة هذه الصفحة تلقائيًا بواسطة الذكاء الاصطناعي وقد تحتوي على أخطاء. إذا كان هناك أي شيء غير واضح، يُرجى الرجوع إلى المصدر الإنجليزي.

المصدر الإنجليزي · الإبلاغ عن مشكلة في الترجمة

pplx-export

pplx-export هو واجهة سطر الأوامر للأرشفة: فهو يسحب فهارس المحادثات من Perplexity، ويصدر سلاسل المحادثات إلى الأرشيف المحلي، ويحافظ على المشاهدات المشتقة (فهرس المساحة، مقتطف cron). تغطي هذه الصفحة الأوامر الفرعية لجانب الالتقاط — index، space-index، export، batch، spaces، sync-space، schedule — بالإضافة إلى أمر الإعداد لمرة واحدة init. الأوامر الفرعية للتعبئة/الإصلاح موجودة في maintenance-commands.md؛ واجهة الاستعلام مغطاة في pplx-ask.md.

a. الخيارات المشتركة

يقبل كل أمر فرعي هذه العلامات (المعرفة مرة واحدة في pplx_export/commands/common.py):

العلامة المعنى الافتراضي
--account NAME الحساب المستهدف. عندما لا يتطابق البريد الإلكتروني لملف تعريف الارتباط مع البريد الإلكتروني المسجل، يتم تعداد رموز جلسة المتصفح لكل حساب للتبديل تلقائيًا default_account من تكوين المستخدم
--config PATH ملف تكوين المستخدم (سجل الحسابات). الأولوية: --config > متغير البيئة PPLX_EXPORT_CONFIG > ~/.config/pplx-export/config.toml سلسلة البحث الافتراضية
--skip-auth-check تخطي فحص جلسة إسناد الحساب عند بدء التشغيل والثقة في تسجيل الدخول الحالي، لتجنب انتظار بدء تشغيل طويل على شبكة ضعيفة؛ batch يقوم بفحص حساب مؤجل إذا تراكمت الأخطاء — راجع Configuration off
--site NAME محول الموقع perplexity
--out DIR جذر إخراج الأرشيف --out > تكوين archive_root > ./web_archive
--cookies-from BROWSER استيراد ملفات تعريف الارتباط من متصفح (edge/chrome/firefox/safari/brave…)
--cookies FILE ملف تعريف ارتباط Netscape أو ملف تعريف ارتباط JSON
--transport MODE cookie = طلبات مباشرة عبر ملفات تعريف الارتباط؛ webbridge = جلب داخل سياق صفحة المتصفح cookie
-v, --verbose إخراج DEBUG (آثار الطلبات، القرارات الداخلية)؛ قابل للتكرار off
--log-file [PATH] كتابة السجل الكامل على القرص؛ بدون قيمة، مسار تلقائي <out>/index/logs/<cmd>-<timestamp>.log off
  • --cookies-from / --cookies متنافيان مع --transport webbridge — يعمل الجسر في سياق الصفحة ويحمل بالفعل ملفات تعريف ارتباط المتصفح.
  • pplx-export --version يطبع إصدار الحزمة ويخرج (على المستوى الأعلى فقط، ليس علامة أمر فرعي).
  • تسجيل الحساب، مصادر ملفات تعريف الارتباط والتبديل بين حسابات متعددة: configuration.md. أين يقع كل شيء على القرص: archive-layout.md.

b. init

اكتشاف الحسابات من ملفات تعريف ارتباط المتصفح وكتابة تكوين المستخدم — البديل التلقائي للنسخ اليدوي لـ config.example.toml (راجع configuration.md).

العلامة المعنى الافتراضي
--force الكتابة فوق ملف تكوين موجود off (يرفض الكتابة فوق)
--create-bot-space [TITLE] إنشاء مساحة BOT عبر API عندما لا يتطابق عنوان مساحة (عملية كتابة على الحساب)؛ عنوان TITLE صريح يوجه كلاً من المطابقة والإنشاء، وإلا يأتي العنوان من --bot-title؛ بدون هذه العلامة [bot_space] يُكتب فارغًا off
--bot-title TITLE عنوان المساحة المستخدم لمطابقة مساحة موجودة وتسمية مساحة منشأة BOT
(تنطبق الخيارات المشتركة) علامات مصدر ملفات تعريف الارتباط تختار أين يتم اكتشاف الحسابات؛ لـ init فقط، --config هو مسار الكتابة (يتم تخطي تحميل التكوين الصارم)

السلوكيات الرئيسية:

  • تعداد الرموز: يتم جمع ملفات تعريف ارتباط الجلسة لكل حساب (__Secure-pplx.session.<uid>) من مخازن المتصفح — أو، مع --cookies FILE، مسحها ضوئيًا من ملف تعريف الارتباط (قد يحمل التصدير الكامل عدة حسابات). بدون رموز قابلة للتعداد، يتم فحص الجلسة النشطة حاليًا فقط.
  • فحص الجلسة: يتم تجربة كل رمز مقابل GET /api/auth/session لمعرفة البريد الإلكتروني / اسم العرض للحساب؛ يتم تخطي الرموز التي تفشل أو لا ترجع بريدًا إلكترونيًا مع تحذير.
  • تجميع السجل: يتم اشتقاق مفتاح كل حساب من الجزء المحلي للبريد الإلكتروني (يتم إضافة لاحقات -2/-3… في حالة التصادم)؛ يتم تعيين default_account على الحساب النشط حاليًا، وإلا الأول المكتشف.
  • مساحة BOT: تتم مطابقة مساحة بالعنوان الدقيق (غير حساس لحالة الأحرف) عبر list_user_collections؛ عندما لا يتطابق شيء، --create-bot-space [TITLE] ينشئها في الحال (عنوان TITLE صريح يتجاوز --bot-title لكل من المطابقة والإنشاء)، وإلا [bot_space] يُترك فارغًا.
  • تتم كتابة TOML بشكل ذري (ملف مؤقت + إعادة تسمية) بأذونات 0600، ولا يتم أبدًا الكتابة فوق ملف موجود بدون --force. ينتهي الأمر بسطر JSON ملخص: مسار التكوين، مفاتيح الحساب، الحساب الافتراضي، uuid/slug مساحة BOT.
  • بذر النموذج (أفضل جهد): بعد كتابة التكوين، init يجلب models/config/v2 ويبذر جدول [models] المُدار آليًا بحيث يحمل تكوين جديد بالفعل الإعدادات الافتراضية/كتالوج النموذج الحالي؛ عند الفشل يتم تخطيه مع تحذير (تحديث لاحقًا باستخدام pplx-ask models --refresh). راجع Configuration.
  • --transport webbridge مرفوض — لا يمكن لقناة سياق الصفحة تعداد الرموز لكل حساب.
pplx-export init                          # write the default ~/.config/pplx-export/config.toml
pplx-export init --create-bot-space [TITLE]  # create the BOT space when no title matches (custom title optional)
pplx-export init --config /path/to/config.toml --force   # custom path, overwrite allowed

c. index

تحديث فهرس قائمة محادثات الحساب index/library_<account>.json — الأساس الذي تتباين معه كل الأوامر الأخرى.

العلامة المعنى الافتراضي
--full تصفح المكتبة بأكملها وإعادة كتابة الفهرس؛ يعيد تعيين العداد التزايدي تزايدي

السلوكيات الرئيسية:

  • تزايدي افتراضيًا. يقوم بالتصفح من الأحدث إلى الأقدم ويتوقف بمجرد أن تكون صفحة كاملة (_STOP_RUN) من الصفوف المتتالية معروفة بالفعل وغير متغيرة، ثم يدمج الرأس الذي تم جلبه مع الفهرس الموجود — يتم نقل الصفوف الأقدم حرفيًا (بدون فقدان). التشغيل الأول، أو أي تشغيل بدون فهرس موجود، هو مسح كامل.
  • --full يقوم بتصفح كل شيء وإعادة كتابة الفهرس؛ استخدمه كواجهة أمامية للتوفيق الدوري.
  • نقطة عمياء للمسار التزايدي: الحذف وتغييرات المساحة عن بُعد للسلاسل الأقدم لا تظهر أبدًا في الرأس الذي تم جلبه، لذلك لا يتم ملاحظتها. تبقى سلطة الحذف مع sync-deleted --online. يتتبع مستند الفهرس incremental_runs_since_full؛ بعد عدد كافٍ من التشغيلات التزايدية، يحذرك لتشغيل --fullsync-deleted --online).
  • يحافظ على إثراء search_mode الذي كتبه search-mode-backfill، والمدمج مرة أخرى بواسطة entryUUID.
  • قم بتشغيله قبل batch، sync-space وsync-deleted — فوارقها تكون حديثة بقدر هذا الفهرس فقط.
pplx-export index --account alice          # incremental refresh
pplx-export index --account alice --full   # full sweep + reconciliation front-end

d. sync

إدخال ملائم عالي التردد: index تزايدي + batch تزايدي، مركز على المحادثات فقط.

العلامة المعنى الافتراضي
--full توفيق كامل: مسح index كامل + batch كامل (ويقوم بتشغيل خطوات الحذف/المساحة أدناه) off
--check-deleted قم أيضًا بتشغيل sync-deleted --online للتحقق من السلاسل المحذوفة عن بُعد ووضع علامة عليها off
--refresh-spaces قم أيضًا بإعادة بناء spaces --fetch-meta وتشغيل sync-space off
--limit N / --mode X / --delay-min / --delay-max يتم تمريرها إلى مرحلة batch

السلوكيات الرئيسية:

  • التشغيل الافتراضي يجلب فقط المحادثات الجديدة/المحدثة ويتخطى كشف الحذف وتحديث المساحة — أرخص شكل للمزامنة المتكررة.
  • التوفيق بين الحذف/المساحة هو اختياري (--check-deleted / --refresh-spaces) أو مدمج بواسطة --full. عداد index (incremental_runs_since_full) هو شبكة الأمان: يذكرك عندما يكون توفيق --full متأخرًا.
pplx-export sync --account alice                     # conversations only (fast)
pplx-export sync --account alice --full              # periodic full reconciliation
pplx-export sync --account alice --check-deleted     # also mark remote deletions

e. space-index

استخراج قائمة محادثات "الكل" لمساحة واحدة — بما في ذلك السلاسل التي شاركها أعضاء آخرون — إلى index/space_<slug>.json.

العلامة المعنى الافتراضي
SPACE_URL (موضعي) رابط صفحة المساحة مطلوب
--transport webbridge استخدام مسار عرض المتصفح القديم بدلاً من REST cookie (REST مباشر)

السلوكيات الرئيسية:

  • المسار الافتراضي هو REST مباشر: list_collection_threads عبر نقل ملفات تعريف الارتباط مع ترقيم الصفحات بالإزاحة؛ تتضمن الصفوف context_uuid وanswer_preview.
  • مع --transport webbridge يتراجع إلى تمرير صفحة المساحة المقدمة واستخراج خصائص الصف — نسخة احتياطية في حال تغير هيكل REST.
  • تتم كتابة الصفوف من الأحدث إلى الأقدم بواسطة lastUpdated.
pplx-export space-index "https://www.perplexity.ai/spaces/<space-slug>" --account alice

f. export

تصدير سلسلة محادثات واحدة (رابط أو UUID مجرد) إلى دليل أرشيفها <out>/<account-folder>/<mode>/<thread-dir>/.

العلامة المعنى الافتراضي
THREAD (موضعي) رابط السلسلة أو UUID مطلوب
--force إعادة التصدير حتى عندما يكون lastUpdated غير متغير off

السلوكيات الرئيسية:

  • إذا كانت النسخة المؤرشفة محدثة بالفعل، يتم تخطي التصدير بدون كتابة؛ --force يتجاوز الفحص.
  • lastUpdated مأخوذ من فهرس المكتبة المحلية عندما تكون السلسلة مدرجة هناك (نفس الدلالات والتنسيق مثل batch)، مع الرجوع إلى قيمة المنصة بخلاف ذلك.
  • يتم تسجيل الحالات النهائية بأدب، بدون تتبع: ENTRY_DELETED يضع علامة deleted في batch_state.json، ENTRY_EXPIRED يضع علامة expired — يتم الاحتفاظ بالأرشيف المحلي الموجود دون تغيير في كلتا الحالتين.
  • التصدير الناجح يكتب ok إلى index/batch_state.json، بحيث يحسب الخطة التزايدية السلسلة على أنها "مصدرة وغير متغيرة".
  • ما يقع في دليل السلسلة: archive-layout.md؛ خط أنابيب التصدير نفسه: ../architecture/export-pipeline.md.
pplx-export export "https://www.perplexity.ai/search/<thread-uuid>" --account alice

g. batch

تصدير جماعي لسلاسل محادثات الحساب — المحرك اليومي، مع توقف مبكر تزايدي ونقاط تفتيش قابلة للاستئناف.

العلامة المعنى الافتراضي
--force إعادة تصدير جميع السلاسل (باستثناء الحالات النهائية) off
--full مسح كامل: لا يزال يتم تخطي السلاسل غير المتغيرة، ولكن بدون توقف مبكر off
--limit N معالجة أول N صف فقط من القائمة (الأحدث أولاً) الكل
--mode MODE تصدير سلاسل search / deep-research / computer / council / study فقط جميع الأوضاع
--delay-min SEC الحد الأدنى للفاصل العشوائي بين السلاسل 10
--delay-max SEC الحد الأعلى للفاصل العشوائي بين السلاسل 20

السلوكيات الرئيسية:

  • يتطلب index/library_<account>.json — قم بتشغيل index أولاً.
  • توقف مبكر تزايدي افتراضي: يتم فرز القائمة من الأحدث إلى الأقدم ويتم اقتطاع التشغيل المتأخر من السلاسل "المصدرة وغير المتغيرة" بالجملة؛ الفجوات التي خلفتها التشغيلات المتقطعة (خطأ/لم يتم تصديرها أبدًا) تقع فوق تلك اللاحقة ولا تزال تُصلح. --full يعطل التوقف المبكر (شبكة أمان دورية، أو عند الاشتباه في وجود فجوات في الأرشيف)؛ --force يعيد تصدير كل شيء باستثناء الحالات النهائية، التي لا يعاد محاولتها أبدًا. الدلالات الكاملة: incremental-sync.md.
  • تصفية --mode: الصفوف التي تحمل search_mode (الحقل الموثوق من المنصة والمُثرى بواسطة search-mode-backfill) تتطابق تمامًا عبر SEARCH_MODE_MAP — في هذا المسار --mode search لم يعد يسحب سلاسل البحث العميق/المجلس/الدراسة. الصفوف بدون search_mode ترجع إلى استدلالات الفهرس: computer = الوضع COMPUTER؛ deep-research = displayModel pplx_alpha؛ council = pplx_agentic_research؛ study = pplx_study؛ search = الصفوف المتبقية من الوضع SEARCH (بما في تلك الأنواع الثلاثة — قم بتصفيتها بدقة عن طريق تصدير الأوضاع المحددة بشكل منفصل).
  • يتم حفظ الحالة إلى index/batch_state.json بعد كل سلسلة — قم بالمقاطعة وإعادة التشغيل بحرية.
  • فشل سريع للمصادقة: 3 استجابات 401/403 متتالية تلغي التشغيل (ملف تعريف ارتباط منتهي الصلاحية لا يمكنه الشفاء الذاتي، والاستمرار سيفشل مئات السلاسل واحدة تلو الأخرى).
  • الإيقاع: توقف عشوائي --delay-min--delay-max بين السلاسل؛ يتم تأجيل 429/5xx بواسطة طبقة النقل. التفاصيل: rate-limiting.md.
  • يتم تسجيل السلاسل التي تصل إلى متغيرات الإجابة المعاد كتابتها في index/answer_variants_log.jsonl مع تحذير للتعامل معها يدويًا في أقرب وقت ممكن (راجع ../reference/api/api-responses-errors.md).
pplx-export batch --account bob --mode deep-research --limit 50

h. spaces

إعادة بناء فهرس عرض المساحة — صفحة Markdown واحدة لكل مساحة بالإضافة إلى سجل spaces.json — من فهارس المكتبة المحلية.

العلامة المعنى الافتراضي
--fetch-meta تحديث بيانات المالك/العضو قبل إعادة البناء off

السلوكيات الرئيسية:

  • بدون --fetch-meta يكون الأمر محليًا بحتًا (بدون شبكة): يقوم بتجميع السلاسل لكل مسار مساحة عبر جميع ملفات library_*.json، مع إحصائيات الحساب المشارك وروابط خلفية لأدلة السلاسل المصدرة.
  • يذهب الإخراج إلى ./spaces/ نسبة إلى دليل العمل الحالي — قم بتشغيله من الدليل الذي يحتوي على web_archive/ حتى يتم حل الروابط الخلفية في صفحات المساحة.
  • --fetch-meta يقوم أولاً بتحديث ذاكرة التخزين المؤقت للمالك/العضو لكل مساحة عبر get_collection (طلب واحد لكل مساحة، فاصل 3 ثوانٍ) إلى index/space_meta.json؛ عندما لا يتمكن الحساب الحالي من رؤية مساحة، يتم إعادة محاولة حساب يمكنه ذلك تلقائيًا (تتبدل ملفات تعريف الارتباط من تلقاء نفسها).
pplx-export spaces --fetch-meta --account alice

i. sync-space

مزامنة حقل space لملفات thread.json المؤرشفة بالفعل مع الفهرس الحالي — محلي بحت، بدون شبكة.

العلامة المعنى الافتراضي
(الخيارات المشتركة فقط؛ فقط --out مهم)

السلوكيات الرئيسية:

  • المتطلب الأساسي: قم بتشغيل index أولاً — library_*.json المحدث هو مصدر الحقيقة لملكية المساحة الحالية.
  • يقارن مسارات المساحة لكل سلسلة ويصحح thread.json في مكانه عند الاختلاف؛ يتم تسجيل أول 30 تغييرًا.
  • بعد أي تغيير، يتم إعادة بناء فهرس spaces/ تلقائيًا بالتوازي.
pplx-export index --account alice && pplx-export sync-space

j. schedule

حساب خطة التصدير التزايدية لهذه الجولة وكتابة مقتطف cron يمكن لنظام cron استدعاؤه مباشرة.

العلامة المعنى الافتراضي
(الخيارات المشتركة فقط)

السلوكيات الرئيسية:

  • يجلب فهرسًا حيًا ويبلغ عن الخطة كأعداد إجمالية/جديدة/محدثة، باستخدام نفس الدالة البحتة للتوقف المبكر (plan_incremental) مثل batch — راجع incremental-sync.md.
  • يكتب <out>/index/cron_snippet.txt يحتوي على سطر 17 3 * * * واحد من النموذج cd '<archive-parent>' && '<abs-path-to-pplx-export>' batch --account '<account>' --out '<abs-archive-root>' — المسارات مطلقة ومقتبسة لأن cwd و PATH لـ cron غير متوقعين. يتم حل مسار الملف القابل للتنفيذ عبر shutil.which؛ عندما يفشل ذلك، يتراجع المقتطف إلى اسم pplx-export المجرد.
  • التشغيلات المجدولة هي تزايدية فقط حسب التصميم؛ قم بتشغيل batch --full يدويًا كشبكة أمان دورية.
pplx-export schedule --account alice