> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mka1.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Desenvolvimento remoto

> Execute sessões em hosts SSH, distribuições WSL ou contêineres Docker.

export const ScreenshotCrop = ({src, alt, width, height, x = 0, y = 0, cropWidth = width, cropHeight = height, maxWidth = "100%"}) => <div className="not-prose" style={{
  position: "relative",
  overflow: "hidden",
  width: "100%",
  maxWidth,
  margin: "0 auto",
  aspectRatio: `${cropWidth} / ${cropHeight}`
}}>
    <img src={src} alt={alt} width={width} height={height} style={{
  position: "absolute",
  display: "block",
  margin: 0,
  maxWidth: "none",
  width: `${width / cropWidth * 100}%`,
  height: "auto",
  left: `${-x / cropWidth * 100}%`,
  top: `${-y / cropHeight * 100}%`
}} />
  </div>;

## Conecte um ambiente remoto

Um ambiente remoto executa o agente, as operações de arquivos e os terminais em um host SSH, uma distribuição WSL ou um contêiner Docker. A interface desktop permanece no seu computador. Ambientes WSL e Docker podem ser executados nesse mesmo computador. O repositório e as ferramentas de desenvolvimento já devem existir nesse ambiente; a conexão não copia seu checkout local.

Prepare o ambiente antes de conectar:

| Conexão | Requisitos |
| - | - |
| SSH | Host acessível, chave de host confiável e autenticação SSH que funcione sem uma solicitação interativa. |
| WSL | Aplicativo desktop no Windows e uma distribuição WSL instalada. |
| Docker | CLI do Docker funcionando e um contêiner existente em execução, com shell POSIX e diretório pessoal gravável. |

Depois, conecte o ambiente:

1. Em uma nova sessão de **Código**, abra o menu da pasta e escolha **Ambiente remoto…** em **Executar em**.
2. Escolha o tipo de conexão, informe os dados e selecione uma pasta de projeto existente no destino.
3. Se a tarefa precisar de ferramentas locais, selecione-as em **Ferramentas e credenciais**. Incluir as credenciais exige uma seleção separada.
4. Escolha **Conectar**. O diálogo mostra o progresso da preparação ou o erro que impediu a conexão.

As ferramentas e configurações selecionadas são copiadas uma vez, no momento da conexão. Mudanças locais posteriores não são sincronizadas continuamente. As autorizações OAuth dos conectores não são copiadas; configure a autenticação no ambiente de destino para os conectores que precisarem dela. O local de execução fica definido quando a sessão começa; para trabalhar em outra máquina, crie uma sessão.

Desconectar separa a interface desktop do ambiente sem cancelar uma tarefa remota ativa. Use o controle de parada da sessão para cancelar o trabalho. Ferramentas transferidas e credenciais persistentes permanecem na máquina remota após a desconexão.

### Informe os dados da conexão

Para SSH, informe host e pasta remota. Acrescente usuário, porta e caminho da chave privada se não estiverem na configuração SSH. Estabeleça confiança pelo procedimento normal de SSH: o aplicativo espera o host em `known_hosts` e autenticação sem perguntas interativas.

Para WSL, escolha a distribuição instalada. Para Docker, informe nome ou ID de um contêiner existente em execução e, se necessário, o contexto Docker. Use uma **Pasta remota** existente, como `~/project` ou `/home/user/project`; ela será o diretório de trabalho da sessão.

Antes de editar, peça para ler o README remoto e informar a localização do projeto e o comando de testes. Assim você confere se selecionou o checkout correto.

<Frame caption="Uma conexão SSH precisa de um host e uma pasta remota existente. Estes valores são exemplos.">
  <ScreenshotCrop src="/images/mka1-code/guides/pt/remote-development.jpg" alt="Formulário SSH com exemplos de host, usuário e pasta remota" width={2720} height={1660} x={892} y={460} cropWidth={936} cropHeight={740} maxWidth="100%" />
</Frame>

### Reconecte ao trabalho existente

Use **Conexões salvas** para reutilizar um destino. **Desconectar** fecha a conexão; **Esquecer** remove a entrada salva. Nenhuma muda o destino de uma sessão existente. Para parar uma tarefa remota, use seu controle de parada antes de desconectar.

Se atualizar uma skill ou conector localmente, não suponha que a cópia remota mudou. A transferência acontece uma vez e a autenticação remota precisa continuar válida. Confira o destino quando uma ferramenta funcionar localmente, mas estiver ausente ou sem autorização no remoto.

## Use um ambiente na nuvem quando disponível

Se sua conta oferecer a opção de nuvem no seletor, escolha um ambiente salvo em vez de SSH, WSL ou Docker. Ele define repositórios e preparação de uma nova sessão. A disponibilidade depende da conta e organização.

Em **Ajustes → Ambientes na nuvem**, crie ou abra um ambiente. Adicionar repositórios exige uma conexão GitHub na conta. Escolha cada repositório e branch, ou deixe a branch vazia para usar o padrão mostrado. Também é possível configurar script de preparação, variáveis e acesso de rede:

| Acesso | Finalidade |
| - | - |
| Sem internet | Executar sem acesso à internet. |
| Apenas gerenciadores de pacotes | Permitir registros de pacotes e serviços de código. |
| Acesso completo | Permitir sites públicos HTTP e HTTPS, bloqueando redes privadas. |

Inclua apenas configuração não secreta nas variáveis: os valores são visíveis aos usuários do ambiente. O script Bash opcional roda no início de cada sessão, antes do agente, com o acesso de rede escolhido.

Selecione o ambiente antes da primeira mensagem. Ela cria a sessão e prepara os repositórios. Abra o indicador do ambiente para conferir o estado. Se a preparação falhar, tente novamente quando o diálogo oferecer; se o script falhar, pode haver uma opção de executar a preparação outra vez. Examine o erro antes de repetir.

Mudanças no nível de rede salvo afetam sessões novas. As existentes mantêm o acesso original; mudar de ambiente exige outra sessão.

Continue com [Tarefas agendadas](/pt/docs/mka1-code/schedules).
