frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Show HN: I spent 3 months making desktop automation stop lying to AI agents

https://github.com/lahfir/agent-desktop/tree/main
2•lahfir•48m ago
That's a bold claim. But I genuinely feel like I might have actually solved computer use (demo: https://x.com/mdlahfir/status/2088109763783700827?s=20)

For context, I've been building agent-desktop (Inspired by agent-browser by Vercel Labs), an automation CLI for desktop apps. It's like Playwright but for desktops, not just native, but for Chromium apps as well. Trust me, yes, Chromium apps whose accessibility tree is dense.

MacOS is GA; I'm almost close to launching for Windows and Linux!

So, how did I solve it?

Basically interoperability.

The biggest issue with computer use is that we have reliable frameworks for browser use, like Playwright, agent-browser, and many more, but not the same with desktops.

We have really good solutions emerging, like tryCua, which I'm a big fan of. My vision with agent-desktop is to build the most reliable framework that agents can use for long-horizon tasks.

agent-desktop is lightweight, built on Rust, fast, and not token-hungry (It can go for hours without exceeding the context window)

Here's the approach I used to make it possible:

a) skeleton snapshots - when you want to snapshot a window/app, it only snapshots the parent containers and gives back a ref id, not the entire accessibility tree.

b) skeleton drilling - once the agent has that tree, it can then decide to drill into a specific region. All the subcommands like --find, --click, --wait... all work on that specific ref aware region. Meaning if you want to find an element in the entire app, it doesn't take forever searching for the entire app for that element; rather, the agent will have an exact clue on where that element might be for a fraction of the token costs.

c) chained interaction fallback - a single click isn't one API call but it's an ordered chain of mechanisms (AXPress -> AXOpen -> activate through the inner cell -> write selection -> AXConfirm). Each step only runs if the element advertises it, and success is judged by watching the app's state change, not by the return code, because apps lie in both directions: Finder returns an error for an action that worked and success for one that did nothing. First observed effect wins. The response reports every step tried, so the agent knows exactly which mechanism landed.

d) after-action feedback - every action reports its disposition (delivered and verified, delivered but unverified, not delivered) plus any surface that opened (dialog, menu, sheet), so the agent knows what happened without re-scanning the whole app.

e) strict ref re-identification - a ref isn't a pointer; it's identity evidence (role, path, stable text, bounds hash). Before every action, it's re-resolved against the live UI. If the UI changed, you get STALE_REF; if two elements now match, you get AMBIGUOUS_TARGET. It never guesses.

The most important part about all this is Chromium app accessibility. How did I do it? The magic word is CDP!

Most desktop apps today are Chromium-based (Slack, VS Code, Obsidian, Discord...). One command launches the app with a CDP endpoint that agent-desktop verifies is actually answering before returning it. From there, any browser automation framework can connect and drive the web contents: Playwright, Puppeteer, agent-browser, whatever you already use. Reading Obsidian's web content over CDP takes 201ms vs 2.3s through the accessibility tree.

$ agent-desktop launch "Obsidian" --cdp

  { "ok": true, "data": {
    "renderer": "chromium",
    "cdp": { "port": 57500,
             "http_endpoint": "http://127.0.0.1:57500",
             "websocket_url": "ws://127.0.0.1:57500/devtools/browser/..." },
    "suggestion": "Next: run `agent-browser connect 57500` ..." } }
This is what makes agent-desktop interoperable with the entire browser automation ecosystem instead of competing with it.

Go try agent-desktop -> https://github.com/lahfir/agent-desktop

Choosing the Right Database for AI Agents: LLM Generated SQL

https://predictabledialogs.com/learn/ai-stack/choosing-database-configurable-ai-agents
1•jaikant•2m ago•0 comments

Behold the 'glueball,' a new form of matter

https://www.science.org/content/article/behold-glueball-strange-new-form-matter
1•the-mitr•5m ago•0 comments

Global Mastercard outage stopping shopping in Sydney

https://www.smh.com.au/national/global-mastercard-outage-stopping-shopping-in-sydney-20260815-p60...
1•Khaine•9m ago•0 comments

Are You a Human?

https://www.newyorker.com/magazine/2026/08/17/are-you-a-human
1•mitchbob•11m ago•1 comments

Hacking Fiber to the Home

