CrawlForge
Laman UtamaPlaygroundKes PenggunaanIntegrasiHargaDokumentasiBlog
Cara Menggunakan CrawlForge dengan Vercel AI SDK
Tutorials
Kembali ke Blog
Tutorial

Cara Menggunakan CrawlForge dengan Vercel AI SDK

C
CrawlForge Team
Pasukan Kejuruteraan
7 April 2026
8 min bacaan
Dikemas kini 14 April 2026

Pada halaman ini

Jawapan Pantas

Daftarkan 26 alat scraping CrawlForge dengan API tool() Vercel AI SDK supaya mana-mana LLM yang anda panggil melalui generateText atau streamText boleh fetch, ekstrak, dan menyelidik web atas permintaan. Persediaan mengambil masa kurang daripada 10 minit dan berfungsi dengan Next.js, SvelteKit, Nuxt, atau Node biasa.

Vercel AI SDK memberi anda antara muka bersatu untuk memanggil LLM daripada mana-mana rangka kerja -- Next.js, SvelteKit, Nuxt, atau Node biasa. CrawlForge memberi LLM anda akses kepada data web langsung melalui 26 alat scraping khusus. Bersama-sama, ia membolehkan anda membina aplikasi AI yang boleh mencari, fetch, mengekstrak, dan menganalisis kandungan web dalam masa nyata.

Tutorial ini menunjukkan kepada anda cara mendaftarkan alat CrawlForge dengan API tool() Vercel AI SDK, supaya AI anda boleh melakukan scraping web semula jadi seperti ia menjana teks.

Jadual Kandungan

  • Prasyarat
  • Bagaimana Ia Berfungsi: Alat dalam Vercel AI SDK
  • Langkah 1: Cipta Pembalut Alat CrawlForge
  • Langkah 2: Daftar Alat dengan generateText
  • Langkah 3: Bina Sembang Penstriman dengan Akses Web
  • Lanjutan: Ejen Penyelidikan Pelbagai Alat
  • Pecahan Kos Credit
  • Amalan Terbaik
  • Langkah Seterusnya

Prasyarat

Bash
npm install ai @ai-sdk/anthropic zod dotenv
Bash
# .env.local
ANTHROPIC_API_KEY=sk-ant-xxxxx
CRAWLFORGE_API_KEY=cf_live_xxxxx

Dapatkan kunci API CrawlForge anda di crawlforge.dev/signup -- 1,000 credits percuma disertakan.

Bagaimana Ia Berfungsi: Alat dalam Vercel AI SDK

Vercel AI SDK membolehkan anda menentukan alat yang boleh dipanggil oleh LLM semasa perbualan. Setiap alat mempunyai nama, penerangan, skema parameter (menggunakan Zod), dan fungsi execute. LLM membaca penerangan alat, memutuskan bila hendak memanggilnya, dan menggabungkan keputusan ke dalam responsnya.

REST API CrawlForge memetakan dengan sempurna kepada corak ini: setiap satu daripada 26 alat menjadi fungsi yang boleh dipanggil dengan parameter bertaip.

Langkah 1: Cipta Pembalut Alat CrawlForge

Mula-mula, bina pembantu boleh guna semula yang memanggil mana-mana endpoint CrawlForge:

Typescript
// lib/crawlforge.ts
const CRAWLFORGE_BASE = 'https://crawlforge.dev/api/v1/tools';

export async function callCrawlForge<T>(
  toolName: string,
  params: Record<string, unknown>
): Promise<T> {
  const response = await fetch(`${CRAWLFORGE_BASE}/${toolName}`, {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${process.env.CRAWLFORGE_API_KEY}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify(params),
  });

  if (!response.ok) {
    throw new Error(`CrawlForge ${toolName} failed: ${response.status}`);
  }

  return response.json() as Promise<T>;
}

Langkah 2: Daftar Alat dengan generateText

Sekarang daftarkan alat CrawlForge menggunakan fungsi tool() Vercel AI SDK:

Typescript
// app/api/chat/route.ts
import { generateText, tool } from 'ai';
import { anthropic } from '@ai-sdk/anthropic';
import { z } from 'zod';
import { callCrawlForge } from '@/lib/crawlforge';

