Serena: 시맨틱 검색 및 코드 편집을 위한 무료 MCP 도구

최신 AI 리소스4 개월 전에 게시 됨 AI 공유 서클
4.4K 00

일반 소개

Serena는 오라리오스 AI 팀이 개발한 무료 오픈 소스 프로그래밍 도구로, 깃허브에서 호스팅됩니다. 코드베이스에서 직접 작동하는 강력한 코드 도우미로 개발자가 코드를 분석, 편집 및 실행할 수 있도록 도와주며, 언어 서버 프로토콜(LSP)을 통해 의미 분석을 가능하게 하여 코드 구조를 빠르게 이해할 수 있게 해줍니다. 또한 다음과 같은 대규모 언어 모델(LLM)과 통합됩니다. Claude Serena는 개발자가 값비싼 도구 종속성에서 벗어나 실용적이고 효율적인 프로그래밍 지원을 제공하도록 설계되었습니다. 개인 개발자, 소규모 팀, 심지어 대규모 프로젝트에도 적합합니다.

Serena:语义检索和编辑代码的免费MCP工具

 

기능 목록

  • 시맨틱 검색: 코드의 의미에 따라 기호, 참조 또는 정의를 찾습니다.
  • 코드 편집: 정확한 조작으로 코드 블록을 삽입, 교체, 삭제할 수 있도록 지원합니다.
  • 명령 실행: 프로젝트에서 테스트 또는 스크립트를 실행하고 결과를 확인합니다.
  • 프로젝트 개요: 디렉토리 구조와 파일 내용에 대한 요약을 표시합니다.
  • 다국어 지원: 파이썬, 자바, 타입스크립트에 대한 직접 지원, 더 많은 언어에 대한 간접 지원.
  • 메모리 저장: 나중에 사용할 수 있도록 분석 기록을 저장합니다.
  • LLM 통합: 경유 MCP 어쩌면 Agno 프레임워크는 언어 모델과 함께 작동합니다.
  • 오픈 소스 및 무료: 사용 시 API 키나 결제가 필요하지 않습니다.

 

도움말 사용

Serena를 설치하고 사용하는 데는 몇 가지 단계가 있지만 전반적으로 어렵지 않습니다. 다음은 핵심 기능을 설치, 구성 및 작동하는 방법에 대한 자세한 설명입니다.

설치 프로세스

  1. 환경 확인
    Serena는 Python 3.11이 필요합니다. 터미널을 열고 입력합니다:
python --version

3.11 미만 버전을 사용 중인 경우 Python 웹사이트로 이동하여 다운로드하여 설치하세요.

  1. 프로젝트 다운로드
    https://github.com/oraios/serena 으로 이동하여 "코드"를 클릭하고 HTTPS 링크를 복사합니다. 터미널에서 실행합니다:
git clone https://github.com/oraios/serena.git

프로젝트가 로컬로 다운로드됩니다.

  1. 설치 도구 자외선
    Serena는 종속성을 관리하기 위해 uv를 사용합니다. 설치하려면 다음을 참조하세요: https://docs.astral.sh/uv/getting-started/installation/. 예를 들어 Linux/macOS에서 실행합니다:
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. 종속성 설치
    프로젝트 카탈로그로 이동합니다:
cd serena

기본 종속성을 설치합니다:

uv pip install -e .

Agno 프레임워크를 사용하려면 모든 종속성을 설치하세요:

uv pip install --all-extras -e .
  1. 구성 항목
    샘플 구성 파일을 복사합니다:
cp myproject.demo.yml myproject.yml

