惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Proofpoint News Feed
The Last Watchdog
The Last Watchdog
Security Latest
Security Latest
P
Privacy International News Feed
T
Threat Research - Cisco Blogs
H
Help Net Security
T
The Exploit Database - CXSecurity.com
Know Your Adversary
Know Your Adversary
博客园_首页
S
Securelist
S
Schneier on Security
G
GRAHAM CLULEY
Cisco Talos Blog
Cisco Talos Blog
V
Visual Studio Blog
博客园 - 叶小钗
C
Cybersecurity and Infrastructure Security Agency CISA
有赞技术团队
有赞技术团队
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Microsoft Azure Blog
Microsoft Azure Blog
A
About on SuperTechFans
博客园 - 三生石上(FineUI控件)
Stack Overflow Blog
Stack Overflow Blog
量子位
L
Lohrmann on Cybersecurity
Hugging Face - Blog
Hugging Face - Blog
Engineering at Meta
Engineering at Meta
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
C
CXSECURITY Database RSS Feed - CXSecurity.com
A
Arctic Wolf
P
Privacy & Cybersecurity Law Blog
Simon Willison's Weblog
Simon Willison's Weblog
S
SegmentFault 最新的问题
The Hacker News
The Hacker News
罗磊的独立博客
博客园 - 司徒正美
D
Darknet – Hacking Tools, Hacker News & Cyber Security
博客园 - 【当耐特】
Microsoft Security Blog
Microsoft Security Blog
K
Kaspersky official blog
人人都是产品经理
人人都是产品经理
博客园 - 聂微东
L
LINUX DO - 热门话题
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
V
V2EX
V
Vulnerabilities – Threatpost
AWS News Blog
AWS News Blog
小众软件
小众软件
Project Zero
Project Zero

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant Common SOC 2 Failures (Real World) Stop Vibe-Checking Your AI App: A Practical Guide to Evals How to Use SonarQube and SonarScanner Locally to Level Up Your Code Quality Your Next To-Do App Is Dead — I Replaced Mine with an OpenClaw AI Sign a Nostr event in 60 lines of Python using coincurve — no nostr-sdk, no nbxplorer, no rust toolchain ITGC Audit Explained Like You’re in Big 4 Patch Tuesday abril 2026: Microsoft parcha 163 vulnerabilidades y un zero-day en SharePoint Stop scraping everything: a better way to track competitor price changes Listing on MCPize + the Official MCP Registry while routing payments OUTSIDE the marketplace — how I kept 100% of my x402 revenue Building an AI-Powered Risk Intelligence System Using Serverless Architecture Why We Ripped Function Overloading Out of Our AI Toolchain Testing AI-Generated Code: How to Actually Know If It Works SaaS Churn Is Killing Your Business. Here Is What to Do About It (Without a Support Team) The Speed of AI Is No Longer Linear - And Self-Improving Models Are Why How to Implement RBAC for MCP Tools: A Practical Guide for Engineering Teams From Standard Quote to Persuasive Proposal: AI Automation for Arborists I built a CLI that scaffolds complete multi-tenant SaaS apps Axios CVE-2025–62718: The Silent SSRF Bug That Could Be Hiding in Your Node.js App Right Now The dashboard that ended our friendship Data Pipelines Explained Simply (and How to Build Them with Python) The Hidden Cost of AI Systems Nobody Talks About. undefined vs undeclared, and how typeof behaves Switching from file-based jobs to NATS/Kafka in Rust without changing code io_uring Adventures: Rust Servers That Love Syscalls Why Agentic AI is Killing the Traditional Database The POUR principles of web accessibility for developers and designers Quantum Neural Network 3D — A Deep Dive into Interactive WebGL Visualization How To Install Caveman In Codex On macOS And Windows Automation Pipeline Reliability: Why Your Workflow Breaks When Nobody Is Watching I Built an 'Open World' AI Coding Agent — It Works From ANY Folder From Freelancing to Product: A Tech Service Company's SaaS Transformation China's AI Giants: Adding Tencent Hunyuan & ByteDance Doubao to AI University (74 Providers) On the Vibe Coders and Their Lies clerk: Auto-Summarize Your Claude Code Sessions AI Weekly — 2026/04/10–04/17 | The Model Lockdown Is Here, but the Toolchain Is the Real Battleground AI 週報 — 2026/04/10–2026/04/17 模型封鎖潮來了,但工具鏈才是真戰場 Maybe this is how Open-Source apps are born... 🚀 Fine-Tune LLMs with LoRA and QLoRA: 2026 Guide tRPC v11 + Next.js App Router: End-to-End Type Safety Without the Boilerplate ShadCN UI in 2026: Why I Stopped Installing Component Libraries and Started Owning My Components SaaS Billing in React Server Components: Stripe + Supabase Without a Single `useEffect` Join our DEV Weekend Challenge — $1,000 in Prizes Across TEN winners! Submissions Due April 20 at 6:59 AM UTC. Implementing FSRS Spaced Repetition in Flutter + Supabase — Adding Memory Science to an AI Learning App "I Texted My Localhost From the Train — Claude Code Fixed the Bug Before I Got Home" I Built a Sales Prep AI and It Went Deeper Than Expected Design to Code #2: One JSON, Eleven Outputs Solving the 100M-Row Problem: A Summary Table Pattern for High-Volume Push Notification Logs Flutter Web With Wasm: What Actually Changes For Developers I Built 50 Royalty-Free Soundtracks for My Side Project in a Weekend Using AI Music Generation The Vibe Coding Security Checklist: 7 Things to Check Before You Ship Stop Letting Googlebot Guess Fix Your React App's SEO Right Desconstruindo o Streaming do LinkedIn: Como Criar um Engine de Extração de Vídeo de Alta Performance com HLS e FFmpeg (EDA Part-1) EDA (Exploratory Data Analysis) Explained With Real Life — Why Looking at Your Data Is the Most Important Step in Machine Learning Brand Relationship Management at Scale: Our 4-Touch Outreach System for 200+ Brands Why String.fromEnvironment() Might Return an Empty String in Dart JGuardrails 1.0.0 — Hardening Java LLM Apps Against Jailbreaks, Toxicity, and Prompt Injection Plan and Schedule a Full Week of Threads Content From One Claude Conversation Coding Cat Oran Ep3, Five Tables Changed Everything Updated: BFF Pattern I'm done watching freelancers get buried by 200 proposals. So I'm building the alternative. This is my first post BFS Algorithm in Java Step by Step Tutorial with Examples Tracking LLM Pricing Monthly: An Open Dataset for 22 AI Models How We Measure Content ROI on a Comparison Site: Revenue Attribution Without Perfect Data Introducing Nova AI Ops: The AI-Native Operating System for SRE Teams I built a free desktop video downloader for Windows — Grabbit How Talkie OCR Helps Vision-Impaired & Dyslexic Users Read the World Around Them VRCFaceTracking安装和iPhone面捕配置教程,有bug Even CrowdStrike Can't See Your Agents The Automation Gold Rush: What n8n Workflows and Claude Are Opening Up for Developers Right Now
After MCP, What's the Next Standard Interface for AI Agents?
Mininglamp · 2026-06-25 · via DEV Community