const result = await generateText({
  model: anthropic('claude-sonnet-4-20250514'),
  tools: {
    // Fetch and extract clean content from any URL (2 credits)
    extractContent: tool({
      description: 'Extract the main content from a web page as clean text. Use this when you need to read an article, documentation page, or any web content.',
      parameters: z.object({
        url: z.string().url().describe('The URL to extract content from'),
      }),
      execute: async ({ url }) => {
        return callCrawlForge('extract_content', { url });
      },
    }),

    // Search the web (5 credits)
    searchWeb: tool({
      description: 'Search the web using Google. Returns titles, URLs, and snippets for the top results.',
      parameters: z.object({
        query: z.string().describe('The search query'),
        limit: z.number().optional().default(5).describe('Number of results'),
      }),
      execute: async ({ query, limit }) => {
        return callCrawlForge('search_web', { query, limit });
      },
    }),

    // Extract structured data with CSS selectors (2 credits)
    scrapeStructured: tool({
      description: 'Extract specific data from a web page using CSS selectors. Use when you need structured data like prices, names, or lists.',
      parameters: z.object({
        url: z.string().url().describe('The URL to scrape'),
        selectors: z.record(z.string()).describe('CSS selectors mapping field names to selectors'),
      }),
      execute: async ({ url, selectors }) => {
        return callCrawlForge('scrape_structured', { url, selectors });
      },
    }),
  },
  prompt: 'Find the current pricing for Vercel Pro plan and compare it to Netlify Pro.',
});

console.log(result.text);

Apabila LLM menghadapi soalan yang memerlukan data web, ia secara automatik memanggil alat CrawlForge yang betul, menerima keputusan, dan menjalinkannya ke dalam responsnya. Tiada orkestrasi manual diperlukan.

Langkah 3: Bina Sembang Penstriman dengan Akses Web

Untuk pengalaman sembang masa nyata, gunakan streamText dan bukannya generateText:

Typescript
// app/api/chat/route.ts
import { streamText, tool } from 'ai';
import { anthropic } from '@ai-sdk/anthropic';
import { z } from 'zod';
import { callCrawlForge } from '@/lib/crawlforge';

export async function POST(req: Request) {
  const { messages } = await req.json();

  const result = streamText({
    model: anthropic('claude-sonnet-4-20250514'),
    system: `You are a research assistant with access to live web data.
When users ask about current information, use your tools to fetch it.
Always cite the URLs you retrieved data from.`,
    messages,
    tools: {
      extractContent: tool({
        description: 'Extract main content from a URL as clean text',
        parameters: z.object({
          url: z.string().url(),
        }),
        execute: async ({ url }) =>
          callCrawlForge('extract_content', { url }),
      }),
      searchWeb: tool({
        description: 'Search the web and return top results',
        parameters: z.object({
          query: z.string(),
          limit: z.number().optional().default(5),
        }),
        execute: async ({ query, limit }) =>
          callCrawlForge('search_web', { query, limit }),
      }),
    },
    maxSteps: 5, // Allow up to 5 tool calls per response
  });

  return result.toDataStreamResponse();
}

Parameter maxSteps: 5 membolehkan LLM merangkai berbilang panggilan alat -- contohnya, mencari web dahulu, kemudian mengekstrak kandungan daripada keputusan teratas.

Komponen Frontend

Typescript
// app/page.tsx
'use client';
import { useChat } from 'ai/react';

export default function Chat() {
  const { messages, input, handleInputChange, handleSubmit, isLoading } = useChat();

  return (
    <div className="max-w-2xl mx-auto p-4">
      {messages.map((m) => (
        <div key={m.id} className="mb-4">
          <strong>{m.role === 'user' ? 'You' : 'AI'}:</strong>
          <p>{m.content}</p>
        </div>
      ))}
      <form onSubmit={handleSubmit}>
        <input
          value={input}
          onChange={handleInputChange}
          placeholder="Ask anything about the web..."
          className="w-full p-2 border rounded"
          disabled={isLoading}
        />
      </form>
    </div>
  );
}

Lanjutan: Ejen Penyelidikan Pelbagai Alat

Gabungkan berbilang alat CrawlForge untuk aliran kerja penyelidikan yang lebih mendalam:

Typescript
import { generateText, tool } from 'ai';
import { anthropic } from '@ai-sdk/anthropic';
import { z } from 'zod';
import { callCrawlForge } from '@/lib/crawlforge';

