კლიენტი: RMS Digital Services (in-house)
ეწვიეთ ვებსაიტს — rms-ds.comRMS Threads Assistant არის კროს-პლატფორმული დესკტოპ აპლიკაცია Threads-ზე ჩართულობის ავტომატიზაციისთვის, მესამე მხარისთვის ანგარიშის მონაცემების გაუმხელად ან პლატფორმის სკრაპინგის გარეშე.
ძირითადი საინჟინრო პრობლემა: როგორ მივცეთ ლოკალურ დესკტოპ აპს საშუალება, გამოაქვეყნოს სოციალურ პლატფორმაზე მომხმარებლის სახელით, ისე, რომ მომხმარებლის წვდომის ტოკენი არასოდეს აღმოჩნდეს ისეთ ადგილას, საიდანაც კომპრომეტირებულ მანქანას შეეძლო მისი გაჟონვა — ამავდროულად შევინარჩუნოთ აპის ლოკალურობა ყველაფერში, რაც გამოქვეყნებას არ უკავშირდება.
პლატფორმის API-სთან უმეტესი დესკტოპ ინტეგრაცია ინახავს OAuth წვდომის ტოკენს პირდაპირ კლიენტში. ეს მარტივია, მაგრამ ნიშნავს:
RMS Threads Assistant წყვეტს ამ პრობლემას პასუხისმგებლობების გაყოფით ორ სერვისს შორის, ვიდრე დესკტოპ აპს განიხილავდეს როგორც ინტეგრაციის ერთადერთ მფლობელს.
სისტემა დაყოფილია სამ ფენად:
თითოეული კლიენტი ავთენტიფიცირდება საკუთარი Meta Developer აპლიკაციის მონაცემებით, ნაცვლად საერთოსი, ამიტომ არცერთი მომხმარებლის ტრაფიკი არ იზიარებს სხვისი მომხმარებლის სიხშირის ლიმიტს.
ორი დამოუკიდებელი პროცესი მუშაობს იმავე ინფრასტრუქტურაზე:
ორივე იყრის თავს ერთსა და იმავე გამოქვეყნების რიგში, ამიტომ არსებობს ერთი კოდის გზა "გამოქვეყნება ახლა" და "გამოქვეყნება მოგვიანებით" — არ არის ცალკე მყისიერი და დაგეგმილი განშტოებები შესანარჩუნებლად.
სურათები ინახება ლოკალურად გამოქვეყნებამდე, შემდეგ აიტვირთება edge-ის მეშვეობით ხელმოწერილი ინსტალაციის დამადასტურებლის სათაურით, რომელიც მათ გარდაქმნის Meta მედია კონტეინერებად სანამ მოხდება `threads_publish` გამოძახება. კარუსელები მხარს უჭერენ 2-დან 20 სურათს Meta-ს ლიმიტების შესაბამისად.
ყოველდღიური პოსტის/პასუხის მრიცხველები ინახება თითოეული ანგარიშისთვის, მუტექსის ლოკით კონკურენტულ ოპერაციებს შორის რბოლის პირობების თავიდან ასაცილებლად. გამოქვეყნება ავტომატურად ჩერდება Meta-ს ყოველდღიური ლიმიტის 80%-ზე, ვიდრე მკაცრ ბლოკირებას დაელოდოს.
RMS Threads Assistantეს არ არის სკრეიპერი ხელოვნური ინტელექტის ფენით. ეს არის არქიტექტურა, რომელიც ინარჩუნებს ჭეშმარიტად ლოკალურ პრიორიტეტულ აპს ყველაფრისთვის, რასაც არ სჭირდება Meta-ს ინფრასტრუქტურასთან შეხება, და იზოლირებს ერთადერთ ნაწილს, რომელსაც ეს სჭირდება — OAuth და პუბლიკაცია — მინიმალურ, დამოუკიდებლად აუდიტირებად პერიფერიულ სერვისში. ეს გაყოფაა შესაძლებელს ხდის იმის თქმას, რომ დესკტოპ აპლიკაცია არასდროს ფლობს ცოცხალ Meta ტოკენს, დათმობის გარეშე "ინსტალირდება ნებისმიერ ადგილას, მუშაობს შეუფერხებლად" გრძნობას ლოკალურ-პრიორიტეტული ხელსაწყოს.