ترجمة آلية
تمت ترجمة هذه الصفحة تلقائيًا بواسطة الذكاء الاصطناعي وقد تحتوي على أخطاء. إذا كان هناك أي شيء غير واضح، يُرجى الرجوع إلى المصدر الإنجليزي.
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؛ بعد عدد كافٍ من التشغيلات التزايدية، يحذرك لتشغيل--full(وsync-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= displayModelpplx_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