Upload a ZIP file containing resources that your AI agent can use to complete tasks. The ZIP file is automatically extracted and made available to the agent.
const AnchorClient = require('anchorbrowser');const { chromium } = require('playwright');const JSZip = require('jszip');const ANCHOR_API_KEY = process.env.ANCHOR_API_KEY;(async () => { // Initialize Anchor client const anchorClient = new AnchorClient({ apiKey: ANCHOR_API_KEY, }); // Create a new session const session = await anchorClient.sessions.create(); console.log('session live view url:', session.data.live_view_url); const sessionId = session.data.id; const cdp_url = session.data.cdp_url; // 1. Create a test ZIP file with content const zip = new JSZip(); zip.file('test.txt', 'Hello from Anchor!\nThis is a test file for the agent.'); const zipBlob = await zip.generateAsync({ type: 'blob' }); const formData = new FormData(); formData.append('file', zipBlob, 'test-data.zip'); // 2. Upload to browser session using the dedicated API const response = await fetch(`https://api.anchorbrowser.io/v1/sessions/${sessionId}/agent/files`, { method: 'POST', headers: { 'anchor-api-key': ANCHOR_API_KEY }, body: formData }); const result = await response.json(); console.log('Upload result:', result); // 3. Connect to the browser session and use uploaded files with AI agent const browser = await chromium.connectOverCDP(cdp_url); const context = browser.contexts()[0]; const page = context.pages()[0]; // Navigate to a website where you want to use the uploaded files await page.goto('https://v0-download-and-upload-text.vercel.app/'); // Use AI agent to interact with the page using uploaded files const ai = context.serviceWorkers()[0]; const aiResult = await ai.evaluate("upload a file to the server"); console.log('AI agent result:', aiResult); // Close browser to end the script await browser.close();})();
That’s it! The agent can now access all uploaded files and use them to complete web tasks.