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

ترجمة آلية

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

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

مرجع API: GraphQL

1. GraphQL (استعلامات محفوظة / APQ)

  • نقطة النهاية: POST https://www.perplexity.ai/rest/perplexity_ask/graphql
  • الشكل: استعلام محفوظ — يحمل الجسم operationName + المتغيرات + تجزئة sha256 (لا حاجة لنص الاستعلام).
  • التنفيذ: pplx_export/sites/perplexity/graphql.py.

1.1 LibraryThreadsRelayQuery (قائمة الصفحة الأولى)

  • sha256: a5229c390a6a00f81764187a21885cff655670029355c663fe393cc6e98f9ebe
  • المتغيرات: {includeSearchPreview:false, searchTerm:null, sortOrder:"NEWEST", statuses:null, threadTypes:null, sources:null, includeTemporary:null}
  • مسار الاستجابة: data.viewer.recentGroup.threads{edges[].node, pageInfo{hasNextPage,endCursor}}
  • حقول العقدة (المستخدمة من قبل المحول): name(title)، entryId(entryUUID)، slug(href)، mode، displayModel.modelID، updatedAt(lastUpdated)، status، space{spaceUuid,title,slug}
  • عقد جانب الأرشفة (2026-07-22 V5-01): lastUpdated من web_archive/**/thread.json يساوي دائمًا هذا الحقل (مكتوب على القرص بدقة ISO كاملة، حرفيًا)؛ مقارنة التطابق للتصدير الدفعي/الفردي (is_unchanged) تعتمد عليه، وليس على تنسيق العرض لطبقة التقديم (YYYY-MM-DD HH:MM UTC).
  • إثراء جانب الأرشفة (2026-07-23): مفتاح search_mode لصفوف الفهرس (index/library_*.json) هو حقل إثراء من جانب الأرشفة — لا تحتوي عقدة هذا الاستعلام على search_mode؛ يتم ملؤه بواسطة pplx-export search-mode-backfill من بيانات مستوى الموضوع (entries[].search_mode من GET /rest/thread/<uuid>) (البيانات الخام المحلية أولاً، الاحتياطي عبر الإنترنت)؛ تحديث index يدمجها ويحافظ عليها بواسطة entryUUID. تصفية batch --mode تفضل التعيين الموثوق لهذا الحقل.

1.2 LibraryRecentThreadsPaginationQuery (الترقيم)

  • sha256: 4f6dfcb8e9d3c065aca20ca1e82ca7fe464aaffc1faefade295bb7e333199629
  • المتغيرات: متغيرات الصفحة الأولى + {cursor, count} (أسماء المتغيرات هي cursor/count، وليس after/first)
  • نفس بنية الاستجابة أعلاه. عندما يكون hasNextPage صحيحًا ولكن endCursor فارغًا، توقف (وإلا تتكرر نفس الصفحة).

1.3 مجموعة عمليات لوحة تحكم Computer (مستخرجة من جزء المسار 2026-07-20، غير مسجلة على الخادم)

يحتوي جزء ComputerDashboardPage-*.js على نصوص استعلام Relay كاملة + معرفات محفوظة (طريقة الاستخراج في §7). الأساسيات الهيكلية: viewer.threadGroup(type: RECENT|ARCHIVED|PINNED|NEEDS_ATTENTION|SCHEDULED|SPACE, filter:{modes:[COMPUTER]}) — أي قائمة مواضيع مصفاة بواسطة threadGroup + mode؛ تحتوي العقدة على contextUUID/entryId/readWriteToken/isPinned/isArchived/isUnread.

العملية المعرف المحفوظ (أول 16 حرفًا)
ComputerDashboardRecentThreadsPaginationQuery d713e695c82e7927…
ComputerDashboardArchivedThreadsPaginationQuery 1e9bcdb45cd611ca…
ComputerDashboardPinnedThreadsPaginationQuery 814c1d1748157d57…
ComputerDashboardNeedsAttentionThreadsPaginationQuery 2363d5af84392787…
ComputerDashboardScheduledThreadsPaginationQuery 51b18409b05f2e43…
ComputerDashboardSpaceThreadsPaginationQuery da08f207c2d8bbcd…
ComputerDashboardThreadGroupsUpdatesRelaySubscription bcce76383fb03d7e… (اشتراك WebSocket)

تم اختباره: استدعاء /rest/perplexity_ask/graphql بهذه المعرفات يعيد PERSISTED_QUERY_NOT_FOUND (غير مسجل في النشر الحالي — اختلاف الإصدار أو سياق لوحة التحكم مطلوب؛ يتم الاحتفاظ بنصوص الاستعلام الكاملة والمعرفات في ملاحظات استكشاف /tmp؛ إذا لزم الأمر، أرسل نص الاستعلام مباشرة أو أعد استخراجه من الحزمة الحية).

1.4 ملاحظات

  • لم يتم ملاحظة أي استدعاءات graphql على صفحة مساحة الويب أو الصفحة الرئيسية (كلها تمر عبر /rest)؛ تم تأكيد graphql لقائمة /library ولوحة تحكم Computer.
  • قد تتغير تجزئات sha256 مع إصدارات الواجهة الأمامية؛ وضع الفشل هو PERSISTED_QUERY_NOT_FOUND — ثم أعد الاستخراج من التقاط الشبكة للمتصفح (أداة WebBridge network مع تصفية perplexity_ask/graphql)، أو أعد الاستخراج من الحزمة الحية (§7).

1.5 مفاتيح اتصال لوحة التحكم المستخرجة (مفاتيح ذاكرة التخزين المؤقت Relay، لتصحيح الأخطاء)

ComputerDashboard(Recent|Archived|Pinned|NeedsAttention|Scheduled|Space)Threads_viewer_threads