বিল্ট-ইন টুলের রেফারেন্স
Agent-এর সাথে কিছু বিল্ট-ইন টুল আসে যা AI কথোপকথনের সময় স্বয়ংক্রিয়ভাবে কল করে। এই টুলগুলো স্থায়ী কথোপকথনে ডিফল্টভাবে উপলব্ধ; স্ক্রিপ্ট ডেভেলপারদের সাধারণত এগুলো সরাসরি কল করার প্রয়োজন হয় না — AI ব্যবহারকারীর উদ্দেশ্য অনুযায়ী সঠিক টুলটি বেছে নেয়।
এই টুলগুলো কী করতে পারে তা বোঝা আপনাকে আরও ভালো সিস্টেম প্রম্পট এবং কাস ্টম টুল লিখতে সাহায্য করে।
ওয়েব ডেটা ফেচিং
web_fetch
একটি URL-এর কনটেন্ট ফেচ করুন, HTML-থেকে-টেক্সট এক্সট্রাকশন এবং LLM সারাংশকরণ সমর্থনসহ।
| প্যারামিটার | টাইপ | আবশ্যক | বিবরণ |
|---|---|---|---|
url | string | হ্যাঁ | লক্ষ্য URL (শুধুমাত্র http/https) |
prompt | string | না | সারাংশ প্রম্পট (প্রদান করলে, কনটেন্ট সংক্ষিপ্ত করতে একটি LLM ব্যবহৃত হয়) |
max_length | number | না | সর্বোচ্চ কনটেন্ট অক্ষর সংখ্যা |
আচরণের বিবরণ:
- ৩০ সেকেন্ডের রিকোয়েস্ট টাইমআউট
- HTML কনটেন্ ট স্বয়ংক্রিয়ভাবে মূল বডির টেক্সট বের করে (ন্যাভিগেশন, সাইডবার ইত্যাদি বাদ দেয়)
- JSON রেসপন্স স্বয়ংক্রিয়ভাবে পার্স হয়
- প্লেইন টেক্সট যেভাবে আছে সেভাবেই ফেরত আসে
promptপ্রদান করা হলে, ফেচ করা কনটেন্ট সারাংশকরণের জন্য একটি LLM-এ পাঠানো হয়
রিটার্ন ভ্যালু:
{
"url": "https://example.com",
"content_type": "text/html",
"content": "Extracted body content...",
"truncated": false,
"final_url": "https://example.com/redirected"
}
web_search
একটি সার্চ ইঞ্জিনে কোয়েরি করুন এবং কাঠামোবদ্ধ সার্চ ফলাফল ফেরত পান।
| প্যার ামিটার | টাইপ | আবশ্যক | বিবরণ |
|---|---|---|---|
query | string | হ্যাঁ | সার্চ কীওয়ার্ড |
max_results | number | না | সর্বোচ্চ ফলাফল সংখ্যা (ডিফল্ট ৫, সীমা ১০) |
সমর্থিত সার্চ ইঞ্জিন:
| ইঞ্জিন | বিবরণ | কনফিগারেশন প্রয়োজন |
|---|---|---|
| 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_id | number | হ্যাঁ | ট্যাব ID |
selector | string | না | CSS সিলেক্টর; শুধুমাত্র মিলে যাওয়া অংশ বের করবে |
prompt | string | না | সারাংশ প্রম্পট |
max_length | number | না | সর্বোচ্চ কনটেন্ট অক্ষর সংখ্যা |
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_pattern | string | না | URL রেজেক্স ম্যাচ |
title_pattern | string | না | টাইটেল রেজেক্স ম্যাচ |
active | boolean | না | শুধুমাত্র সক্রিয় ট্যাব ফেরত দিন |
window_id | number | না | নির্দিষ্ট উইন্ডো |
audible | boolean | না | শুধুমাত্র বর্তমানে অডিও চালানো ট্যাবগুলো ফেরত দিন |
open_tab
একটি নতুন ট্যাব খুলুন, অথবা একটি বিদ্যমান ট্যাবে নেভিগেট করুন।
| প্যারামিটার | টাইপ | আবশ্যক | বিবরণ |
|---|---|---|---|
url | string | হ্যাঁ | লক্ষ্য URL |
tab_id | number | না | বিদ্যমান ট্যাবের ID (প্রদান করলে সেই ট্যাবে নেভিগেট হয়; অন্যথায় নতুন ট্যাব খোলে) |
active | boolean | না | এটি সক্রিয় করা হবে কিনা (ডিফল্ট true) |
window_id | number | না | নির্দিষ্ট উইন্ডো |
wait_until_loaded | boolean | না | পেজ লোড শেষ হওয়া পর্যন্ত অপেক্ষা করা হবে কিনা (ডিফল্ট true) |
close_tab
একটি ট্যাব বন্ধ করুন।
| প্যারামিটার | টাইপ | আবশ্যক | বিবরণ |
|---|---|---|---|
tab_id | number | হ্যাঁ | ট্যাব ID |
activate_tab
একটি ট্যাব সক্রিয় করুন এবং যে উইন্ডোতে আছে সেটিতে ফোকাস করুন।
| প্যারামিটার | টাইপ | আবশ্যক | বিবরণ |
|---|---|---|---|
tab_id | number | হ্যাঁ | ট্যাব ID |
ফাইল সিস্টেম (OPFS)
opfs_write
ওয়ার্কস্পেসে একটি ফাইল লিখুন।
| প্যারামিটার | টাইপ | আবশ্যক | বিবরণ |
|---|---|---|---|
path | string | হ্যাঁ | ফাইলের পথ |
content | string | হ্যাঁ | ফাইলের কনটেন্ট (ডেটা URL বাইনারি সমর্থিত) |
opfs_read
ওয়ার্কস্পেস থেকে একটি ফাইল পড়ুন। ডিফল্টভাবে ফাইলের টাইপ স্বয়ংক্রিয়ভাবে সনাক্ত হয়: টেক্সট ফাইল তাদের কনটেন্ট ফেরত দেয়, বাইনারি ফাইল একটি ব্লব URL ফেরত দেয়।
| প্যারামিটার | টাইপ | আবশ্যক | বিবরণ |
|---|---|---|---|
path | string | হ্যাঁ | ফাইলের পথ |
mode | string | না | "text" / "blob" / "auto" (ডিফল্ট) — একটি নির্দিষ্ট রিটার্ন মোড বাধ্য করে |
offset | number | না | শুরুর লাইন নম্বর (১-ভিত্তিক), শুধুমাত্র টেক্সট মোড |
limit | number | না | পড়ার জন্য লাইনের সংখ্যা, শুধুমাত্র টেক্সট মোড (টেক্সট ২০০ লাইনের বেশি হলে পেজিনেশন প্রয়োজন) |
opfs_list
ডিরেক্টরির বিষয়বস্তু তালিকা করুন।
| প্যারামিটার | টাইপ | আবশ্যক | বিবরণ |
|---|---|---|---|
path | string | না | ডিরেক্টরি পাথ (ডিফল্ট রুট ডিরেক্টরি) |
opfs_delete
একটি ফাইল বা ডিরেক্টরি মুছুন।
| প্যারামিটার | টাইপ | আবশ্যক | বিব রণ |
|---|---|---|---|
path | string | হ্যাঁ | ফাইল/ডিরেক্টরি পাথ |
ব্যবহারকারীর সাথে ইন্টারঅ্যাকশন
ask_user
ব্যবহারকারীকে একটি প্রশ্ন করুন, ফ্রি-ফর্ম ইনপুট বা কাঠামোবদ্ধ পছন্দ — দুটোই সমর্থিত।
| প্যারামিটার | টাইপ | আবশ্যক | বিবরণ |
|---|---|---|---|
question | string | হ্যাঁ | প্রশ্নটি |
options | string[] | না | পছন্দের তালিকা (প্রদান করলে, এটি একটি বহু-পছন্দের প্রশ্ন হয়ে যায়) |
multiple | boolean | না | একাধিক নির্বাচন অনুমোদিত কিনা (ডিফল্ট false) |
টাইমআউট: কোনো উত্তর না পেলে ৫ মিনিট পর { answer: null, reason: "timeout" } ফেরত দেয়।
রিটার্ন ভ্যালু:
{ "answer": "The user's answer text" }
execute_script
একটি পেজে বা স্যান্ডবক্সে JavaScript কোড চালান।
| প্যারামিটার | টাইপ | আবশ্যক | বিবরণ |
|---|---|---|---|
code | string | হ্যাঁ | JavaScript কোড |
target | string | হ্যাঁ | "page" বা "sandbox" |
tab_id | number | না | target যখন page তখন কোন ট্যাবকে লক্ষ্য করা হবে (ডিফল্ট বর্তমান সক্রিয় ট্যাব); স্যান্ডবক্সের জন্য উপেক্ষিত |
এক্সিকিউশন পরিবেশের তুলনা:
| পরিবেশ | DOM | পেজ JS | এক্সটেনশন ব্লব URL | সেরা ব্যবহার |
|---|---|---|---|---|
target: "page" (সবসময় MAIN world) | হ্যাঁ | হ্যাঁ | না | DOM পড়া/পরিবর্তন, পেজ ফাংশন কল, পেজ ভেরিয়েবল পড়া |
target: "sandbox" | না | না | না | বিশুদ্ধ কম্পিউটেশন |
pageমোড সবসময় পেজের MAIN world-এ চলে, পেজের সাথেwindowশেয়ার করে — তাই এটি এক্সটেনশনের নিজস্ব ব্লব URL-এ অ্যাক্সেস করতে পারে না (যেমনopfs_readব্লব মোডে যে ঠিকানা ফেরত দেয়)। ব্লব URL নিয়ে কাজ করতে হলে পরিবর্তে একটি SkillScript ব্যবহার করুন।
সাব-এজেন্ট
agent
একটি জটিল সাব-টাস্ক পরিচালনা করতে একটি স্বাধীন সাব-এজেন্ট চালু করুন।
| প্যারামিটার | টাইপ | আবশ্যক | বিবরণ |
|---|---|---|---|
prompt | string | হ্যাঁ | সাব-টাস্কের বিবরণ |
description | string | না | একটি সংক্ষিপ্ত লেবেল (কয়েকটি শব্দ, UI ডিসপ্লের জন্য) |
type | string | না | সাব-এজেন্ট টাইপ (নিচে দেখুন), ডিফল্ট "general" |
tab_id | number | না | সাব-এজেন্টে পাঠানোর জন্য ট্যাব ID; সাব-এজেন্ট সেই ট্যাবে কাজ করবে |
সাব-এজেন্ট টাইপ:
| type | বিবরণ | উপলব্ধ টুল |
|---|---|---|
researcher | তথ্য অনুসন্ধান (শুধু-পঠন) | web_search, web_fetch, পেজ কনটেন্ট পড়া |
page_operator | ব্রাউজার অটোমেশন | ট্যাব ম্যানেজমেন্ট, DOM ম্যানিপুলেশন, পেজ ইন্টারঅ্যাকশন |
general | সাধারণ-উদ্দেশ্য (ডিফল্ট) | সব টুল |
বৈশিষ্ট্য:
- একটি সাব-এজেন্টের নিজস্ব স্বাধীন কথোপকথন কনটেক্সট থাকে
- এটি
ask_userবাagentব্যবহার করতে পারে না (রিকার্সন প্রতিরোধ করতে) - সাব-এজেন্টের ইভেন্টগুলো
sub_agent_eventএর মাধ্যমে প্যারেন্ট কথোপকথনে পাঠানো হয়
টাস্ক ম্যানেজমেন্ট
এই টুল গ্রুপটি একটি কথোপকথনের মধ্যে একটি অস্থায়ী টাস্ক তালিকা পরিচালনা করে (মেমরিতে, স্থায়ীভাবে সংরক্ষিত নয়)।
create_task
| প্যারামিটার | টাইপ | আবশ্যক | বিবরণ |
|---|---|---|---|
subject | string | হ্যাঁ | টাস্কের শিরোনাম |
description | string | না | বিস্তারিত বিবরণ |
update_task
| প্যারামিটার | টাইপ | আবশ্যক | বিবরণ |
|---|---|---|---|
task_id | string | হ্যাঁ | টাস্ক ID |
status | string | না | "pending" / "in_progress" / "completed" |
subject | string | না | নতুন শিরোনাম |
description | string | না | নতুন বিবরণ |
list_tasks
কোনো প্যারামিটার নেই; সম স্ত টাস্কের একটি সংক্ষিপ্ত তালিকা ফেরত দেয়।
টাস্ক-ম্যানেজমেন্ট টুলগুলো মূলত AI-এর নিজের অগ্রগতি ট্র্যাক করার জন্য, জটিল বহু-ধাপের কাজ পরিচালনার সময়; টাস্ক ডেটা স্থায়ীভাবে সংরক্ষিত হয় না।