Aprendizagem pessoal com IA
e orientação prática
Espelho de desenho CyberKnife

Serena: uma ferramenta MCP gratuita para recuperação semântica e edição de código

Introdução geral

O Serena é uma ferramenta de programação gratuita e de código aberto desenvolvida pela equipe de IA da Oraios e hospedada no GitHub. É um assistente de código avançado que funciona diretamente em sua base de código, ajudando os desenvolvedores a analisar, editar e executar o código. O Serena permite a análise semântica por meio do Language Server Protocol (LSP), que possibilita a compreensão rápida da estrutura do código. Ele também se integra a grandes modelos de linguagem (LLMs), como Claude O Serena foi projetado para liberar os desenvolvedores das dependências de ferramentas caras e oferecer suporte prático e eficiente à programação. Ele é adequado para desenvolvedores individuais, pequenas equipes e até mesmo grandes projetos.

Serena: uma ferramenta MCP gratuita para recuperação semântica e edição de código-1


 

Lista de funções

  • Pesquisa semântica: encontre símbolos, referências ou definições com base no significado do código.
  • Edição de código: suporte para inserção, substituição e exclusão de blocos de código com operação precisa.
  • Execução de comandos: execute testes ou scripts no projeto e veja os resultados.
  • Visão geral do projeto: Exibe um resumo da estrutura do diretório e do conteúdo do arquivo.
  • Suporte a vários idiomas: suporte direto a Python, Java, TypeScript, suporte indireto a outros idiomas.
  • Armazenamento de memória: Salve os registros de análise para uso posterior.
  • Integração do LLM: via MCP talvez Agno A estrutura funciona com o modelo de linguagem.
  • Código aberto e gratuito: não é necessário usar nenhuma chave de API ou pagamento.

 

Usando a Ajuda

Há algumas etapas envolvidas na instalação e no uso do Serena, mas, em geral, não é difícil. A seguir, há uma descrição detalhada de como instalar, configurar e operar suas funções principais.

Processo de instalação

  1. Verificação do ambiente
    O Serena requer o Python 3.11. Abra um terminal e digite:
python --version

Se você tiver uma versão inferior à 3.11, acesse o site do Python para fazer o download e instalá-la.

  1. Download do projeto
    Acesse https://github.com/oraios/serena, clique em "Code" (Código) e copie o link HTTPS. Execute-o em um terminal:
git clone https://github.com/oraios/serena.git

O projeto será baixado localmente.

  1. Ferramentas de instalação uv
    O Serena usa o uv para gerenciar dependências. Para instalar o uv, consulte: https://docs.astral.sh/uv/getting-started/installation/. Execute-o no Linux/macOS, por exemplo:
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. Instalação de dependências
    Vá para o catálogo de projetos:
cd serena

Instale as dependências básicas:

uv pip install -e .

Se você quiser usar a estrutura Agno, instale todas as dependências:

uv pip install --all-extras -e .
  1. Itens de configuração
    Copie o arquivo de configuração de amostra:
cp myproject.demo.yml myproject.yml

compilador myproject.ymlConfiguração:

  • project_rootSeu caminho de código, por exemplo /home/user/mycode.
  • languageTipo de idioma, por exemplo. python.
  • ignored_dirsIgnorar pastas como .git.
    Salve o arquivo.

método de ativação

O Serena oferece suporte a dois tipos principais de uso: o servidor MCP e a estrutura Agno.

Servidor MCP (com o Claude Desktop)

  1. Instalação do Claude Desktop
    Faça o download em https://claude.ai/download para Windows e macOS.
  2. Configuração da MCP
    Abra o Claude Desktop, vá para "Arquivo > Configurações > Desenvolvedor > Servidores MCP > Editar configuração", edite claude_desktop_config.jsonAdicionar:
{
"mcpServers": {
"serena": {
"command": "/path/to/uv",
"args": ["run", "--directory", "/path/to/serena", "serena-mcp-server", "/path/to/myproject.yml"]
}
}
}

