UI-Mate-27B is an open-weight foundation GUI agent for long-horizon work across applications and operating systems. It observes live screenshots, reasons over the visible state, and produces structured keyboard and mouse actions for native desktop interaction.
It executes a task from a natural-language instruction and live screenshots alone, planning from what is currently on screen and re-planning as the interface changes.
Input: task instruction, screenshots, and interaction history
Output: reasoning, a concise action description, and structured computer-use tool calls
Action space: mouse, keyboard, scrolling, waiting, user interaction, and task completion
Training: supervised fine-tuning followed by online reinforcement learning in executable GUI environments
License: Apache-2.0
UI-Mate is an agent checkpoint rather than a standalone visual-chat model. We recommend using the official prompt, response parser, and interaction harness from the UI-Mate repository.
The default agent retains five screenshots in context. The server must therefore admit at least six images because the newest screenshot arrives before the oldest one is collapsed.
Confirm that the endpoint exposes the expected model name:
from agents.ui_mate_agent import UIMateAgent
agent = UIMateAgent(
base_url="http://127.0.0.1:8000/v1",
model="UI_Mate",
)
with open("screen.png", "rb") as f:
response, actions = agent.predict(
"Install the autoDocstring extension in VS Code.",
{"screenshot": f.read()},
)
print(response)
print(actions)
# Reset the interaction history before starting a new task.
agent.reset()
UI-Mate-27B is intended for research and development of screenshot-based GUI agents in controlled desktop environments.
Its behavior can be affected by application versions, screen layouts, display scaling, latency, and unexpected UI state. Benchmark performance does not guarantee reliable execution in arbitrary environments, and the model requires an external runtime to execute its predicted actions.
UI-Mate is released under the Apache License 2.0. Third-party components remain subject to their respective licenses. See the repository LICENSE for details.