স্কিপ করে মূল কন্টেন্ট এ যান

বিল্ট-ইন টুলের রেফারেন্স

Agent-এর সাথে কিছু বিল্ট-ইন টুল আসে যা AI কথোপকথনের সময় স্বয়ংক্রিয়ভাবে কল করে। এই টুলগুলো স্থায়ী কথোপকথনে ডিফল্টভাবে উপলব্ধ; স্ক্রিপ্ট ডেভেলপারদের সাধারণত এগুলো সরাসরি কল করার প্রয়োজন হয় না — AI ব্যবহারকারীর উদ্দেশ্য অনুযায়ী সঠিক টুলটি বেছে নেয়।

এই টুলগুলো কী করতে পারে তা বোঝা আপনাকে আরও ভালো সিস্টেম প্রম্পট এবং কাস্টম টুল লিখতে সাহায্য করে।

ওয়েব ডেটা ফেচিং

web_fetch

একটি URL-এর কনটেন্ট ফেচ করুন, HTML-থেকে-টেক্সট এক্সট্রাকশন এবং LLM সারাংশকরণ সমর্থনসহ।

প্যারামিটারটাইপআবশ্যকবিবরণ
urlstringহ্যাঁলক্ষ্য URL (শুধুমাত্র http/https)
promptstringনাসারাংশ প্রম্পট (প্রদান করলে, কনটেন্ট সংক্ষিপ্ত করতে একটি LLM ব্যবহৃত হয়)
max_lengthnumberনাসর্বোচ্চ কনটেন্ট অক্ষর সংখ্যা

আচরণের বিবরণ:

  • ৩০ সেকেন্ডের রিকোয়েস্ট টাইমআউট
  • 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নাসর্বোচ্চ ফলাফল সংখ্যা (ডিফল্ট ৫, সীমা ১০)

সমর্থিত সার্চ ইঞ্জিন:

ইঞ্জিনবিবরণকনফিগারেশন প্রয়োজন
DuckDuckGoডিফল্ট ইঞ্জিননেই
Bingমাইক্রোসফট বিং সার্চAPI কী প্রয়োজন
Baiduবাইডু সার্চAPI কী প্রয়োজন নেই
Google Custom Searchগুগল কাস্টম সার্চAPI কী + CSE ID প্রয়োজন

সার্চ ইঞ্জিনগুলো ম্যানেজমেন্ট পেজ → Agent → সেটিংস-এ কনফিগার করা হয়।

রিটার্ন ভ্যালু:

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

get_tab_content

নির্দিষ্ট একটি ট্যাবের রেন্ডার করা পেজ কনটেন্ট পড়ুন, যা CSS সিলেক্টর দিয়ে চিহ্নিত কাঠামোবদ্ধ Markdown-এ রূপান্তরিত হয়।

প্যারামিটারটাইপআবশ্যকবিবরণ
tab_idnumberহ্যাঁট্যাব ID
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নাURL রেজেক্স ম্যাচ
title_patternstringনাটাইটেল রেজেক্স ম্যাচ
activebooleanনাশুধুমাত্র সক্রিয় ট্যাব ফেরত দিন
window_idnumberনানির্দিষ্ট উইন্ডো
audiblebooleanনাশুধুমাত্র বর্তমানে অডিও চালানো ট্যাবগুলো ফেরত দিন

open_tab

একটি নতুন ট্যাব খুলুন, অথবা একটি বিদ্যমান ট্যাবে নেভিগেট করুন।

প্যারামিটারটাইপআবশ্যকবিবরণ
urlstringহ্যাঁলক্ষ্য URL
tab_idnumberনাবিদ্যমান ট্যাবের ID (প্রদান করলে সেই ট্যাবে নেভিগেট হয়; অন্যথায় নতুন ট্যাব খোলে)
activebooleanনাএটি সক্রিয় করা হবে কিনা (ডিফল্ট true)
window_idnumberনানির্দিষ্ট উইন্ডো
wait_until_loadedbooleanনাপেজ লোড শেষ হওয়া পর্যন্ত অপেক্ষা করা হবে কিনা (ডিফল্ট true)

