Files
opencode/packages/web/src/content/docs/pt-br/modes.mdx
opencode-agent[bot] d578f80f00 chore: generate
2026-02-09 17:35:30 +00:00

329 lines
9.0 KiB
Plaintext

---
title: Modos
description: Modos diferentes para diferentes casos de uso.
---
:::caution
Os modos agora são configurados através da opção `agent` na configuração do opencode. A opção `mode` agora está obsoleta. [Saiba mais](/docs/agents).
:::
Os modos no opencode permitem que você personalize o comportamento, as ferramentas e os prompts para diferentes casos de uso.
Ele vem com dois modos integrados: **build** e **plan**. Você pode personalizar esses ou configurar os seus próprios através da configuração do opencode.
Você pode alternar entre os modos durante uma sessão ou configurá-los no seu arquivo de configuração.
---
## Integrado
O opencode vem com dois modos integrados.
---
### Build
Build é o modo **padrão** com todas as ferramentas habilitadas. Este é o modo padrão para trabalho de desenvolvimento onde você precisa de acesso total a operações de arquivos e comandos do sistema.
---
### Plan
Um modo restrito projetado para planejamento e análise. No modo plan, as seguintes ferramentas estão desativadas por padrão:
- `write` - Não pode criar novos arquivos
- `edit` - Não pode modificar arquivos existentes, exceto para arquivos localizados em `.opencode/plans/*.md` para detalhar o plano em si
- `patch` - Não pode aplicar patches
- `bash` - Não pode executar comandos de shell
Este modo é útil quando você deseja que a IA analise o código, sugira alterações ou crie planos sem fazer modificações reais em sua base de código.
---
## Alternando
Você pode alternar entre modos durante uma sessão usando a tecla _Tab_. Ou sua tecla de atalho configurada `switch_mode`.
Veja também: [Formatadores](/docs/formatters) para informações sobre configuração de formatação de código.
---
## Configurar
Você pode personalizar os modos integrados ou criar os seus próprios através da configuração. Os modos podem ser configurados de duas maneiras:
### Configuração JSON
Configure os modos no seu arquivo de configuração `opencode.json`:
```json title="opencode.json"
{
"$schema": "https://opencode.ai/config.json",
"mode": {
"build": {
"model": "anthropic/claude-sonnet-4-20250514",
"prompt": "{file:./prompts/build.txt}",
"tools": {
"write": true,
"edit": true,
"bash": true
}
},
"plan": {
"model": "anthropic/claude-haiku-4-20250514",
"tools": {
"write": false,
"edit": false,
"bash": false
}
}
}
}
```
### Configuração Markdown
Você também pode definir modos usando arquivos markdown. Coloque-os em:
- Global: `~/.config/opencode/modes/`
- Projeto: `.opencode/modes/`
```markdown title="~/.config/opencode/modes/review.md"
---
model: anthropic/claude-sonnet-4-20250514
temperature: 0.1
tools:
write: false
edit: false
bash: false
---
Você está no modo de revisão de código. Foque em:
- Qualidade do código e melhores práticas
- Bugs potenciais e casos extremos
- Implicações de desempenho
- Considerações de segurança
Forneça feedback construtivo sem fazer alterações diretas.
```
O nome do arquivo markdown se torna o nome do modo (por exemplo, `review.md` cria um modo `review`).
Vamos analisar essas opções de configuração em detalhes.
---
### Modelo
Use a configuração `model` para substituir o modelo padrão para este modo. Útil para usar diferentes modelos otimizados para diferentes tarefas. Por exemplo, um modelo mais rápido para planejamento, um modelo mais capaz para implementação.
```json title="opencode.json"
{
"mode": {
"plan": {
"model": "anthropic/claude-haiku-4-20250514"
}
}
}
```
---
### Temperatura
Controle a aleatoriedade e a criatividade das respostas da IA com a configuração `temperature`. Valores mais baixos tornam as respostas mais focadas e determinísticas, enquanto valores mais altos aumentam a criatividade e a variabilidade.
```json title="opencode.json"
{
"mode": {
"plan": {
"temperature": 0.1
},
"creative": {
"temperature": 0.8
}
}
}
```
Os valores de temperatura geralmente variam de 0.0 a 1.0:
- **0.0-0.2**: Respostas muito focadas e determinísticas, ideais para análise de código e planejamento
- **0.3-0.5**: Respostas equilibradas com alguma criatividade, boas para tarefas de desenvolvimento geral
- **0.6-1.0**: Respostas mais criativas e variadas, úteis para brainstorming e exploração
```json title="opencode.json"
{
"mode": {
"analyze": {
"temperature": 0.1,
"prompt": "{file:./prompts/analysis.txt}"
},
"build": {
"temperature": 0.3
},
"brainstorm": {
"temperature": 0.7,
"prompt": "{file:./prompts/creative.txt}"
}
}
}
```
Se nenhuma temperatura for especificada, o opencode usa padrões específicos do modelo (geralmente 0 para a maioria dos modelos, 0.55 para modelos Qwen).
---
### Prompt
Especifique um arquivo de prompt do sistema personalizado para este modo com a configuração `prompt`. O arquivo de prompt deve conter instruções específicas para o propósito do modo.
```json title="opencode.json"
{
"mode": {
"review": {
"prompt": "{file:./prompts/code-review.txt}"
}
}
}
```
Este caminho é relativo a onde o arquivo de configuração está localizado. Portanto, isso funciona tanto para a configuração global do opencode quanto para a configuração específica do projeto.
---
### Ferramentas
Controle quais ferramentas estão disponíveis neste modo com a configuração `tools`. Você pode habilitar ou desabilitar ferramentas específicas definindo-as como `true` ou `false`.
```json
{
"mode": {
"readonly": {
"tools": {
"write": false,
"edit": false,
"bash": false,
"read": true,
"grep": true,
"glob": true
}
}
}
}
```
Se nenhuma ferramenta for especificada, todas as ferramentas estão habilitadas por padrão.
---
#### Ferramentas disponíveis
Aqui estão todas as ferramentas que podem ser controladas através da configuração do modo.
| Ferramenta | Descrição |
| ----------- | ------------------------------- |
| `bash` | Executar comandos de shell |
| `edit` | Modificar arquivos existentes |
| `write` | Criar novos arquivos |
| `read` | Ler conteúdos de arquivos |
| `grep` | Pesquisar conteúdos de arquivos |
| `glob` | Encontrar arquivos por padrão |
| `list` | Listar conteúdos de diretório |
| `patch` | Aplicar patches a arquivos |
| `todowrite` | Gerenciar listas de tarefas |
| `todoread` | Ler listas de tarefas |
| `webfetch` | Buscar conteúdo da web |
---
## Modos personalizados
Você pode criar seus próprios modos personalizados adicionando-os à configuração. Aqui estão exemplos usando ambas as abordagens:
### Usando configuração JSON
```json title="opencode.json" {4-14}
{
"$schema": "https://opencode.ai/config.json",
"mode": {
"docs": {
"prompt": "{file:./prompts/documentation.txt}",
"tools": {
"write": true,
"edit": true,
"bash": false,
"read": true,
"grep": true,
"glob": true
}
}
}
}
```
### Usando arquivos markdown
Crie arquivos de modo em `.opencode/modes/` para modos específicos do projeto ou `~/.config/opencode/modes/` para modos globais:
```markdown title=".opencode/modes/debug.md"
---
temperature: 0.1
tools:
bash: true
read: true
grep: true
write: false
edit: false
---
Você está no modo de depuração. Seu objetivo principal é ajudar a investigar e diagnosticar problemas.
Foque em:
- Compreender o problema através de uma análise cuidadosa
- Usar comandos bash para inspecionar o estado do sistema
- Ler arquivos e logs relevantes
- Pesquisar padrões e anomalias
- Fornecer explicações claras das descobertas
Não faça alterações em arquivos. Apenas investigue e relate.
```
```markdown title="~/.config/opencode/modes/refactor.md"
---
model: anthropic/claude-sonnet-4-20250514
temperature: 0.2
tools:
edit: true
read: true
grep: true
glob: true
---
Você está no modo de refatoração. Foque em melhorar a qualidade do código sem alterar a funcionalidade.
Prioridades:
- Melhorar a legibilidade e a manutenibilidade do código
- Aplicar convenções de nomenclatura consistentes
- Reduzir a duplicação de código
- Otimizar o desempenho onde apropriado
- Garantir que todos os testes continuem passando
```
---
### Casos de uso
Aqui estão alguns casos de uso comuns para diferentes modos.
- **Modo Build**: Trabalho de desenvolvimento completo com todas as ferramentas habilitadas
- **Modo Plan**: Análise e planejamento sem fazer alterações
- **Modo Review**: Revisão de código com acesso somente leitura e ferramentas de documentação
- **Modo Debug**: Focado em investigação com ferramentas bash e de leitura habilitadas
- **Modo Docs**: Redação de documentação com operações de arquivo, mas sem comandos do sistema
Você também pode descobrir que diferentes modelos são bons para diferentes casos de uso.