إعادة تقييم هاتفك الذكي مع هاتف Handy Bookmarklet If you’ve been building on top of OpenAI’s shiny Assistants API, you’ve probably hit the same wall I did: There’s no API endpoint to list your thread IDs. None. Zero. Nada. لا توجد نقطة انطلاق API لتحديد هواتف الاندرويد الخاصة بك. 0 0 0 0 0 0 يمكنك إنشاء صفحة ( ) POST /v1/threads يمكنك إرسال كلمة المرور إذا كنت تعرف بالفعل IDها ( ) GET /v1/threads/{id} يمكنك أيضًا إزالة واحدة ( ) DELETE /v1/threads/{id} إذا أردت أن تكون بسيطًا لتوضيح كل الأدوات التي تم إنشاؤها؟ لا توجد، ولا غياب هذا النقطة النهائية يغير كل شيء حول كيفية بناء على هذا المنصة. GET /v1/threads Forget it. إن حقيقة أن مثل هذه قطعة أساسية من دورة CRUD غير موجودة تجعل المطورين يشعرون بأنهم يعملون عاجزين. هذا خيار التصميم يشعر بالإرادة. OpenAI يريد أن يضغط الاستمرار مرة أخرى علىك: "هذا هو مسؤوليتك في تخزين هواتف الاندرويد". But half the time we’re just prototyping so: ليس لدينا جدول قاعدة بيانات لالإشارات. نحن لا نريد بناء قناة بيانات فقط لتجربة فكرة. نريد فقط إطلاق مجموعة من الأدوات الاختبارية، ونرى ما سيحدث، وسوف نستمر. وبعد ذلك يأتي اليوم الذي يدرك فيه أنك قد نجحت في إنتاج مئات (أو عشرات الآلاف اعتمادا على الكثافة) من العلامات ، و الآن تحتاج إلى تنظيفها ، أو التحقق منها ، أو ببساطة تأكيد ما هو موجود. هذا هو عندما تصل إلى الجدار ولا يمكنك حتى رؤية ما كنت قد خلقت.كلما كنت تفكر في ذلك، كلما كنت تدرك أن هذا هو مشكلة الضوء التي تؤثر على كل شيء من التحكم إلى الشفافية. The Gap OpenAI يترك مفتوحًا واسعًا Every sane API platform in the known universe usually has a list endpoint. هذا هو أقدم دورة حياة CRUD - إنشاء، قراءة، تحديث، إزالة.و "R" ليس فقط عن الحصول على ورقة واحدة، بل أيضا عن تقييمها. وتتوقع المطورين أن يكونوا قادرين على السؤال، من خلال التخلي عن ذلك ، يضطر OpenAI بشكل فعال إلى التسجيل والتخزين من اليوم الأول - أو المخاطر بأن تخسر العلامة الكاملة. “ما هو موجود؟” From a developer’s perspective, that’s a liability. From a data management perspective, it’s a bloody mess. From a security standpoint? A fucking nightmare. من الصعب عدم قراءة ذلك بشكل عاجل.أقل نقطة انتهاء في القائمة يعني أقل المسؤولية عن البيانات التي لا تزال موجودة على جانبها. بدون نقطة انتهاء التسجيل ، لا يمكنك التحقق من الاستخدام. لا يمكنك بسهولة إزالة التجارب المتقطعة. لا يمكنك تثبيت إدارة دورة الحياة. أنت تترك في الظلام ، وتتوقع أن تثق في رسائلك الخاصة ولا تتساءل أبدا ما يجلس هناك. سواء كان الأمر يتعلق بالسلامة أو الخصوصية أو الحفاظ على سطح API صغيرًا، فإن النتيجة هي نفسها: هذا عدم وجود لا يسبب سوءًا فقط - فإنه يخلق غضب. يجعله يجعل المطورين على ثقة إذا كانوا في الواقع في السيطرة على ما يخلقون. we can’t list our own threads. سرقة قائمة الأهداف من OpenAI مع متصفحك و My Simple JavaScript Bookmarklet If OpenAI won’t give us a list endpoint, well, we’ll just have to pull up our pants and scrape the goddamn thing. ولكن بدلاً من بناء أداة محددة فحشًا باستخدام عامل عملية عمل بلا رأس، وأكثر من ذلك. إذا كنت تتذكر بشكل صحيح ... لديك بالفعل أداة مثالية. Python متصفحك، وملف جاكرتا متواضع. و إذا كنت تبحث في لوحات ردود الفعل API في المتصفح، لديك بالفعل جميع هواتف الهواتف الذكية التي تحتاجها - فهي مجرد دفن في النص. ولكن الشيء الأفضل هو أن Bookmarklet لا يهم ما إذا كان الصفحة متوفرة أو جميلة. هذا هو الشيء الأكثر شيوعاً إلى "مفاصل قائمة الرجل الفقير". thread_... Here’s the magic snippet: javascript:(function(){ const ids = [...document.body.innerText.matchAll(/thread_[A-Za-z0-9]+/g)] .map(m => m[0]); if (!ids.length) { alert("No thread IDs found on this page."); return; } navigator.clipboard.writeText([...new Set(ids)].join("\n")) .then(() => alert("Copied " + ids.length + " thread IDs to clipboard!")); })(); أضف ذلك كوسيلة URL لمحفظة متصفح ، ثم اضغط عليه على أي صفحة حيث تظهر أرقام العناوين ، و بوم: كل يتم إزالة القذائف، وتقسيمها، وتقسيمها إلى لوحة الفيديو الخاصة بك. thread_... لا plugins. No extensions. No dev tools gymnastics. فقط واحدة على الفور. So yes, it takes a little time… scroll تحميل المزيد scroll تحميل المزيد ولكن عندما تصل إلى النهاية (أو طوله المطلوب) ، يمكنك ببساطة انقر فوق النسخة المتوفرة ... ورفع قائمة المكوّنات التي يتم نسخها بشكل جيد لك لتفعل ما تريد. لماذا يهم هذا This isn’t only a neat, functional hack. It’s a reminder of the gap between developer needs and API design. نحن عادة ما نعمل على تطبيقات API مفتوحة ومتنوعة.تقرر قرار OpenAI إزالة قائمة الملفات مثل نموذج مظلم، مما يجعل من الصعب لنا أن نرى ما يرتفع في الخلفية. ما إذا كانوا يحافظون على هذه البيانات أم لا، فمن المهم أن نحن لا نستطيع التحقق منها بنفسنا. تفكر في التداعيات.إذا كنت تبني منتجًا محددًا حيث يهم التحقق، فلا يمكنك أيضًا إثبات ما هي الأدوات التي كنت تتحرك.إذا كنت تحاول السيطرة على التكاليف، لا يمكنك التحقق من ما هو متكرر. إذا كنت تجريبًا ، فإنك ضمانًا أن تخلق غضبًا لا يمكنك رؤيته. Bookmarklet هو وسيلة للعودة إلى هذا الظهور. فهو لا يحدد API المفقود، ولكن يمنحك الوكالة. بسهولة واحدة، يمكنك رؤية كل ID الشريان المظهر في ورشاتك، وتخزينها، وإرسالها إلى حركة إزالة كبيرة. كما أن هذا يغير العلاقة: لا ينبغي للمطورين أن يعتمدوا على هجمات للحصول على معلومات عن الموارد الخاصة بهم.هذه هي إشارة إلى أن منصة ليست تستخدم مستخدميها كما يمكنها. ما الذي يجب القيام به بعد أن لديك هواتف الاندرويد الخاصة بك قم بتسجيلها في ملف نص ، Google Sheet ، أي شيء. قم بتخزينها لترجمة ، والتصنيف ، وإزالة إذا لزم الأمر. استخدم طلب HTTP لتنقل كل ID وإرسال DELETE /v1/threads/{id}. Add error handling to catch failures. إزالة كل شيء.إذا كنت لا تحتاج إلى هذه الأدوات لمزيد من الوقت، إزالةها وتناولها بشكل أفضل مع معرفة أنها قد خرجت.إجراء ذلك في قطعات قابلة للتحكم لتبقى تحت حدود معدل API. ارفع خطة دورة حياة في المستقبل، واختيار ما إذا كنت ترغب في تسجيل هواتف الأندرويد دائمًا، أو إزالةها مباشرة بعد الاستخدام، أو تخزينها مؤقتًا مع TTL. تثبيت تلقائي. تثبيت عمل متكرر أو تدفق العمل الذي يزيل ID القديمة تلقائيًا. مراجعة بشكل منتظم. حتى إذا كنت تستخدم القائمة، جعلها عادة للتحقق من ما هو هناك على جدول زمني. صورة أكبر يمكن أن يحدد OpenAI هذا مع نقطة انقطاع بسيطة: GET /v1/threads لا ينبغي للمطورين إزالة، bookmarklet، أو spelunk من خلال ورش n8n. حتى أنهم يفعلون ذلك، ومع ذلك، bookmarklets مثل هذا هو لقطة المفاتيح التي تدفع الأمور إلى التنقل. That’s it. من المنطقي أن نحتاج إلى هجمات المتصفح لإدارة الموارد الخاصة بنا. فإنه ينتهك الثقة التي يتمتع بها المطورون في API عندما لا يوجد قطعة أساسية من الوظائف. لا ينبغي علينا أن نكون مستعدين لتصنيع حلول للما يجب أن تكون الأسهم. هذا هو أكثر من مجرد مشاكل للمطورين - إنه مشكلة في الضوء.الضوء هو المسؤولية.إلا أن المستخدمين لا يمكنهم إثبات ما هي البيانات موجودة، لا يمكنهم حذفها بثقة، ولا يمكنهم بناء تكنولوجيا تلقائية موثوقة. يبدو أن الحجر الأسود هو حجر ذكي، لكن الحجر هو إزعاج OpenAI ملموسًا، ولكن في الممارسة، يترك جميع المطورين دائمًا في التفكير: ما الذي خلقه؟ ما الذي يعيش هناك؟ هل أنا حقا في السيطرة؟ عندما نعتمد على هجمات لإدارة المحتوى الخاص بنا ، فإننا ندرك كم القوة التي تحتفظ بها منصة علىنا ، وكيف قليلاً من الاستجابة لدينا عندما يتم منع الوظائف. نعم ، فإن API Assistants قوي ، ولكن الطاقة دون رؤية البوكر المعتادة بسيطة هي خطيرة.إذا كنت جاداً في استخدامها في الإنتاج ، تبدأ في تسجيل هواتف الذاكرة الخاصة بك من اليوم الأول. ولكن إذا كنت مثل بقيةنا - التخلف عن العمل ، وتصميم النماذج بسرعة ، ثم تعلمت أنك بحاجة إلى إزالة - كتاباتي هو رسالتك. Click, copy, paste, delete. Done. وربما ، ربما ، سوف يستخدم OpenAI التحدي ويقدم لنا نقطة انطلاق واحدة تتوقعها كل المطور: طريقة لتحديد الموارد الخاصة بنا. Until then, hacks like this bookmarklet aren’t just useful. They’re essential. حتى ذلك الحين ، ليست هجمات مثل هذا الكتاب مفيدة فقط ، بل هي ضرورية.