mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-08-13 19:08:00 +00:00
Some checks failed
CodeQL Advanced / Analyze (actions) (push) Has been cancelled
CodeQL Advanced / Analyze (python) (push) Has been cancelled
Check Documentation Broken Links / Check broken links (push) Has been cancelled
Vulnerability Scan / Detect changes (push) Has been cancelled
Vulnerability Scan / pip-audit (push) Has been cancelled
Build uv cache / build-cache (3.10) (push) Has been cancelled
Build uv cache / build-cache (3.11) (push) Has been cancelled
Build uv cache / build-cache (3.12) (push) Has been cancelled
Build uv cache / build-cache (3.13) (push) Has been cancelled
* Standardize CLI flags to kebab-case with deprecated snake_case aliases. Unify active long-option naming across create, train, test, and replay while keeping hidden backward-compatible aliases and documenting the migration in edge docs and AGENTS.md. * Emit deprecation warnings when snake_case CLI flag aliases are used. Route hidden legacy flags through separate internal params so warnings fire only when the alias is supplied, and extend CLI tests for create, replay, and --help coverage. * Merge CLI deprecation warn helpers into warn_deprecated(kind=...). Replace warn_deprecated_command and warn_deprecated_flag with one helper that accepts kind="command" or kind="flag".
475 lines
13 KiB
Plaintext
475 lines
13 KiB
Plaintext
---
|
|
title: CLI
|
|
description: Aprenda a usar o CLI do CrewAI para interagir com o CrewAI.
|
|
icon: terminal
|
|
mode: "wide"
|
|
---
|
|
|
|
<Warning>
|
|
A partir da versão 0.140.0, a plataforma CrewAI AMP iniciou um processo de
|
|
migração de seu provedor de login. Como resultado, o fluxo de autenticação via
|
|
CLI foi atualizado. Usuários que utlizam o Google para fazer login, ou que
|
|
criaram conta após 3 de julho de 2025 não poderão fazer login com versões
|
|
anteriores da biblioteca `crewai`.
|
|
</Warning>
|
|
|
|
## Visão Geral
|
|
|
|
O CLI do CrewAI fornece um conjunto de comandos para interagir com o CrewAI, permitindo que você crie, treine, execute e gerencie crews & flows.
|
|
|
|
## Instalação
|
|
|
|
Para usar o CLI do CrewAI, certifique-se de que o CrewAI está instalado:
|
|
|
|
```shell Terminal
|
|
pip install crewai
|
|
```
|
|
|
|
## Uso Básico
|
|
|
|
A estrutura básica de um comando CLI do CrewAI é:
|
|
|
|
```shell Terminal
|
|
crewai [COMMAND] [OPTIONS] [ARGUMENTS]
|
|
```
|
|
|
|
## Comandos Disponíveis
|
|
|
|
### 1. Create
|
|
|
|
Crie um novo crew ou flow.
|
|
|
|
```shell Terminal
|
|
crewai create [OPTIONS] TYPE NAME
|
|
```
|
|
|
|
- `TYPE`: Escolha entre "crew" ou "flow"
|
|
- `NAME`: Nome do crew ou flow
|
|
|
|
Exemplo:
|
|
|
|
```shell Terminal
|
|
crewai create crew my_new_crew
|
|
crewai create flow my_new_flow
|
|
```
|
|
|
|
Por padrão, `crewai create crew` cria um projeto JSON-first com `crew.jsonc` e `agents/*.jsonc`. Use `crewai create crew my_new_crew --classic` somente quando quiser o scaffold antigo em Python/YAML com `crew.py`, `config/agents.yaml` e `config/tasks.yaml`.
|
|
|
|
#### Aliases de flags obsoletas
|
|
|
|
As flags antigas em snake_case ainda funcionam, mas ficam ocultas no `--help`. Prefira as formas em kebab-case documentadas em cada seção de comando abaixo.
|
|
|
|
| Obsoleto | Use em vez disso |
|
|
| :--- | :--- |
|
|
| `--skip_provider` (em `crewai create crew`) | `--skip-provider` |
|
|
| `--n_iterations` (em `crewai train`, `crewai test`) | `--n-iterations` |
|
|
| `--task_id` (em `crewai replay`) | `--task-id` |
|
|
|
|
### 2. Version
|
|
|
|
Mostre a versão instalada do CrewAI.
|
|
|
|
```shell Terminal
|
|
crewai version [OPTIONS]
|
|
```
|
|
|
|
- `--tools`: (Opcional) Mostra a versão instalada das ferramentas do CrewAI
|
|
|
|
Exemplo:
|
|
|
|
```shell Terminal
|
|
crewai version
|
|
crewai version --tools
|
|
```
|
|
|
|
### 3. Train
|
|
|
|
Treine o crew por um número específico de iterações.
|
|
|
|
```shell Terminal
|
|
crewai train [OPTIONS]
|
|
```
|
|
|
|
- `-n, --n-iterations INTEGER`: Número de iterações para treinar o crew (padrão: 5)
|
|
- `-f, --filename TEXT`: Caminho para um arquivo customizado para treinamento (padrão: "trained_agents_data.pkl")
|
|
|
|
Exemplo:
|
|
|
|
```shell Terminal
|
|
crewai train -n 10 -f my_training_data.pkl
|
|
```
|
|
|
|
```python
|
|
# Exemplo de uso programático do comando train
|
|
n_iterations = 2
|
|
inputs = {"topic": "Treinamento CrewAI"}
|
|
filename = "seu_modelo.pkl"
|
|
|
|
try:
|
|
SuaCrew().crew().train(
|
|
n_iterations=n_iterations,
|
|
inputs=inputs,
|
|
filename=filename
|
|
)
|
|
except Exception as e:
|
|
raise Exception(f"Ocorreu um erro ao treinar a crew: {e}")
|
|
```
|
|
|
|
### 4. Replay
|
|
|
|
Reexecute a execução do crew a partir de uma tarefa específica.
|
|
|
|
```shell Terminal
|
|
crewai replay [OPTIONS]
|
|
```
|
|
|
|
- `-t, --task-id TEXT`: Reexecuta o crew a partir deste task ID, incluindo todas as tarefas subsequentes
|
|
|
|
Exemplo:
|
|
|
|
```shell Terminal
|
|
crewai replay -t task_123456
|
|
```
|
|
|
|
### 5. Log-tasks-outputs
|
|
|
|
Recupere as saídas mais recentes das tarefas crew.kickoff() do seu crew.
|
|
|
|
```shell Terminal
|
|
crewai log-tasks-outputs
|
|
```
|
|
|
|
### 6. Reset-memories
|
|
|
|
Redefine as memórias do crew (longa, curta, de entidades, latest_crew_kickoff_outputs).
|
|
|
|
```shell Terminal
|
|
crewai reset-memories [OPTIONS]
|
|
```
|
|
|
|
- `-l, --long`: Redefine a memória de LONGO PRAZO
|
|
- `-s, --short`: Redefine a memória de CURTO PRAZO
|
|
- `-e, --entities`: Redefine a memória de ENTIDADES
|
|
- `-k, --kickoff-outputs`: Redefine as OUTPUTS DA TAREFA KICKOFF MAIS RECENTE
|
|
- `-kn, --knowledge`: Redefine o armazenamento de CONHECIMENTO
|
|
- `-akn, --agent-knowledge`: Redefine o armazenamento de CONHECIMENTO DOS AGENTES
|
|
- `-a, --all`: Redefine TODAS as memórias
|
|
|
|
Exemplo:
|
|
|
|
```shell Terminal
|
|
crewai reset-memories --long --short
|
|
crewai reset-memories --all
|
|
```
|
|
|
|
### 7. Test
|
|
|
|
Teste o crew e avalie os resultados.
|
|
|
|
```shell Terminal
|
|
crewai test [OPTIONS]
|
|
```
|
|
|
|
- `-n, --n-iterations INTEGER`: Número de iterações para testar o crew (padrão: 3)
|
|
- `-m, --model TEXT`: Modelo LLM para executar os testes no Crew (padrão: "gpt-4o-mini")
|
|
|
|
Exemplo:
|
|
|
|
```shell Terminal
|
|
crewai test -n 5 -m gpt-3.5-turbo
|
|
```
|
|
|
|
### 8. Run
|
|
|
|
Execute o crew ou flow.
|
|
|
|
```shell Terminal
|
|
crewai run
|
|
```
|
|
|
|
<Note>
|
|
A partir da versão 0.103.0, o comando `crewai run` pode ser usado para
|
|
executar tanto crews padrão quanto flows. Para flows, ele detecta
|
|
automaticamente o tipo a partir do pyproject.toml e executa o comando
|
|
apropriado. Este é agora o modo recomendado de executar tanto crews quanto
|
|
flows.
|
|
</Note>
|
|
|
|
<Note>
|
|
Certifique-se de executar estes comandos a partir do diretório onde seu
|
|
projeto CrewAI está configurado. Alguns comandos podem exigir configuração ou
|
|
ajustes adicionais dentro da estrutura do seu projeto.
|
|
</Note>
|
|
|
|
### 9. Chat
|
|
|
|
A partir da versão `0.98.0`, ao rodar o comando `crewai chat`, você inicia uma sessão interativa com seu crew. O assistente de IA irá guiá-lo solicitando as entradas necessárias para executar o crew. Uma vez que todas as entradas são fornecidas, o crew executará suas tarefas.
|
|
|
|
Depois de receber os resultados, você pode continuar interagindo com o assistente para instruções ou perguntas adicionais.
|
|
|
|
```shell Terminal
|
|
crewai chat
|
|
```
|
|
|
|
<Note>
|
|
Garanta que você execute estes comandos a partir do diretório raiz do seu projeto CrewAI.
|
|
</Note>
|
|
<Note>
|
|
IMPORTANTE: Defina a propriedade `chat_llm` na definição da sua crew para habilitar este comando.
|
|
|
|
Para crews JSON-first, adicione em `crew.jsonc`:
|
|
|
|
```jsonc
|
|
{
|
|
"name": "My Crew",
|
|
"agents": ["researcher"],
|
|
"tasks": [],
|
|
"chat_llm": "openai/gpt-4o"
|
|
}
|
|
```
|
|
|
|
Para crews clássicas Python/YAML, defina em `crew.py`:
|
|
|
|
```python
|
|
@crew
|
|
def crew(self) -> Crew:
|
|
return Crew(
|
|
agents=self.agents,
|
|
tasks=self.tasks,
|
|
process=Process.sequential,
|
|
verbose=True,
|
|
chat_llm="gpt-4o", # LLM para orquestração de chat
|
|
)
|
|
```
|
|
|
|
</Note>
|
|
|
|
### 10. Deploy
|
|
|
|
Implemente o crew ou flow no [CrewAI AMP](https://app.crewai.com).
|
|
|
|
- **Autenticação**: Você precisa estar autenticado para implementar no CrewAI AMP.
|
|
Você pode fazer login ou criar uma conta com:
|
|
|
|
```shell Terminal
|
|
crewai login
|
|
```
|
|
|
|
- **Criar um deployment**: Depois de autenticado, você pode criar um deployment para seu crew ou flow a partir da raiz do seu projeto local.
|
|
```shell Terminal
|
|
crewai deploy create
|
|
```
|
|
- Lê a configuração do seu projeto local.
|
|
- Solicita a confirmação das variáveis de ambiente (como `OPENAI_API_KEY`, `SERPER_API_KEY`) encontradas localmente. Elas serão armazenadas de forma segura junto ao deployment na plataforma Enterprise. Verifique se suas chaves sensíveis estão corretamente configuradas localmente (por exemplo, em um arquivo `.env`) antes de executar este comando.
|
|
|
|
### 11. Gerenciamento de Organização
|
|
|
|
Gerencie suas organizações no CrewAI AMP.
|
|
|
|
```shell Terminal
|
|
crewai org [COMMAND] [OPTIONS]
|
|
```
|
|
|
|
#### Comandos:
|
|
|
|
- `list`: Liste todas as organizações das quais você faz parte
|
|
|
|
```shell Terminal
|
|
crewai org list
|
|
```
|
|
|
|
- `current`: Exibe sua organização ativa atualmente
|
|
|
|
```shell Terminal
|
|
crewai org current
|
|
```
|
|
|
|
- `switch`: Mude para uma organização específica
|
|
|
|
```shell Terminal
|
|
crewai org switch <organization_id>
|
|
```
|
|
|
|
<Note>
|
|
Você deve estar autenticado no CrewAI AMP para usar estes comandos de
|
|
gerenciamento de organização.
|
|
</Note>
|
|
|
|
- **Criar um deployment** (continuação):
|
|
|
|
- Vincula o deployment ao respectivo repositório remoto do GitHub (normalmente detectado automaticamente).
|
|
|
|
- **Implantar o Crew**: Depois de autenticado, você pode implantar seu crew ou flow no CrewAI AMP.
|
|
|
|
```shell Terminal
|
|
crewai deploy push
|
|
```
|
|
|
|
- Inicia o processo de deployment na plataforma CrewAI AMP.
|
|
- Após a iniciação bem-sucedida, será exibida a mensagem Deployment created successfully! juntamente com o Nome do Deployment e um Deployment ID (UUID) único.
|
|
|
|
- **Status do Deployment**: Você pode verificar o status do seu deployment com:
|
|
|
|
```shell Terminal
|
|
crewai deploy status
|
|
```
|
|
|
|
Isso retorna o status mais recente do último deployment iniciado (por exemplo, `Building Images for Crew`, `Deploy Enqueued`, `Online`).
|
|
|
|
- **Logs do Deployment**: Você pode checar os logs do seu deployment com:
|
|
|
|
```shell Terminal
|
|
crewai deploy logs
|
|
```
|
|
|
|
Isso faz o streaming dos logs do deployment para seu terminal.
|
|
|
|
- **Listar deployments**: Você pode listar todos os seus deployments com:
|
|
|
|
```shell Terminal
|
|
crewai deploy list
|
|
```
|
|
|
|
Isto lista todos os seus deployments.
|
|
|
|
- **Deletar um deployment**: Você pode deletar um deployment com:
|
|
|
|
```shell Terminal
|
|
crewai deploy remove
|
|
```
|
|
|
|
Isto exclui o deployment da plataforma CrewAI AMP.
|
|
|
|
- **Comando de Ajuda**: Você pode obter ajuda sobre o CLI com:
|
|
```shell Terminal
|
|
crewai deploy --help
|
|
```
|
|
Isto exibe a mensagem de ajuda para o CLI CrewAI Deploy.
|
|
|
|
Assista ao vídeo tutorial para uma demonstração passo-a-passo de implantação do seu crew no [CrewAI AMP](http://app.crewai.com) usando o CLI.
|
|
|
|
<iframe
|
|
className="w-full aspect-video rounded-xl"
|
|
src="https://www.youtube.com/embed/3EqSV-CYDZA"
|
|
title="CrewAI Deployment Guide"
|
|
frameBorder="0"
|
|
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
|
|
allowFullScreen
|
|
></iframe>
|
|
|
|
### 11. Chaves de API
|
|
|
|
Ao executar o comando `crewai create crew`, o CLI mostrará provedores de LLM disponíveis e depois a seleção de modelo para o provedor escolhido. O modelo selecionado é salvo no `.env` gerado, e cada agente JSONC pode definir seu próprio `llm`.
|
|
|
|
Após selecionar um provedor de LLM, será solicitado que você informe as chaves de API.
|
|
|
|
#### Provedores iniciais de chave de API
|
|
|
|
Inicialmente, o CLI solicitará as chaves de API para os seguintes serviços:
|
|
|
|
- OpenAI
|
|
- Groq
|
|
- Anthropic
|
|
- Google Gemini
|
|
- SambaNova
|
|
|
|
Ao selecionar um provedor, o CLI solicitará que você insira sua chave de API.
|
|
|
|
#### Outras opções
|
|
|
|
Se você selecionar a opção 6, será possível escolher de uma lista de provedores suportados pelo LiteLLM.
|
|
|
|
Ao escolher um provedor, o CLI solicitará que você informe o nome da chave e a chave de API.
|
|
|
|
Veja o seguinte link para o nome de chave de cada provedor:
|
|
|
|
- [LiteLLM Providers](https://docs.litellm.ai/docs/providers)
|
|
|
|
### 12. Gerenciamento de Configuração
|
|
|
|
Gerencie as configurações do CLI para CrewAI.
|
|
|
|
```shell Terminal
|
|
crewai config [COMANDO] [OPÇÕES]
|
|
```
|
|
|
|
#### Comandos:
|
|
|
|
- `list`: Exibir todos os parâmetros de configuração do CLI
|
|
|
|
```shell Terminal
|
|
crewai config list
|
|
```
|
|
|
|
- `set`: Definir um parâmetro de configuração do CLI
|
|
|
|
```shell Terminal
|
|
crewai config set <chave> <valor>
|
|
```
|
|
|
|
- `reset`: Redefinir todos os parâmetros de configuração do CLI para valores padrão
|
|
|
|
```shell Terminal
|
|
crewai config reset
|
|
```
|
|
|
|
#### Parâmetros de Configuração Disponíveis
|
|
|
|
- `enterprise_base_url`: URL base da instância CrewAI AMP
|
|
- `oauth2_provider`: Provedor OAuth2 usado para autenticação (ex: workos, okta, auth0)
|
|
- `oauth2_audience`: Valor de audiência OAuth2, tipicamente usado para identificar a API ou recurso de destino
|
|
- `oauth2_client_id`: ID do cliente OAuth2 emitido pelo provedor, usado durante solicitações de autenticação
|
|
- `oauth2_domain`: Domínio do provedor OAuth2 (ex: sua-org.auth0.com) usado para emissão de tokens
|
|
|
|
#### Exemplos
|
|
|
|
Exibir configuração atual:
|
|
|
|
```shell Terminal
|
|
crewai config list
|
|
```
|
|
|
|
Exemplo de saída:
|
|
|
|
| Parâmetro | Valor | Descrição |
|
|
| :------------------ | :--------------------- | :------------------------------------------------------------- |
|
|
| enterprise_base_url | https://app.crewai.com | URL base da instância CrewAI AMP |
|
|
| org_name | Not set | Nome da organização atualmente ativa |
|
|
| org_uuid | Not set | UUID da organização atualmente ativa |
|
|
| oauth2_provider | workos | Provedor OAuth2 (ex.: workos, okta, auth0) |
|
|
| oauth2_audience | client_01YYY | Audience usada para identificar a API/recurso de destino |
|
|
| oauth2_client_id | client_01XXX | Client ID OAuth2 emitido pelo provedor (usado na autenticação) |
|
|
| oauth2_domain | login.crewai.com | Domínio do provedor OAuth2 (ex.: your-org.auth0.com) |
|
|
|
|
Definir a URL base do enterprise:
|
|
|
|
```shell Terminal
|
|
crewai config set enterprise_base_url https://minha-empresa.crewai.com
|
|
```
|
|
|
|
Definir provedor OAuth2:
|
|
|
|
```shell Terminal
|
|
crewai config set oauth2_provider auth0
|
|
```
|
|
|
|
Definir domínio OAuth2:
|
|
|
|
```shell Terminal
|
|
crewai config set oauth2_domain minha-empresa.auth0.com
|
|
```
|
|
|
|
Redefinir todas as configurações para padrões:
|
|
|
|
```shell Terminal
|
|
crewai config reset
|
|
```
|
|
|
|
<Note>
|
|
As configurações são armazenadas em `~/.config/crewai/settings.json`. Algumas
|
|
configurações como nome da organização e UUID são somente leitura e
|
|
gerenciadas através de comandos de autenticação e organização. Configurações
|
|
relacionadas ao repositório de ferramentas são ocultas e não podem ser
|
|
definidas diretamente pelo usuário.
|
|
</Note>
|