Model Context Protocol solved a real problem. Before MCP, every tool integration required custom glue code. After MCP, agents can talk to databases, APIs, and services through a standard interface. The protocol gave us a common language for agent-tool communication, and the ecosystem responded with thousands of MCP servers.

But there’s a category of interaction that MCP doesn’t address: graphical user interfaces. Agents still struggle to operate desktop applications, web interfaces, and mobile apps with the same fluency they show when calling APIs. The problem isn’t intelligence. It’s the lack of a standard way for agents to perceive and manipulate GUIs.

Three approaches have emerged to close this gap. Each makes different engineering tradeoffs, and none has achieved the kind of adoption that MCP has seen. Understanding these tradeoffs matters if you’re building agents that need to interact with the visual world.

The GUI Agent Problem

APIs are structured. They accept typed parameters, return predictable responses, and document their behavior. GUIs are none of these things. A button might be labeled “Submit,” “Save,” or “OK.” It might be positioned differently on different screen sizes. Its availability might depend on the state of three other form fields. The visual representation is an abstraction layer over underlying state, and that abstraction was designed for humans, not machines.

An agent operating a GUI needs to do three things: perceive the current interface state, decide what action to take, and execute that action. The perception step is where approaches diverge. How does the agent “see” the interface?

Approach 1: API Integration

The most straightforward approach is to bypass the GUI entirely and use APIs when they exist. Many desktop applications expose scripting interfaces. Web applications often have REST APIs or GraphQL endpoints. Mobile apps sometimes support URL schemes or accessibility hooks that can be invoked programmatically.

This approach works well when APIs are available and well-documented. An agent can call create_document(), pass structured parameters, and receive a confirmation response. The interaction is fast, reliable, and doesn’t require visual processing.