const research = await generateText({
  model: anthropic('claude-sonnet-4-20250514'),
  tools: {
    searchWeb: tool({
      description: 'Search Google for information',
      parameters: z.object({ query: z.string(), limit: z.number().default(5) }),
      execute: async ({ query, limit }) =>
        callCrawlForge('search_web', { query, limit }),
    }),
    extractContent: tool({
      description: 'Read the full content of a web page',
      parameters: z.object({ url: z.string().url() }),
      execute: async ({ url }) =>
        callCrawlForge('extract_content', { url }),
    }),
    analyzeContent: tool({
      description: 'Analyze text for topics, sentiment, and key entities',
      parameters: z.object({ text: z.string() }),
      execute: async ({ text }) =>
        callCrawlForge('analyze_content', { text }),
    }),
  },
  maxSteps: 10,
  prompt: `Research the current state of MCP server adoption in 2026.
    Search for recent articles, read the top 3, and analyze the key trends.
    Provide a summary with citations.`,
});

console.log(research.text);
// Returns a cited research summary using live web data

Ejen ini akan:

  1. Mencari Google untuk artikel berkaitan (5 credits)
  2. Mengekstrak kandungan daripada keputusan teratas (2 credits setiap satu)
  3. Menganalisis kandungan untuk tema (3 credits setiap satu)

Jumlah kos untuk larian penyelidikan 3 sumber: ~20 credits.

Pecahan Kos Credit

AlatCreditsSesuai Untuk
fetch_url1Pengambilan HTML mentah
extract_text1Pengekstrakan teks bersih
extract_links1Penemuan pautan
extract_metadata1Metadata halaman (tajuk, tag OG)
extract_content2Pengekstrakan kandungan boleh baca
scrape_structured2Pengekstrakan data berasaskan pemilih CSS
summarize_content2Peringkasan teks
analyze_content3Analisis topik dan sentimen
search_web5Keputusan carian Google
deep_research10Penyelidikan pelbagai sumber dengan petikan

Lihat pecahan harga penuh untuk kesemua 26 alat.

Amalan Terbaik

Minimumkan penggunaan credit. Gunakan extract_content (2 credits) dan bukannya deep_research (10 credits) apabila anda hanya memerlukan satu halaman. Penerangan alat membimbing LLM ke arah pilihan termurah yang memenuhi pertanyaan.

Tetapkan maxSteps dengan teliti. Nilai maxSteps yang lebih tinggi membenarkan lebih banyak panggilan alat setiap respons tetapi menggunakan lebih banyak credits. Mulakan dengan 3-5 dan tingkatkan hanya jika LLM secara konsisten memerlukan lebih banyak.

Cache halaman yang kerap diakses. Jika aplikasi anda berulang kali fetch URL yang sama, cache respons CrawlForge dalam Redis atau pangkalan data dan bukannya fetch semula setiap kali.

Gunakan penerangan Zod. Rentetan .describe() pada parameter Zod anda membantu LLM memahami nilai yang perlu dihantar. Jadilah spesifik: "The full URL including https://" lebih baik daripada "URL".

Langkah Seterusnya

Anda kini mempunyai aplikasi Vercel AI SDK dengan akses web langsung. Kembangkan dari sini:

  • Tambah baki 26 alat CrawlForge mengikut keperluan
  • Laksanakan stealth mode untuk tapak dengan perlindungan anti-bot
  • Bina ejen penyelidikan mendalam untuk analisis pasaran automatik
  • Semak Mula Pantas CrawlForge untuk persediaan klien MCP

Bina aplikasi AI yang melihat web. Mula percuma dengan 1,000 credits -- tiada kad kredit diperlukan.

Cuba sendiri — tiada pendaftaran diperlukan

Jalankan mana-mana daripada 27 alat scraping dan pengekstrakan CrawlForge dalam playground, kemudian mula secara percuma dengan 1,000 credits.

1,000 credits percuma • Isi semula setiap bulan • Tiada kad kredit diperlukan

Tag

vercel-ai-sdknextjsintegrationweb-scrapingai-engineeringtutorialtypescript

Tentang Penulis

C

CrawlForge Team

Pasukan Kejuruteraan

Membina MCP server web scraping yang paling menyeluruh. Kami mencipta alatan yang membantu pembangun mengekstrak, menganalisis dan mengubah data web untuk aplikasi AI.