close_tab

একটি ট্যাব বন্ধ করুন।

প্যারামিটারটাইপআবশ্যকবিবরণ
tab_idnumberহ্যাঁট্যাব ID

activate_tab

একটি ট্যাব সক্রিয় করুন এবং যে উইন্ডোতে আছে সেটিতে ফোকাস করুন।

প্যারামিটারটাইপআবশ্যকবিবরণ
tab_idnumberহ্যাঁট্যাব ID

ফাইল সিস্টেম (OPFS)

opfs_write

ওয়ার্কস্পেসে একটি ফাইল লিখুন।

প্যারামিটারটাইপআবশ্যকবিবরণ
pathstringহ্যাঁফাইলের পথ
contentstringহ্যাঁফাইলের কনটেন্ট (ডেটা URL বাইনারি সমর্থিত)

opfs_read

ওয়ার্কস্পেস থেকে একটি ফাইল পড়ুন। ডিফল্টভাবে ফাইলের টাইপ স্বয়ংক্রিয়ভাবে সনাক্ত হয়: টেক্সট ফাইল তাদের কনটেন্ট ফেরত দেয়, বাইনারি ফাইল একটি ব্লব URL ফেরত দেয়।

প্যারামিটারটাইপআবশ্যকবিবরণ
pathstringহ্যাঁফাইলের পথ
modestringনা"text" / "blob" / "auto" (ডিফল্ট) — একটি নির্দিষ্ট রিটার্ন মোড বাধ্য করে
offsetnumberনাশুরুর লাইন নম্বর (১-ভিত্তিক), শুধুমাত্র টেক্সট মোড
limitnumberনাপড়ার জন্য লাইনের সংখ্যা, শুধুমাত্র টেক্সট মোড (টেক্সট ২০০ লাইনের বেশি হলে পেজিনেশন প্রয়োজন)

opfs_list

ডিরেক্টরির বিষয়বস্তু তালিকা করুন।

প্যারামিটারটাইপআবশ্যকবিবরণ
pathstringনাডিরেক্টরি পাথ (ডিফল্ট রুট ডিরেক্টরি)

opfs_delete

একটি ফাইল বা ডিরেক্টরি মুছুন।

প্যারামিটারটাইপআবশ্যকবিবরণ
pathstringহ্যাঁফাইল/ডিরেক্টরি পাথ

ব্যবহারকারীর সাথে ইন্টারঅ্যাকশন

ask_user

ব্যবহারকারীকে একটি প্রশ্ন করুন, ফ্রি-ফর্ম ইনপুট বা কাঠামোবদ্ধ পছন্দ — দুটোই সমর্থিত।

প্যারামিটারটাইপআবশ্যকবিবরণ
questionstringহ্যাঁপ্রশ্নটি
optionsstring[]নাপছন্দের তালিকা (প্রদান করলে, এটি একটি বহু-পছন্দের প্রশ্ন হয়ে যায়)
multiplebooleanনাএকাধিক নির্বাচন অনুমোদিত কিনা (ডিফল্ট false)

টাইমআউট: কোনো উত্তর না পেলে ৫ মিনিট পর { answer: null, reason: "timeout" } ফেরত দেয়।

রিটার্ন ভ্যালু:

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

execute_script

একটি পেজে বা স্যান্ডবক্সে JavaScript কোড চালান।

প্যারামিটারটাইপআবশ্যকবিবরণ
codestringহ্যাঁJavaScript কোড
targetstringহ্যাঁ"page" বা "sandbox"
tab_idnumberনাtarget যখন page তখন কোন ট্যাবকে লক্ষ্য করা হবে (ডিফল্ট বর্তমান সক্রিয় ট্যাব); স্যান্ডবক্সের জন্য উপেক্ষিত

