Kitesurf: Agent-first browser that runs in V8 isolates

(blog.cloudflare.com)

95 points | by m3h 7 hours ago

11 comments

  • nicoburns 4 hours ago
    This is built on top of Blitz (https://github.com/dioxuslabs/blitz): a new modular (open source) browser engine that I've been building for the last 2.5 years.

    (I wasn't involved in building kitesurf, but I am informed that they intend to open source and upstream their patches)

    • hugs 3 hours ago
      any plans to support webdriver bidi for automation? (i'd be happy to help!)

      [edit: for others reading who don't usually nerd out on browser automation protocols: webdriver bidi is the new-ish w3c cross-browser standard inspired by CDP - the main magic was the upgrade to websockets and also to standardize the capture of network-level traffic. there are still feature gaps between CDP and BiDi (in spec and implementation), but long term, i believe we should bet on web standards, not proprietary protocols controlled by one company.

      (disclosure: i started the selenium and appium projects.)]

      • nicoburns 3 hours ago
        > Long term, i believe we should bet on web standards, not proprietary protocols controlled by one company.

        Totally agree.

        Not sure if you're involved in the development / spec process for WebDriver Bidi, but the big limitation atm is that it has almost no support for the devtool inspection use cases served by the Chrome Devtools Protocol (CDP) and the Firefox Devtools Protocol (FDP).

        The Servo and Ladybird browsers both have FDP implementations (and Blitz has an in-progress CDP implementation) for this reason. But we'd all love to switch to a single standardised protocol if it had the requisite support.

        • hugs 3 hours ago
          thanks for the extra context. i'm friendly with devs working on the protocol, but looking for ways to get them more support.
      • nicoburns 3 hours ago
        It's definitely on the list of "things that would be nice to have eventually". It hasn't been very high up my personal list of priorities to build myself, but if you want to build it then I imagine we'd accept the patches (though I'd ideally like to see an implementation plan first).

        (if kitesurf does upstream their patches then presumably we'll get a CDP-based automation API as part of that)

        • hugs 3 hours ago
          ok, cool. looks like i should chat with the fine people at cloudflare, too.
  • QuantumNomad_ 4 hours ago
    From the page https://developers.cloudflare.com/browser-run/ linked to from this article:

    > Run headless Chrome on Cloudflare's global network for browser automation, web scraping, testing, and content generation.

    Does Cloudflare the CDN allow these browser instances to bypass their own anti-bot mechanisms? Or will Cloudflare the CDN block them the same as if someone was running scraping bots from a different provider?

    Will Kitesurf in Cloudflare workers get special bypass privileges to content protected by Cloudflare the CDN?

    • buremba 4 hours ago
      No it doesn't and it's simply useless. They have been trying to enable publishers to charge scrapers so that's why they're pushing this path hard.
  • cautiouscat 3 hours ago
    Can someone give me examples of where you use agents in your browser? I’ve heard executive leaders tout that “people use agents to buy things for them” but I haven’t actually seen that.
    • nozzlegear 2 hours ago
      > I’ve heard executive leaders tout that “people use agents to buy things for them” but I haven’t actually seen that.

      My wife really dislikes building up the shopping cart for our weekly grocery delivery, so I built an agent... thing with earendil's npm libs. It takes the menu my wife has decided on, confers with her about the ingredients (if it hasn't seen a recipe before), and then uses Chrome's devtools protocol to head to Walmart and add everything to the shopping cart.

      It works fairly well and uses the local models I have running on my Mac Studio.

      • diarrhea 1 hour ago
        > uses the local models

        That is fantastic. Last I checked models capable of running on commodity (anything below a dedicated GPU rack) hardware were very lackluster.

    • arjie 28 minutes ago
      It’s usually incidental. Costco’s receipts aren’t easy to get. You go to a particular page listing them all and then for each date you click view receipt and look for the thing you want. You can’t really search because the thing will be labeled SHWR103 or something.

      I didn’t “use an agent to find a receipt” in the sense that I purpose built one. I just asked my existing agent that I talk to on telegram by photographing the thing I wanted to know if we could return and while I changed the baby it chugged along and by the time we were ready to go it could tell me whether we did buy it at Costco and when so I know if I can return it.

    • buskerrrrrr 2 hours ago
      I often use it to browse sites to get web/app design inspiration, then make moodboards based off it and send it to me. saves me a lot of manual browsing time
    • OroPla 3 hours ago
      I would use them to solve captchas if that was a thing.
    • hugs 3 hours ago
      i've been tempted to use an agent to help me find non-horrible seats to see the 70mm imax version of the odyssey. but that's also the kind of thing that is heavily guarded by anti-bot detectors.
  • fukaiall 2 hours ago
    Seems like Cloudflare only writes Rust these days…
  • hn5595p698 30 minutes ago
    Every word of this
  • hn0tdqaek4 1 hour ago
    Been meaning to look into this
  • zuzululu 3 hours ago
    wish it was open source so it can be run locally

    a welcome addition although it'd be very easy for websites to fingerprint and block

    • donpark 3 minutes ago
      From the final notes section of their announcement blog post:

      > One last thing: we're going to open source Kitesurf once we're ready — hopefully soon. Our goal is to let any customer deploy their own version of Kitesurf on their own accounts, if they want to.

  • broker_desk 4 minutes ago
    [flagged]
  • nirbendavid 2 hours ago
    [flagged]
  • saadyousfi 2 hours ago
    [flagged]
  • LetsGetTechnicl 3 hours ago
    Ugh