跳转到主要内容
全部集成

AI 开发

在 Mastra 中使用 AdsCrawl

通过明确的输入和输出 schema,将 AdsCrawl 封装为 Mastra 工具。Agent 可传入 URL 并获取渲染后的 Markdown 与来源,浏览器 API 调用保留在服务端代码中。

能做什么

01

由 schema 定义输入

通过 Mastra 的 createTool 接口接收经过校验的 URL。

02

结构化工具结果

使用 outputSchema 声明 source 和 markdown 字段,供下游处理结果。

03

可复用的 Agent 工具

将同一工具注册到 Mastra Agent,或从应用代码中直接调用。

准备工作

  • 具有 API Key 和可用积分的 AdsCrawl 账号。
  • Node.js 22.22 或更高版本,在服务端或本地开发环境中运行。

接入方式 01

定义 Mastra 工具

组合 createTool、Zod schema 与 AdsCrawl JavaScript SDK,先验证工具,再连接模型。

  1. 安装依赖

    在应用目录中运行以下命令。

    Shell
    npm install adscrawl @mastra/core zod
  2. 配置 API Key

    在服务端环境或本地终端设置变量,用自己的密钥替换占位符,不要将其放入前端构建产物或提交到代码仓库。

    Shell
    export ADSCRAWL_API_KEY="your_adscrawl_api_key"
  3. 保存为 mastra-web.mjs

    execute 处理函数直接接收校验后的输入。此独立示例调用工具并打印结构化结果。

    JavaScript
    import AdsCrawl from "adscrawl";
    import { createTool } from "@mastra/core/tools";
    import { z } from "zod";
    
    const browser = new AdsCrawl({ apiKey: process.env.ADSCRAWL_API_KEY });
    
    export const readWebPage = createTool({
      id: "read-web-page",
      description: "Read a public web page as browser-rendered Markdown.",
      inputSchema: z.object({ url: z.string().url() }),
      outputSchema: z.object({ source: z.string().url(), markdown: z.string() }),
      execute: async ({ url }) => {
        const markdown = await browser.markdown({
          url, waitUntil: "domcontentloaded",
        });
        if (!markdown.trim()) throw new Error("The page returned no text");
        return { source: url, markdown };
      },
    });
    
    const result = await readWebPage.execute({ url: "https://example.com" }, {});
    console.log(result);
  4. 运行并接入下一步

    预期输出包含 source 的对象,以及标题为 Example Domain 的 Markdown。将 readWebPage 加入 Mastra Agent 的 tools 对象,例如 tools: { readWebPage },并单独配置 Agent 使用的模型。

    Shell
    node mastra-web.mjs

用量与限制

  • 示例直接运行工具,不会创建 Mastra Agent、模型服务或持久化工作流,这些需在应用中单独配置。
  • 每次页面请求消耗 AdsCrawl 积分。示例读取单个公开 URL;动态页面可能需要调整 waitUntil,或增加浏览器交互步骤。
  • 保留内容的来源 URL。处理长页面时,在传入模型前选择合适的分块方式或上下文长度策略。
查看价格与积分换算

继续阅读

Mastra 官方文档AdsCrawl JavaScript / TypeScript SDK