Video wird geladen...

Video konnte nicht geladen werden

Zur Startseite

Introducing agent-desktop Computer use for your agents ▲ E2E test desktop apps with agents ▲ Reads apps via the accessibility tree ▲ Drills into part of a window to save tokens ▲ Runs many agents on one app at once ▲ Works on macOS, Windows & Linux npm i...

70,781 Aufrufe • vor 20 Stunden •via X (Twitter)

49 Kommentare

Profilbild von Lahfir ▲
Lahfir ▲vor 20 Stunden

1/ Skeleton based drilling Agents don't need to see the whole screen, instead of exposing the entire screen, they can now drill through into only what they want.

Profilbild von Lahfir ▲
Lahfir ▲vor 20 Stunden

2/ Multi-agent Run several agents on one desktop. Start a session with --multi-agent and give each agent an --agent-id. Each one gets its own cursor and label, so you can see who is doing what.

Profilbild von Lahfir ▲
Lahfir ▲vor 20 Stunden

3/ Headless and headed Headless by default with an exception to few commands - `drag, menus, surfaces`

Profilbild von Lahfir ▲
Lahfir ▲vor 20 Stunden

4/ With agent-browser agent-desktop pairs with agent-browser. agent-browser drives the web. agent-desktop drives native apps. Together your agent gets reliable computer use across the browser and the desktop.

Profilbild von Lahfir ▲
Lahfir ▲vor 20 Stunden

Your agents can run agent-desktop in a Vercel Sandbox too. Start a Linux desktop in the cloud, run agent-desktop inside it, and get JSON back.

Profilbild von Lahfir ▲
Lahfir ▲vor 20 Stunden

A ▲ Labs Experiment. Give your agents hands today npm i -g agent-desktop

Profilbild von Haki
Hakivor 19 Stunden

shoutout to @vercel team for making agent-browser

Profilbild von andré valle
andré vallevor 19 Stunden

reading apps through the accessibility tree is the smart move. way more reliable than guessing from screenshots

Profilbild von heath
heathvor 19 Stunden

I built helix, a personal tool to manage my AI agents, so I’m curious: what happens if two agents try to change the same app state at once?

Profilbild von Pranit
Pranitvor 19 Stunden

Yes sirrrrrr

Profilbild von Lahfir ▲
Lahfir ▲vor 19 Stunden

lessgoo

Profilbild von Patrick
Patrickvor 17 Stunden

For those of you who might be using @omarchy tell Claude to "fork the repo and start installing and testing. Then every time you runs into an error or a limitation, code a solution and retest. Keep testing until the entire stack works" Thank me later.

Profilbild von Jeremiah
Jeremiahvor 18 Stunden

Tried it with Zed and it fumbled working in the background. MacOS Harness works better...

Profilbild von Lahfir ▲
Lahfir ▲vor 18 Stunden

Was it taking the focus?

Profilbild von Jeremiah
Jeremiahvor 17 Stunden

It was at first and in the background it couldn't type into Zed since Zed exposes no accessibility ref for the editor while MacOS Harness sends keys straight to Zed's process. I had told it "open Zed and type out a joke then save it as a file."

Profilbild von Lahfir ▲
Lahfir ▲vor 17 Stunden

'osascript' which I believe is what macos harness does, we should explore this. Thanks for the feedback

Profilbild von CoArena (YC S26)
CoArena (YC S26)vor 13 Stunden

The window drill-down is a useful detail. Would love to see full-window vs drilled-down token counts at the same task completion rate, including screenshot fallbacks when controls are missing from the accessibility tree.

Profilbild von Juan Pinzón
Juan Pinzónvor 15 Stunden

There is focus problems on other frameworks using the accessibility tree any progress on this end?

Profilbild von Olgun
Olgunvor 19 Stunden

was thinking about to build something like that, awesome work

Profilbild von Pete Sena
Pete Senavor 18 Stunden

Epic! There goes my whole weekend. LFG

Profilbild von Salem Sayed 🔻
Salem Sayed 🔻vor 11 Stunden

Hoping for hyperland support soon

Profilbild von adam
adamvor 18 Stunden