The limitation is coverage. Most consumer applications don’t expose comprehensive APIs. Even when APIs exist, they often don’t cover all the functionality available through the GUI. A photo editing app might have an API for basic operations but not for advanced filters. A web application might have a public API for reading data but not for complex workflows that require multi-step form submissions.

API integration also doesn’t help with legacy systems, proprietary software, or applications where the API has been deprecated or never built. The agent becomes dependent on the goodwill of application developers to expose the functionality it needs.

Some frameworks try to extend API coverage by wrapping GUI automation libraries. Python’s pyautogui, Apple’s AppleScript, and Windows UI Automation all provide programmatic access to GUI elements. These tools work, but they’re fragile. They depend on element identifiers, window titles, and UI hierarchies that change between application versions. A script that works today might break after a software update.

Approach 2: Accessibility Tree

Operating systems maintain accessibility trees: structured representations of UI elements designed for screen readers and assistive technologies. These trees contain information about buttons, text fields, menus, and their current states. An agent can query the accessibility tree to understand what elements are present and what actions they support.

This approach is more robust than raw API integration because accessibility trees are standardized at the OS level. macOS uses the Accessibility API, Windows uses UI Automation, and web browsers expose the DOM through accessibility interfaces. An agent that understands these APIs can operate across many applications without custom integration for each one.

Google’s approach with Gemini 3.5 Flash Computer Use leans heavily on accessibility trees. The model can query the accessibility tree of a web page or application, identify interactive elements, and generate actions to manipulate them. This works well for structured interfaces like web forms, file managers, and settings panels.

The accessibility tree approach has limits. Not all applications expose complete accessibility information. Custom-drawn interfaces, games, and applications with non-standard UI frameworks often have sparse or inaccurate accessibility trees. Canvas-based rendering, WebGL content, and video players present particular challenges because their visual content doesn’t map cleanly to accessibility nodes.

Accessibility trees also miss visual information that matters for human-like interaction. The tree might tell you a button exists and is labeled “Save,” but it won’t tell you that the button appears grayed out, that a tooltip is hovering over it, or that a dialog box has appeared in the foreground. These visual cues inform human decision-making, and agents operating purely on accessibility data miss them.

Approach 3: Pure Vision

The third approach treats the screen as an image and uses computer vision to understand it. The agent takes screenshots, processes them through a vision-language model, and generates mouse and keyboard actions based on what it sees. This is the most general approach because it works with any GUI, regardless of whether APIs or accessibility trees exist.
Pure vision agents don’t depend on application-specific integrations. They see the screen the way a human sees it: pixels arranged in patterns that represent buttons, text, images, and layouts. A vision-language model can identify a “Submit” button by its visual appearance, even if the button has no accessibility label or API endpoint.

The tradeoff is computational cost and latency. Processing a screenshot through a vision model takes time. A single inference might require 200-500 milliseconds, and complex interfaces might need multiple inference steps to parse correctly. This makes pure vision agents slower than API-based approaches, where actions execute in milliseconds.

Memory and compute requirements are also higher. Vision-language models need to process high-resolution images, which consume significant VRAM or RAM. Running these models on edge devices—laptops, desktops, mobile phones—requires careful optimization.

Mano-P takes the pure vision approach and optimizes it for edge deployment. The model is a GUI-VLA (Visual-Language-Action) agent designed to run locally on consumer hardware. The 72B parameter version achieves 58.2% success rate on OSWorld benchmarks, ranking first among specialized GUI agents. But the 72B model is primarily for research and benchmarking. The 4B quantized version is what users can actually deploy: it runs with 4.3GB of peak memory usage, achieving 476 tokens per second during prefill and 76 tokens per second during decoding on Apple M4 hardware with 32GB RAM.

The performance characteristics matter for practical deployment. An agent that takes two seconds to process each screenshot creates a sluggish user experience. An agent that processes screenshots in under 200 milliseconds feels responsive. The 4B model’s throughput makes real-time GUI interaction feasible on commodity hardware, which changes where GUI agents can be deployed.

Pure vision also handles edge cases that other approaches struggle with. Custom-drawn interfaces, games, video content, and applications with non-standard UI frameworks all render to pixels. A vision agent can operate them without requiring special integration work.

Engineering Tradeoffs

Choosing between these approaches depends on your deployment context.
API integration is fastest and most reliable when APIs exist. It’s the right choice for agents that operate within well-defined software ecosystems where API coverage is comprehensive. If you’re building an agent that automates workflows in Salesforce, Jira, and Slack, API integration makes sense. The agent will be fast, predictable, and easy to debug.