comandante-em-chefe (militar) /path/to/uv responder cantando /path/to/serena Substitua pelo caminho real. Os usuários do Windows observam a barra invertida dupla (\).

  1. ativar (um plano)
    Salve e reinicie o Claude Desktop. A interface mostrará a ferramenta Serena (com o ícone do martelinho).

Estrutura da Agno

  1. Instalação da interface do usuário
    Faça o download do Agno UI:

    npx create-agent-ui@latest
    

    ou clonagem manual:

    git clone https://github.com/agno-agi/agent-ui.git
    cd agent-ui
    pnpm install
    pnpm dev
    
  2. Ambiente de configuração
    No diretório do Serena, copie .env.example por causa de .envSe você estiver usando um modelo pago, preencha a chave da API (se estiver usando um modelo pago).
  3. Iniciar Agno.
    Corra no catálogo da Serena:

    uv run python scripts/agno_agent.py
    

    Claude é usado por padrão e pode ser alterado para outro modelo no script.

  4. Conexão com a interface do usuário
    Abra a Agno UI em seu navegador (geralmente http://localhost:5173) e conecte-se ao agente Agno.

Operação da função principal

recuperação semântica

Tentando encontrar uma referência a uma determinada função:

  1. Insira uma solicitação na interface do Claude ou da Agno, como "Localizar my_function da citação".
  2. Serena, ligue. find_symbolque retorna a definição da função e o local de referência.

editor de código

Inserir novo código:

  1. despesa ou gasto read_file Exibir documento:
    read_file path/to/file.py
    
  2. despesa ou gasto insert_at_line Inserir, por exemplo, adicionar código à linha 5:
    insert_at_line path/to/file.py 5 'print("Test")'
    
  3. Verifique o arquivo para confirmar as alterações.

Executar comando

Execute o teste:

  1. Entrada:
    execute_shell_command 'pytest tests/'
    
  2. O Serena executa e retorna o resultado. Se algo der errado, ela sugere uma correção.

Operação da função em destaque

Visão geral do projeto

Entenda rapidamente a estrutura do código:

  1. Entrada:
    get_dir_overview
    
  2. O Serena retorna os arquivos e os símbolos de nível superior no diretório.

Análises e recomendações automatizadas

Analisando o problema:

  1. Depois de executar o teste com think_about_collected_information::
    think_about_collected_information
    
  2. Serena sugere correções com base em registros ou resultados.

advertência

  • problema do caminhoUse caminhos absolutos para evitar erros de caminho relativo.
  • segurançaModo Agno: Modo Agno.execute_shell_command Nenhuma confirmação é necessária. Manuseie com cuidado.
  • log (computação)Ativar a janela de registro (no myproject.yml gerenciamento de investimentos show_logs: true) para facilitar a depuração.
  • controle de versãoRecomendamos que você gerencie seu código no Git para evitar perdas acidentais.

Com essas etapas, você pode usar o Serena com facilidade e aumentar a eficiência da programação.

 

cenário do aplicativo

  1. Correções rápidas de erros
    Quando o teste falha, Serena executa o script, analisa os registros e sugere alterações no código adequadas para uma correção de emergência.
  2. Aprender sobre projetos de código aberto
    Use o Serena para analisar bases de código desconhecidas, gerando uma visão geral da estrutura e se familiarizando rapidamente com a lógica central.
  3. Prototipagem
    Os desenvolvedores individuais usam o Serena para inserir código, executar testes e validar ideias rapidamente.

 

QA

  1. O Serena é totalmente gratuito?
    Sim, ele é de código aberto e não requer assinatura. Use-o em conjunto com um LLM gratuito, como o Claude Free Edition.
  2. Quais são os idiomas suportados?
    Suporte direto para Python, Java, TypeScript. Suporte indireto para Ruby, Go, C# (configuração manual necessária, não totalmente testada).
  3. Como você lida com grandes projetos?
    O Serena analisa o código de forma eficiente com o LSP. Configuração recomendada ignored_dirs Ignore pastas estranhas.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Serena: uma ferramenta MCP gratuita para recuperação semântica e edição de código
pt_BRPortuguês do Brasil