إنتقل إلى المحتوى الرئيسي

مرجع الأدوات المدمجة

يأتي Agent مع مجموعة من الأدوات المدمجة التي يستدعيها الذكاء الاصطناعي تلقائياً أثناء الحوارات. هذه الأدوات متاحة افتراضياً في الحوارات المستمرة؛ عادةً لا يحتاج مطورو السكرپتات إلى استدعائها مباشرة — يختار الذكاء الاصطناعي الأداة المناسبة بناءً على نية المستخدم.

فهم ما يمكن لهذه الأدوات فعله يساعدك في كتابة مطالبات نظام وأدوات مخصصة أفضل.

جلب بيانات الويب

web_fetch

يجلب محتوى رابط، مع استخراج HTML إلى نص ودعم تلخيص LLM.

المعاملالنوعإلزاميالوصف
urlstringنعمالرابط الهدف (http/https فقط)
promptstringلامطالبة الملخص (عند توفيرها، يُستخدم LLM لتقطير المحتوى)
max_lengthnumberلاالحد الأقصى لأحرف المحتوى

تفاصيل السلوك:

  • مهلة الطلب 30 ثانية
  • يستخرج محتوى HTML تلقائياً النص الرئيسي للجسم (يزيل التنقل والأشرطة الجانبية إلخ)
  • تُحلل استجابات JSON تلقائياً
  • يُرجع النص العادي كما هو
  • عند توفير prompt، يُرسل المحتوى المجلوب إلى LLM للتلخيص

قيمة الإرجاع:

{
"url": "https://example.com",
"content_type": "text/html",
"content": "Extracted body content...",
"truncated": false,
"final_url": "https://example.com/redirected"
}

يستعلم محرك بحث ويرجع نتائج بحث منظمة.

المعاملالنوعإلزاميالوصف
querystringنعمكلمات البحث
max_resultsnumberلاالحد الأقصى لعدد النتائج (الافتراضي 5، الحد الأقصى 10)

محركات البحث المدعومة:

المحركالوصفالتكوين المطلوب
DuckDuckGoالمحرك الافتراضيلا شيء
BingMicrosoft Bing Searchمفتاح API مطلوب
BaiduBaidu Searchلا يتطلب مفتاح API
Google Custom SearchGoogle Custom Searchمفتاح API + معرف CSE مطلوبان

يتم تكوين محركات البحث على صفحة الإدارة → Agent → الإعدادات.

قيمة الإرجاع:

[
{
"title": "Search result title",
"url": "https://example.com/result",
"snippet": "Result summary text..."
}
]

get_tab_content

يقرأ محتوى صفحة تبويب محدد كما تم تقديمه، محولاً إلى Markdown منظم مع شروح محددات CSS.

المعاملالنوعإلزاميالوصف
tab_idnumberنعممعرف التبويب
selectorstringلامحدد CSS؛ يستخرج الجزء المطابق فقط
promptstringلامطالبة الملخص
max_lengthnumberلاالحد الأقصى لأحرف المحتوى

الفرق عن web_fetch: get_tab_content يقرأ الصفحة كما قدمها المتصفح بالفعل (بما في ذلك محتوى JS الديناميكي)، بينما يقوم web_fetch بطلب HTTP جديد.

قيمة الإرجاع:

{
"tab_id": 123,
"url": "https://example.com",
"title": "Page title",
"content": "Structured content...",
"truncated": false,
"used_selector": "main"
}

إدارة التبويبات

list_tabs

يستعلم عن التبويبات المفتوحة، مع دعم عدة شروط تصفية.

المعاملالنوعإلزاميالوصف
url_patternstringلامطابقة regex للرابط
title_patternstringلامطابقة regex للعنوان
activebooleanلاإرجاع التبويب النشط فقط
window_idnumberلانافذة محددة
audiblebooleanلاإرجاع التبويبات التي تشغل صوتاً حالياً فقط

open_tab

يفتح تبويباً جديداً، أو ينقل في تبويب موجود.

المعاملالنوعإلزاميالوصف
urlstringنعمالرابط الهدف
tab_idnumberلامعرف تبويب موجود (إذا وُفر، يُنقل ذلك التبويب؛ وإلا يُفتح تبويب جديد)
activebooleanلايحدد ما إذا كان سيتم تفعيله (الافتراضي true)
window_idnumberلانافذة محددة
wait_until_loadedbooleanلايحدد ما إذا كان سيتم الانتظار حتى اكتمال تحميل الصفحة (الافتراضي true)

close_tab

يغلق تبويباً.

المعاملالنوعإلزاميالوصف
tab_idnumberنعممعرف التبويب

activate_tab

ينشط تبويباً ويضع نافذته في المقدمة.

المعاملالنوعإلزاميالوصف
tab_idnumberنعممعرف التبويب

نظام الملفات (OPFS)

opfs_write

يكتب ملفاً في مساحة العمل.

