AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
MCP verified Apache-2.0 Self-run

UI TARS Desktop

mcp-sjkncs-ui-tars-desktop ยท by sjkncs

๐Ÿค– Community fork of ByteDance UI-TARS-desktop | Multimodal AI Agent with Chat System, Message Actions, Global Shortcuts & Optimization Settings | ๅŸบไบŽๅญ—่Š‚่ทณๅŠจ UI-TARS-desktop ็š„็คพๅŒบๅขžๅผบ็‰ˆ๏ผŒๆ–ฐๅขž่Šๅคฉ็ณป็ปŸใ€ๆถˆๆฏๆ“ไฝœๆ ใ€ๅ…จๅฑ€ๅฟซๆท้”ฎไธŽไผ˜ๅŒ–่ฎพ็ฝฎ

โ€” No reviews yet
0 installs
32 views
0.0% viewโ†’install

Install

$ agentstack add mcp-sjkncs-ui-tars-desktop

โœ“ scanned ยท โœ“ verified, works with Claude Code, Cursor, and more.

Security review

โœ“ Passed

No issues found. Passed automated security review. ยท v0.1.0 How review works โ†’

  • โœ“ Prompt-injection patterns
  • โœ“ Secret / credential exfiltration
  • โœ“ Dangerous shell & filesystem operations
  • โœ“ Untrusted network calls
  • โœ“ Known-malicious package signatures

What it can access

  • โœ“ Network access No
  • โœ“ Filesystem access No
  • โœ“ Shell / process execution No
  • โ— Environment & secrets Used
  • โœ“ Dynamic code execution No

From automated source analysis of v0.1.0. โ€œUsedโ€ means the capability is present in the source โ€” more access means more to trust, not that itโ€™s unsafe.

View the full security report โ†’

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-sjkncs-ui-tars-desktop)

Reliability & compatibility

โœ“ Security review passed
0 installs to date
โ€” no reviews yet
โ—‹ 4mo ago

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work โ†’
Are you the author of UI TARS Desktop? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

โš ๏ธ Fork Notice / ้กน็›ฎๅฃฐๆ˜Ž

This repository is a community fork of the original UI-TARS-desktop project by ByteDance. All original code, design, and intellectual property belong to ByteDance and its contributors.

| | Link | |---|---| | ๐Ÿ”— Original Project | github.com/bytedance/UI-TARS-desktop | | ๐Ÿด This Fork | github.com/sjkncs/UI-TARS-desktop |

English | ็ฎ€ไฝ“ไธญๆ–‡


๐Ÿ“– Introduction

