Repository Analysis

bytedance/UI-TARS-desktop

The Open-Source Multimodal AI Agent Stack: Connecting Cutting-Edge AI Models and Agent Infra

1.1 Likely human-written View on GitHub
1.1
Adjusted Score
1.1
Raw Score
100%
Time Factor
2026-05-18
Last Push
35,751
Stars
TypeScript
Language
324,342
Lines of Code
1970
Files
167
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 30MEDIUM 29LOW 108

Pattern Findings

167 matches across 8 categories. Click a row to expand file-level details.

Magic Placeholder Names30 hits · 155 pts
SeverityFileLineSnippet
HIGH.secretlintrc.json32 "your_api_key",
HIGH.secretlintrc.json33 "YOUR_API_KEY",
HIGHREADME.md157agent-tars --provider volcengine --model doubao-1-5-thinking-vision-pro-250428 --apiKey your-api-key
HIGHREADME.md158agent-tars --provider anthropic --model claude-3-7-sonnet-latest --apiKey your-api-key
HIGHREADME.zh-CN.md154agent-tars --provider volcengine --model doubao-1-5-thinking-vision-pro-250428 --apiKey your-api-key
HIGHREADME.zh-CN.md155agent-tars --provider anthropic --model claude-3-7-sonnet-latest --apiKey your-api-key
HIGHdocs/quick-start.md81VLM API KEY: your_api_key
HIGHdocs/quick-start.md131VLM API KEY: YOUR_API_KEY
HIGHdocs/preset.md70vlmApiKey: your_api_key
HIGHdocs/archive-1.0/preset.md74vlmApiKey: your_api_key
HIGHmultimodal/agent-tars/core/README.md65agent-tars --provider volcengine --model doubao-1-5-thinking-vision-pro-250428 --apiKey your-api-key
HIGHmultimodal/agent-tars/core/README.md66agent-tars --provider anthropic --model claude-3-7-sonnet-latest --apiKey your-api-key
HIGHmultimodal/gui-agent/cli/README.md103 "apiKey": "your-api-key",
HIGHmultimodal/gui-agent/cli/README.md112 vlmApiKey: "your-api-key"
HIGHmultimodal/gui-agent/cli/README.md151 "apiKey": "your-api-key",
HIGHmultimodal/gui-agent/cli/README.md160 vlmApiKey: "your-api-key"
HIGHmultimodal/tarko/model-provider/README.md32 apiKey: 'your-api-key'
HIGHmultimodal/tarko/agent-server/README.md280OPENAI_API_KEY=your-api-key
HIGH…timodal/websites/docs/docs/zh/api/runtime/agent-api.md252 apiKey: 'your-api-key',
HIGH…timodal/websites/docs/docs/en/api/runtime/agent-api.md252 apiKey: 'your-api-key',
HIGHexamples/presets/default.yaml5vlmApiKey: your_api_key
HIGHpackages/agent-infra/search/bing-search/README.md37 apiKey: 'YOUR_API_KEY',
HIGHpackages/agent-infra/search/bing-search/README.md52// BING_SEARCH_API_KEY=your-api-key
HIGHpackages/agent-infra/search/bing-search/README.md68 apiKey: 'YOUR_API_KEY',
HIGHpackages/agent-infra/search/search/README.md40 apiKey: 'YOUR_API_KEY',
HIGHpackages/agent-infra/search/search/README.md91// BING_SEARCH_API_KEY=your-api-key
HIGHpackages/agent-infra/search/search/README.md177 apiKey: 'YOUR_API_KEY',
HIGHpackages/agent-infra/search/search/README.md200 apiKey: 'YOUR_API_KEY',
HIGHpackages/common/configs/secretlintrc.js30 allows: ['your_api_key', 'YOUR_API_KEY'],
HIGHpackages/common/configs/secretlintrc.js30 allows: ['your_api_key', 'YOUR_API_KEY'],
Hyper-Verbose Identifiers56 hits · 56 pts
SeverityFileLineSnippet
LOWinfra/pdk/src/utils/dependencies.ts81export async function replaceWorkspaceDependencies(
LOWinfra/pdk/src/utils/dependencies.ts132export async function restorePackageDependencies(
LOWinfra/pdk/src/utils/commit.ts13export function shouldIncludeCommitByScope(
LOWinfra/pdk/src/commands/release.ts338async function handleChangelogGeneration(
LOWmultimodal/agent-tars/core/src/prompt.ts123export function generateBrowserRulesPrompt(control: BrowserControlMode = 'hybrid'): string {
LOW…nvironments/local/browser/browser-control-validator.ts23export function validateBrowserControlMode(
LOW…/omni-tars/core/src/ComposableToolCallEngineFactory.ts79export function createComposableToolCallEngineFactory(
LOW…ars/core/src/utils/streamingParserT5/extractThinkT5.ts31function generatePartialClosingPatterns(tag: string): string[] {
LOWmultimodal/tarko/ui/src/utils/pathNormalizer.ts76export function clearPathNormalizationCache(): void {
LOWmultimodal/tarko/ui/src/utils/pathNormalizer.ts80export function getPathNormalizationCacheSize(): number {
LOW…al/tarko/agent-server-next/src/utils/agent-resolver.ts23export async function resolveAgentImplementation(
LOW…imodal/tarko/agent-server-next/src/controllers/user.ts96export async function getOrCreateUserConfig(c: HonoContext) {
LOWmultimodal/tarko/interface/src/constants.ts39export function getGlobalStorageDirectory(dirName: string = TARKO_CONSTANTS.GLOBAL_STORAGE_DIR) {
LOW…ples/original/structured_outputs/doubao-json-schema.ts87async function jsonSchemaStreamingExample() {
LOW…imodal/tarko/model-provider/src/azure-claude-params.ts15export function addAzureClaudeParamsIfNeeded(
LOW…odal/tarko/agent/tests/agent/kernel/utils/testUtils.ts120export function createMockAssistantMessageEvent(
LOW…odal/tarko/agent/tests/agent/kernel/utils/testUtils.ts137export function createMockAssistantMessageEventWithToolCalls(
LOWmultimodal/tarko/agent/src/utils/multimodal.ts108export function convertToMultimodalToolCallResult(
LOWmultimodal/tarko/agent/src/tool-call-engine/utils.ts34export function buildToolCallResultMessages(
LOWmultimodal/tarko/agent/src/tool-call-engine/utils.ts55function buildNativeEngineMessages(
LOWmultimodal/tarko/agent/src/tool-call-engine/utils.ts92function buildNonNativeEngineMessages(
LOWmultimodal/tarko/shared-utils/src/gui-agent.ts51export function convertToNormalizedAction(
LOWmultimodal/tarko/agent-ui-cli/src/utils.ts108export function generateDefaultOutputFilename(): string {
LOWmultimodal/tarko/agent-ui-cli/src/utils.ts127export function generateTransformedOutputPath(tracePath: string): string {
LOWmultimodal/tarko/agent-cli/src/core/options.ts185export async function resolveAgentFromCLIArgument(
LOWmultimodal/tarko/agent-cli/src/config/builder.ts137function handleCoreDeprecatedOptions(
LOWmultimodal/tarko/agent-cli/src/config/builder.ts376function handleMCPServerFilterOptions(
LOW…ui/src/standalone/workspace/renderers/DiffRenderer.tsx113function extractStrReplaceEditorDiffData(panelContent: StandardPanelContent): {
LOW…renderers/browser-control/extractBrowserControlData.ts12export function extractBrowserControlData(
LOWmultimodal/tarko/agent-ui/src/config/web-ui-config.ts69export function isContextualSelectorEnabled(): boolean {
LOWmultimodal/tarko/agent-ui/src/config/web-ui-config.ts129export function isLayoutSwitchButtonEnabled(): boolean {
LOWmultimodal/tarko/agent-ui/src/config/web-ui-config.ts168export function isEventStreamViewerEnabled(): boolean {
LOW…modal/tarko/agent-ui/src/common/utils/metadataUtils.ts15export function createModelConfigFromEvent(
LOWmultimodal/tarko/agent-ui/src/common/utils/clipboard.ts60export function isTarkoMultimodalProtocol(text: string): boolean {
LOWmultimodal/tarko/agent-ui/src/common/utils/clipboard.ts80export function parseTarkoMultimodalClipboard(
LOW…arko/agent-ui/src/common/utils/tool-renderers/index.ts34export function determineToolRendererType(name: string, content: any): string {
LOW…/agent-ui/src/common/state/atoms/contextualSelector.ts187function parseContextualReferencesFromText(text: string): ContextualItem[] {
LOW…/agent-ui/src/common/state/atoms/contextualSelector.ts220function reconstructInputWithItems(originalInput: string, items: ContextualItem[]): string {
LOW…ko/agent-ui/src/common/state/actions/sessionActions.ts259function preprocessStreamingEvents(events: AgentEventStream.Event[]): AgentEventStream.Event[] {
LOW…al/tarko/agent-ui/src/common/services/SearchService.ts67export function isOmniTarsTextContentArray(
LOW…arko/agent-server/src/utils/workspace-static-server.ts16function extractSessionIdFromReferer(referer: string | undefined): string | undefined {
LOW…arko/agent-server/src/utils/workspace-static-server.ts150function generateDirectoryListingHTML(
LOW…arko/agent-server/src/utils/workspace-static-server.ts259export function setupWorkspaceStaticServer(
LOW…timodal/tarko/agent-server/src/utils/agent-resolver.ts23export async function resolveAgentImplementation(
LOW…imodal/tarko/agent-server/src/storage/compatibility.ts13export function migrateLegacyToJsonSchema(legacy: LegacySessionItemInfo): SessionInfo {
LOWmultimodal/tarko/agent-server/src/api/index.ts68function securityHeadersMiddleware(
LOW…dal/tarko/agent-server/src/api/controllers/sessions.ts575async function searchWorkspaceItemsRecursive(
LOWmultimodal/websites/docs/src/services/dataProcessor.ts180function transformApiItemToShowcase(apiItem: ApiShareItem): ShowcaseItem {
LOWpackages/agent-infra/mcp-http-server/src/startServer.ts60export async function startSseAndStreamableHttpMcpServer(
LOWpackages/agent-infra/mcp-client/examples/test.ts59function filterPropertieAttributes(tool: MCPTool) {
LOW…kages/agent-infra/browser-use/test/azureBedrockChat.ts89function convertToBedrockToolChoice(
LOW…es/common/electron-build/src/getPackageDependencies.ts71export async function getExternalPkgsDependencies(
LOWpackages/ui-tars/visualizer/src/transform.ts20export function transformComputerUseDataToDump(
LOWpackages/ui-tars/visualizer/src/utils.ts12export function insightDumpToExecutionDump(
LOW…ars/visualizer/src/component/yaml-player-component.tsx10export function YamlPlayerStatusIndicator({
LOWapps/ui-tars/src/renderer/src/utils/html.ts7function replaceStringWithFirstAppearance(
AI Slop Vocabulary23 hits · 56 pts
SeverityFileLineSnippet
MEDIUM….org_en-US_docs_Web_JavaScript_Re/summary/results.json14 "content": "<!DOCTYPE html><html lang=\"en-US\" prefix=\"og: https://ogp.me/ns#\" class=\"os-default\"><head><me
MEDIUM….org_en-US_docs_Web_JavaScript_Re/summary/results.json14 "content": "<!DOCTYPE html><html lang=\"en-US\" prefix=\"og: https://ogp.me/ns#\" class=\"os-default\"><head><me
MEDIUM….org_en-US_docs_Web_JavaScript_Re/summary/results.json24 "content": "<!DOCTYPE html><html lang=\"en-US\" prefix=\"og: https://ogp.me/ns#\" class=\"os-default\"><head><me
MEDIUM….org_en-US_docs_Web_JavaScript_Re/summary/results.json24 "content": "<!DOCTYPE html><html lang=\"en-US\" prefix=\"og: https://ogp.me/ns#\" class=\"os-default\"><head><me
MEDIUM….org_en-US_docs_Web_JavaScript_Re/summary/results.json34 "content": "<!DOCTYPE html><html lang=\"en-US\" prefix=\"og: https://ogp.me/ns#\" class=\"os-default\"><head><me
MEDIUM….org_en-US_docs_Web_JavaScript_Re/summary/results.json34 "content": "<!DOCTYPE html><html lang=\"en-US\" prefix=\"og: https://ogp.me/ns#\" class=\"os-default\"><head><me
MEDIUM….org_en-US_docs_Web_JavaScript_Re/summary/results.json57 "content": "Skip to main contentSkip to searchSkip to select languageMDN Web DocsOpen main menuReferencesReferen
MEDIUM….org_en-US_docs_Web_JavaScript_Re/summary/results.json67 "content": "Skip to main contentSkip to searchSkip to select languageMDN Web DocsOpen main menuReferencesReferen
MEDIUM….org_en-US_docs_Web_JavaScript_Re/summary/results.json77 "content": "Skip to main contentSkip to searchSkip to select languageMDN Web DocsOpen main menuReferencesReferen
MEDIUM….org_en-US_docs_Web_JavaScript_Re/summary/results.json152 "content": "\\# Promise \\`\\`\\` Filter sidebarClear filter inputIn this articleDescriptionConstructorStatic pr
MEDIUM….org_en-US_docs_Web_JavaScript_Re/summary/results.json152 "content": "\\# Promise \\`\\`\\` Filter sidebarClear filter inputIn this articleDescriptionConstructorStatic pr
MEDIUM….org_en-US_docs_Web_JavaScript_Re/summary/results.json165 "content": "\\# Promise \\`\\`\\` Filter sidebarClear filter inputIn this articleDescriptionConstructorStatic pr
MEDIUM….org_en-US_docs_Web_JavaScript_Re/summary/results.json165 "content": "\\# Promise \\`\\`\\` Filter sidebarClear filter inputIn this articleDescriptionConstructorStatic pr
MEDIUM….org_en-US_docs_Web_JavaScript_Re/summary/results.json178 "content": "\\# Promise \\`\\`\\` Filter sidebarClear filter inputIn this articleDescriptionConstructorStatic pr
MEDIUM….org_en-US_docs_Web_JavaScript_Re/summary/results.json178 "content": "\\# Promise \\`\\`\\` Filter sidebarClear filter inputIn this articleDescriptionConstructorStatic pr
MEDIUM….org_en-US_docs_Web_JavaScript_Re/summary/results.json100 "content": "Baseline\n\nWidely available \\*\n\nThe **`Promise`** object represents the eventual completion (or
MEDIUM….org_en-US_docs_Web_JavaScript_Re/summary/results.json100 "content": "Baseline\n\nWidely available \\*\n\nThe **`Promise`** object represents the eventual completion (or
MEDIUM….org_en-US_docs_Web_JavaScript_Re/summary/results.json113 "content": "Baseline\n\nWidely available \\*\n\nThe **`Promise`** object represents the eventual completion (or
MEDIUM….org_en-US_docs_Web_JavaScript_Re/summary/results.json113 "content": "Baseline\n\nWidely available \\*\n\nThe **`Promise`** object represents the eventual completion (or
MEDIUM….org_en-US_docs_Web_JavaScript_Re/summary/results.json126 "content": "Baseline\n\nWidely available \\*\n\nThe **`Promise`** object represents the eventual completion (or
MEDIUM….org_en-US_docs_Web_JavaScript_Re/summary/results.json126 "content": "Baseline\n\nWidely available \\*\n\nThe **`Promise`** object represents the eventual completion (or
MEDIUM…gent-ui/src/standalone/chat/hooks/useScrollToBottom.ts58 // Simple, robust bottom detection
MEDIUM…/agent-ui/src/common/state/atoms/contextualSelector.ts96 // Remove the tag from input text using a more robust approach
Verbosity Indicators20 hits · 38 pts
SeverityFileLineSnippet
LOW…l/structured_outputs/doubao-json-mode-function-call.ts216 // Step 1: Get function call information
LOW…l/structured_outputs/doubao-json-mode-function-call.ts228 // Step 2: Execute the function
LOW…l/structured_outputs/doubao-json-mode-function-call.ts233 // Step 3: Generate final response
LOW…l/structured_outputs/doubao-json-mode-function-call.ts238 // Step 4: Demonstrate streaming response (only for the first query)
LOW…riginal/structured_outputs/claude-3.7-function-call.ts227 // Step 1: Get function call information
LOW…riginal/structured_outputs/claude-3.7-function-call.ts239 // Step 2: Execute the function
LOW…riginal/structured_outputs/claude-3.7-function-call.ts244 // Step 3: Generate final response
LOW…riginal/structured_outputs/claude-3.7-function-call.ts249 // Step 4: Demonstrate streaming response (only for the first query)
LOWmultimodal/tarko/llm-client/src/index.ts109 * // Step 1: Register the new model name
LOWmultimodal/tarko/llm-client/src/index.ts116 * // Step 2: Using the extended model in a chat completion
LOW…odal/tarko/context-engineer/src/node/workspace-pack.ts96 // Step 1: Validate and deduplicate paths
LOW…odal/tarko/context-engineer/src/node/workspace-pack.ts108 // Step 2: Collect all files from all paths in parallel
LOW…odal/tarko/context-engineer/src/node/workspace-pack.ts116 // Step 3: Deduplicate files (in case paths overlap)
LOW…odal/tarko/context-engineer/src/node/workspace-pack.ts119 // Step 4: Read all files in parallel
LOW…odal/tarko/context-engineer/src/node/workspace-pack.ts124 // Step 5: Calculate statistics
LOW…odal/tarko/context-engineer/src/node/workspace-pack.ts131 // Step 6: Format content for LLM consumption
LOW…arko/agent-server/src/storage/SQLiteStorageProvider.ts300 // Step 1: Add missing columns to existing sessions table
LOW…arko/agent-server/src/storage/SQLiteStorageProvider.ts314 // Step 2: Update workspace column from workingDirectory if needed
LOW…arko/agent-server/src/storage/SQLiteStorageProvider.ts322 // Step 3: Migrate data from old columns to new metadata column
LOW…arko/agent-server/src/storage/SQLiteStorageProvider.ts352 // Step 4: Clean up temporary table
Over-Commented Block30 hits · 30 pts
SeverityFileLineSnippet
LOWmultimodal/omni-tars/mcp-agent/src/tools/linkReader.ts41 // client: McpManager.McpClientType.Tavily,
LOW…rko/mcp-agent/examples/github-reviewer-agent/shared.ts21 // tool.name === 'browser_get_clickable_elements' ||
LOW…ol-renderers/renderer-conditions/str_replace_editor.ts61 }
LOW…ol-renderers/renderer-conditions/str_replace_editor.ts101// return {
LOWmultimodal/websites/docs/docs/zh/guide/basic/vision.md1# Vision
LOWmultimodal/websites/docs/docs/zh/api/config/agent.md1# Agent Config
LOW…ltimodal/websites/docs/docs/zh/api/config/mcp-agent.md1# MCP Agent Config
LOW…timodal/websites/docs/docs/zh/api/config/agent-tars.md1# Agent TARS Config
LOWmultimodal/websites/docs/docs/en/api/config/agent.md1# Agent Config
LOW…ltimodal/websites/docs/docs/en/api/config/mcp-agent.md1# MCP Agent Config
LOW…timodal/websites/docs/docs/en/api/config/agent-tars.md1# Agent TARS Config
LOWexamples/operator-browserbase/next-env.d.ts1/// <reference types="next" />
LOWpackages/agent-infra/mcp-servers/browser/src/index.ts41 // semicolonSeparatedList,
LOWpackages/agent-infra/mcp-client/examples/test.ts181
LOWpackages/agent-infra/mcp-client/examples/test.ts201 // content: `将 \"hello world\" 写入到文件 todo.md 中,用户当前目录是 ${currentDir}`,
LOWpackages/agent-infra/mcp-client/examples/test.ts221 // if (item.type === 'image') {
LOWpackages/agent-infra/mcp-client/examples/test.ts241 // });
LOWpackages/agent-infra/mcp-client/examples/test.ts261 // const responseMessage = response.choices[0].message;
LOWpackages/agent-infra/mcp-client/examples/test.ts281 // args: mcpTool?.inputSchema,
LOW…kages/agent-infra/browser-use/test/azureBedrockChat.ts241 // // console.log('paramsparamsparams', JSON.stringify(params));
LOW…kages/agent-infra/browser-use/test/azureBedrockChat.ts301 );
LOWpackages/ui-tars/cli/src/cli/start.ts141 // console.log(
LOW.github/workflows/scorecard.yml41 with:
LOWapps/ui-tars/e2e/execBack.ts1/*
LOWapps/ui-tars/e2e/execBack.ts21// action_inputs: {
LOW…ars/src/renderer/src/components/ImageGallery/image.tsx21 // if (!imgRef.current) return;
LOW…ars/src/renderer/src/components/ImageGallery/image.tsx41 // ]);
LOWapps/ui-tars/src/main/shared/setOfMarks.test.ts81 // height: overlay.boxHeight || 200,
LOWapps/ui-tars/src/main/shared/setOfMarks.test.ts101 // );
LOWapps/ui-tars/src/main/shared/setOfMarks.ts161 text-anchor="middle"
Slop Phrases6 hits · 18 pts
SeverityFileLineSnippet
MEDIUM….org_en-US_docs_Web_JavaScript_Re/summary/results.json14 "content": "<!DOCTYPE html><html lang=\"en-US\" prefix=\"og: https://ogp.me/ns#\" class=\"os-default\"><head><me
MEDIUM….org_en-US_docs_Web_JavaScript_Re/summary/results.json24 "content": "<!DOCTYPE html><html lang=\"en-US\" prefix=\"og: https://ogp.me/ns#\" class=\"os-default\"><head><me
MEDIUM….org_en-US_docs_Web_JavaScript_Re/summary/results.json34 "content": "<!DOCTYPE html><html lang=\"en-US\" prefix=\"og: https://ogp.me/ns#\" class=\"os-default\"><head><me
MEDIUM….org_en-US_docs_Web_JavaScript_Re/summary/results.json152 "content": "\\# Promise \\`\\`\\` Filter sidebarClear filter inputIn this articleDescriptionConstructorStatic pr
MEDIUM….org_en-US_docs_Web_JavaScript_Re/summary/results.json165 "content": "\\# Promise \\`\\`\\` Filter sidebarClear filter inputIn this articleDescriptionConstructorStatic pr
MEDIUM….org_en-US_docs_Web_JavaScript_Re/summary/results.json178 "content": "\\# Promise \\`\\`\\` Filter sidebarClear filter inputIn this articleDescriptionConstructorStatic pr
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippet
LOWmultimodal/omni-tars/core/examples/openai.ts65// Example usage
Fake / Example Data1 hit · 1 pts
SeverityFileLineSnippet
LOWmultimodal/tarko/ui/README.md342 name: "John Doe",