المعاملالنوعإلزاميالوصف
pathstringنعممسار الملف
contentstringنعممحتوى الملف (يدعم عنوان بيانات ثنائي)

opfs_read

يقرأ ملفاً من مساحة العمل. افتراضياً يتم اكتشاف نوع الملف تلقائياً: الملفات النصية تُرجع محتواها، والملفات الثنائية تُرجع رابط blob.

المعاملالنوعإلزاميالوصف
pathstringنعممسار الملف
modestringلا"text" / "blob" / "auto" (الافتراضي) — يفرض وضع إرجاع محدد
offsetnumberلارقم سطر البداية (يبدأ من 1)، وضع النص فقط
limitnumberلاعدد الأسطر المراد قراءتها، وضع النص فقط (الترقيم الصفحي مطلوب بمجرد تجاوز النص 200 سطر)

opfs_list

يسرد محتويات دليل.

المعاملالنوعإلزاميالوصف
pathstringلامسار الدليل (الافتراضي: الدليل الجذر)

opfs_delete

يحذف ملفاً أو دليلاً.

المعاملالنوعإلزاميالوصف
pathstringنعممسار الملف/الدليل

التفاعل مع المستخدم

ask_user

يسأل المستخدم سؤالاً، مع دعم إدخال حر أو اختيار منظم.

المعاملالنوعإلزاميالوصف
questionstringنعمالسؤال
optionsstring[]لاقائمة الاختيارات (عند توفيرها، يصبح سؤال اختيار من متعدد)
multiplebooleanلايحدد ما إذا كانت الاختيارات المتعددة مسموحة (الافتراضي false)

المهلة: يرجع { answer: null, reason: "timeout" } بعد 5 دقائق دون استجابة.

قيمة الإرجاع:

{ "answer": "The user's answer text" }

execute_script

ينفذ كود JavaScript في صفحة أو معزل.

المعاملالنوعإلزاميالوصف
codestringنعمكود JavaScript
targetstringنعم"page" أو "sandbox"
tab_idnumberلاالتبويب الهدف عندما يكون target هو page (الافتراضي: التبويب النشط الحالي)؛ يُتجاهل للمعزل

مقارنة بيئات التنفيذ:

البيئةDOMJS الصفحةرابط blob للإضافةمثالية لـ
target: "page" (دائماً وضع MAIN)نعمنعملاقراءة/معالجة الـ DOM، استدعاء دوال الصفحة، قراءة متغيرات الصفحة
target: "sandbox"لالالاالحساب الخالص

يعمل وضع page دائماً في وضع MAIN للصفحة، مشاركاً window مع الصفحة — لذا لا يمكنه الوصول إلى روابط blob الخاصة بالإضافة (مثل الرابط الذي يرجع opfs_read في وضع blob). استخدم SkillScript بدلاً من ذلك عندما تحتاج إلى العمل مع رابط blob.

الوكلاء الفرعيون

agent

يطلق وكيلاً فرعياً مستقلاً للتعامل مع مهمة فرعية معقدة.

المعاملالنوعإلزاميالوصف
promptstringنعموصف المهمة الفرعية
descriptionstringلاتسمية قصيرة (بضع كلمات، لعرض الواجهة)
typestringلانوع الوكيل الفرعي (انظر أدناه)، الافتراضي: "general"
tab_idnumberلامعرف التبويب المرسل إلى الوكيل الفرعي؛ سيعمل الوكيل الفرعي على ذلك التبويب

أنواع الوكلاء الفرعيين:

النوعالوصفالأدوات المتاحة
researcherاسترجاع المعلومات (قراءة فقط)web_search, web_fetch, قراءة محتوى الصفحة
page_operatorأتمتة المتصفحإدارة التبويبات، معالجة الـ DOM، التفاعل مع الصفحة
generalللأغراض العامة (الافتراضي)جميع الأدوات

الخصائص:

  • للوكيل الفرعي سياق حوار مستقل خاص به
  • لا يمكنه استخدام ask_user أو agent (لمنع التكرار)
  • تُمرر أحداث الوكيل الفرعي إلى الحوار الأصلي عبر sub_agent_event

إدارة المهام

تدير هذه المجموعة من الأدوات قائمة مهام مؤقتة داخل حوار (في الذاكرة، غير محفوظة).

create_task

المعاملالنوعإلزاميالوصف
subjectstringنعمعنوان المهمة
descriptionstringلاوصف تفصيلي

update_task

المعاملالنوعإلزاميالوصف
task_idstringنعممعرف المهمة
statusstringلا"pending" / "in_progress" / "completed"
subjectstringلاعنوان جديد
descriptionstringلاوصف جديد

list_tasks

لا معلمات؛ يرجع قائمة موجزة بجميع المهام.

أدوات إدارة المهام مخصصة أساساً لتتبع الذكاء الاصطناعي لتقدمه أثناء معالجة مهام معقدة متعددة الخطوات؛ لا تُحفظ بيانات المهام.