Medusa para VS Code
Um agente de código que trabalha dentro do editor usando os modelos, as skills
e as integrações do seu workspace na Medusa Cloud
— com o custo de cada turno medido e a chave de API nunca saindo do servidor.
Requer uma conta Medusa Cloud em plano Pro.
O que ela faz
Lê, edita e executa. O agente lê o projeto, escreve e edita arquivos, roda
comandos no terminal e propõe planos. A edição vai direto para o disco e uma
barra de revisão mostra os arquivos com +n −n; clicar abre o diff, e dá para
aceitar tudo, rejeitar tudo ou reverter arquivo a arquivo. Comando de terminal
sempre pede confirmação.
Quatro modos, escolhidos por turno. Perguntar e Planejar são de leitura
— neles, as ferramentas que alteram algo saem da mesa, e não é uma instrução em
prosa que o modelo pode ignorar. Executar age pedindo aprovação. Automático
age sem parar para pedir, para quando você está ao lado acompanhando.
Os modelos do seu workspace, em dois lugares: no painel da Medusa e no
seletor nativo do VS Code, de onde qualquer coisa que use a Language Model API
passa a falar com os provedores configurados na plataforma. O @medusa também
responde no painel de Chat.
As integrações MCP do workspace viram ferramentas do agente — Jira, GitHub,
Notion, Slack, Zapier, o que estiver conectado. Toda chamada pede sua aprovação,
porque o efeito sai da sua máquina. O token OAuth nunca chega ao editor: a
extensão pede a chamada ao gateway, que a executa.
Skills, do disco e da biblioteca da Medusa. As do projeto vêm de
.medusa/skills, .claude/skills, .codex/skills e .agents/skills; as da
organização vêm da plataforma. Só o nome e a descrição entram no contexto — o
corpo é carregado quando o agente decide usar.
Os agentes publicados no Agente Studio. /agentes lista os que você pode
ver, /agente <nome> conversa com um deles sem sair do editor, respeitando a
visibilidade escolhida na publicação. O fluxo roda no servidor, com o RAG e as
ferramentas configurados lá.
No dia a dia
- Ctrl+I edita a seleção no lugar, sem passar pelo chat.
@ anexa arquivos, terminais, @diff (o que mudou no git) e
@problemas (os erros que o editor está apontando).
- Cole um print direto na caixa e o modelo enxerga a imagem.
- ✨ no painel de Controle do Código-Fonte escreve a mensagem de commit a
partir do que está preparado.
- Comandos com
/: /compact, /contexto, /custo, /modelo, /mcp,
/skills, /problemas, /terminais, /preview, /nova, /ajuda — mais os
seus, de .medusa/commands.
- Preview com seleção de elemento: um navegador embutido; clique num
elemento da página e o seletor, o HTML e os estilos vão para a conversa.
- Terminais em segundo plano: comando que passa de 8 segundos ganha nome e
continua rodando, e o turno volta na hora.
@terminal1 manda o log junto.
- Diagnósticos: depois de cada edição o agente recebe os erros e avisos
novos daquele arquivo, então ele conserta antes de você perceber.
- Histórico por projeto e compactação automática quando a conversa cresce.
Governança e custo
Todo turno passa pelo gateway da Medusa e é registrado com o projeto, o modelo e
o custo. O painel de consumo separa o que foi gasto no editor do que foi gasto
no resto da plataforma.
Quem administra o workspace escolhe, em Configurações → Medusa Extension,
qual chave de cada provedor o editor usa. Quem programa não decide isso — e não
vê chave nenhuma.
A chave de API nunca sai do servidor. A extensão manda o seu token Medusa ao
gateway; é lá que a credencial do workspace é descriptografada, a chamada é feita
e o consumo é medido. Não existe caminho alternativo, e é isso que mantém o
painel de custo dizendo a verdade.
O que o agente pode ler e fazer
A partir do login, a Medusa lê o projeto sem pedir permissão a cada arquivo. O
limite é o .medusaignore, criado no primeiro login e já negando .env,
*.pem, *.key, id_rsa*, .aws/credentials e **/secrets/. Mesma sintaxe do
.gitignore, inclusive ! para reincluir.
O que ela pode fazer está no .medusa/settings.json, versionado com o time:
{
"permissoes": {
"permitir": ["rodar_comando(npm run test*)"],
"negar": ["rodar_comando(git push*)"]
}
}
negar recusa sem oferecer aprovação e vence qualquer outra regra — inclusive o
modo Automático. Aprovações dadas com "sempre nesta sessão" valem até a janela
fechar e nunca vão para o disco: uma permissão que você esqueceu que deu é, na
prática, uma permissão que você não deu.
Como começar
- Instale a extensão e abra o ícone da Medusa na barra lateral.
- Entrar na Medusa abre o navegador com um código de seis caracteres;
confirme e volte ao editor. A sessão fica no cofre do VS Code e funciona em
Remote-SSH, WSL e Codespaces.
- Uma pasta
.medusa/ nasce no projeto, com AGENTS.md para as instruções do
time, settings.json e .medusaignore. Nada é sobrescrito.
Configuração
| Chave |
Padrão |
O que faz |
medusa.workspaceId |
null |
fixa o workspace deste projeto |
medusa.requestTimeoutMs |
120000 |
teto de uma chamada ao gateway |
medusa.showCostInStatusBar |
true |
custo da sessão na barra de status |
medusa.compactacao.ativa |
true |
resume os turnos antigos quando a conversa cresce |
medusa.compactacao.limiteTokens |
60000 |
acima disso, compacta |
medusa.compactacao.preservarRecentes |
8 |
mensagens que nunca são resumidas |
Sem medusa.workspaceId, a escolha do workspace fica no estado da janela — assim
o id do tenant não vaza num repositório público.
Editores
| Editor |
Situação |
| VS Code 1.104+ |
completo |
| VSCodium 1.104+ |
completo |
| Cursor, Windsurf |
não testados. Sem vscode.lm/vscode.chat o seletor nativo e o @medusa não existem; o painel não depende deles |
A extensão detecta a diferença na ativação e registra um aviso, em vez de
estourar erro.
Suporte
medusacloud.com.br/produtos/medusa-extension
· contato@medusacloud.com.br