Pular para o conteúdo principal

Modos Personalizados

O AI Cockpit Reasoning permite que você crie modos personalizados para adaptar o comportamento do AI Cockpit a tarefas ou fluxos de trabalho específicos. Os modos personalizados podem ser globais (disponíveis em todos os projetos) ou específicos do projeto (definidos em um único projeto).

Por que Usar Modos Personalizados?

  • Especialização: Crie modos otimizados para tarefas específicas, como "Escritor de Documentação", "Engenheiro de Testes" ou "Especialista em Refatoração"

  • Segurança: Restrinja o acesso de um modo a arquivos ou comandos sensíveis. Por exemplo, um "Modo de Revisão" pode ser limitado a operações de apenas leitura

  • Experimentação: Experimente com segurança diferentes prompts e configurações sem afetar outros modos

  • Colaboração em Equipe: Compartilhe modos personalizados com sua equipe para padronizar os fluxos de trabalho

    Visão geral da interface de modos personalizados

    Interface do AI Cockpit Reasoning para criar e gerenciar modos personalizados.

O que está Incluído em um Modo Personalizado?

Os modos personalizados permitem que você defina:

  • Um nome e slug únicos: Para fácil identificação
  • Uma definição de função: Colocada no início do prompt do sistema, isso define a especialidade e a personalidade central do AI Cockpit para o modo. Este posicionamento é crucial, pois molda a compreensão e a abordagem fundamental do AI Cockpit para as tarefas
  • Instruções personalizadas: Adicionadas ao final do prompt do sistema, estas fornecem diretrizes específicas que modificam ou refinam o comportamento do AI Cockpit. Ao contrário dos arquivos .clinerules (que apenas adicionam regras no final), este posicionamento estruturado de função e instruções permite um controle mais sutil sobre as respostas do AI Cockpit
  • Ferramentas permitidas: Quais ferramentas do AI Cockpit Reasoning o modo pode usar (por exemplo, ler arquivos, escrever arquivos, executar comandos)
  • Restrições de arquivo: (Opcional) Limitar o acesso a arquivos a tipos ou padrões de arquivo específicos (por exemplo, permitir apenas a edição de arquivos .md)

Configuração de Modo Personalizado (Formato JSON)

Tanto as configurações globais quanto as específicas do projeto usam o mesmo formato JSON. Cada arquivo de configuração contém um array customModes de definições de modo:

{
"customModes": [
{
"slug": "mode-name",
"name": "Mode Display Name",
"roleDefinition": "Mode's role and capabilities",
"groups": ["read", "edit"],
"customInstructions": "Additional guidelines"
}
]
}

Propriedades Obrigatórias

slug

  • Um identificador único para o modo
  • Use letras minúsculas, números e hífens
  • Mantenha-o curto e descritivo
  • Exemplo: "docs-writer", "test-engineer"

name

  • O nome de exibição mostrado na interface do usuário
  • Pode incluir espaços e maiúsculas
  • Exemplo: "Documentation Writer", "Test Engineer"

roleDefinition

  • Descrição detalhada da função e capacidades do modo
  • Define a especialidade e personalidade do AI Cockpit para este modo
  • Exemplo: "Você é um escritor técnico especializado em documentação clara"

groups

  • Array de grupos de ferramentas permitidos
  • Grupos disponíveis: "read", "edit", "browser", "command", "mcp"
  • Pode incluir restrições de arquivo para o grupo "edit"
Formato de Restrições de Arquivo
["edit", {
"fileRegex": "\\.md$",
"description": "Apenas arquivos Markdown"
}]

Entendendo as Restrições de Arquivo

A propriedade fileRegex usa expressões regulares para controlar quais arquivos um modo pode editar:

  • \\.md$ - Corresponde a arquivos que terminam em ".md"
  • \\.(test|spec)\\.(js|ts)$ - Corresponde a arquivos de teste (por exemplo, "component.test.js")
  • \\.(js|ts)$ - Corresponde a arquivos JavaScript e TypeScript

Padrões de regex comuns:

  • \\. - Corresponde a um ponto literal
  • (a|b) - Corresponde a "a" ou "b"
  • $ - Corresponde ao final do nome do arquivo

Saiba mais sobre expressões regulares

Propriedades Opcionais

customInstructions

  • Diretrizes comportamentais adicionais para o modo
  • Exemplo: "Foque em explicar conceitos e fornecer exemplos"

apiConfiguration

  • Configurações opcionais para personalizar o modelo de IA e os parâmetros para este modo
  • Permite otimizar a seleção do modelo para tarefas específicas
  • Exemplo: {"model": "gpt-4", "temperature": 0.2}