Accessibility tree approaches offer broader coverage with reasonable performance. They work well for agents that need to operate across many applications but don’t require pixel-perfect visual understanding. Web automation, form filling, and menu navigation are good fits. The approach breaks down when applications have poor accessibility support or when visual context matters for decision-making.

Pure vision is the most general but most expensive. It’s appropriate when agents need to operate arbitrary GUIs, handle visual complexity, or work with applications that lack APIs and accessibility support. The computational cost has historically limited this approach to cloud deployments, but model compression and edge optimization are changing that equation.

Hybrid approaches are also viable. An agent might use API integration for structured operations, fall back to accessibility trees for standard UI elements, and use vision only when the other approaches fail. This layered strategy balances performance and coverage, though it increases implementation complexity.

The Standardization Question

MCP succeeded because it defined a minimal viable interface: tools expose functions with typed parameters, agents call those functions, and results flow back. The protocol is simple enough to implement quickly and flexible enough to cover many use cases.

A GUI agent protocol would need to address different concerns. It would need to standardize how agents perceive interface state (screenshots, accessibility trees, or both), how they specify actions (coordinates, element references, or semantic descriptions), and how they receive feedback (visual confirmation, state changes, or error messages).

No such standard exists yet. Each GUI agent framework defines its own perception and action primitives. Mano-P uses screenshot-based perception with coordinate-based actions. Other frameworks use accessibility tree queries with element ID-based actions. The lack of standardization means that GUI agents are not portable across frameworks, and application developers have no clear target to optimize for.

The Octo workspace takes a different approach to this problem. Rather than standardizing the GUI interaction layer directly, it focuses on agent coordination and task orchestration. Individual agents within Octo can use different interaction strategies—API integration for some tasks, GUI automation for others—while the workspace manages context, state, and collaboration between them. This sidesteps the standardization question by treating GUI interaction as an implementation detail rather than a protocol concern.

Whether a GUI-specific protocol will emerge remains unclear. The diversity of approaches suggests the problem space is not yet well understood. MCP took years to gain traction, and GUI agent interaction may require a similar maturation period before a standard emerges.

Open Problems

Several technical challenges remain unsolved regardless of which approach dominates.

State tracking across actions. GUIs are stateful. Clicking a button might open a dialog, change a menu, or trigger a loading spinner. Agents need to track these state changes and adjust their behavior accordingly. Current approaches handle this through repeated perception cycles—take a screenshot, detect the state change, decide the next action—but this is inefficient and error-prone.

Error recovery. GUIs fail in unpredictable ways. A dialog might appear unexpectedly. A network request might timeout, leaving the interface in an inconsistent state. An element might be obscured by a popup. Agents need robust error detection and recovery strategies, but defining what constitutes an “error” in a GUI context is difficult.

Multi-step workflows. Many GUI tasks require sequences of actions with intermediate verification. Filling out a multi-page form, configuring application settings, or navigating a complex menu hierarchy all require maintaining context across multiple perception-action cycles. Current agents struggle with long-horizon tasks that span dozens of steps.
Cross-platform consistency. An agent that works on macOS might fail on Windows or Linux because the same application renders differently on each platform. Building agents that generalize across operating systems requires handling platform-specific UI conventions, keyboard shortcuts, and interaction patterns.

What Comes Next

The GUI agent space is where API integration was before MCP: fragmented, with each implementation defining its own conventions. The success of MCP suggests that standardization is possible, but the problem spaces are fundamentally different. API integration deals with structured data and typed interfaces. GUI interaction deals with pixels, visual layouts, and human-designed abstractions.

Pure vision approaches like Mano-P demonstrate that general GUI agents are technically feasible on edge hardware. The 4B model’s performance characteristics—sub-200ms inference, 4.3GB memory footprint—show that the computational barriers are falling. The question is whether the community will converge on a standard interface for GUI agent interaction, or whether the diversity of approaches will persist.

For developers building agents today, the pragmatic answer is to use the approach that fits your deployment context. API integration when coverage is sufficient. Accessibility trees for broader reach with acceptable performance. Pure vision when generality matters more than speed. And keep watching for standards to emerge, the way MCP emerged for tool integration.

The code for Mano-P https://github.com/Mininglamp-AI/Mano-Pis available on GitHub under Apache 2.0 license. The 4B quantized model is ready for local deployment on Apple M4 hardware. If you’re working on GUI agent problems, the repository includes benchmark scripts, model weights, and deployment documentation. Worth a star if the problem space interests you.