TARS Multimodal Operator
Use natural-language and vision-driven automation across computers, browsers, and MCP-connected tools.
- Source repo
- bytedance/UI-TARS-desktop
- Stars
- ★ 40k
- Last updated
- 28d ago
- License
- Apache-2.0
- Primary language
- TypeScript
- FA score
- 30/100 · Major gaps
At a glance
- How it runs
- Works with
- Portable with changesClaude API
- Cost
- Free software; you pay for model usage
- Setup effort
- Low · running in minutes
- You'll need
- Typical use
- A developer who wants to run a multimodal task agent from a terminal through a CLI or Web UI.
- Not a fit if
- Environments that cannot run Node.js 22 or later
- Users who need fully documented Chinese install and setup steps
- Source review
- 30/100 · Major gaps 8 safety controls not found
What does this agent do, and when should you use it?
TARS is a multimodal AI agent stack currently shipping Agent TARS and UI-TARS Desktop. Agent TARS exposes a CLI and Web UI for tasks spanning the terminal, computer, browser, and product environments. Its browser agent can use GUI visual grounding, DOM control, or a hybrid strategy, while its MCP-based kernel can mount MCP Servers for external tools. Protocol-driven Event Stream supports context engineering and Agent UI data flow. UI-TARS Desktop is a native GUI agent powered by UI-TARS and Seed-1.5-VL/1.6 series models, with local and remote computer and browser operators. The desktop application lists Windows, macOS, and browser support, plus screenshot recognition, mouse and keyboard control, and real-time status feedback.
Start Agent TARS with npx @agent-tars/cli@latest, or run a configured provider using agent-tars --provider ... --model ... --apiKey .... It accepts natural-language tasks and carries them out through GUI-agent and vision capabilities; in browsers it can use visual grounding, DOM control, or a hybrid approach. MCP Servers can be mounted to connect external tools, and the protocol-driven Event Stream carries data for context engineering and Agent UI. UI-TARS Desktop turns natural-language instructions into screenshot recognition and mouse/keyboard actions on local or remote computers and browsers, while showing real-time feedback and status.
- A developer who wants to run a multimodal task agent from a terminal through a CLI or Web UI.
- A team automating browser work that needs to combine page visuals with DOM-based control.
- A user who needs to connect an MCP Server for an external task such as producing a weather chart.
- A desktop user asking an agent to enable VS Code Auto Save and set its delay to 500 milliseconds.
- A user who wants an agent to inspect the latest open issue in the UI-TARS Desktop GitHub project through a local or remote browser operator.
How do you install or deploy this agent?
Agent TARS CLI requires Node.js 22 or later for global installation. Run npx @agent-tars/cli@latest to launch it directly, or install it globally with npm install @agent-tars/cli@latest -g. The README points UI-TARS Desktop setup to docs/quick-start.md, but that document's contents are not included in the supplied material, so no verifiable desktop installation command is available.
How do you use this agent?
After obtaining an API key for the relevant provider, run, for example, agent-tars --provider volcengine --model doubao-1-5-thinking-vision-pro-250428 --apiKey your-api-key, or agent-tars --provider anthropic --model claude-3-7-sonnet-latest --apiKey your-api-key. Then give a natural-language task; Agent TARS can use GUI, DOM, or hybrid browser control and can mount MCP Servers. The supplied material confirms local and remote computer/browser operators in the desktop app, but does not provide its launch, model-configuration, or remote-session steps.
What are this agent's strengths and limitations?
- One repository covers Agent TARS CLI/Web UI workflows and UI-TARS Desktop native GUI operation.
- Browser automation explicitly supports visual grounding, DOM control, and a hybrid mode.
- MCP is described as a kernel-level capability, with support for mounting MCP Servers to reach external tools.
- The desktop app explicitly includes screenshot and visual recognition, precise mouse/keyboard control, and real-time status display.
- Global CLI installation requires Node.js 22 or later.
- The documented run commands depend on a model provider and API key, while the supplied material does not document configuration for other providers.
- The UI-TARS Desktop quick-start contents are absent, leaving installation, model acquisition, and startup steps unverified.
- Although the desktop app claims fully local processing, the supplied material does not describe its permission model, failure recovery, or technical security boundary.
How does this agent compare with similar options?
The repository positions UI-TARS Desktop as a native desktop GUI agent and lists Midscene for browser use, but the supplied material provides no feature or performance comparison between them.
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| TARS Multimodal Operator This agent | 30 · Major gaps | CLIFree + model costs | ★ 40k | 28d ago | TypeScript | Claude API |
| Row-Bot | 59 · Major gaps | Desktop appFree + model costs | ★ 1.7k | today | Python | ChatGPT · Codex · Claude.ai · OpenAI API · Claude API |
| Skales | 36 · Major gaps | Desktop appFreemium | ★ 2.2k | 4d ago | — | ChatGPT · OpenAI API · Claude API |
| Rakazo AI Teammates | 63 · Some gaps | Self-hosted serviceFree + model costs | ★ 7.3k | today | TypeScript | — |
How does FollowAgents rate this agent?
Why each dimension lost points
Evidence shows SECURITY.md and dependency locking, but no specific implementation of least privilege, user confirmation, data flow transparency, sensitive data handling, external effects, rollback, or source attribution. Hence these criteria score 0.
Test files (e.g., browser-control-strategies.test.ts) and CI workflows exist, indicating some consistency, but no detailed evidence of failure messages or dependency availability. Thus self_consistency and dependency_availability score 1, failure_messages 0.
README demonstrates multiple use scenarios (CLI, Web UI, browser control), but capability boundaries and trigger precision are not clearly described. Hence audience_and_scenarios and environment_fit score 2, capability_boundaries and trigger_precision 1.
Information architecture is clear, install notes exist, license is Apache-2.0, but known limitations and changelog are missing. Thus information_architecture, install_notes, examples_and_faq score 2, naming_stability, versioning_changelog, maintenance_responsibility 1, known_limitations 0, license 3.
Output usability not detailed, but marginal value is high (multi-functional agent), cost-benefit not explicit. Hence output_usability 1, marginal_value 2, cost_benefit 1.
Claims in README have documentation links, but lack independent verification and clear separation of facts and inferences. Thus claim_traceability, cross_source_corroboration, fact_inference_separation all 1.
- Not found in source: least-privilege scopingGrant only what the task needs: a dedicated account or read-only token, scoped to specific directories and repos.
- Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
- Not found in source: data-flow disclosureWatch which external services it contacts (proxy or firewall logs) and keep sensitive data out until you know where it goes.
- Not found in source: sensitive-data handlingUse dedicated, low-privilege, revocable API keys — never production credentials — and keep secrets out of logs.
- Not found in source: dependency securityPin versions and run a dependency audit (npm audit, pip-audit) before installing; prefer running it in a container.
- Not found in source: disclosed external effectsEstablish which external systems it writes to, sends to or changes, and verify with test accounts or repos before production.
- Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
- Not found in source: verifiable attributionInstall from the official repo or registry and check the publisher and URL to avoid look-alike packages.
- Publisher identity not verified, treat source with caution.
- Lack of least privilege and user confirmation mechanisms, potential over-permission.
- No details on data flow transparency and sensitive data handling, needs review.
- Dependency security relies only on lock files, no vulnerability scanning evidence.
- External effects and rollback mechanisms not documented, operational risks need assessment.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
Release notes excerpt
This release closes several security issues in the Agent TARS CLI server (@agent-tars/cli, @tarko/agent-server). It changes how the server can be reached, so please read Upgrading from 0.3.0 before you update. Upgrading from 0.3.0 If you run the CLI on your own machine and open it at http://localhost, nothing changes. Otherwise: - The server only listens on 127.0.0.1 by default. It used to listen on all network interfaces. To reach it from another machine or from outside a container, pass --host, e.g. --host 0.0.0.0. …View on GitHub ↗ -
Release notes excerpt
What's Changed New Features 🎉 * feat(gui-agent): add example for 2.0 version (#1732) by @ZhaoHeh in 39ee4a8 * feat(gui-agent): add image detail calculator for enhanced screenshot processing (#1724) by @ZhaoHeh in 71e6e1a * feat(aio-operator): remove focus from the address bar after navigation (#1723) by @ZhaoHeh in 9fb722b * feat(o-gui-agent): add image's detail parameter into message (#1722) by @ZhaoHeh in 53bb572 * feat(tarko-agent-ui): add copy link option to share conversation modal (#1706) by @ULIVZ in 89b0021 * feat(tarko): add event stream viewer (#1374) by @ULIVZ in 41bf5b9 …View on GitHub ↗ -
Release notes excerpt
What's Changed New Features 🎉 * feat(tarko-agent-ui): new layout design (#1553) by @ULIVZ in 21d59fb * feat(tarko-agent-server-next): support replacing server global logger (#1554) by @cjraft in 4228662 * feat(tarko-agent-server-next): add initial events for agent when change model (#1552) by @cjraft in 55ae6d7 * feat(tarko-agent): restore events on agent session restore (#1548) by @ULIVZ in 1282b70 * feat: add @tarko/agent-server-next (#1551) by @cjraft in 043a901 * feat(tarko-agent-ui): disable model selector during agent run (#1520) by @ULIVZ in 751be28 …View on GitHub ↗
FAQ
Are the remote computer and browser operators free?
Can I use an Anthropic model?
--provider anthropic and claude-3-7-sonnet-latest, with an API key.