Serena: una herramienta MCP gratuita para la recuperación semántica y la edición de código
Últimos recursos sobre IAPublicado hace 5 meses Círculo de intercambio de inteligencia artificial 31K 00
Introducción general
Serena es una herramienta de programación gratuita y de código abierto desarrollada por el equipo Oraios AI y alojada en GitHub. Es un potente asistente de código que funciona directamente en su base de código, ayudando a los desarrolladores a analizar, editar y ejecutar código.Serena permite el análisis semántico a través del Protocolo de Servidor de Lenguaje (LSP), que permite una rápida comprensión de la estructura del código. También se integra con grandes modelos de lenguaje (LLM) como Claude Serena se ha diseñado para liberar a los desarrolladores de costosas dependencias de herramientas y proporcionarles un soporte de programación práctico y eficaz. Es adecuado para desarrolladores individuales, pequeños equipos e incluso grandes proyectos.

Lista de funciones
- Búsqueda semántica: encontrar símbolos, referencias o definiciones basándose en el significado del código.
- Edición de código: admite la inserción, sustitución y eliminación de bloques de código con un funcionamiento preciso.
- Ejecución de comandos: ejecute pruebas o scripts en el proyecto y vea los resultados.
- Resumen del proyecto: Muestra un resumen de la estructura de directorios y el contenido de los archivos.
- Soporte multilenguaje: soporte directo para Python, Java, TypeScript, soporte indirecto para más lenguajes.
- Almacenamiento en memoria: guarda los registros de análisis para su uso posterior.
- Integración LLM: vía MCP tal vez Agno El marco funciona con el modelo lingüístico.
- Código abierto y gratuito: no se requiere clave API ni pago alguno para utilizarlo.
Utilizar la ayuda
Para instalar y utilizar Serena hay que seguir unos cuantos pasos, pero en general no es difícil. A continuación se describe detalladamente cómo instalar, configurar y utilizar sus funciones básicas.
Proceso de instalación
- Comprobación del entorno
Serena requiere Python 3.11. Abra un terminal y escriba:
python --version
Si tiene una versión inferior a la 3.11, vaya al sitio web de Python para descargarla e instalarla.
- Descargar proyecto
Vaya a https://github.com/oraios/serena, haga clic en "Código" y copie el enlace HTTPS. Ejecútalo en un terminal:
git clone https://github.com/oraios/serena.git
El proyecto se descargará localmente.
- Herramientas de instalación uv
Serena utiliza uv para gestionar las dependencias. Para instalar uv consulte: https://docs.astral.sh/uv/getting-started/installation/. Ejecútalo en Linux/macOS por ejemplo:
curl -LsSf https://astral.sh/uv/install.sh | sh
- Instalación de dependencias
Vaya al catálogo de proyectos:
cd serena
Instale las dependencias básicas:
uv pip install -e .
Si desea utilizar el framework Agno, instale todas las dependencias:
uv pip install --all-extras -e .
- Elementos de configuración
Copie el archivo de configuración de ejemplo:
cp myproject.demo.yml myproject.yml
compilador myproject.yml
Entorno:
project_root
Su ruta de código, por ejemplo/home/user/mycode
.language
: Tipo de lengua, por ejemplopython
.ignored_dirs
: Ignora carpetas como.git
.
Guarda el archivo.
método de activación
Serena admite dos tipos principales de uso: el servidor MCP y el marco Agno.
Servidor MCP (con Claude Desktop)
- Instalación de Claude Desktop
Descárgalo en https://claude.ai/download para Windows y macOS. - Configuración de MCP
Abra Claude Desktop, vaya a "File > Settings > Developer > MCP Servers > Edit Config", editeclaude_desktop_config.json
Añade:
{
"mcpServers": {
"serena": {
"command": "/path/to/uv",
"args": ["run", "--directory", "/path/to/serena", "serena-mcp-server", "/path/to/myproject.yml"]
}
}
}
comandante en jefe (militar) /path/to/uv
responder cantando /path/to/serena
Los usuarios de Windows deben tener en cuenta la doble barra invertida (\).
- activar (un plan)
Guarde y reinicie Claude Desktop. La interfaz mostrará la herramienta Serena (con el icono del pequeño martillo).
Marco Agno
- Instalación de la interfaz de usuario
Descargar Agno UI:npx create-agent-ui@latest
o clonación manual:
git clone https://github.com/agno-agi/agent-ui.git cd agent-ui pnpm install pnpm dev
- Entorno de configuración
En el directorio Serena, copie.env.example
debido a.env
Si utiliza un modelo de pago, introduzca la clave API (si utiliza un modelo de pago). - Comienza Agno.
Corre en el catálogo de Serena:uv run python scripts/agno_agent.py
Claude se utiliza por defecto y puede cambiarse por otro modelo en el script.
- Conexión a la interfaz de usuario
Abra la interfaz de usuario de Agno en su navegador (normalmente http://localhost:5173) y conéctese al agente Agno.
Función principal Operación
recuperación semántica
Intento encontrar una referencia a una función determinada:
- Introduzca una solicitud en la interfaz Claude o Agno, como "Buscar
my_function
de la citación". - Serena, llama.
find_symbol
que devuelve la definición de la función y la ubicación de la referencia.
editor de código
Insertar nuevo código:
- gasto o desembolso
read_file
Ver documento:read_file path/to/file.py
- gasto o desembolso
insert_at_line
Inserte, por ejemplo, añadir código a la línea 5:insert_at_line path/to/file.py 5 'print("Test")'
- Compruebe el archivo para confirmar los cambios.
Ejecutar comando
Haz la prueba:
- Entrada:
execute_shell_command 'pytest tests/'
- Serena ejecuta y devuelve el resultado. Si algo va mal, sugiere una solución.
Función destacada Operación
Resumen del proyecto
Comprender rápidamente la estructura del código:
- Entrada:
get_dir_overview
- Serena devuelve los archivos y símbolos de nivel superior del directorio.
Análisis y recomendaciones automatizados
Analizar el problema:
- Después de ejecutar la prueba con
think_about_collected_information
::think_about_collected_information
- Serena sugiere correcciones basadas en registros o resultados.
advertencia
- problema de la víaUtiliza rutas absolutas para evitar errores de rutas relativas.
- seguridadModo Agno.
execute_shell_command
No se requiere confirmación. Manipular con cuidado. - log (cálculo)Habilitar la ventana de registro (en la ventana
myproject.yml
gestión de inversionesshow_logs: true
) para facilitar la depuración. - control de versiones: Se recomienda gestionar el código en Git para evitar pérdidas accidentales.
Con estos pasos, podrá utilizar Serena fácilmente y mejorar la eficacia de su programación.
escenario de aplicación
- Corrección rápida de errores
Cuando la prueba falla, Serena ejecuta el script, analiza los registros y sugiere cambios en el código adecuados para una solución de emergencia. - Conocer los proyectos de código abierto
Utilice Serena para analizar bases de código desconocidas, generando una visión general de la estructura y familiarizándose rápidamente con la lógica central. - Creación de prototipos
Los desarrolladores individuales utilizan Serena para insertar código, ejecutar pruebas y validar ideas rápidamente.
CONTROL DE CALIDAD
- ¿Es Serena completamente libre?
Sí, es de código abierto y no requiere suscripción. Utilízalo junto con un LLM gratuito como Claude Free Edition. - ¿Qué idiomas se admiten?
Compatibilidad directa con Python, Java, TypeScript. Compatibilidad indirecta con Ruby, Go, C# (requiere configuración manual, no se ha probado completamente). - ¿Cómo gestiona los grandes proyectos?
Serena analiza eficazmente el código con LSP. Configuración recomendadaignored_dirs
Ignora las carpetas extrañas.
© declaración de copyright
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Puestos relacionados
Sin comentarios...