跳转到主要内容
全部集成

AI 开发

在 LangGraph 中使用 AdsCrawl

当 Agent 工作流需要实时网页资料时,将 AdsCrawl 接入 LangGraph 节点。在图状态中保存请求 URL 和渲染后的 Markdown,供后续节点提取、总结或分流。

能做什么

01

具备浏览器能力的节点

在 read_page 节点中调用 Markdown API,URL 从图状态中读取。

02

共享网页资料

将页面文本和 URL 传给后续节点,无需每个步骤都重新读取网页。

03

明确的执行顺序

连接 START、读取节点和 END,再按需要添加自己的处理节点。

准备工作

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

接入方式 01

添加网页读取节点

定义 StateSchema、添加一个 AdsCrawl 节点,并编译为可执行的图。

  1. 安装依赖

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

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

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

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

    图接收 URL,将 Markdown 写入状态。页面内容为空时会抛出错误,避免向下游传递空结果。

    JavaScript
    import AdsCrawl from "adscrawl";
    import { END, START, StateGraph, StateSchema } from "@langchain/langgraph";
    import { z } from "zod";
    
    const browser = new AdsCrawl({ apiKey: process.env.ADSCRAWL_API_KEY });
    const PageState = new StateSchema({
      url: z.string().url(),
      markdown: z.string().default(""),
    });
    
    export const graph = new StateGraph(PageState)
      .addNode("read_page", async ({ url }) => {
        const markdown = await browser.markdown({
          url, waitUntil: "domcontentloaded",
        });
        if (!markdown.trim()) throw new Error("The page returned no text");
        return { markdown };
      })
      .addEdge(START, "read_page")
      .addEdge("read_page", END)
      .compile();
    
    const result = await graph.invoke({ url: "https://example.com" });
    console.log({ source: result.url, markdown: result.markdown });
  4. 运行并接入下一步

    预期 result.url 保留输入链接,result.markdown 包含 Example Domain。需要提取或总结时,在 read_page 和 END 之间加入处理节点;仅在该节点需要模型时配置模型。

    Shell
    node langgraph-web.mjs

用量与限制

  • 此最小示例没有配置检查点、重试策略或跨运行缓存。重放读取节点可能产生新的计费请求,生产环境应按需配置持久化与有次数上限的重试。
  • 每次页面请求消耗 AdsCrawl 积分。示例读取单个公开 URL;动态页面可能需要调整 waitUntil,或增加浏览器交互步骤。
  • 保留内容的来源 URL。处理长页面时,在传入模型前选择合适的分块方式或上下文长度策略。
查看价格与积分换算

继续阅读

LangGraph 官方文档AdsCrawl JavaScript / TypeScript SDK