এজেন্টকে একটি আসল ব্রাউজার দিলে সে আর আন্দাজ করে না পেজে কী আছে — সে রেন্ডার করা লেআউট দেখে, DOM ঘুরে দেখে এবং মানুষের মতোই ক্লিক, স্ক্রল বা টাইপ করতে পারে।
একটিমাত্র API কী-র আওতায় ছোট ও কাজকেন্দ্রিক টুলসেটসহ একটি MCP সার্ভার
কনটেক্সট উইন্ডো খেয়ে ফেলা অপ্রক্রিয়াজাত HTML-এর বদলে পেজ ফেরত আসে markdown বা JSON ফরম্যাটে
ঘণ্টার পর ঘণ্টা চলা সেশন, যা নতুন করে শুরু না করে একই ব্রাউজারে আবার সংযুক্ত হয়
একটি প্রম্পট কপি করে আপনার AI এজেন্টে পেস্ট করুন। এটি একটি ক্লাউড ব্রাউজার সেশন খোলে, পেজটি নিয়ন্ত্রণ করে এবং বাস্তবে যা দেখেছে তা জানিয়ে দেয় — কোনো কোড লিখতে হবে না।
যাদের জন্য উপযুক্ত
Claude
ChatGPT
Cursor
GitHub Copilot
Google Gemini
Windsurf
cloud-browser.prompt.md~870 টোকেন
1# Floppydata Cloud Browser — reference and operating rules23You are working with the Floppydata Cloud Browser API. Use only the facts4below: never guess endpoints or fields, and never invent page content —5report only what the browser actually returned.67## Step 0 — is there an API key?8Read the key from FLOPPY_API_KEY in the environment. If it is missing, do9not attempt a session and do not ask for the key in chat. Walk the user10through this instead:1112 1. Create an account, or sign in to an existing one:13 https://app.floppydata.com/account/signup14 2. Open API keys, copy the key that is already there or generate a new15 one: https://app.floppydata.com/api-keys16 3. Buy traffic: https://app.floppydata.com/proxies/buy?type=rotating17 Sessions themselves are free, but every page a session loads goes18 out through Floppydata proxies, and proxy traffic is billed per GB.19 With no traffic on the account a session has no network to run on.20 4. Put the key in the environment as FLOPPY_API_KEY — not in code, not21 in a chat message — then run the task again.2223## Step 1 — with a key, start the session straight away24Do not interview the user about settings. Start on these defaults and25change them only when the task actually calls for it.2627POST https://api.floppydata.net/v2/browser/sessions28X-Api-Key: $FLOPPY_API_KEY29{30"proxy": {31"type": "residential", // residential | mobile | datacenter32"location": { "countryCode": "DE" },33"rotation": { "mode": "sticky" } // one IP for the whole session34 },35"browser": { "fingerprint": { "strategy": "auto", "os": "windows" } },36"runtime": { "timeoutSeconds": 1800, "keepAlive": true }37}3839Every field is optional: {} also works — residential proxy, sticky40rotation, 600 second timeout.4142201 Created returns:43 id session id44 status running | stopped | timedOut | failed45 connectUrl signed wss:// CDP endpoint — treat it like a password46 settings.id reuse it to restore this identity and cookie jar47 expiresAt when the session ends on its own4849A 401 means the key is wrong or revoked: back to Step 0. If the call is50refused because the account has no traffic left, send the user to the buy51page above rather than retrying.5253## Step 2 — drive the page54Connect over CDP and work in the tab that is already open:5556 const browser = await chromium.connectOverCDP(connectUrl);57 const page = browser.contexts()[0].pages()[0];58 await page.goto(url, { waitUntil: "domcontentloaded" });5960One session keeps cookies and page state between steps, so navigate,61fill, click and read inside it instead of starting a session per action.6263## Step 3 — hand a step to a human64Some checks only a person can clear. Request a live view for the session,65let someone finish that step, then reconnect and carry on:6667 POST /v2/browser/sessions/{id}/live-view -> { liveViewUrl }68 GET /v2/browser/sessions/{id} -> fresh connectUrl6970## Step 4 — reuse the identity on the next run71Send back the settings id you were given:7273 { "settings": { "id": "<settings-id>" } }7475## Step 5 — stop when the task is done76POST https://api.floppydata.net/v2/browser/sessions/{id}/stop7778## Rules79- Report values you actually read; if a selector is missing, say so.80- Never print the API key, connectUrl or liveViewUrl in your output.81- Keep one session per task; do not open a new one for every step.82- Ask before spending traffic on pages the task does not need.
সম্পূর্ণ প্রম্পট · 82 লাইন · কোড লাগবে না
কেন AI এজেন্টের দরকার পূর্ণাঙ্গ ক্লাউড ব্রাউজার
যে এজেন্ট শুধু কাঁচা HTTP রেসপন্স দেখে, সে আধা-অন্ধ হয়ে কাজ করে। আজকের ওয়েবের বেশিরভাগ কাজের কনটেন্ট – ড্যাশবোর্ড, সার্চ রেজাল্ট, লগইনের পেছনের যেকোনো কিছু – JavaScript দিয়ে রেন্ডার হয়, আর সাধারণ HTTP ফেচ সেই অংশ কখনো দেখতেই পায় না।
বরং একই এজেন্টকে একটি আসল ব্রাউজার দিন, তাহলে সে আর আন্দাজ করবে না পেজে কী থাকতে পারে। সে আসল রেন্ডার করা লেআউট দেখে, মানুষের কার্সরের মতো DOM ঘুরে দেখে এবং ম্যানুয়াল টেস্টিংয়ে মানুষ টেস্টারের মতোই ক্লিক, স্ক্রল বা টাইপ করতে পারে।
ঠিক এই পার্থক্যই ভালো AI ক্লাউড ব্রাউজারকে সাধারণ স্ক্র্যাপিং র্যাপার থেকে আলাদা করে: একটি মডেলের হাতে কাঁচা মার্কআপ তুলে দিয়ে ভালো ফলের আশা করে, অন্যটি পেজের ওপরেই চোখ ও হাতের মতো কিছু দেয়।
এজেন্ট সেশন
এজেন্ট / LLMMCP টুলস
ক্লাউড ব্রাউজার
টার্গেট ওয়েবসাইটক্লিক · পূরণ · পড়া
ডেটা / অ্যাকশনmarkdown
এজেন্টিক ওয়ার্কফ্লোর জন্য সক্ষমতা
এজেন্টের জন্য তৈরি ক্লাউড ব্রাউজারকে একসঙ্গে তিনটি আলাদা কাজ সামলাতে হয় – মডেলের টুলিং লেয়ারের সঙ্গে যোগাযোগ, মডেল সত্যিই কাজে লাগাতে পারে এমন ডেটা ফেরত দেওয়া, এবং এজেন্টের সিদ্ধান্ত নেওয়া ধাপগুলো সম্পন্ন করা।
MCP ও LLM ফ্রেমওয়ার্কের সঙ্গে নেটিভ ইন্টিগ্রেশন
Floppydata একটি MCP সার্ভার দেয়, যা একটিমাত্র API কি-র আড়ালে এজেন্টকে ছোট, কাজভিত্তিক টুলসেট দেয় – ওয়েব ডেটা আনা, প্রক্সি কানেকশন তৈরি, অ্যাকাউন্টের ব্যালেন্স দেখা – ফলে মডেলকে এন্ডপয়েন্ট বা হেডার মুখস্থ রাখতে হয় না।
আসল ব্রাউজিংয়ের অংশে – ক্লিক করা, ফিল্ড পূরণ করা, বহু-ধাপের ফ্লো চালানো – এজেন্ট ক্লাউড ব্রাউজার সেশনে সংযুক্ত হয় ঠিক যেভাবে যেকোনো Playwright বা Puppeteer স্ক্রিপ্ট হয়, একটি সাইনড WebSocket URL-এর মাধ্যমে। যে ফ্রেমওয়ার্ক ইতিমধ্যে লোকাল Playwright ব্রাউজার চালাতে পারে, সেটি সাধারণত তেমন বড় পরিবর্তন ছাড়াই একই লজিক রিমোট ব্রাউজারের দিকে ঘুরিয়ে দিতে পারে।
পরিষ্কার ডেটা এক্সট্র্যাকশন (প্রম্পটের জন্য Markdown / JSON)
কাঁচা HTML খুব দ্রুত কনটেক্সট উইন্ডো খরচ করে ফেলে – স্ক্রিপ্ট ট্যাগ, ইনলাইন স্টাইল, নেভ মেনু, যার কোনোটিই এজেন্টের সমাধান করতে চাওয়া প্রশ্নের উত্তর দেয় না। পেজকে markdown বা কাঠামোবদ্ধ JSON ব্লকে নামিয়ে আনলে ডেটা ব্যবহারযোগ্য থাকে, আর কেউ চায়নি এমন সাজসজ্জায় টোকেন নষ্ট হয় না।
ঠিক কোন কোন আউটপুট ফরম্যাট পাওয়া যাবে তা নির্ভর করে কোন এন্ডপয়েন্ট ডেটা আনছে তার ওপর, তাই কোনো একটি ফরম্যাটকে ঘিরে পাইপলাইন তৈরির আগে বর্তমান API ডকুমেন্টেশনে markdown বা JSON-এর নির্দিষ্ট অপশনগুলো দেখে নেওয়া ভালো।
বহু-ধাপের সিনারিও চালানো (ক্লিক, ফর্ম, সার্চ)
সংযুক্ত হওয়ার পর এজেন্ট শুধু একটি পেজ পড়াতেই সীমাবদ্ধ থাকে না। সে নেভিগেট করতে, ফর্ম পূরণ করতে, সার্চ সাবমিট করতে, ফলাফলের জন্য অপেক্ষা করতে এবং পরের পেজ পড়তে পারে – সবই একটানা একটি সেশনের মধ্যে, যেখানে কুকি ও পেজের অবস্থা ধাপগুলোর মধ্যে স্বয়ংক্রিয়ভাবে বহন হয়।
স্থিতিস্থাপকতা: দীর্ঘ সেশন ও কনটেক্সট সংরক্ষণ
এজেন্টের কাজ খুব কমই একটি রিকোয়েস্টে শেষ হয়। একটি গবেষণার কাজে পরপর ডজনখানেক ট্যাবের পেজ খুলতে হতে পারে; চেকআউট ফ্লোতে ধাপগুলোর মাঝে কয়েক মিনিট অপেক্ষা করতে হতে পারে। সেশন সেকেন্ডের বদলে ঘণ্টার পর ঘণ্টা চলতে পারে, আর কানেকশন বিচ্ছিন্ন হলে আবার সংযুক্ত হয়ে খালি ট্যাব থেকে শুরু না করে একই ব্রাউজারটি ফিরে পাওয়া যায়।
এর ওপর, সংরক্ষিত ব্রাউজার সেটিংস এজেন্টকে আলাদা আলাদা রানে একই আইডেন্টিটি ও কুকির অবস্থা পুনরায় ব্যবহার করতে দেয়, যা লগইন থাকা বা এক কাজ থেকে আরেক কাজে একই ফিঙ্গারপ্রিন্ট বজায় রাখার ওপর নির্ভরশীল যেকোনো কিছুর জন্য গুরুত্বপূর্ণ।
LangChain, LlamaIndex, Claude-এর সঙ্গে দ্রুত ইন্টিগ্রেশন
এর কোনোটির জন্যই প্রতিটি ফ্রেমওয়ার্কের আলাদা প্লাগইন লাগে না। কারণ কানেকশন পয়েন্টটি একটি স্ট্যান্ডার্ড CDP WebSocket – Playwright ও Puppeteer যে ভাষায় ইতিমধ্যে কথা বলে – তাই এই লাইব্রেরিগুলোর কোনোটি চালাতে পারে এমন যেকোনো LangChain ব্রাউজিং টুল, LlamaIndex ওয়েব রিডার বা Claude computer-use ধরনের সেটআপ সাধারণত লোকালের বদলে Floppydata সেশনে পয়েন্ট করা যায়, সাধারণত শুধু একটি কানেকশন URL বদলে।
যেসব টিম AI এজেন্টের জন্য সেরা ব্রাউজার ক্লাউড সমাধান তুলনা করছে, তাদের কাছে এই সামঞ্জস্য প্রায়ই লম্বা ফিচার তালিকার চেয়ে বেশি গুরুত্বপূর্ণ – নিচের ব্রাউজার লেয়ার বদলালেই যে এজেন্ট স্ট্যাক নতুন করে বানাতে হয়, সেটি কম চলমান অংশ নিয়ে কাজ চালিয়ে যাওয়া স্ট্যাকের চেয়ে খারাপ।
এ ধরনের কাজের জন্য প্রোভাইডার বেছে নেওয়ার আগে যাচাই করার মতো কয়েকটি বিষয়
AI কাজের জন্য সেরা ক্লাউড ব্রাউজারগুলোর মধ্যে, বাস্তবে কোনো একটি বেঞ্চমার্ক সংখ্যার চেয়ে এই তিনটি প্রশ্নের উত্তরই বেশি গুরুত্বপূর্ণ হয়।
দীর্ঘ সেশন ও পুনঃসংযোগ
সেশন কি দীর্ঘ টাইমআউট ও পুনঃসংযোগ সমর্থন করে, নাকি কানেকশন বিচ্ছিন্ন হলে পুরো কাজ নতুন করে শুরু করতে হয়?
রান শেষেও টিকে থাকা আইডেন্টিটি
ব্রাউজার আইডেন্টিটি ও কুকি কি আলাদা আলাদা রানের মধ্যে টিকে থাকে, নাকি প্রতিটি সেশন নতুন, অনথেন্টিকেটেড অবস্থা থেকে শুরু হয়?
টেকসই ফিঙ্গারপ্রিন্টিং
ফিঙ্গারপ্রিন্টিং কি এতটা ভালোভাবে সামলানো হয় যে একটি অ্যান্টিডিটেক্ট সেটআপ – বা কোনো প্ল্যাটফর্ম তার অ্যান্টি-ডিটেক্ট, আনডিটেক্টেবল মোডকে যা-ই বলুক – শুধু একটি পেজ লোডে নয়, দীর্ঘ সময় চলা এজেন্টের কাজজুড়েও সত্যিই টিকে থাকে?