TARS* is a Multimodal AI Agent stack, currently shipping two projects: [Agent TARS](#-agent-tars) and [UI-TARS-desktop](#-ui-tars-desktop):

๐Ÿค– Agent TARS ๐Ÿ–ฅ๏ธ UI-TARS-desktop

Agent TARS โ€” A general multimodal AI Agent stack bringing GUI Agent and Vision into your terminal, computer, browser and product.

Ships with CLI and Web UI, integrating with MCP tools.

UI-TARS Desktop โ€” A desktop application providing native GUI Agent based on UI-TARS model.

Ships local and remote computer + browser operators.


๐Ÿ“‘ Table of Contents

Click to expand / collapse

  • [๐Ÿ“– Introduction](#-introduction)
  • [๐Ÿ“ฐ News](#-news)
  • [๐Ÿค– Agent TARS](#-agent-tars)
  • [๐Ÿ–ฅ๏ธ UI-TARS Desktop](#%EF%B8%8F-ui-tars-desktop)
  • [๐Ÿ”ง Our Modifications](#-our-modifications)
  • [๐Ÿ™ Acknowledgments](#-acknowledgments)
  • [๐Ÿค Contributing](#-contributing)
  • [๐Ÿ“„ License](#-license)
  • [๐Ÿ“ Citation](#-citation)

๐Ÿ“ฐ News

  • \[2025-11-05\] ๐ŸŽ‰ We're excited to announce the release of Agent TARS CLI v0.3.0! This version brings streaming support for multiple tools (shell commands, multi-file structured display), runtime settings with timing statistics for tool calls and deep thinking, Event Stream Viewer for data flow tracking and debugging. Additionally, it features exclusive support for AIO agent Sandbox as isolated all-in-one tools execution environment.
  • \[2025-06-25\] We released a Agent TARS Beta and Agent TARS CLI - Introducing Agent TARS Beta, a multimodal AI agent that aims to explore a work form that is closer to human-like task completion through rich multimodal capabilities (such as GUI Agent, Vision) and seamless integration with various real-world tools.
  • \[2025-06-12\] - ๐ŸŽ We are thrilled to announce the release of UI-TARS Desktop v0.2.0! This update introduces two powerful new features: Remote Computer Operator and Remote Browser Operatorโ€”both completely free. No configuration required: simply click to remotely control any computer or browser, and experience a new level of convenience and intelligence.
  • \[2025-04-17\] - ๐ŸŽ‰ We're thrilled to announce the release of new UI-TARS Desktop application v0.1.0, featuring a redesigned Agent UI. The application enhances the computer using experience, introduces new browser operation features, and supports the advanced UI-TARS-1.5 model for improved performance and precise control.
  • \[2025-02-20\] - ๐Ÿ“ฆ Introduced [UI TARS SDK](./docs/sdk.md), is a powerful cross-platform toolkit for building GUI automation agents.
  • \[2025-01-23\] - ๐Ÿš€ We updated the [Cloud Deployment](./docs/deployment.md#cloud-deployment) section in the ไธญๆ–‡็‰ˆ: GUIๆจกๅž‹้ƒจ็ฝฒๆ•™็จ‹ with new information related to the ModelScope platform. You can now use the ModelScope platform for deployment.

๐Ÿค– Agent TARS

Agent TARS is a general multimodal AI Agent stack, it brings the power of GUI Agent and Vision into your terminal, computer, browser and product. It primarily ships with a CLI and Web UI for usage. It aims to provide a workflow that is closer to human-like task completion through cutting-edge multimodal LLMs and seamless integration with various real-world MCP tools.

Showcase

Please help me book the earliest flight from San Jose to New York on September 1st and the last return flight on September 6th on Priceline

https://github.com/user-attachments/assets/772b0eef-aef7-4ab9-8cb0-9611820539d8

Booking Hotel Generate Chart with extra MCP Servers

Instruction: I am in Los Angeles from September 1st to September 6th, with a budget of $5,000. Please help me book a Ritz-Carlton hotel closest to the airport on booking.com and compile a transportation guide for me

Instruction: Draw me a chart of Hangzhou's weather for one month

For more use cases, please check out #842.

Core Features

  • ๐Ÿ–ฑ๏ธ One-Click Out-of-the-box CLI - Supports both headful Web UI and headless server) execution.
  • ๐ŸŒ Hybrid Browser Agent - Control browsers using GUI Agent, DOM, or a hybrid strategy.
  • ๐Ÿ”„ Event Stream - Protocol-driven Event Stream drives Context Engineering and Agent UI.
  • ๐Ÿงฐ MCP Integration - The kernel is built on MCP and also supports mounting MCP Servers to connect to real-world tools.

Quick Start

# Launch with `npx`.
npx @agent-tars/cli@latest

# Install globally, required Node.js >= 22
npm install @agent-tars/cli@latest -g

# Run with your preferred model provider
agent-tars --provider volcengine --model doubao-1-5-thinking-vision-pro-250428 --apiKey your-api-key
agent-tars --provider anthropic --model claude-3-7-sonnet-latest --apiKey your-api-key

Visit the comprehensive Quick Start guide for detailed setup instructions.

Documentation

> ๐ŸŒŸ Explore Agent TARS Universe ๐ŸŒŸ

Category Resource Link Description

๐Ÿ  Central Hub

Your gateway to Agent TARS ecosystem

๐Ÿ“š Quick Start

Zero to hero in 5 minutes

๐Ÿš€ What's New

Discover cutting-edge features & vision

๐Ÿ› ๏ธ Developer Zone

Master every command & features

๐ŸŽฏ Showcase

View use cases built by the official and community

๐Ÿ”ง Reference

Complete technical reference


๐Ÿ–ฅ๏ธ UI-TARS Desktop

UI-TARS Desktop is a native GUI agent for your local computer, driven by UI-TARS and Seed-1.5-VL/1.6 series models.

&nbsp&nbsp ๐Ÿ“‘ Paper &nbsp&nbsp | ๐Ÿค— Hugging Face Models&nbsp&nbsp | &nbsp&nbsp๐Ÿซจ Discord&nbsp&nbsp | &nbsp&nbsp๐Ÿค– ModelScope&nbsp&nbsp

๐Ÿ–ฅ๏ธ Desktop Application &nbsp&nbsp | &nbsp&nbsp ๐Ÿ‘“ Midscene (use in browser) &nbsp&nbsp

Showcase

| Instruction | Local Operator | Remote Operator | | :----------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------: | | Please help me open the autosave feature of VS Code and delay AutoSave operations for 500 milliseconds in the VS Code setting. | | | | Could you help me check the latest open issue of the UI-TARS-Desktop project on GitHub? | | |

Features

  • ๐Ÿค– Natural language control powered by Vision-Language Model
  • ๐Ÿ–ฅ๏ธ Screenshot and visual recognition support
  • ๐ŸŽฏ Precise mouse and keyboard control
  • ๐Ÿ’ป Cross-platform support (Windows/MacOS/Browser)
  • ๐Ÿ”„ Real-time feedback and status display
  • ๐Ÿ” Private and secure - fully local processing

Quick Start

See [Quick Start](./docs/quick-start.md)


๐Ÿ”ง Our Modifications

This fork includes the following enhancements built on top of the original project. Every change is traceable to specific files.

๐Ÿ’ฌ 1. Chat System (New Feature)

A complete chat page with multi-turn conversation, streaming responses, multi-mode switching, and image/document upload.

New files created

| File | Description | |------|-------------| | apps/ui-tars/src/renderer/src/pages/chat/index.tsx | Main chat page โ€” message list, input box, mode selector, image & document upload, streaming display | | apps/ui-tars/src/renderer/src/pages/chat/message-actions.tsx | MessageActionBar component below each assistant message | | apps/ui-tars/src/renderer/src/pages/chat/mode-config.ts | 10+ chat mode definitions (Translation, Code, Creative Writing, etc.) with bilingual system prompts | | apps/ui-tars/src/renderer/src/hooks/useGlobalShortcuts.ts | IPC listener for global shortcuts dispatched from main process |

Key implementation details:

  • Session persistence โ€” Messages stored to localStorage (key: ui-tars-chat-) and auto-restored on navigation. Sessions created in IndexedDB via sessionManager on first user message so they appear in the sidebar history.
  • Streaming โ€” Listens to system:chatCompletion:chunk IPC events for real-time token streaming.
  • Mode system โ€” Each mode injects a system prompt into the API call. Modes include sub-categories with quick-use templates.
  • Image upload โ€” FileReader โ†’ base64, attached to the API request; imageBase64 is stripped before localStorage save to prevent quota overflow (see Bug Fix #3).
  • Document analysis โ€” Uses api['system:analyzeDocument'] with automatic VLM fallback if text extraction fails.

๐ŸŽ›๏ธ 2. Message Action Bar (New Feature)

A toolbar rendered below every assistant message with 8 actions:

| Action | Detail | |--------|--------| | Copy | Dropdown: "Copy as Markdown" (raw) or "Copy as Plain Text" (regex strips #, **, backticks, links) | | Like / Dislike | Toggle persistent reactions stored in localStorage (key: ui-tars-msg-reactions) | | Regenerate | Drops trailing assistant messages, re-sends from last user message (see Bug Fix #1) | | Edit as Document | Opens content in a new browser window with a minimal rich-text editor | | Share | Uses navigator.share API (falls back to clipboard copy) | | Delete | Removes a specific message from the conversation | | Report | Flags the message with a "Reported, thank you!" toast |

โŒจ๏ธ 3. Global Shortcuts (New Feature)

Registered in the main process (apps/ui-tars/src/main/tray.ts) via Electron globalShortcut:

| Shortcut | Action | Implementation | |----------|--------|----------------| | Ctrl+Shift+T | Show / Hide main window | Toggle visibility in main process | | Ctrl+Shift+N | New Chat | Sends shortcut:newChat IPC โ†’ renderer navigates to /chat with { newChat: true } state, preserving existing session | | Ctrl+Shift+, | Open Settings | Sends shortcut:openSettings IPC โ†’ renderer calls openSettings() from Zustand store |

โš™๏ธ 4. Optimization Settings (New Feature)

A settings panel (apps/ui-tars/src/renderer/src/components/Settings/category/optimization.tsx) managing 6 feature flags:

| Flag | Risk | Description | |------|------|-------------| | enableRetry | ๐ŸŸข Low | Smart retry with intelligent backoff for failed critical actions | | enablePerformanceMonitor | ๐ŸŸข Low | Track operation timings, generate reports, detect slow operations | | enableVisualization | ๐ŸŸข Low | Expose IPC endpoints for performance dashboards | | enableOCR | ๐ŸŸก Medium | OCR text recognition via Tesseract.js | | enableMultiModel | ๏ฟฝ Medium | Intelligent model selection, failover, performance-based routing | | enableWorkflow | ๐ŸŸก Medium | Record, replay, and manage automated task workflows |

  • Low-risk flags enabled by default; medium-risk flags require an AlertDialog confirmation before enabling.
  • Persisted to localStorage (key: ui-tars-optimization-flags).
  • Backend config class in apps/ui-tars/src/main/services/optimizationConfig.ts with enableAll(), disableAll(), enableSafe() helpers.

๐Ÿ› 5. Bug Fixes

Bug #1 โ€” handleRegenerate race condition & duplicate messages

  • File: apps/ui-tars/src/renderer/src/pages/chat/index.tsx (lines 384โ€“441)
  • Problem: The original implementation called setMessages() (async) to remove the last assistant message, then immediately called doSend(). Because doSend captured messages from its closure (stale value), the API received the old conversation history including the deleted reply, and a duplicate user message was appended.
  • Fix: Rewrote handleRegenerate as a self-contained async function that: โ‘  synchronously computes keptMessages = messages.slice(0, lastUserIdx + 1), โ‘ก sets state with the truncated array, โ‘ข calls the API directly with keptMessages โ€” no closure staleness.

Bug #2 โ€” Orphaned localStorage data on session deletion

  • File: apps/ui-tars/src/renderer/src/components/SideBar/app-sidebar.tsx (lines 151โ€“164)
  • Problem: When a session was deleted from the sidebar, sessionManager.deleteSession() cleaned IndexedDB, but the corresponding localStorage entry (ui-tars-chat-) and the ui-tars-chat-current-session marker were never removed, leading to unbounded data accumulation.
  • Fix: Added localStorage.removeItem() calls for both keys inside onSessionDelete.

Bug #3 โ€” localStorage quota exceeded by imageBase64

  • File: apps/ui-tars/src/renderer/src/pages/chat/index.tsx (lines 66โ€“72)
  • Problem: ChatMessage objects containing imageBase64 (hundreds of KB to several MB per image) were serialized directly into localStorage, easily exceeding the 5โ€“10 MB browser quota and silently failing.
  • Fix: saveSessionMessages() now strips the imageBase64 field via destructuring before JSON.stringify: msgs.map(({ imageBase64, ...rest }) => rest).

๐Ÿ—๏ธ 6. Infrastructure & Documentation

| Category | Files | Description | |----------|-------|-------------| | Build scripts | scripts/build/build-quick.bat, scripts/build/build-windows.bat | Quick build (skip type checks) and full Windows packaging with environment validation | | Dev scripts | scripts/dev/start-secure.bat | Secure startup with security audit, Node.js/pnpm checks, and .env.local validation | | Test scripts | scripts/test/test-integration.bat | Integration test runner with TypeScript compilation | | Release scripts | scripts/release/release-*.sh | Beta and release package publishing (moved from root) | | Security | docs/build-and-security/SECURITY_SETUP.zh-CN.md, docs/build-and-security/README.SECURITY.md | Security configuration guides | | Documentation | `docs/R

โ€ฆ

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source โ€” we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.