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.
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
- 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.
- 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.
- 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
- 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 .
- Itens de configuração
Copie o arquivo de configuração de amostra:
cp myproject.demo.yml myproject.yml
compilador myproject.yml
Configuração:
project_root
Seu caminho de código, por exemplo/home/user/mycode
.language
Tipo de idioma, por exemplo.python
.ignored_dirs
Ignorar 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)
- Instalação do Claude Desktop
Faça o download em https://claude.ai/download para Windows e macOS. - Configuração da MCP
Abra o Claude Desktop, vá para "Arquivo > Configurações > Desenvolvedor > Servidores MCP > Editar configuração", editeclaude_desktop_config.json
Adicionar:
{
"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 (\).
- ativar (um plano)
Salve e reinicie o Claude Desktop. A interface mostrará a ferramenta Serena (com o ícone do martelinho).
Estrutura da Agno
- 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
- Ambiente de configuração
No diretório do Serena, copie.env.example
por causa de.env
Se você estiver usando um modelo pago, preencha a chave da API (se estiver usando um modelo pago). - 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.
- 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:
- Insira uma solicitação na interface do Claude ou da Agno, como "Localizar
my_function
da citação". - Serena, ligue.
find_symbol
que retorna a definição da função e o local de referência.
editor de código
Inserir novo código:
- despesa ou gasto
read_file
Exibir documento:read_file path/to/file.py
- despesa ou gasto
insert_at_line
Inserir, por exemplo, adicionar código à linha 5:insert_at_line path/to/file.py 5 'print("Test")'
- Verifique o arquivo para confirmar as alterações.
Executar comando
Execute o teste:
- Entrada:
execute_shell_command 'pytest tests/'
- 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:
- Entrada:
get_dir_overview
- 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:
- Depois de executar o teste com
think_about_collected_information
::think_about_collected_information
- 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 investimentosshow_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
- 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. - 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. - Prototipagem
Os desenvolvedores individuais usam o Serena para inserir código, executar testes e validar ideias rapidamente.
QA
- 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. - 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). - Como você lida com grandes projetos?
O Serena analisa o código de forma eficiente com o LSP. Configuração recomendadaignored_dirs
Ignore pastas estranhas.