Back to UI-TARS-desktop

CLI Configuration

multimodal/websites/tarko/docs/en/guide/cli/configuration.mdx

0.3.04.1 KB
Original Source

CLI Configuration

Tarko CLI 支持多种配置格式,优先级从高到低:CLI 参数 > 配置文件 > 环境变量。

配置文件

自动发现配置文件顺序:

  1. tarko.config.ts (TypeScript)
  2. tarko.config.yaml (YAML)
  3. tarko.config.json (JSON)

TypeScript 配置

typescript
// tarko.config.ts
import { AgentAppConfig } from '@tarko/interface';

const config: AgentAppConfig = {
  // Model 配置
  model: {
    provider: 'openai',
    id: 'gpt-4',
    apiKey: process.env.OPENAI_API_KEY,
    temperature: 0.7,
  },
  
  // 服务器配置
  server: {
    port: 8888,
    exclusive: false, // 独占模式
  },
  
  // Tool 过滤
  tool: {
    include: ['file_*', 'web_*'],
    exclude: ['dangerous_*'],
  },
  
  // MCP Server 过滤
  mcpServer: {
    include: ['filesystem', 'browser'],
    exclude: ['experimental_*'],
  },
  
  // 分享配置
  share: {
    provider: 'https://share.example.com',
  },
};

export default config;

YAML 配置

yaml
# tarko.config.yaml
model:
  provider: openai
  id: gpt-4
  apiKey: ${OPENAI_API_KEY}
  temperature: 0.7

server:
  port: 8888
  exclusive: false

tool:
  include:
    - 'file_*'
    - 'web_*'
  exclude:
    - 'dangerous_*'

mcpServer:
  include:
    - filesystem
    - browser
  exclude:
    - 'experimental_*'

share:
  provider: https://share.example.com

JSON 配置

json
{
  "model": {
    "provider": "openai",
    "id": "gpt-4",
    "apiKey": "${OPENAI_API_KEY}",
    "temperature": 0.7
  },
  "server": {
    "port": 8888,
    "exclusive": false
  },
  "tool": {
    "include": ["file_*", "web_*"],
    "exclude": ["dangerous_*"]
  },
  "mcpServer": {
    "include": ["filesystem", "browser"],
    "exclude": ["experimental_*"]
  },
  "share": {
    "provider": "https://share.example.com"
  }
}

配置优先级

配置解析优先级(从高到低):

  1. CLI 参数(最高优先级)
  2. 工作区配置
  3. 用户配置文件--config
  4. 默认配置(最低优先级)

CLI 参数覆盖

bash
# 覆盖 Model 配置
tarko --model.provider openai --model.id gpt-4 --model.apiKey sk-xxx

# 覆盖服务器设置
tarko serve --port 3000

# 覆盖工作区
tarko --workspace ./custom-workspace

# 覆盖 Tool 过滤
tarko --tool.include "file_*,web_*" --tool.exclude "dangerous_*"

环境变量

bash
# API Keys
export OPENAI_API_KEY=your-openai-key
export ANTHROPIC_API_KEY=your-anthropic-key
export AZURE_OPENAI_API_KEY=your-azure-key

# 服务器设置
export TARKO_PORT=3000
export TARKO_WORKSPACE=./my-workspace

# 调试设置
export DEBUG=tarko:*

主要配置选项

Model 配置

typescript
model: {
  provider: 'openai' | 'anthropic' | 'azure' | 'ollama',
  id: string,              // Model ID (如 'gpt-4')
  apiKey?: string,         // API key (建议使用环境变量)
  temperature?: number,    // 创造性 (0-1)
}

Server 配置

typescript
server: {
  port?: number,           // 服务器端口 (默认: 8888)
  exclusive?: boolean,     // 独占模式 (默认: false)
}

Tool 过滤

typescript
tool: {
  include?: string[],      // 包含的 Tool 模式
  exclude?: string[],      // 排除的 Tool 模式
}

// 示例:
// include: ['file_*', 'web_*'] - 包含所有文件和网络工具
// exclude: ['dangerous_*'] - 排除危险工具

MCP Server 过滤

typescript
mcpServer: {
  include?: string[],      // 包含的 MCP server 模式
  exclude?: string[],      // 排除的 MCP server 模式
}

// 示例:
// include: ['filesystem', 'browser'] - 包含特定服务器
// exclude: ['experimental_*'] - 排除实验性服务器

配置示例

开发环境

typescript
// tarko.config.ts
export default {
  model: {
    provider: 'openai',
    id: 'gpt-4',
    apiKey: process.env.OPENAI_API_KEY,
  },
  server: { port: 3000 },
};

生产环境

typescript
// tarko.config.ts
export default {
  model: {
    provider: 'openai',
    id: 'gpt-4',
    apiKey: process.env.OPENAI_API_KEY,
  },
  server: {
    port: 8080,
    exclusive: true,
  },
  tool: {
    exclude: ['dangerous_*'],
  },
};