Arquivos de Instruções Personalizadas Específicas do Modo

Além da propriedade customInstructions em JSON, você pode usar um arquivo dedicado para instruções específicas do modo:

  1. Crie um arquivo chamado .clinerules-{mode-slug} na raiz do seu espaço de trabalho
    • Substitua {mode-slug} pelo slug do seu modo (por exemplo, .clinerules-docs-writer)
  2. Adicione suas instruções personalizadas a este arquivo
  3. O AI Cockpit Reasoning aplicará automaticamente essas instruções ao modo especificado

Esta abordagem é particularmente útil para:

  • Manter instruções longas separadas da configuração do seu modo
  • Gerenciar instruções com controle de versão
  • Permitir que membros da equipe não técnicos modifiquem as instruções sem editar o JSON

Nota: Se ambos .clinerules-{mode-slug} e a propriedade customInstructions existirem, eles serão combinados, com o conteúdo do arquivo anexado após a propriedade JSON.

Precedência de Configuração

As configurações de modo são aplicadas nesta ordem:

  1. Configurações de modo no nível do projeto (de .AI Cockpitcodemodes)
  2. Configurações de modo globais (de custom_modes.yaml)
  3. Configurações de modo padrão

Isso significa que as configurações específicas do projeto sobrescreverão as configurações globais, que por sua vez sobrescreverão as configurações padrão.

Criando Modos Personalizados

Você tem três opções para criar modos personalizados:

1. Peça ao AI Cockpit! (Recomendado)

Você pode criar rapidamente um modo personalizado básico pedindo ao AI Cockpit Reasoning para fazer isso por você. Por exemplo:

Crie um novo modo chamado "Escritor de Documentação". Ele só deve ser capaz de ler arquivos e escrever arquivos Markdown.

O AI Cockpit Reasoning irá guiá-lo através do processo. No entanto, para ajustar os modos ou fazer ajustes específicos, você desejará usar a guia Prompts ou os métodos de configuração manual descritos abaixo.

info

Configurações de Criação de Modo Personalizado

Quando habilitado, o AI Cockpit permite que você crie modos personalizados usando prompts como 'Faça-me um modo personalizado que...'. Desabilitar isso reduz seu prompt do sistema em cerca de 700 tokens quando este recurso não é necessário. Quando desabilitado, você ainda pode criar modos personalizados manualmente usando o botão + acima ou editando o JSON de configuração relacionado.

Configuração Habilitar Criação de Modo Personalizado Através de Prompts

Você pode encontrar essa configuração nas configurações de prompt clicando no ícone na barra de menu superior do AI Cockpit Reasoning.

2. Usando o Seletor de Modo

  1. Abra o Seletor de Modo: Clique no seletor de modo na entrada de chat

  2. Crie um Novo Modo: Clique no botão à direita do título Modos

  3. Preencha os Campos:

    Interface de criação de modo personalizado na guia Prompts

    A interface de criação de modo personalizado mostrando campos para nome, slug, local de salvamento, definição de função, ferramentas disponíveis e instruções personalizadas.

    • Nome: Insira um nome de exibição para o modo
    • Slug: Insira um identificador em minúsculas (apenas letras, números e hífens)
    • Local de Salvamento: Escolha Global (via custom_modes.yaml, disponível em todos os espaços de trabalho) ou Específico do Projeto (via arquivo .AI Cockpitcodemodes na raiz do projeto)
    • Definição de Função: Defina a especialidade e a personalidade do AI Cockpit para este modo (aparece no início do prompt do sistema)
    • Descrição Curta (para humanos): Uma breve descrição mostrada no menu suspenso do seletor de modo.
    • Quando Usar (Opcional): Orientação para o AI Cockpit sobre quando este modo deve ser usado. Isso ajuda o Orquestrador a escolher o modo certo para uma tarefa.
    • Ferramentas Disponíveis: Selecione quais ferramentas este modo pode usar
    • Instruções Personalizadas: (Opcional) Adicione diretrizes comportamentais específicas para este modo (aparece no final do prompt do sistema)
  4. Crie o Modo: Clique no botão "Criar Modo" para salvar seu novo modo

Nota: As restrições de tipo de arquivo só podem ser adicionadas através da configuração manual.

3. Configuração Manual

Você pode configurar modos personalizados editando arquivos JSON através da guia Prompts:

