probelabs/probe

AI-friendly semantic code search engine for large codebases. Combines ripgrep speed with tree-sitter AST parsing. Powers AI coding assistants with precise, context-aware code understanding.

Probe – AI 인식 코드 검색 및 추론 엔진

한 줄 요약 – Probe는 명령줄이나 내장 LLM 에이전트에서 직접 구동할 수 있는 로컬 AST 인식 코드 검색 엔진입니다. 인덱싱이나 임베딩 단계 없이도 대규모 언어 모델 어시스턴트가 기업 규모의 저장소 내 전체 함수, 클래스 또는 구조체를 이해할 수 있도록 합니다.


기능 설명 (README 참조)

  • Tree‑sitter를 사용한 소스 파일 파싱: 지원되는 각 언어에 대한 추상 구문 트리(AST)를 구축합니다.
  • 의미론적 검색: Elasticsearch 스타일의 불리언 쿼리(AND, OR, NOT, 필드 필터, 파일 유형 필터 등)를 사용합니다.
  • 코드 조각이 아닌 완전한 코드 블록(함수, 클래스, 구조체)을 반환합니다.
  • AST 패턴 매칭 (probe query) 제공: fn $NAME($$$) -> Result<$RET>와 같은 구조적 템플릿을 검색할 수 있습니다.
  • 제로 설정 인덱싱 – 엔진이 파일 시스템을 즉석에서 스캔하므로 임베딩 모델, 벡터 DB 또는 외부 서비스가 필요하지 않습니다.
  • 결정론적 랭킹: BM25/TF‑IDF(및 선택적 하이브리드 BERT 리랭킹)와 토큰 예산 제어(--max‑tokens)를 사용합니다.
  • 내장 에이전트 (probe agent) – 모든 LLM 제공업체(Anthropic, OpenAI, Google, Bedrock)와 대화하며 다단계 검색, 추출, 코드 편집을 조정합니다.
  • MCP 통합 – 에이전트를 Claude Code와 같은 편집기를 위한 MCP 서버로 등록하여 편집기가 Probe 도구를 직접 호출할 수 있습니다.
  • Node.js SDK 및 Vercel AI SDK 바인딩: 개발자가 검색/에이전트 기능을 자신의 애플리케이션에 내장할 수 있습니다.
  • 완전 로컬 – 모든 검색 작업은 로컬 머신에서 수행되며, LLM 호출만 선택한 제공업체로 전송됩니다.

핵심 기능 (요약 목록)

기능 상세 내용
AST 인식 파싱 Tree‑sitter를 사용하여 20개 이상의 언어(Rust, Python, TS/JS, Go, C/C++, Java 등) 지원.
의미론적 검색 불리언 쿼리 언어, 파일 유형(ext:) 및 디렉토리(dir:) 필터, BM25/TF‑IDF 랭킹.
제로 인덱싱 사전 계산된 임베딩 없음; 모든 저장소에서 즉각적인 결과 제공.
결정론적 출력 동일한 쿼리 → 동일한 결과, 확률적 벡터 유사도 드리프트 없음.
토큰 인식 예산 --max‑tokens로 LLM에 전송되는 코드 양 제한.
내장 LLM 에이전트 다단계 추론, 코드 편집, 위임, bash 실행 처리.
MCP 서버 모드 AI 지원 편집기(Claude Code, Codex 등)를 위한 probe 서버로 등록.
CLI & SDK `probe search
하이브리드 랭킹 더 높은 품질의 결과를 위한 선택적 BERT 리랭커.
크로스 플랫폼 설치 npm 글로벌, curl 스크립트, PowerShell 스크립트 또는 소스 빌드(Rust/Cargo).

일반적인 사용 사례

  • 사양 기반 개발 – 에이전트에게 “인증이 어떻게 구현되어 있나요?”라고 물어보고 해당 기능을 구현하는 전체 함수를 가져옵니다.
  • 코드 리뷰 및 온보딩 – 수동으로 grep할 필요 없이 변경 사항 주변의 모든 관련 심볼을 빠르게 표시합니다.
  • 자동화된 리팩토링 – agent와 --allow-edit를 결합하여 LLM이 편집을 제안하고 적용하도록 합니다.
  • 도구 통합 – CLI 도구를 사용자 지정 IDE 확장 프로그램이나 CI 파이프라인에 연결하여 정적 분석을 수행합니다.
  • 오프라인 환경 – 검색에 외부 서비스가 필요하지 않으므로 에어갭 환경에서도 실행 가능합니다.

빠른 시작 (README 참조)

# npm을 통한 글로벌 설치 (권장)
npm install -g @probelabs/probe

# 내장 에이전트를 사용한 단일 질문 (모든 LLM 제공업체)
npx -y @probelabs/probe agent "How is authentication implemented?"

# 터미널에서 의미론적 검색
npx -y @probelabs/probe search "authentication AND login" ./src

# AST 패턴 쿼리 (Rust 예시)
npx -y @probelabs/probe query "fn $NAME($$$) -> Result<$RET>" --language rust

편집기 통합을 위해 ~/.claude/claude_desktop_config.json에 Probe MCP 서버를 등록하는 작은 JSON 블록을 추가하십시오(정확한 스니펫은 README 참조).


지원되는 언어

Rust, JavaScript/JSX, TypeScript/TSX, Python, Go, C/C++, Java, Ruby, PHP, Swift, Solidity, Crystal, C#, Bash, QML, Markdown, HTML, YAML 및 Tree‑sitter를 통한 기타 언어.


설치 옵션

방법 명령어
npm (글로벌) npm install -g @probelabs/probe
curl (macOS/Linux) `curl -fsSL https://raw.githubusercontent.com/probelabs/probe/main/install.sh
PowerShell (Windows) `iwr -useb https://raw.githubusercontent.com/probelabs/probe/main/install.ps1
소스에서 빌드 git clone https://github.com/probelabs/probe.git && cd probe && cargo build --release && cargo install --path .

라이선스

저장소에 License 섹션이 명시되어 있으나 README에 정확한 SPDX 식별자가 지정되어 있지 않습니다. 정확한 조건은 저장소의 LICENSE 파일을 확인하십시오.


더 알아보기

  • 전체 문서: https://probelabs.com/probe
  • CLI 참조: docs/probe-cli/*
  • 에이전트 SDK: docs/probe-agent/sdk/*
  • 커뮤니티: GitHub Issues 및 Discord (README 내 링크).

위의 모든 정보는 프로젝트의 README에서 직접 가져온 것이며, 외부적인 가정은 추가되지 않았습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트