Install
$ agentstack add mcp-sjkncs-ui-tars-desktop โ scanned ยท โ verified, works with Claude Code, Cursor, and more.
Security review
โ PassedNo 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.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
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 โ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.
   ๐ Paper    | ๐ค Hugging Face Models   |   ๐ซจ Discord   |   ๐ค ModelScope  
๐ฅ๏ธ Desktop Application    |    ๐ Midscene (use in browser)   
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 viasessionManageron first user message so they appear in the sidebar history. - Streaming โ Listens to
system:chatCompletion:chunkIPC events for real-time token streaming. - Mode system โ Each mode injects a
systemprompt into the API call. Modes include sub-categories with quick-use templates. - Image upload โ
FileReaderโ base64, attached to the API request;imageBase64is stripped beforelocalStoragesave 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
AlertDialogconfirmation before enabling. - Persisted to
localStorage(key:ui-tars-optimization-flags). - Backend config class in
apps/ui-tars/src/main/services/optimizationConfig.tswithenableAll(),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 calleddoSend(). BecausedoSendcapturedmessagesfrom its closure (stale value), the API received the old conversation history including the deleted reply, and a duplicate user message was appended. - Fix: Rewrote
handleRegenerateas a self-contained async function that: โ synchronously computeskeptMessages = messages.slice(0, lastUserIdx + 1), โก sets state with the truncated array, โข calls the API directly withkeptMessagesโ 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 correspondinglocalStorageentry (ui-tars-chat-) and theui-tars-chat-current-sessionmarker were never removed, leading to unbounded data accumulation. - Fix: Added
localStorage.removeItem()calls for both keys insideonSessionDelete.
Bug #3 โ localStorage quota exceeded by imageBase64
- File:
apps/ui-tars/src/renderer/src/pages/chat/index.tsx(lines 66โ72) - Problem:
ChatMessageobjects containingimageBase64(hundreds of KB to several MB per image) were serialized directly intolocalStorage, easily exceeding the 5โ10 MB browser quota and silently failing. - Fix:
saveSessionMessages()now strips theimageBase64field via destructuring beforeJSON.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.
- Author: sjkncs
- Source: sjkncs/UI-TARS-desktop
- License: Apache-2.0
- Homepage: https://github.com/bytedance/UI-TARS-desktop
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.