docs/reference/tools_configuration.pt-br.md
Voltar ao README
A configuração de ferramentas do PicoClaw está localizada no campo tools do config.json.
{
"tools": {
"web": {
...
},
"mcp": {
...
},
"exec": {
...
},
"cron": {
...
},
"skills": {
...
}
}
}
As ferramentas web são usadas para pesquisa e busca de páginas web.
Configurações gerais para busca e processamento de conteúdo de páginas web.
| Config | Tipo | Padrão | Descrição |
|---|---|---|---|
enabled | bool | true | Habilitar a capacidade de busca de páginas web. |
fetch_limit_bytes | int | 10485760 | Tamanho máximo do payload da página web a ser buscado, em bytes (padrão é 10MB). |
format | string | "plaintext" | Formato de saÃda do conteúdo buscado. Opções: plaintext ou markdown (recomendado). |
| Config | Tipo | Padrão | Descrição |
|---|---|---|---|
enabled | bool | true | Habilitar pesquisa DuckDuckGo |
max_results | int | 5 | Número máximo de resultados |
| Config | Tipo | Padrão | Descrição |
|---|---|---|---|
enabled | bool | false | Habilitar pesquisa Baidu |
api_key | string | - | Chave API Qianfan |
base_url | string | https://qianfan.baidubce.com/v2/ai_search/web_search | URL da API Baidu Search |
max_results | int | 10 | Número máximo de resultados |
{
"tools": {
"web": {
"baidu_search": {
"enabled": true,
"api_key": "YOUR_BAIDU_QIANFAN_API_KEY",
"max_results": 10
}
}
}
}
| Config | Tipo | Padrão | Descrição |
|---|---|---|---|
enabled | bool | false | Habilitar pesquisa Perplexity |
api_key | string | - | Chave API do Perplexity |
api_keys | string[] | - | Várias chaves API do Perplexity para rotação (prioridade sobre api_key) |
max_results | int | 5 | Número máximo de resultados |
| Config | Tipo | Padrão | Descrição |
|---|---|---|---|
enabled | bool | false | Habilitar pesquisa Brave |
api_key | string | - | Chave API única do Brave Search |
api_keys | string[] | - | Várias chaves API do Brave para rotação (prioridade sobre api_key) |
max_results | int | 5 | Número máximo de resultados |
| Config | Tipo | Padrão | Descrição |
|---|---|---|---|
enabled | bool | false | Habilitar pesquisa Tavily |
api_key | string | - | Chave API do Tavily |
base_url | string | - | URL base personalizada do Tavily |
max_results | int | 0 | Número máximo de resultados (0 = padrão) |
| Config | Tipo | Padrão | Descrição |
|---|---|---|---|
enabled | bool | false | Habilitar pesquisa SearXNG |
base_url | string | http://localhost:8888 | URL da instância SearXNG |
max_results | int | 5 | Número máximo de resultados |
| Config | Tipo | Padrão | Descrição |
|---|---|---|---|
enabled | bool | false | Habilitar GLM Search |
api_key | string | - | Chave API GLM |
base_url | string | https://open.bigmodel.cn/api/paas/v4/web_search | URL da API GLM Search |
search_engine | string | search_std | Tipo de motor de busca |
max_results | int | 5 | Número máximo de resultados |
A ferramenta exec é usada para executar comandos shell.
| Config | Tipo | Padrão | Descrição |
|---|---|---|---|
enabled | bool | true | Habilitar a ferramenta exec |
enable_deny_patterns | bool | true | Habilitar bloqueio padrão de comandos perigosos |
custom_deny_patterns | array | [] | Padrões de negação personalizados (expressões regulares) |
Para desabilitar completamente a ferramenta exec, defina enabled como false:
Via arquivo de configuração:
{
"tools": {
"exec": {
"enabled": false
}
}
}
Via variável de ambiente:
PICOCLAW_TOOLS_EXEC_ENABLED=false
Nota: Quando desabilitada, o agent não poderá executar comandos shell. Isso também afeta a capacidade da ferramenta Cron de executar comandos shell agendados.
enable_deny_patterns: Defina como false para desabilitar completamente os padrões de bloqueio de comandos perigosos padrãocustom_deny_patterns: Adicione padrões regex de negação personalizados; comandos correspondentes serão bloqueadosPor padrão, o PicoClaw bloqueia os seguintes comandos perigosos:
rm -rf, del /f/q, rmdir /sformat, mkfs, diskpart, dd if=, escrita em /dev/sd*shutdown, reboot, poweroff$(), ${}, crases| sh, | bashsudo, chmod, chownpkill, killall, kill -9curl | sh, wget | sh, sshapt, yum, dnf, npm install -g, pip install --userdocker run, docker execgit push, git forceeval, source *.shO guarda exec apenas valida o comando de nÃvel superior enviado ao PicoClaw. Ele não inspeciona recursivamente processos filhos gerados por ferramentas de build ou scripts após o inÃcio desse comando.
Exemplos de fluxos de trabalho que podem contornar o guarda de comando direto uma vez que o comando inicial é permitido:
make rungo run ./cmd/...cargo runnpm run buildIsso significa que o guarda é útil para bloquear comandos diretos obviamente perigosos, mas não é um sandbox completo para pipelines de build não revisados. Se seu modelo de ameaça inclui código não confiável no workspace, use isolamento mais forte, como contêineres, VMs ou um fluxo de aprovação em torno de comandos de build e execução.
{
"tools": {
"exec": {
"enable_deny_patterns": true,
"custom_deny_patterns": [
"\\brm\\s+-r\\b",
"\\bkillall\\s+python"
]
}
}
}
A ferramenta cron é usada para agendar tarefas periódicas.
| Config | Tipo | Padrão | Descrição |
|---|---|---|---|
exec_timeout_minutes | int | 5 | Tempo limite de execução em minutos, 0 significa sem limite |
<a id="mcp-tool"></a>
A ferramenta MCP permite a integração com servidores Model Context Protocol externos.
Ao conectar a vários servidores MCP, expor centenas de ferramentas simultaneamente pode esgotar a janela de contexto do LLM e aumentar os custos de API. O recurso Discovery resolve isso mantendo as ferramentas MCP ocultas por padrão.
Em vez de carregar todas as ferramentas, o LLM recebe uma ferramenta de pesquisa leve (usando correspondência de palavras-chave BM25 ou Regex). Quando o LLM precisa de uma capacidade especÃfica, ele pesquisa a biblioteca oculta. As ferramentas correspondentes são então temporariamente "desbloqueadas" e injetadas no contexto por um número configurado de turnos (ttl).
| Config | Tipo | Padrão | Descrição |
|---|---|---|---|
enabled | bool | false | Habilitar integração MCP globalmente |
discovery | object | {} | Configuração de descoberta de ferramentas (veja abaixo) |
servers | object | {} | Mapa de nome do servidor para configuração do servidor |
discovery)| Config | Tipo | Padrão | Descrição |
|---|---|---|---|
enabled | bool | false | Se true, as ferramentas MCP ficam ocultas e são carregadas sob demanda via pesquisa. Se false, todas as ferramentas são carregadas |
ttl | int | 5 | Número de turnos de conversa que uma ferramenta descoberta permanece desbloqueada |
max_search_results | int | 5 | Número máximo de ferramentas retornadas por consulta de pesquisa |
use_bm25 | bool | true | Habilitar a ferramenta de pesquisa por linguagem natural/palavras-chave (tool_search_tool_bm25). Aviso: consome mais recursos que a pesquisa regex |
use_regex | bool | false | Habilitar a ferramenta de pesquisa por padrão regex (tool_search_tool_regex) |
Nota: Se
discovery.enabledfortrue, você deve habilitar pelo menos um mecanismo de pesquisa (use_bm25ouuse_regex), caso contrário a aplicação falhará ao iniciar.
| Config | Tipo | Obrigatório | Descrição |
|---|---|---|---|
enabled | bool | sim | Habilitar este servidor MCP |
type | string | não | Tipo de transporte: stdio, sse, http |
command | string | stdio | Comando executável para transporte stdio |
args | array | não | Argumentos do comando para transporte stdio |
env | object | não | Variáveis de ambiente para processo stdio |
env_file | string | não | Caminho para arquivo de ambiente para processo stdio |
url | string | sse/http | URL do endpoint para transporte sse/http |
headers | object | não | Cabeçalhos HTTP para transporte sse/http |
type for omitido, o transporte é detectado automaticamente:
url está definido → ssecommand está definido → stdiohttp e sse ambos usam url + headers opcionais.env e env_file são aplicados apenas a servidores stdio.{
"tools": {
"mcp": {
"enabled": true,
"servers": {
"filesystem": {
"enabled": true,
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/tmp"
]
}
}
}
}
}
{
"tools": {
"mcp": {
"enabled": true,
"servers": {
"remote-mcp": {
"enabled": true,
"type": "sse",
"url": "https://example.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}
}
}
Neste exemplo, o LLM verá apenas o tool_search_tool_bm25. Ele pesquisará e desbloqueará ferramentas do Github ou Postgres dinamicamente apenas quando solicitado pelo usuário.
{
"tools": {
"mcp": {
"enabled": true,
"discovery": {
"enabled": true,
"ttl": 5,
"max_search_results": 5,
"use_bm25": true,
"use_regex": false
},
"servers": {
"github": {
"enabled": true,
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_GITHUB_TOKEN"
}
},
"postgres": {
"enabled": true,
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-postgres",
"postgresql://user:password@localhost/dbname"
]
},
"slack": {
"enabled": true,
"type": "slack",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-slack"
],
"env": {
"SLACK_BOT_TOKEN": "YOUR_SLACK_BOT_TOKEN",
"SLACK_TEAM_ID": "YOUR_SLACK_TEAM_ID"
}
}
}
}
}
}
<a id="skills-tool"></a>
A ferramenta skills configura a descoberta e instalação de habilidades via registros como o ClawHub.
| Config | Tipo | Padrão | Descrição |
|---|---|---|---|
registries.clawhub.enabled | bool | true | Habilitar registro ClawHub |
registries.clawhub.base_url | string | https://clawhub.ai | URL base do ClawHub |
registries.clawhub.auth_token | string | "" | Token Bearer opcional para limites de taxa mais altos |
registries.clawhub.search_path | string | /api/v1/search | Caminho da API de pesquisa |
registries.clawhub.skills_path | string | /api/v1/skills | Caminho da API de Skills |
registries.clawhub.download_path | string | /api/v1/download | Caminho da API de download |
{
"tools": {
"skills": {
"registries": {
"clawhub": {
"enabled": true,
"base_url": "https://clawhub.ai",
"auth_token": "",
"search_path": "/api/v1/search",
"skills_path": "/api/v1/skills",
"download_path": "/api/v1/download"
}
}
}
}
}
Todas as opções de configuração podem ser substituÃdas via variáveis de ambiente com o formato PICOCLAW_TOOLS_<SECTION>_<KEY>:
Por exemplo:
PICOCLAW_TOOLS_WEB_BRAVE_ENABLED=truePICOCLAW_TOOLS_EXEC_ENABLED=falsePICOCLAW_TOOLS_EXEC_ENABLE_DENY_PATTERNS=falsePICOCLAW_TOOLS_CRON_EXEC_TIMEOUT_MINUTES=10PICOCLAW_TOOLS_MCP_ENABLED=trueNota: Configuração de tipo mapa aninhado (por exemplo tools.mcp.servers.<name>.*) é configurada no config.json em vez de variáveis de ambiente.