UI-TARS-desktop
Facts
- Openness
- Open source
- Licence
- Apache-2.0
- Language
- TypeScript
- Pinned version
54dc6f3(2025-11-04)- Topics checked
- 28 of 33
- Kind of agent
- Browser/GUI
What it does notably well
- Compaction
@tarko/agent bounds context by counts only: a window of the newest 5 images (older ones become '[Image omitted to conserve context]') and a FIFO cap of 1000 events; neither…
- Concurrency
The tarko agent runs one async loop per agent with a reused LLM client and executes the tool calls of each turn strictly serially, while agent-server-next keeps per-session…
- Message model
@tarko/agent's canonical history unit is a typed AgentEventStream.Event (17 core event types plus a module-augmentable extension map), and the LLM messages are re-derived from…
- Eval harness
UI-TARS-desktop's agent-snapshot harness replays a recorded run deterministically by substituting a mock LLM client that returns the recorded response for each loop, then…
- Fresh look each step
@tarko/agent keeps history as a typed event stream (17 core event types plus an extension map) and re-derives the messages on every LLM request, pairing tool results to calls by…
- Human approval
The desktop app's GUIAgent supports cooperative pause, resume and stop, with an AbortController signal and a model-emitted call_user action that hands control to the user.
See how UI-TARS-desktop does on each topic
The topic-by-topic verdicts, the code lines and a side-by-side comparison are in the app. Sign in with Google; new accounts are approved by hand.
Independent analysis, not affiliated with UI-TARS-desktop.