https://hackaday.com/2026/08/13/hacking-fiber-to-the-home/
2•Corrado•17m ago•0 comments

An Autonomous Framework for Systematic Factor Invest via Agentic AI

https://papers.ssrn.com/sol3/papers.cfm?abstract_id=6416881
1•dima1830•18m ago•0 comments

Show HN: NexusMem – local memory for coding agents, not just Git log

https://github.com/yaminbkk/NexusMem
1•yamin_bakoh•23m ago•0 comments

Who Is Cami Clark? Anthropic CEO's Wife Asked Epstein to Invest in Porn Business

https://www.forbes.com/sites/alisondurkee/2026/08/14/who-is-cami-clark-anthropic-ceos-wife-asked-...
4•gpi•27m ago•0 comments

Apple launches ads in Apple Maps for businesses across the US and Canada

https://www.theapplepost.com/2026/08/14/71094/apple-launches-ads-in-apple-maps-for-businesses-acr...
1•mgh2•28m ago•0 comments

Did the AI Bubble Just Pop?

https://www.youtube.com/watch?v=wrFH8PvDPFE
1•cable2600•34m ago•0 comments

Show HN: GPT, Claude, Gemini. Ask them all. Pay for one

https://whizi.io/
1•not_wowinter14•36m ago•0 comments

Robots That Walk and Talk Are Coming to Car Factories

https://www.nytimes.com/2026/08/11/business/humanoid-robots-car-factories.html
2•m463•36m ago•0 comments

Patterns and Problems in Multiagent Systems

https://www.anthropic.com/research/multiagent-systems
1•jonbaer•36m ago•0 comments

A Proposal to Fix Go's Proposal Backlog

https://github.com/golang/go/discussions/80580
1•lr0•43m ago•0 comments

Show HN: NoiseDrop – describe a place, hear it

https://www.noisedrop.app/
1•jigarmody24•46m ago•0 comments

Show HN: I spent 3 months making desktop automation stop lying to AI agents

https://github.com/lahfir/agent-desktop/tree/main
2•lahfir•48m ago•0 comments

Sexually transmitted infections are surging in Europe

https://www.economist.com/europe/2026/08/09/sexually-transmitted-infections-are-surging-in-europe
3•alphabetatango•54m ago•0 comments

Single-provider vs. multi-provider architectures for multimodal AI apps

https://medium.com/@CometAPI_/how-to-architect-a-multimodal-app-for-chat-image-and-video-in-2026-...
1•WavyPeng•55m ago•0 comments

Show HN: AI Meeting Assistant in Browser

https://chatpanel.net/
1•earth2mars•57m ago•1 comments

France's constitutional authority strikes down social media ban for under-15s

https://www.france24.com/en/france/20260814-france-s-constitutional-authority-strikes-down-social...
3•Markoff•1h ago•1 comments

Agents on Rails: The LLM Benchmark Project

https://rubyonrails.org/2026/8/12/llm-benchmarking-project
1•ksec•1h ago•0 comments

Show HN: ThoughtDAG – An editable context graph for LLM conversations

https://chenxiachan.github.io/thoughtdag/
3•chatchan•1h ago•0 comments

Flink SQL vs. Flink Java API

https://www.reddit.com/r/apacheflink/s/TAzjpyYzSH
2•ganeshsivakumar•1h ago•0 comments

Best US- and EU-hosted abliterated models with no input/output prompt retention

https://next.abliteration.ai
3•thomadev0•1h ago•2 comments

Instagzam and Other Logo Redesigns

https://creolened.com/instagzam-and-other-logo-redesigns/
1•meetpateltech•1h ago•0 comments

The other Sean Byrne doesn't exist

https://conic.al/writing/the-other-sean-byrne-doesnt-exist/
22•rdl•1h ago•5 comments

Reconsidering O_CREAT|O_DIRECTORY

https://lwn.net/Articles/1085617/
2•pykello•1h ago•0 comments

BibleMigo- where the Bible meets technology and game mechanics

https://www.biblemigo.com/
1•mosesmanzana•1h ago•0 comments

App:Unforgetful

https://marco.org/2026/08/14/unforgetful
1•shivaraj1996•1h ago•0 comments

An Idea for a New Form of Media

3•tsydenzhap•1h ago•1 comments