Iniciar uma sessão interativa
As sessões interativas fornecem uma interface conversacional com Bob diretamente no terminal, permitindo assistência em tempo real nas tuas tarefas de desenvolvimento.

Quando usar uma sessão interativa
As sessões interativas funcionam melhor para:
- Sessões de programação exploratória.
- Depuração e resolução de problemas.
- Aprender novos conceitos ou tecnologias.
- Tarefas que requerem múltiplas trocas.
- Projetos onde precisas de rever as alterações antes de serem aplicadas.
Iniciar uma sessão interativa
Usa o subcomando bob chat para iniciar uma sessão interativa no terminal.
Sintaxe
bob chat [options]Iniciar uma sessão
Abre uma nova janela de terminal.
Ao iniciar o Bob Shell pela primeira vez, tens de fazer login com o teu IBMid e aceitar o acordo de licença.
Navega até ao diretório principal do teu projeto.
Executa o seguinte comando para iniciar uma sessão interativa:
bob chatDicas para uma utilização eficaz
- Sê específico nos teus pedidos para obteres respostas mais direcionadas.
- Usa referências
@para fornecer contexto de código quando necessário. - Para tarefas complexas, divide-as em passos menores.
- Usa slash commands para aceder rapidamente a funcionalidades comuns.
- Ao trabalhar com bases de código grandes, direciona o Bob Shell para os ficheiros mais relevantes.
Utilização básica
Interagir com Bob Shell
- Escreve as tuas instruções ou perguntas diretamente no terminal.
- Prime Enter para enviar a mensagem ao Bob.
- Bob Shell responde com a sua análise e sugestões.
- Para a utilização de tools (como ler ou escrever ficheiros), serás convidado a aprovar ou recusar cada ação.
Aprovações de tools
Quando Bob Shell solicita usar uma tool, aparece um diálogo de aprovação. O diálogo disponibiliza as seguintes opções:
| Opção | Descrição |
|---|---|
| Approve Once | Permitir esta chamada de tool específica. Serás solicitado novamente para chamadas futuras. |
Approve <group> tools for task | Permitir todas as tools no mesmo grupo de tools para o resto da tarefa. Não aparece para tools MCP. |
| Always Allow Command for task | Permitir um comando shell específico para o resto da tarefa. |
| Reject | Recusar a chamada de tool. Bob Shell não prossegue com a ação. |
Também podes adicionar uma nota opcional ao aprovar ou recusar uma chamada. A nota é enviada ao modelo como contexto adicional.
Para alternar a aprovação automática sem abrir o diálogo de aprovação, prime Ctrl+F no macOS ou Alt+F no Windows, Linux e WSL.
Prime Escape para interromper o Bob enquanto uma resposta está a ser transmitida.
Conversas multi-turno
Bob Shell mantém o contexto ao longo da conversa, permitindo-te:
- Fazer perguntas de acompanhamento.
- Refinar pedidos anteriores.
- Construir com base em respostas anteriores.
Referenciar ficheiros e recursos
Usa o símbolo @ para referenciar ficheiros no teu projeto:
Explain the functionality in @src/main.jsIsto diz ao Bob Shell para ler e analisar o ficheiro especificado antes de responder.
- Os ficheiros são incorporados até 100 KB por ficheiro.
- O conteúdo total incorporado em todas as menções
@está limitado a 500 KB. - Os diretórios mostram até 50 entradas.
Também podes referenciar recursos do Model Context Protocol (MCP) expostos por servidores conectados usando o formato server:resource-name:
@my-server:schema.jsonReferenciar skills
Escreve $ seguido do nome de uma skill para abrir o seletor de skills e inserir uma referência de skill no teu prompt.
Ver alterações a ficheiros
Quando Bob Shell precisa de modificar ficheiros, mostra-te as alterações propostas no terminal com uma vista diff CLI.
Usar slash commands
Escreve / para aceder a um menu de comandos disponíveis:
- Comandos integrados como
/helppara obter ajuda - Comandos de troca de modo como
/mode ask - Comandos personalizados que criaste
Para uma lista completa dos comandos disponíveis, consulta Slash commands no Bob Shell.
Fila de mensagens
Quando Bob está a transmitir uma resposta, podes colocar mensagens adicionais na fila em vez de esperar. Prime Tab para colocar o input atual na fila. As mensagens em fila são enviadas automaticamente por ordem, assim que cada turno é concluído.
| Tecla | Ação |
|---|---|
Tab | Colocar o input atual na fila (ou enviar imediatamente quando inativo) |
↑ | Mover o foco para a lista da fila |
Enter | Editar o item em fila selecionado |
Tab (na fila) | Enviar o item selecionado imediatamente |
Delete / Backspace | Remover o item selecionado da fila |
Shift+K / Shift+J | Reordenar o item selecionado para cima / baixo |
Rodapé de estado
O rodapé abaixo do campo de input mostra informações em tempo real sobre a sessão:
| Campo | Descrição |
|---|---|
| Mode | Nome do modo ativo (por exemplo, Agent Mode) — um sufixo (auto-approve) a vermelho aparece quando a aprovação automática está ativada |
| Context | Tokens usados versus tamanho da janela de contexto, com uma percentagem |
| Cost | Custo acumulado para a tarefa atual em Bobcoins (🅞) |
Gestão de sessões
Retomar uma sessão anterior
Podes retomar uma sessão anterior ao iniciar bob chat:
bob chat --resume <task-id>
bob chat --resume latestPara encontrar o ID de tarefa de uma sessão anterior, usa bob --list-tasks:
bob --list-tasksConectar a uma instância com nome
Usa --instance-id para conectar a uma instância com nome específico em vez de iniciar uma nova:
bob chat --instance-id my-projectFlags de utilidade geral
Alguns flags são invocados diretamente com bob, não com bob chat ou bob run. Os seguintes flags estão disponíveis:
| Flag | Descrição |
|---|---|
--list-tasks [n|all] | Listar tarefas guardadas para o workspace atual e sair. Por defeito 20. Passa um número ou all para controlar quantas são mostradas. |
--limit <n> | Número máximo de tarefas a mostrar com --list-tasks. |
--show-license | Mostrar o acordo de licença IBM e sair. |
Output legível por máquina
Quando stdout não é um TTY — por exemplo, quando redirecionas ou canalizas o output — --list-tasks muda de uma tabela legível por humanos para NDJSON, com um objeto JSON por linha.
Cada linha tem a seguinte forma:
{"id":"<uuid>","title":"<string>","status":"<string>","workspace":"<file-uri>","updatedAt":<unix-ms>}| Campo | Tipo | Descrição |
|---|---|---|
id | string (UUID) | Identificador único da tarefa, utilizável com --resume |
title | string | Título da tarefa, recorrendo à primeira mensagem, depois id |
status | string | Estado da tarefa (active, completed, paused) |
workspace | string (file URI) | Caminho absoluto do workspace como URI file: |
updatedAt | number | Timestamp da última atualização em milissegundos Unix |
Exemplos
# Canalizar para jq
bob --list-tasks all | jq '.id'
# Guardar em ficheiro e depois processar
bob --list-tasks 100 > tasks.ndjson
# Mostrar o acordo de licença
bob --show-licenseOpções
| Opção | Descrição |
|---|---|
--instance-id <id> | Conectar a uma instância com nome específico em vez de iniciar uma nova |
--resume <task-id> | Retomar uma tarefa anterior pelo ID da tarefa |
--resume latest | Retomar a tarefa mais recente |
--mode <mode> | Modo inicial (por exemplo, agent, plan, ask) |
--log-level <level> | Verbosidade do log: error, warn, info, debug ou trace |
--auto-approve | Suprimir prompts de aprovação de tools para a sessão. Não tem efeito em pastas não confiáveis. |
--trust | Persistir a pasta atual como confiável, ignorando o diálogo de confiança no primeiro acesso. Equivalente a selecionar manualmente "Confiar na pasta". Ver Pastas confiáveis. |
--team-id <id> | Executar sob um ID de equipa específico (necessário ao usar uma chave API do tipo general) |
Desinstalar
Remove Bob Shell do teu sistema usando o método adequado para a tua instalação.
Iniciar uma sessão não interativa
As sessões não interativas permitem usar Bob Shell diretamente a partir da linha de comando sem entrar numa sessão interativa. Usa para automação, scripting e tarefas de processamento em lote.