এক্সিকিউশন পরিবেশের তুলনা:

পরিবেশDOMপেজ JSএক্সটেনশন ব্লব URLসেরা ব্যবহার
target: "page" (সবসময় MAIN world)হ্যাঁহ্যাঁনাDOM পড়া/পরিবর্তন, পেজ ফাংশন কল, পেজ ভেরিয়েবল পড়া
target: "sandbox"নানানাবিশুদ্ধ কম্পিউটেশন

page মোড সবসময় পেজের MAIN world-এ চলে, পেজের সাথে window শেয়ার করে — তাই এটি এক্সটেনশনের নিজস্ব ব্লব URL-এ অ্যাক্সেস করতে পারে না (যেমন opfs_read ব্লব মোডে যে ঠিকানা ফেরত দেয়)। ব্লব URL নিয়ে কাজ করতে হলে পরিবর্তে একটি SkillScript ব্যবহার করুন।

সাব-এজেন্ট

agent

একটি জটিল সাব-টাস্ক পরিচালনা করতে একটি স্বাধীন সাব-এজেন্ট চালু করুন।

প্যারামিটারটাইপআবশ্যকবিবরণ
promptstringহ্যাঁসাব-টাস্কের বিবরণ
descriptionstringনাএকটি সংক্ষিপ্ত লেবেল (কয়েকটি শব্দ, UI ডিসপ্লের জন্য)
typestringনাসাব-এজেন্ট টাইপ (নিচে দেখুন), ডিফল্ট "general"
tab_idnumberনাসাব-এজেন্টে পাঠানোর জন্য ট্যাব ID; সাব-এজেন্ট সেই ট্যাবে কাজ করবে

সাব-এজেন্ট টাইপ:

typeবিবরণউপলব্ধ টুল
researcherতথ্য অনুসন্ধান (শুধু-পঠন)web_search, web_fetch, পেজ কনটেন্ট পড়া
page_operatorব্রাউজার অটোমেশনট্যাব ম্যানেজমেন্ট, DOM ম্যানিপুলেশন, পেজ ইন্টারঅ্যাকশন
generalসাধারণ-উদ্দেশ্য (ডিফল্ট)সব টুল

বৈশিষ্ট্য:

  • একটি সাব-এজেন্টের নিজস্ব স্বাধীন কথোপকথন কনটেক্সট থাকে
  • এটি ask_user বা agent ব্যবহার করতে পারে না (রিকার্সন প্রতিরোধ করতে)
  • সাব-এজেন্টের ইভেন্টগুলো sub_agent_event এর মাধ্যমে প্যারেন্ট কথোপকথনে পাঠানো হয়

টাস্ক ম্যানেজমেন্ট

এই টুল গ্রুপটি একটি কথোপকথনের মধ্যে একটি অস্থায়ী টাস্ক তালিকা পরিচালনা করে (মেমরিতে, স্থায়ীভাবে সংরক্ষিত নয়)।

create_task

প্যারামিটারটাইপআবশ্যকবিবরণ
subjectstringহ্যাঁটাস্কের শিরোনাম
descriptionstringনাবিস্তারিত বিবরণ

update_task

প্যারামিটারটাইপআবশ্যকবিবরণ
task_idstringহ্যাঁটাস্ক ID
statusstringনা"pending" / "in_progress" / "completed"
subjectstringনানতুন শিরোনাম
descriptionstringনানতুন বিবরণ

list_tasks

কোনো প্যারামিটার নেই; সমস্ত টাস্কের একটি সংক্ষিপ্ত তালিকা ফেরত দেয়।

টাস্ক-ম্যানেজমেন্ট টুলগুলো মূলত AI-এর নিজের অগ্রগতি ট্র্যাক করার জন্য, জটিল বহু-ধাপের কাজ পরিচালনার সময়; টাস্ক ডেটা স্থায়ীভাবে সংরক্ষিত হয় না।