컴파일러 myproject.yml설정:

  • project_root: 코드 경로, 예 /home/user/mycode.
  • language언어 유형(예 python.
  • ignored_dirs다음과 같은 폴더는 무시합니다. .git.
    파일을 저장합니다.

활성화 방법

Serena는 MCP 서버와 Agno 프레임워크의 두 가지 주요 사용 유형을 지원합니다.

MCP 서버(Claude 데스크톱 포함)

  1. Claude 데스크톱 설치
    Windows 및 macOS의 경우 https://claude.ai/download 에서 다운로드하세요.
  2. MCP 구성
    클로드 데스크톱을 열고 "파일 > 설정 > 개발자 > MCP 서버 > 구성 편집"으로 이동하여 다음을 편집합니다. claude_desktop_config.json추가:
{
"mcpServers": {
"serena": {
"command": "/path/to/uv",
"args": ["run", "--directory", "/path/to/serena", "serena-mcp-server", "/path/to/myproject.yml"]
}
}
}

최고 사령관(군) /path/to/uv 노래로 응답 /path/to/serena 실제 경로로 바꾸고, Windows 사용자는 이중 백슬래시(\)를 주의하세요.

  1. 활성화(플랜)
    클로드 데스크톱을 저장하고 다시 시작하면 인터페이스에 세레나 도구(작은 망치 아이콘이 있는)가 표시됩니다.

Agno 프레임워크

  1. UI 설치하기
    Agno UI를 다운로드하세요:

    npx create-agent-ui@latest
    

    또는 수동 복제를 사용하세요:

    git clone https://github.com/agno-agi/agent-ui.git
    cd agent-ui
    pnpm install
    pnpm dev
    
  2. 구성 환경
    Serena 디렉터리에서 다음을 복사합니다. .env.example 때문에 .env유료 모델을 사용하는 경우 API 키를 입력합니다(유료 모델을 사용하는 경우).
  3. 아그노를 시작합니다.
    Serena 카탈로그에서 실행합니다:

    uv run python scripts/agno_agent.py
    

    Claude는 기본적으로 사용되며 스크립트에서 다른 모델로 변경할 수 있습니다.

  4. UI 연결하기
    브라우저에서 Agno UI를 열고(보통 http://localhost:5173) Agno 에이전트에 연결합니다.

핵심 기능 작동

시맨틱 검색

특정 함수에 대한 참조를 찾으려고 합니다:

  1. 클로드 또는 아그노 인터페이스에 '찾기'와 같은 요청을 입력합니다. my_function 표창장을 받았습니다."
  2. 세레나, 전화해 주세요. find_symbol함수의 정의와 참조 위치를 반환합니다.

코드 편집기

새 코드를 삽입합니다:

  1. 비용 또는 지출 read_file 문서 보기:
    read_file path/to/file.py
    
  2. 비용 또는 지출 insert_at_line 예를 들어 5번째 줄에 코드를 추가합니다:
    insert_at_line path/to/file.py 5 'print("Test")'
    
  3. 파일을 확인하여 변경 사항을 확인합니다.

명령 실행

테스트를 실행합니다:

  1. 입력:
    execute_shell_command 'pytest tests/'
    
  2. Serena가 실행하고 결과를 반환합니다. 문제가 발생하면 해결 방법을 제안합니다.

주요 기능 작동

프로젝트 개요

코드의 구조를 빠르게 이해하세요:

  1. 입력:
    get_dir_overview
    
  2. Serena는 디렉토리에 있는 파일과 최상위 심볼을 반환합니다.

자동화된 분석 및 권장 사항

문제 분석하기:

  1. 다음을 사용하여 테스트를 실행한 후 think_about_collected_information::
    think_about_collected_information
    
  2. Serena는 로그 또는 출력을 기반으로 수정 사항을 제안합니다.

주의

  • 경로 문제: 상대 경로 오류를 방지하려면 절대 경로를 사용합니다.
  • 안전: 아그노 모드.execute_shell_command 확인은 필요하지 않습니다. 조심해서 다루세요.
  • 로그(컴퓨팅)로깅 창을 활성화합니다( myproject.yml 투자 관리 show_logs: true)를 사용하여 쉽게 디버깅할 수 있습니다.
  • 버전 관리: 우발적인 손실을 방지하기 위해 Git에서 코드를 관리하는 것이 좋습니다.

이 단계를 통해 Serena를 쉽게 사용하고 프로그래밍 효율성을 높일 수 있습니다.

 

애플리케이션 시나리오

  1. 빠른 버그 수정
    테스트가 실패하면 Serena가 스크립트를 실행하고 로그를 분석하여 긴급 수정에 적합한 코드 변경 사항을 제안합니다.
  2. 오픈 소스 프로젝트에 대해 알아보기
    Serena를 사용하면 익숙하지 않은 코드베이스를 분석하여 구조에 대한 개요를 생성하고 핵심 로직을 빠르게 파악할 수 있습니다.
  3. 프로토타이핑
    개별 개발자는 Serena를 사용하여 코드를 삽입하고, 테스트를 실행하고, 아이디어를 빠르게 검증할 수 있습니다.

 

QA

  1. 세레나는 완전히 무료인가요?
    예, 오픈 소스이며 구독이 필요하지 않습니다. 클로드 프리 에디션과 같은 무료 LLM과 함께 사용하세요.
  2. 어떤 언어가 지원되나요?
    파이썬, 자바, 타입스크립트에 대한 직접 지원. 루비, 고, C#에 대한 간접 지원(수동 구성 필요, 완전 테스트 완료되지 않음).
  3. 대규모 프로젝트는 어떻게 처리하나요?
    Serena는 LSP로 코드를 효율적으로 분석합니다. 권장 구성 ignored_dirs 불필요한 폴더는 무시하세요.
© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...