GitHubAI & Toolsidea-techcode
BeaconBay/ck
BeaconBay·@BeaconBay·Jan 26, 2026
개요 ck(발음: "seek")는 Rust로 작성된 로컬 퍼스트 시맨틱 코드 검색 도구다. 기존 grep이 정확한 문자열 매칭에 의존하는 반면, ck는 코드의 의미를 이해하여 검색한다. 예를 들어 "error handling"을 검색하면 try/catch 블록이나 예외 처리 코드를 찾아준다. 모든 처리가 로컬에서 이루어지며 외부 API 호출이 없다.
핵심 내용 ck는 로컬 임베딩 모델을 활용한 시맨틱 검색, 기존 grep 호환 키워드 검색, 그리고 두 가지를 결합한 하이브리드 검색(Reciprocal Rank Fusion)을 지원한다. tree-sitter 기반 언어 인식 청킹으로 Python, TypeScript, Rust, Go 등 다양한 언어를 지원하며, blake3 해시 기반 델타 인덱싱으로 변경된 청크만 재처리해 80-90%의 캐시 히트율을 달성한다. ratatui 기반 인터랙티브 TUI, JSONL/JSON 구조화 출력, 그리고 MCP 서버 모드를 통한 AI 에이전트 연동까지 갖추고 있다.
기존 대비 차별점 가장 큰 차별점은 완전한 오프라인 동작이다. mgrep 같은 경쟁 도구가 클라우드 API에 의존하는 반면, ck는 모델을 로컬에 캐싱하여 네트워크 없이도 시맨틱 검색이 가능하다. 또한 기존 grep 플래그(`-i`, `-n`, `-A`, `-B` 등)를 그대로 지원해 학습 비용 없이 바로 사용할 수 있으며, MCP 서버 모드로 Claude Desktop이나 Cursor 같은 AI 도구와 직접 연동할 수 있다는 점도 독특하다.
활용 가능성 대규모 코드베이스 온보딩 시 "인증 로직은 어디에 있지?"와 같은 자연어 질문으로 빠르게 관련 코드를 찾을 수 있다. CI/CD 파이프라인에서 JSONL 출력을 활용한 자동화 검색, MCP 서버를 통한 AI 코딩 에이전트의 코드 탐색 도구로도 활용 가능하다. 보안 감사 시 "SQL injection vulnerable patterns" 같은 시맨틱 쿼리로 취약점 후보를 탐색하는 용도로도 유용하겠다.
참고 자료 - GitHub 저장소 - crates.io: ck-search ===
Rust⭐ 1,529grepgrep-likerustsemantic
#grep#semantic-search#rust#local-first#bm25