nice work

Profilbild von Lahfir ▲
Lahfir ▲vor 18 Stunden

Thanks

Profilbild von Harsh Raj
Harsh Rajvor 18 Stunden

this is sick. what does it do on apps with half-labeled accessibility trees, fall back to screenshots?

Profilbild von Lahfir ▲
Lahfir ▲vor 18 Stunden

It's like a iframe issue in web. Doesn't fallback automatically but you can get it working using --headed It's a really good surface to work on. Getting it working for poor accessible elements would be a banger

Profilbild von Harsh Raj
Harsh Rajvor 17 Stunden

ah got it, the iframe analogy helps. pretty cool shit you're working on. getting it to handle poorly labeled elements would be huge.

Profilbild von Lahfir ▲
Lahfir ▲vor 17 Stunden

🫡

Profilbild von Anjana Supun
Anjana Supunvor 19 Stunden

This should be good

Profilbild von Marco D'Alia
Marco D'Aliavor 11 Stunden

great! will it works with agent-browser? Meaning it could for eg operate the browser and other apps together with an unified interface?

Profilbild von Lahfir ▲
Lahfir ▲vor 11 Stunden

Yes! agent-desktop -> desktop apps, agent-browser -> browser surfaces / chromium apps

Profilbild von Marco D'Alia
Marco D'Aliavor 9 Stunden

nice, thanks!

Profilbild von Lucas Young
Lucas Youngvor 10 Stunden

Drilling into just the place card (45 refs vs 75 for the whole window) is the part I want for long desktop runs. Couldn't try it on our headless Linux box yet since there's no AT-SPI bus there

Profilbild von Taesu
Taesuvor 19 Stunden

👀

Profilbild von Esteban Suárez
Esteban Suárezvor 15 Stunden

huge

Profilbild von Bragifer
Bragifervor 11 Stunden

Running many agents on one app makes state isolation part of the test design. If one changes the screen while another asserts against it, a failure may reflect the test setup rather than an app bug.

Profilbild von Soph h
Soph hvor 19 Stunden

Great point!

Profilbild von Justin Wright
Justin Wrightvor 15 Stunden

@bot check this out

Profilbild von Juliano | Building easi.run
Juliano | Building easi.runvor 15 Stunden

Background input looks useful for shared browser workflows. How do you handle a person taking over while an agent has actions queued? I'd want an explicit pause/hand-back signal before those actions resume, especially around logins and forms.

Profilbild von 383degrees
383degreesvor 13 Stunden

stop moving the mouse lol. use a grid

Profilbild von DataMining
DataMiningvor 12 Stunden

yeah reading the accessibility tree instead of guessing pixels is overdue. curious how often screenshot loops still win once the UI gets weird.

Profilbild von Sacha
Sachavor 10 Stunden

i'm tired of javascript boss

Profilbild von Adar
Adarvor 12 Stunden

Bro how does it compare to Cua Driver?

Profilbild von Brian Gruber
Brian Grubervor 18 Stunden

What is this sorcery?!

Profilbild von Lucky · CypherMonkey🐒
Lucky · CypherMonkey🐒vor 13 Stunden

Wowww

Profilbild von Shpeedle
Shpeedlevor 16 Stunden

nice man nice. how does it do with linux? I will have to try it out. I was doing something similar with boxcar: but I have not worked on it in a bit. Linux is a little trickier bc of wayland and an inconsistency in accessibility trees in app distributions.

Profilbild von Peter Prins
Peter Prinsvor 8 Stunden

Wow, very cool! Looking forward to giving it a spin! Question: how does it handle permissions? E.g. How can I instruct it to never send e-mail or complete forms on websites?

Profilbild von Leo Piñeyro
Leo Piñeyrovor 16 Stunden

@ctatedev Really exciting stuff!

Profilbild von BreezeOg
BreezeOgvor 12 Stunden

accessibility tree instead of screenshots should save a ton of tokens

Profilbild von Danny Shmueli
Danny Shmuelivor 8 Stunden

Can it play an Unreal game for me? asking for my hospital game

Ähnliche Videos