Kekal dikemas kini dengan pandangan terkini

Dapatkan tutorial, kemas kini produk dan petua web scraping terus ke peti masuk anda.

Tiada spam. Berhenti melanggan bila-bila masa.

Praktikkan ini

Uji alat CrawlForge pada mana-mana URL — percuma, tanpa pendaftaran.

Pada halaman ini

Frequently Asked Questions

Bagaimana saya menggunakan CrawlForge dengan Vercel AI SDK?+

Daftarkan 26 alat scraping CrawlForge dengan API tool() Vercel AI SDK supaya mana-mana LLM yang anda panggil melalui generateText atau streamText boleh fetch, ekstrak, dan menyelidik web atas permintaan. Persediaan mengambil masa kurang daripada 10 minit dan berfungsi dengan Next.js, SvelteKit, Nuxt, atau Node biasa.

Apakah alat dalam Vercel AI SDK?+

Vercel AI SDK membolehkan anda menentukan alat yang boleh dipanggil oleh LLM semasa perbualan. Setiap alat mempunyai nama, penerangan, skema parameter menggunakan Zod, dan fungsi execute. LLM membaca penerangan alat, memutuskan bila hendak memanggilnya, dan menggabungkan keputusan ke dalam responsnya.

Bagaimana saya meminimumkan penggunaan credit CrawlForge dalam aplikasi AI SDK?+

Gunakan extract_content (2 credits) dan bukannya deep_research (10 credits) apabila anda hanya memerlukan satu halaman. Tetapkan maxSteps dengan teliti -- mulakan dengan 3-5 dan tingkatkan hanya jika perlu. Cache halaman yang kerap diakses dalam Redis atau pangkalan data dan bukannya fetch semula setiap kali.

Mengapa penerangan parameter Zod penting untuk alat AI SDK?+

Rentetan .describe() pada parameter Zod anda membantu LLM memahami nilai yang perlu dihantar. Jadilah spesifik: "The full URL including https://" lebih baik daripada "URL". Penerangan yang jelas membimbing LLM ke arah alat termurah yang memenuhi pertanyaan.

Artikel Berkaitan

Cara Menggunakan CrawlForge dengan Agen LangGraph
Tutorials

Cara Menggunakan CrawlForge dengan Agen LangGraph

Bina agen web scraping berkeadaan dengan LangGraph dan CrawlForge. Panduan TypeScript yang merangkumi nod graf, pengurusan keadaan, dan aliran scraping bersyarat.

C
CrawlForge Team
|
24 Apr
|
8m
Cara Menggunakan CrawlForge dengan Ejen AI Mastra
Tutorials

Cara Menggunakan CrawlForge dengan Ejen AI Mastra

Bina ejen AI dengan keupayaan web scraping menggunakan Mastra dan CrawlForge. Panduan persediaan TypeScript dengan integrasi tool, aliran kerja, dan contoh ejen.

C
CrawlForge Team
|
21 Apr
|
7m
Cara Menggunakan CrawlForge dengan Anthropic Claude API
Tutorials

Cara Menggunakan CrawlForge dengan Anthropic Claude API

Sambungkan alat web scraping CrawlForge ke Claude API melalui tool_use. Bina aplikasi AI dengan data web langsung menggunakan TypeScript dan Claude Sonnet.

C
CrawlForge Team
|
15 Apr
|
9m

Footer

CrawlForge

Web scraping gred perusahaan untuk Ejen AI. 27 alat MCP khusus yang direka untuk pembangun moden yang membina sistem pintar.

Produk

  • Ciri
  • Playground
  • Harga
  • Kes Penggunaan
  • Integrasi
  • Alternatif
  • Changelog

Sumber

  • Mula Bekerja
  • Rujukan API
  • Templat
  • Panduan
  • Blog
  • Glosari
  • Soalan Lazim
  • Peta Laman

Pembangun

  • Protokol MCP
  • Claude Desktop
  • Cursor IDE
  • LangChain
  • LlamaIndex

Syarikat

  • Tentang
  • Hubungi
  • Privasi
  • Terma
  • Penggunaan Boleh Diterima
  • Cookies

Kekal dikemas kini

Dapatkan kemas kini terkini tentang alat dan ciri baharu.

Dibina dengan Next.js dan protokol MCP

© 2025-2026 CrawlForge. Hak cipta terpelihara.