Serena는 강력한 프로그래밍 지능 에이전트 툴킷으로, 대규모 언어 모델(LLM)을 완전한 기능을 갖춘 프로그래밍 지능 에이전트로 전환하여 코드베이스에서 직접 작업할 수 있도록 합니다. 이 프로젝트는 Oraios AI에서 개발하고 개발자 커뮤니티에 오픈 소스로 기여했습니다.
이러한 언어는 Serena의 기본으로 사용되는 multilspy 언어 서버 라이브러리를 통해 지원됩니다.
Serena는 MCP 서버를 제공하며, 다음 클라이언트와 통합할 수 있습니다.
Agno (모델 독립적인 에이전트 프레임워크)를 통해 Serena는 거의 모든 LLM을 프로그래밍 지능 에이전트로 전환할 수 있으며, 다음을 지원합니다.
Serena의 도구 구현은 프레임워크 특정 코드와 분리되어 있어 모든 에이전트 프레임워크에 쉽게 적용할 수 있습니다.
Serena는 다음을 포함한 모든 프로그래밍 작업에 사용할 수 있습니다.
uv
설치 (설치 설명은 공식 문서 참조)/path/to/serena
로 클론serena_config.template.yml
을 serena_config.yml
로 복사하고 설정 조정myproject.template.yml
을 myproject.yml
로 복사하고 프로젝트 특정 설정 조정serena_config.yml
의 projects
목록에 추가myproject.yml
생성claude_desktop_config.json
에 다음 내용 추가:{
"mcpServers": {
"serena": {
"command": "/abs/path/to/uv",
"args": ["run", "--directory", "/abs/path/to/serena", "serena-mcp-server", "--project-file", "/abs/path/to/myproject.yml"]
}
}
}
goose configure
를 사용하여 확장 추가/abs/path/to/uv run --directory /abs/path/to/serena serena-mcp-server /optional/abs/path/to/project.yml
developer
확장 비활성화npx create-agent-ui@latest
uv pip install --all-extras -r pyproject.toml -e .
.env.example
을 .env
로 복사하고 API 키 입력uv run python scripts/agno_agent.py
cd agent-ui && pnpm dev
execute_shell_command
도구는 임의의 코드 실행을 허용하므로 신중하게 사용해야 합니다.read_only: true
)를 지원하여 분석 및 제안만 허용하고 코드베이스를 수정하지 않습니다.장점:
단점:
장점:
유사점:
.serena/memories/
에 저장됩니다.git config --global core.autocrlf true
설정다음은 Serena의 모든 도구의 전체 목록입니다.
activate_project
: 이름으로 프로젝트 활성화check_onboarding_performed
: 온보딩이 수행되었는지 확인create_text_file
: 프로젝트 디렉토리에 파일 생성/덮어쓰기delete_lines
: 파일에서 행 범위 삭제delete_memory
: Serena의 프로젝트 특정 메모리 저장소에서 기억 삭제execute_shell_command
: shell 명령 실행find_referencing_code_snippets
: 주어진 위치의 심볼을 참조하는 코드 스니펫 찾기find_referencing_symbols
: 주어진 위치의 심볼을 참조하는 심볼 찾기find_symbol
: 전역 (또는 로컬) 심볼 검색 수행get_active_project
: 현재 활성 프로젝트 이름 가져오기get_symbols_overview
: 파일 또는 디렉토리에서 최상위 심볼의 개요 가져오기insert_after_symbol
: 심볼 정의가 끝난 후 내용 삽입insert_at_line
: 파일의 주어진 행에 내용 삽입insert_before_symbol
: 심볼 정의가 시작되기 전에 내용 삽입list_dir
: 디렉토리의 파일 및 디렉토리 나열list_memories
: 메모리 저장소의 기억 나열onboarding
: 온보딩 수행prepare_for_new_conversation
: 새로운 대화를 위해 준비read_file
: 프로젝트 디렉토리에서 파일 읽기read_memory
: 지정된 이름의 기억 읽기replace_lines
: 파일에서 행 범위를 새 내용으로 교체replace_symbol_body
: 심볼의 전체 정의 교체restart_language_server
: 언어 서버 재시작search_for_pattern
: 프로젝트에서 패턴 검색summarize_changes
: 코드베이스 변경 사항에 대한 요약 설명 제공think_about_collected_information
: 수집된 정보의 완전성을 고려하기 위한 사고 도구think_about_task_adherence
: 에이전트가 여전히 현재 작업의 올바른 궤도에 있는지 확인하기 위한 사고 도구think_about_whether_you_are_done
: 작업이 실제로 완료되었는지 확인하기 위한 사고 도구write_memory
: 향후 참조를 위해 명명된 기억을 메모리 저장소에 쓰기Serena는 강력하고 완전한 오픈 소스 프로그래밍 지능 에이전트 툴킷으로, 의미적 코드 이해와 다양한 통합 방식을 통해 개발자에게 무료이며 강력한 AI 프로그래밍 지원 솔루션을 제공합니다. MCP 서버를 통해 Claude Desktop과 통합하거나 Agno 프레임워크를 통해 다양한 LLM을 사용하든 Serena는 프로그래밍 효율성과 코드 품질을 크게 향상시킬 수 있습니다.