Tanto as configurações globais quanto as específicas do projeto podem ser editadas através da guia Prompts:

  1. Abra a Guia Prompts: Clique no ícone na barra de menu superior do AI Cockpit Reasoning
  2. Acesse o Menu de Configurações: Clique no botão à direita do título Modos
  3. Escolha a Configuração:
    • Selecione "Editar Modos Globais" para editar custom_modes.yaml (disponível em todos os espaços de trabalho)
    • Selecione "Editar Modos do Projeto" para editar o arquivo .AI Cockpitcodemodes (na raiz do projeto)
  4. Edite a Configuração: Modifique o arquivo JSON que se abre
  5. Salve as Alterações: O AI Cockpit Reasoning detectará automaticamente as alterações

Exemplos de Configuração

Cada exemplo mostra diferentes aspectos da configuração do modo:

Escritor de Documentação Básico

{
"customModes": [{
"slug": "docs-writer",
"name": "Escritor de Documentação",
"roleDefinition": "Você é um escritor técnico especializado em documentação clara",
"groups": [
"read",
["edit", { "fileRegex": "\\.md$", "description": "Apenas arquivos Markdown" }]
],
"customInstructions": "Foque em explicações claras e exemplos"
}]
}

Engenheiro de Testes com Restrições de Arquivo

{
"customModes": [{
"slug": "test-engineer",
"name": "Engenheiro de Testes",
"roleDefinition": "Você é um engenheiro de testes focado na qualidade do código",
"groups": [
"read",
["edit", { "fileRegex": "\\.(test|spec)\\.(js|ts)$", "description": "Apenas arquivos de teste" }]
]
}]
}

Sobrescrita de Modo Específico do Projeto

{
"customModes": [{
"slug": "code",
"name": "Código (Específico do Projeto)",
"roleDefinition": "Você é um engenheiro de software com restrições específicas do projeto",
"groups": [
"read",
["edit", { "fileRegex": "\\.(js|ts)$", "description": "Apenas arquivos JS/TS" }]
],
"customInstructions": "Foque no desenvolvimento JS/TS específico do projeto"
}]
}

Seguindo estas instruções, você pode criar e gerenciar modos personalizados para aprimorar seu fluxo de trabalho com o AI Cockpit Reasoning.

Entendendo Regex em Modos Personalizados

Padrões de Regex em modos personalizados permitem que você controle precisamente quais arquivos o AI Cockpit pode editar:

Sintaxe Básica

Quando você especifica fileRegex em um modo personalizado, está criando um padrão que os caminhos dos arquivos devem corresponder:

["edit", { "fileRegex": "\\.md$", "description": "Apenas arquivos Markdown" }]

Regras Importantes

  • Barras Invertidas Duplas: Em JSON, as barras invertidas devem ser escapadas com outra barra invertida. Então \.md$ se torna \\.md$
  • Correspondência de Caminho: Os padrões correspondem ao caminho completo do arquivo, não apenas ao nome do arquivo
  • Sensibilidade a Maiúsculas e Minúsculas: Os padrões de Regex são sensíveis a maiúsculas e minúsculas por padrão

Exemplos de Padrões Comuns

PadrãoCorresponde aNão Corresponde a
\\.md$readme.md, docs/guide.mdscript.js, readme.md.bak
^src/.*src/app.js, src/components/button.tsxlib/utils.js, test/src/mock.js
\\.(css|scss)$styles.css, theme.scssstyles.less, styles.css.map
docs/.*\\.md$docs/guide.md, docs/api/reference.mdguide.md, src/docs/notes.md
^(?!.*(test|spec)).*\\.js$app.js, utils.jsapp.test.js, utils.spec.js

Blocos de Construção de Padrões

  • \\. - Corresponde a um ponto literal
  • $ - Corresponde ao final da string
  • ^ - Corresponde ao início da string
  • .* - Corresponde a qualquer caractere (exceto nova linha) zero ou mais vezes
  • (a|b) - Corresponde a "a" ou "b"
  • (?!...) - Lookahead negativo (exclui correspondências)

Testando Seus Padrões

Antes de aplicar um padrão de regex a um modo personalizado:

  1. Teste-o em caminhos de arquivo de exemplo para garantir que ele corresponda ao que você espera
  2. Lembre-se que em JSON, cada barra invertida precisa ser duplicada (\d se torna \\d)
  3. Comece com padrões mais simples e aumente a complexidade gradualmente
dica

Deixe o AI Cockpit Construir Seus Padrões de Regex

Em vez de escrever padrões de regex complexos manualmente, você pode pedir ao AI Cockpit para criá-los para você! Simplesmente descreva quais arquivos você deseja incluir ou excluir:

Crie um padrão de regex que corresponda a arquivos JavaScript, mas exclua arquivos de teste

O AI Cockpit irá gerar o padrão apropriado com o escape adequado para a configuração JSON.