lkeab commited on
Commit
ef200f2
verified
1 Parent(s): 97171a7

README for UI-Mate-9B

Browse files
Files changed (1) hide show
  1. README.md +198 -0
README.md ADDED
@@ -0,0 +1,198 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model: Qwen/Qwen3.5-9B
3
+ library_name: transformers
4
+ license: apache-2.0
5
+ pipeline_tag: image-text-to-text
6
+ tags:
7
+ - computer-use-agent
8
+ - gui-agent
9
+ - multimodal
10
+ - vision-language
11
+ - desktop-agent
12
+ - pyautogui
13
+ - osworld
14
+ - windowsagentarena
15
+ ---
16
+
17
+ <div align="center">
18
+
19
+ # UI-Mate-9B
20
+
21
+ ### UI-Mate: Advancing Open-Weight Foundation GUI Agents with In-Context Demonstrations
22
+
23
+ **Show the workflow once. Let the agent adapt it to the task at hand.**
24
+
25
+ Tencent HY Frontier 路 Multimodal Agent Team
26
+
27
+ [Project Page](https://ui-mate.github.io/) 路
28
+ [GitHub](https://github.com/Tencent/UI-Mate)
29
+
30
+ </div>
31
+
32
+ ## Overview
33
+
34
+ **UI-Mate-9B** 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.
35
+
36
+ UI-Mate supports two complementary modes:
37
+
38
+ - **General computer use:** execute tasks from natural-language instructions and live screenshots.
39
+ - **Demonstration-guided computer use:** adapt a reusable workflow extracted from one successful demonstration to a new task.
40
+
41
+ A demonstration is treated as guidance rather than a fixed action script. The model continues to re-plan from the live interface when the content, layout, or application state differs.
42
+
43
+ ## Model Details
44
+
45
+ - **Parameters:** 9B
46
+ - **Base model:** [Qwen3.5-9B](https://huggingface.co/Qwen/Qwen3.5-9B)
47
+ - **Input:** task instruction, screenshots, interaction history, and optional demonstration context
48
+ - **Output:** reasoning, a concise action description, and structured computer-use tool calls
49
+ - **Action space:** mouse, keyboard, scrolling, waiting, user interaction, and task completion
50
+ - **Training:** supervised fine-tuning followed by online reinforcement learning in executable GUI environments
51
+ - **License:** Apache-2.0
52
+
53
+ 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](https://github.com/Tencent/UI-Mate).
54
+
55
+ ## Highlights
56
+
57
+ - Strong general computer-use performance at an efficient 9B scale.
58
+ - Long-horizon execution across multiple applications.
59
+ - One-shot procedural learning from demonstrations.
60
+ - Live-screen grounding instead of coordinate replay.
61
+ - Structured actions compatible with `pyautogui`.
62
+ - OpenAI-compatible serving and client interface.
63
+
64
+ ## Evaluation
65
+
66
+ ### Instruction-only execution
67
+
68
+ | Benchmark | UI-Mate-9B |
69
+ | --- | ---: |
70
+ | OSWorld-Verified 路 average score | **66.2** |
71
+ | WindowsAgentArena 路 average score | **61.7** |
72
+ | OSWorkerBench 路 strict success | **34.00** |
73
+ | OSWorkerBench 路 progress | **66.55** |
74
+
75
+ See the [project page](https://ui-mate.github.io/) for evaluation details and updates.
76
+
77
+ ## Quick Start
78
+
79
+ ### 1. Serve the model with vLLM
80
+
81
+ vLLM automatically downloads the checkpoint from Hugging Face Hub on first launch.
82
+
83
+ ```bash
84
+ pip install -U vllm openai pillow
85
+
86
+ vllm serve tencent/UI-Mate-9B \
87
+ --trust-remote-code \
88
+ --served-model-name UI_Mate \
89
+ --port 8000 \
90
+ --tensor-parallel-size 1 \
91
+ --gpu-memory-utilization 0.85 \
92
+ --mm-encoder-tp-mode data \
93
+ --chat-template-content-format openai \
94
+ --limit-mm-per-prompt '{"image":6,"video":0}'
95
+ ```
96
+
97
+ 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.
98
+
99
+ Confirm that the endpoint exposes the expected model name:
100
+
101
+ ```bash
102
+ curl -s http://127.0.0.1:8000/v1/models
103
+ ```
104
+
105
+ ### 2. Run the reference examples
106
+
107
+ ```bash
108
+ git clone https://github.com/Tencent/UI-Mate.git
109
+ cd UI-Mate
110
+
111
+ python examples/run_agent.py \
112
+ --base-url http://127.0.0.1:8000/v1
113
+ ```
114
+
115
+ Run a complete recorded trajectory:
116
+
117
+ ```bash
118
+ python examples/run_agent.py \
119
+ --replay \
120
+ --base-url http://127.0.0.1:8000/v1
121
+ ```
122
+
123
+ Or provide your own screenshot:
124
+
125
+ ```bash
126
+ python examples/run_agent.py \
127
+ --image /path/to/screen.png \
128
+ --instruction "Export this spreadsheet as HTML and open it in Chrome"
129
+ ```
130
+
131
+ ### 3. Use the Python agent
132
+
133
+ ```python
134
+ from agents.ui_mate_agent import UIMateAgent
135
+
136
+ agent = UIMateAgent(
137
+ base_url="http://127.0.0.1:8000/v1",
138
+ model="UI_Mate",
139
+ )
140
+
141
+ with open("screen.png", "rb") as f:
142
+ response, actions = agent.predict(
143
+ "Install the autoDocstring extension in VS Code.",
144
+ {"screenshot": f.read()},
145
+ )
146
+
147
+ print(response)
148
+ print(actions)
149
+
150
+ # Reset the interaction history before starting a new task.
151
+ agent.reset()
152
+ ```
153
+
154
+ The model reasons in a normalized `1000 脳 1000` coordinate space. The reference agent automatically rescales predicted coordinates to the original screenshot resolution.
155
+
156
+ ## Demonstration-Guided Execution
157
+
158
+ A UI-Mate demonstration records screenshots immediately before and after each keyboard or pointer action. The trace is then:
159
+
160
+ 1. normalized into a consistent action-and-frame representation;
161
+ 2. annotated with observations, intent, actions, and verification evidence;
162
+ 3. segmented into named subtasks with completion criteria; and
163
+ 4. injected at inference time as a compact workflow for the active subtask.
164
+
165
+ The live screenshot remains authoritative throughout execution. For demonstration recording and management, see the [UI-Mate project page](https://ui-mate.github.io/).
166
+
167
+ ## Intended Use and Limitations
168
+
169
+ UI-Mate-9B is intended for research and development of screenshot-based GUI agents in controlled desktop environments.
170
+
171
+ 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.
172
+
173
+ ## Safety
174
+
175
+ Computer-use agents can make mistakes, encounter prompt injection, or trigger consequential actions.
176
+
177
+ - Prefer isolated or disposable environments.
178
+ - Avoid unattended, high-stakes, or destructive workflows.
179
+ - Require human confirmation before sensitive operations.
180
+ - Monitor the interaction trajectory and verify the resulting application state.
181
+ - Do not treat a model-reported success as proof that the intended outcome was achieved.
182
+
183
+ ## License
184
+
185
+ UI-Mate is released under the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). Third-party components remain subject to their respective licenses. See the repository [LICENSE](https://github.com/Tencent/UI-Mate/blob/main/LICENSE) for details.
186
+
187
+ ## Citation
188
+
189
+ Citation details will be updated when the technical report is publicly released.
190
+
191
+ ```bibtex
192
+ @article{uimate2026,
193
+ title = {UI-Mate: Advancing Open-Weight Foundation GUI Agents with In-Context Demonstrations},
194
+ author = {{Tencent HY Frontier Multimodal Agent Team}},
195
+ journal = {arXiv preprint},
196
+ year = {2026}
197
+ }
198
+ ```