As ferramentas determinam o que um Agent pode fazer. Ao configurar o campo tools na criação ou atualização de um Agent, você controla com precisão suas capacidades.
O novo site de documentação Qoder CN já está disponível. O conteúdo deste site pode não refletir os recursos e as alterações mais recentes do product. Acesse docs.qoder.cn para consultar a documentação mais atualizada.
O que as ferramentas fazem
Ao executar uma tarefa, o Agent determina quais capacidades pode acionar com base na configuração de tools. Todas as ferramentas são configuradas por meio de um único objeto { "type": "agent_toolset_20260401", "enabled_tools": [...] }, habilitando seletivamente ferramentas atômicas no array enabled_tools.
Quando enabled_tools é uma lista de permissões não vazia, as ferramentas fora dela ficam invisíveis para o modelo e nenhuma tentativa de invocação é realizada. Quando enabled_tools é omitido ou recebe um array vazio, todas as ferramentas integradas ficam expostas ao modelo. Quando o próprio campo tools é omitido ou definido como [], o modelo não recebe nenhum schema de ferramenta (consulte o FAQ abaixo).
Ferramentas disponíveis
|
Nome da ferramenta (valor de enabled_tools) |
Finalidade |
Casos de uso típicos |
|
Bash |
Execução de comandos shell |
Instalação de dependências, execução de scripts, chamadas de API com curl |
|
Read |
Leitura de arquivos |
Visualização de arquivos montados, leitura de código |
|
Write |
Gravação de arquivos (criar/sobrescrever) |
Geração de relatórios, produção de saída |
|
Edit |
Edição parcial de arquivos |
Alteração de configuração, edição de código |
|
Glob |
Listagem de arquivos por padrão glob |
Localização de arquivos de código |
|
Grep |
Busca de conteúdo em arquivos |
Localização de strings |
|
WebFetch |
HTTP GET em uma única página |
Busca de documentação e páginas |
|
WebSearch |
Pesquisa na web |
Consulta de informações |
|
DeliverArtifacts |
Ferramenta reservada pelo sistema. Presente no conjunto "all on" (quando enabled_tools é omitido ou vazio). |
Não recomendado declarar explicitamente em enabled_tools. |
Observações:
Os nomes das ferramentas são grafados com inicial maiúscula (Bash, não bash); eles também aparecem em maiúscula nos fluxos de eventos
Omitir enabled_tools ou passar um array vazio [] habilita todas as ferramentas integradas (incluindo DeliverArtifacts listada acima). Para que o Agent não tenha nenhuma ferramenta, omita o campo tools inteiro ou defina-o como [].
Cada nome de ferramenta em enabled_tools é validado — informar um nome desconhecido (por exemplo, "Foo") retorna 400: "unknown tool name 'Foo'"
O schema antigo por objeto de ferramenta (como {"type": "bash_20250124"}) não é mais suportado
Formato atual: objeto único
A configuração de tools é um único objeto que ativa ferramentas específicas por meio do array enabled_tools:
{
"tools": [
{
"type": "agent_toolset_20260401",
"enabled_tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep", "WebFetch", "WebSearch"]
}
]
}
Defina ao criar um Agent:
curl -X POST https://api.qoder.com.cn/api/v1/cloud/agents \
-H "Authorization: Bearer $QODER_PAT" \
-H "Content-Type: application/json" \
-d '{
"name": "dev-agent",
"model": "ultimate",
"instructions": "You are a development assistant",
"tools": [
{
"type": "agent_toolset_20260401",
"enabled_tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep", "WebFetch", "WebSearch"]
}
]
}'
Exemplos de configuração
Mínima (somente CLI)
{
"tools": [
{
"type": "agent_toolset_20260401",
"enabled_tools": ["Bash"]
}
]
}
Stack completa de desenvolvimento
{
"tools": [
{
"type": "agent_toolset_20260401",
"enabled_tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep", "WebFetch", "WebSearch"]
}
]
}
Criar uma nova versão (PUT — substituição completa)
Use PUT para criar uma nova versão do Agent com a configuração de ferramentas atualizada:
curl -X PUT https://api.qoder.com.cn/api/v1/cloud/agents/agent_abc123 \
-H "Authorization: Bearer $QODER_PAT" \
-H "Content-Type: application/json" \
-d '{
"version": 1,
"tools": [
{
"type": "agent_toolset_20260401",
"enabled_tools": ["Bash", "Read", "Write", "Edit"]
}
]
}'
PUT é uma substituição completa (não um patch) — campos não incluídos serão removidos. O campo version é obrigatório para controle de concorrência otimista: - Se a versão fornecida coincidir com a versão atual: 200, a versão é incrementada em 1 - Se a versão fornecida estiver desatualizada: 409 { error: { type: "conflict_error", message: "Version conflict. Expected version N, got M." }} As Sessions existentes não são afetadas; novas Sessions utilizam a configuração atualizada.
Inspecionar a configuração atual de ferramentas
curl https://api.qoder.com.cn/api/v1/cloud/agents/agent_abc123 \
-H "Authorization: Bearer $QODER_PAT" | jq '.tools'
Exemplo de saída:
[
{
"type": "agent_toolset_20260401",
"enabled_tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep", "WebFetch", "WebSearch"]
}
]
FAQ
P: O que acontece se eu não configure ferramentas? R: O Agent não terá ferramentas disponíveis e só poderá realizar conversas em texto simples. Para atribuir qualquer capacidade de ferramenta ao Agent, passe pelo menos [{"type":"agent_toolset_20260401"}] (o que habilita todas as ferramentas integradas).
P: Posso sobrescrever as ferramentas no nível da Session? R: Não no momento. A configuração de ferramentas está vinculada ao Agent, e todas as Sessions desse Agent compartilham o mesmo conjunto de ferramentas.
P: A ordem das ferramentas importa? R: Não. O Agent decide qual ferramenta acionar com base no contexto da tarefa.
P: O sufixo de versão muda com o tempo? R: Sim. À medida que novas versões de ferramentas são lançadas, novos sufixos com data são introduzidos. Acompanhe o changelog e adote o sufixo mais recente.