multimodal/websites/tarko/docs/en/guide/cli/configuration.mdx
Tarko CLI 支持多种配置格式,优先级从高到低:CLI 参数 > 配置文件 > 环境变量。
自动发现配置文件顺序:
tarko.config.ts (TypeScript)tarko.config.yaml (YAML)tarko.config.json (JSON)// 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;
# 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
{
"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"
}
}
配置解析优先级(从高到低):
--config)# 覆盖 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_*"
# 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: {
provider: 'openai' | 'anthropic' | 'azure' | 'ollama',
id: string, // Model ID (如 'gpt-4')
apiKey?: string, // API key (建议使用环境变量)
temperature?: number, // 创造性 (0-1)
}
server: {
port?: number, // 服务器端口 (默认: 8888)
exclusive?: boolean, // 独占模式 (默认: false)
}
tool: {
include?: string[], // 包含的 Tool 模式
exclude?: string[], // 排除的 Tool 模式
}
// 示例:
// include: ['file_*', 'web_*'] - 包含所有文件和网络工具
// exclude: ['dangerous_*'] - 排除危险工具
mcpServer: {
include?: string[], // 包含的 MCP server 模式
exclude?: string[], // 排除的 MCP server 模式
}
// 示例:
// include: ['filesystem', 'browser'] - 包含特定服务器
// exclude: ['experimental_*'] - 排除实验性服务器
// tarko.config.ts
export default {
model: {
provider: 'openai',
id: 'gpt-4',
apiKey: process.env.OPENAI_API_KEY,
},
server: { port: 3000 },
};
// 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_*'],
},
};