UI-TARS-desktop

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.