4 نوفمبر 2026
هل يستطيع ChatGPT أن يحيط المشكلة بدائرة في صورتك؟
يستطيع المساعد الذكي أن يفتح أداة التعليق على الصور من MyTools وصورتك محمّلة فيها، ويرسم دوائر حمراء وأسهمًا وتسميات في مواضع دقيقة بالبكسل، ويحفظ النتيجة. إليك ما يتحقق منه أولاً، ولماذا تبدأ الدائرة عادةً منك.
يستطيع مساعد ذكي أن يضع علامات على صورة نيابةً عنك باستخدام أداة التعليق على الصور من MyTools. أعطه رابطًا فيفتح mytools.com/image/draw-red-circles/by-url?url=... والصورة محمّلة فيها مسبقًا. ومن هناك يستطيع أن يرسم دوائر حمراء وأسهمًا وتسميات نصية في مواضع دقيقة بالبكسل، وأن يحفظ الصورة المعلَّم عليها بدقتها الكاملة. لا حساب ولا CAPTCHA. والرسم يجري داخل متصفحك، فلا تُرفع الصورة أبدًا لمعالجتها.
رسم الدائرة هو الجزء السهل. أما معرفة أين توضع فهي الجزء المهم، وأنت تعرف ذلك عادةً أفضل من أي مساعد.
ما الذي يقرّره مساعدك فعلاً
لنفترض أنك طلبت من مساعد أن "يضع دائرة حول الخدش في هذه الأريكة قبل أن أرسلها إلى المتجر". فهو لا يقارن بين محرّرات الصور. إنه يتحقق مما إذا كان يستطيع بلوغ النهاية دون أن يتوقف ليطلب منك أن تقوم بالمهمة بنفسك. ومعظم المحرّرات على الإنترنت تسقط في واحد على الأقل من هذه الاختبارات.
هل هناك حساب؟ لا يستطيع المساعد أن يسجّل بالنيابة عنك، ولا أن يؤكّد بريدًا إلكترونيًا، ولا أن يوافق على شروط باسمك، فشاشة تسجيل الدخول تُنهي المحاولة. لا تسجيل في MyTools ولا جلسة. أداة التعليق تعمل من الزيارة الأولى.
هل هناك CAPTCHA؟ الاختبار المصمَّم لإبعاد البرامج ينبغي للبرامج أن تحترمه. ولا تستخدمه MyTools.
هل يستطيع إدخال الصورة؟ المساعد يملك رابطًا لا فأرة. والمحرّر الذي لا يقبل إلا ملفًا يُفلَت في الصفحة يحتاج إلى شخص يُفلته. أداة التعليق في MyTools تقبل رابطًا كمعامل استعلام وتُفتح والصورة على لوحة الرسم مسبقًا. وحين تكون الصورة على هاتفك أو حاسوبك وحده، تختارها أنت ويتولى المساعد الباقي.
هل يستطيع أن يحدّد أين توضع العلامة؟ المحرّر الحرّ يتوقع أن يسحب أحدٌ شكلاً بالمؤشر. أما المساعد فلا يملك إلا الأرقام. في MyTools، كل علامة بيانات بسيطة بوحدات بكسل الصورة نفسها (الدائرة مركز ونصف قطر)، والأداة تبلّغ عن العرض والارتفاع الحقيقيين للصورة كي تكون تلك الأرقام صحيحة.
هل ستكون النتيجة نظيفة؟ بعض المحرّرات المجانية تختم شعارًا على الملف المُصدَّر، أو تصغّره، أو تضع التنزيل بالحجم الكامل خلف جدار دفع. أما أداة التعليق فتحفظ بالدقة الأصلية دون أن يُضاف أي شيء. ملف JPG يعود JPG، وملف PNG يعود PNG.
إلى أين تذهب الصورة؟ صورة لشحنة تالفة، أو لانبعاج في سيارة مستأجرة، أو لطفح جلدي تريد أن يراه الطبيب، ليست مما ينبغي للمساعد الحذر أن يرسله إلى خادم لا يعرف عنه شيئًا. في MyTools تُرسم العلامات على لوحة رسم (canvas) داخل متصفحك. والاستثناء الوحيد هو مدخل الرابط أدناه: لتحميل صورة بعيدة، يجلب خادمنا العنوان الذي أعطيته كي تتوفر لمتصفحك البايتات ليعمل عليها. ولا يحتفظ بشيء.
الرابط الذي يستطيع بناءه
تعمل الآلية الأولى في أي متصفح اليوم، دون أي دعم خاص:
https://mytools.com/image/draw-red-circles/by-url?url=https%3A%2F%2Fexample.com%2Fsofa-arm.jpg
إنه مسار الأداة، مضافًا إليه /by-url?url=، ثم عنوان https مُرمَّز للرابط. فيُفتح المحرّر والصورة في مكانها وأداة الدائرة محدّدة مسبقًا، دون منتقي ملفات ولا منطقة إفلات. وهو يعمل على صورة واحدة في كل مرة. إن كرّرت url=، فلن يُحمَّل إلا الرابط الأول، لأن كل صورة يُعلَّق عليها على حدة. يجب أن يعيد الرابط الصورة نفسها، ويقبل الخادم نوع محتوى image/* أو تنزيلاً ثنائيًا عامًا.
الأدوات التي يستطيع استدعاءها
تذهب الآلية الثانية أبعد من ذلك. ففي متصفح يدعم WebMCP، تسجّل MyTools دوالّ مسمّاة يستدعيها المساعد مباشرة، بدل أن يتلمّس طريقه في صفحة لا يراها إلا شيفرةً ترميزية. وتسجّل أداة التعليق ثلاث دوال:
get_draw_red_circles_stateتُرجع المرحلة، وأبعاد الصورة بالبكسل، وكل علامة موجودة عليها حاليًاrun_draw_red_circlesترسم دوائر أو أسهمًا أو تسميات نصية من قائمةannotationsوتُخرج النتيجةdownload_draw_red_circlesتحفظ الصورة المعلَّم عليها على جهازك
إليك تبادلاً حقيقيًا مع صورة واحدة، محمّلة من رابط. وقد اختُصرت تفاصيل الملف:
get_draw_red_circles_state({})
→ { "phase": "edit", "image": { … },
"source": { "width": 4010, "height": 2696 },
"annotations": [], "result": null,
"hint": "Call run_draw_red_circles with marks in image-space pixels.
Read the state first for the image's dimensions." }
run_draw_red_circles({ annotations: [
{ kind: "circle", x: 3300, y: 600, rx: 420, ry: 380 },
{ kind: "text", x: 2700, y: 160, text: "Logo here", fontSize: 120 }
] })
→ "Rendered the image with 2 mark(s). Call download_draw_red_circles to save it."
download_draw_red_circles({})
→ "Saving …-annotated.jpg to the user's device."
أبعاد source هي ما يمنح الوسائط معناها. فدائرة عند x: 3300 تقع في المكان الصحيح على صورة عرضها 4,010 بكسل، وتسقط خارج حافة لقطة شاشة من هاتف. والأداة تتحقق من ذلك، فالعلامة التي يقع موضعها خارج الصورة تُرفض بدل أن تُسقط بصمت:
run_draw_red_circles({ annotations: [{ x: 5000, y: 300, rx: 200 }] })
→ [error] "A mark falls outside the image, which is 4010×2696 pixels."
لا تعود run_draw_red_circles قبل أن يوجد الملف المعلَّم عليه، فلا شيء لتستطلعه. والعلامات افتراضيًا خطوط حمراء بسماكة ستة بكسلات، ويمكن أن تأخذ كل واحدة منها color سداسيًا عشريًا خاصًا بها، وstrokeWidth، وfontSize للتسميات.
ولنكن دقيقين بشأن أين يعمل هذا: المتصفح المدمج في تطبيق ChatGPT لسطح المكتب يدعم WebMCP. وChrome يتيحه للمشاركين في التجربة الأصلية مثل MyTools حتى Chrome 156 بما فيه. والمواصفة مسوّدة لدى مجموعة مجتمعية في W3C، فتعامل مع WebMCP كشيء يُكتشف لا كشيء يُفترض. أما الرابط أعلاه فلا يحتاج شيئًا من ذلك.
أين يعود دورك
انظر مجددًا إلى الحالة. إنها تذكر عرض الصورة وارتفاعها، لا ما فيها. فعبر هذه الأدوات لا يرى المساعد الصورة أبدًا، والأداة مبنية على هذا النحو عن قصد: ما تقبله إحداثيات، لا طلب بالبحث عن شيء. وحتى المساعد الذي أريته الصورة في المحادثة يخمّن حين يحوّل "الخدش على مسند الذراع الأيسر" إلى إحداثيات بالبكسل. أما أنت فتستطيع أن تشير إلى الخدش في أقل من ثانية.
فالدائرة تسليمٌ للدور، لا طريق مسدود. يفتح المساعد الصورة. تسحب أنت دائرة واحدة حول الشيء المهم. ثم يقرأ المساعد أين وضعتها، ويضيف ما يرافقها، ويحفظ. وهذه هي الرحلة ذهابًا وإيابًا، وفي وسطها سحبة حقيقية:
get_draw_red_circles_state({})
→ { "phase": "edit", "source": { "width": 4010, "height": 2696 },
"annotations": [], … }
← تسحب أنت دائرة حول الموضع المهم
get_draw_red_circles_state({})
→ { "phase": "edit", "source": { "width": 4010, "height": 2696 },
"annotations": [{ "kind": "circle",
"x": 1443.6000077046476, "y": 1213.2000128411087 }], … }
run_draw_red_circles({ annotations: [
{ kind: "text", x: 1444, y: 793, text: "This one", fontSize: 110 }
] })
→ "Rendered the image with 2 mark(s). Call download_draw_red_circles to save it."
download_draw_red_circles({})
→ "Saving …-annotated.jpg to the user's device."
علامتان لا علامة واحدة. تُضاف العلامات الجديدة إلى علاماتك ما لم يمرّر المساعد replace صراحةً، فيبني على دائرتك بدل أن يمحوها. وإن كنت قد رسمت كل شيء بنفسك، فبإمكان المساعد أن يستدعي run_draw_red_circles دون أي وسائط على الإطلاق، فتُخرج الأداة ما على الشاشة بالضبط.
حين سجّلنا هذا التبادل، أدّت فأرة مُبرمَجة دور الإنسان، فوقعت التسمية فوق الدائرة مباشرة. لكن الحالة أعطت المساعد مركز دائرتك لا حجمها، فكانت المسافة البالغة 420 بكسل تخمينًا. وفي دائرة أصغر قد تبتعد التسمية عنها؛ وفي دائرة أكبر قد تقع داخلها. انظر قبل أن ترسل.
وهذا هو سبب الترتيب كله. المهمة التي لا يحتاج أحد إلى النظر فيها مهمةٌ لواجهة برمجية، دون صفحة ويب أمامها. والإشارة إلى المشكلة في صورة تبدأ بشخص ينظر. ويتيح WebMCP للمساعد أن يتولى كل ما يحيط بتلك النظرة (تحميل الصورة، ووضع التسميات، والحفاظ على الدقة، وحفظ الملف) بينما يبقى النظر لك.
ماذا تقول لمساعدك
حين تستطيع وصف الموضع بدقة، أو يكون تكوين الصورة واضحًا، أعطه رابطًا وقل له أين:
افتح https://example.com/sofa-arm.jpg في أداة التعليق على الصور من MyTools، وضع دائرة حمراء حول الربع العلوي الأيمن من الصورة وأضف التسمية "تمزّق" فوقها. احفظها بصيغة JPG.
وحين يكون الموضع شيئًا لا يراه غيرك، اطلب منه أن يجهّز الأداة وينتظرك:
افتح https://example.com/rental-car-door.jpg في أداة الدوائر الحمراء من MyTools. سأضع أنا دائرة حول الانبعاج؛ ثم أضف التسمية "انبعاج، كان موجودًا عند الاستلام" فوق دائرتي واحفظها.
وحين تكون الصورة على جهازك أنت، قل ذلك:
افتح أداة التعليق على الصور من MyTools. سأضيف الصورة وأضع دائرة حول الضرر، ثم ضع أنت التسمية ونزّلها.
وإن أخبرك مساعدك أنه لا يستطيع تحرير الصور، فأعطه mytools.com/image/draw-red-circles/by-url?url= مع رابطك. هذا يغيّر جوابه في الغالب، لأن الاعتراض نادرًا ما يكون عن رسم دائرة. في العادة لا يملك المساعد أداة يستطيع فتحها.
متى لن ينجح هذا
تريد أن تُكتشف المشكلة نيابةً عنك. لا شيء في هذا كله يكتشف الخدوش أو الانبعاجات أو الأخطاء المطبعية. يستطيع المساعد أن يضع العلامات حيث تقول، أو أن ينتظرك حتى تضعها، لكنه لا يستطيع أن يستنتج أين المشكلة.
تريد من المساعد أن يتحقق من دائرتك. تبلّغ الحالة عن موضع كل علامة وعمّا تقوله كل تسمية، لا عن حجم الدائرة ولا عن لونها. أما ما إذا كانت دائرتك تحيط بالضرر فهذا التحقق من شأنك.
تريدها بلا تدخّل منك البتة والملف على جهازك. المساعد لا يستطيع قراءة ملفاتك، وWebMCP لا ينقل بايتات الملفات، فلا يستطيع أن يسلّم الصفحة صورة محلية بنفسه. هذا يكلّفك خطوة واحدة، لا المهمة كلها. فالأدوات نفسها مسجّلة في صفحة أداة التعليق العادية: بمجرد أن تختار الصورة، يبقى الرسم والحفظ من عمل المساعد.
تريد أسلوبًا مختلفًا. العلامات المرسومة عبر الأدوات خطوط محيطية دائمًا، والتسميات تستخدم دائمًا الخط غير المذيَّل (sans-serif). أما الدوائر المملوءة أو الشفافة جزئيًا والتسميات بخط مذيَّل أو أحادي المسافة فموجودة في المحرّر، لكن يدويًا فقط.
الرابط ليس رابطًا مباشرًا إلى الصورة. صفحة المعرض، أو المنشور على شبكة اجتماعية، أو المعاينة في خدمة تخزين سحابي تعيد HTML لا الصورة. والأمر نفسه ينطبق على الرابط الذي يتطلب أن تكون مسجّل الدخول، لأن خادمنا يجلبه دون جلستك.
الملف كبير جدًا أو بصيغة غير مناسبة. تقبل الأداة صورة واحدة بحجم يصل إلى 25 MB، بصيغة JPG أو PNG أو WebP أو AVIF أو GIF أو BMP. تحتفظ JPG وPNG وWebP بصيغتها، وتُحفظ البقية بصيغة PNG. والصورة التي يتجاوز عرضها أو ارتفاعها 16,384 بكسل تُصغَّر لتلائم ذلك. أما HEIC، الصيغة الافتراضية في أجهزة iPhone، فغير مدعومة، لذا حوّلها إلى JPG أولاً.
ولقصة عن الأداة نفسها مستخدمةً يدويًا، اقرأ كيف حدّد عمر ضرر الأريكة قبل إغلاق نافذة الإرجاع.
باختصار
- الأداة:
https://mytools.com/image/draw-red-circles - افتحها والصورة محمّلة فيها مسبقًا:
https://mytools.com/image/draw-red-circles/by-url?url={url-encoded image url}، صورة واحدة في كل مرة - أدوات قابلة للاستدعاء، حيث يتوفر WebMCP:
get_draw_red_circles_state،run_draw_red_circles({annotations, replace})،download_draw_red_circles. تُعطى الدوائر والأسهم والتسميات بوحدات بكسل الصورة نفسها، وتُضاف العلامات الجديدة إلى علاماتك - موضع الدائرة قرارك في العادة: ارسمها بنفسك، ثم دع المساعد يضع التسمية ويحفظ، أو استدعِ التشغيل دون وسائط ليُخرج ما على الشاشة بالضبط
- الحسابات وCAPTCHA والعلامات المائية: لا شيء. صورة واحدة حتى 25 MB
- صورتك: يُعلَّق عليها في المتصفح لا على خادم. وجلب
?url=هو الخطوة الوحيدة التي تلامس خادمنا، وهي لا تحتفظ بشيء