통합 검색 (RAG)
통합 검색은 코드·DB 구조·지난 채팅·문서·작업 기록을 한곳에서 말로 찾는 검색입니다. 낱말이 정확히 맞는 것과 뜻이 비슷한 것을 함께 찾아서, “비밀번호 저장하는 부분”처럼 써도 그런 코드를 찾아 줍니다.
- 검색은 모두 내 PC 안에서 합니다. 내용을 밖으로 보내지 않습니다.
- AI를 부르지 않으므로 무료입니다(체험이 끝나도 씀).
- AI 채팅의 AI도 답하기 전에 이 검색을 써서 프로젝트 코드와 지난 대화를 참고합니다.
여는 곳
섹션 제목: “여는 곳”
- 검색어(말로 써도 됨) · 범위("전체"·코드·DB·채팅·문서 등) · 결과 개수 · "검색"
- 결과 카드 — 뜻이 비슷한 것과 낱말이 맞는 것을 합쳐 순위(벡터 + 키워드 → RRF). 종류(CODE·DB·DOC)와 위치·점수, 누르면 펼침
- ▶ — 그 파일을 트리에서 열기(채팅 결과면 그 채팅 열기)
Ctrl+K(macOSCmd+K)- 명령 팔레트(
Ctrl+Shift+P) → 통합 검색 (코드·DB·채팅)
터미널(셸·SSH) 칸에 커서가 있으면 Ctrl+K가 터미널로 갑니다. 다른 칸을 한 번 누르거나 명령 팔레트로 여세요.
사용 순서
섹션 제목: “사용 순서”Ctrl+K로 🔍 통합 검색 (코드 · DB · 채팅 · 문서) 창을 엽니다.- 검색 칸에 말로 씁니다. 예:
SSH 비밀번호 저장하는 부분지난주에 고친 인코딩 버그orders 테이블 금액 합계 뷰
- 필요하면 범위와 개수를 고르고
Enter(또는 [검색]). - 결과 카드를 누르면 전체 내용이 펼쳐집니다. ▶ 를 누르면 원본을 엽니다(채팅은 그 채팅, 코드·문서는 지금 탭의 파일 트리에서 파일 열기).
검색 칸을 비우고 검색하면 최근에 색인된 조각을 둘러볼 수 있습니다.
화면 설명
섹션 제목: “화면 설명”| 부분 | 설명 |
|---|---|
| 상태 줄 | 검색 모델 상태(✓ 모델 로드됨 — 즉시 검색 가능 / ⏳ 모델 로드 중… / ⏸ 모델 다운로드 필요), 색인된 수·대기 수, 실패 수(있으면 🔄 재시도) |
| 범위 | 전체 / 코드 / DB / 채팅 / 문서 / 작업 이력 |
| 개수 | 20개(기본) / 50개 / 100개 / 200개 |
| 결과 카드 | 아이콘(📄 코드 💾 DB 💬 채팅 📝 문서 🔀 Git ⏱ 작업 기록), 출처, 위치, 점수 |
무엇을 색인하나
섹션 제목: “무엇을 색인하나”창 아래 인덱스 관리 구역에서 직접 색인할 수 있습니다.
| 버튼 | 하는 일 |
|---|---|
| [📂 폴더 인덱싱] | 고른 폴더의 코드를 색인 |
| [💾 활성 DB 인덱싱] | 지금 탭의 DB 트리 구조(테이블·뷰 등)를 색인 |
| [📄 문서 인덱싱] | .md .txt .rst .adoc 같은 글 문서와 Office(.docx .xlsx .pptx). 글 파일은 2MB, Office는 10MB 넘으면 건너뜀 |
| [🌿 Git 인덱싱] | 저장소의 최근 커밋 200개 |
| [🚫 제외 설정] | 빼고 싶은 파일 패턴(.termeditignore) 편집 |
| [🩺 RAG 상태] | 색인 상태와 청소 도구 |
자동 색인 — AI 채팅에서 프로젝트 폴더를 정하면 그 폴더의 코드와 문서를 자동으로 색인합니다. (검색 모델을 아직 받지 않았으면 받은 뒤에 시작합니다.) 원격(SFTP) 프로젝트 폴더도 색인하며, 서버끼리 섞이지 않게 따로 보관합니다. 지난 채팅과 작업 기록도 검색됩니다.
저절로 빠지는 것 — .gitignore에 적힌 것, node_modules .git dist out build .cache .next __pycache__ venv .venv 폴더, 그리고 .termeditignore에 적은 것.
검색 모델
섹션 제목: “검색 모델”처음 쓸 때 검색에 쓰는 작은 AI 모델을 한 번 내려받습니다(내 PC 안에서 돌고, 밖으로 보내지 않음). 임베딩 모델 카드에서 바꿀 수 있습니다.
| 모델 | 크기 | 특징 |
|---|---|---|
| multilingual-e5-small (기본) | 약 450MB | 한국어·영어·다국어 균형 — 기본 추천 |
| paraphrase-multilingual-MiniLM-L12-v2 | 약 450MB | 다국어, 뜻 비슷함에 강함 |
| all-MiniLM-L6-v2 (가장 빠름) | 90MB | 영어 중심(한국어 약함) |
| bge-small-en-v1.5 | 130MB | 영어 문서·코드 |
| multilingual-e5-base (정확도 ↑) | 약 1GB | 다국어 정확도 높음, 메모리·디스크 2배 |
| EmbeddingGemma-300M (베타) | 약 1.2GB | 최신·고정확도, 일부 환경에서 안 맞을 수 있음 |
- 크기는 내려받는 파일 크기입니다. Blyck이 켜져 있는 동안 모델이 메모리에 올라가 있어서 메모리도 대략 이만큼 씁니다(검색 리랭킹을 켜면 약 1GB 더). 메모리가 8GB인 PC라면 기본 모델을 권합니다.
- 크기가 다른 모델로 바꾸면 확인 뒤, 이미 색인한 내용을 새 모델로 전부 다시 색인합니다.
- 성능 카드의 CPU 부하: 🟢 절전 / 🟡 균형(기본) / 🔴 빠름. 색인하는 동안 컴퓨터가 버벅이면 절전으로 바꾸세요.
- 🎯 검색 리랭킹 (정확도↑): 상위 결과를 한 번 더 정밀하게 채점해 다시 줄 세웁니다. 조금 느려지고, 처음 켤 때 모델(약 1GB)을 내려받습니다. 기본 꺼짐.
빼고 싶은 것 — .termeditignore
섹션 제목: “빼고 싶은 것 — .termeditignore”백업·빌드 결과·로그 같은 파일이 결과에 섞이면 빼세요.
- [🚫 제외 설정] 또는 명령 팔레트 → 인덱싱 제외 패턴 편집 (.termeditignore).
- 폴더: 에서 폴더를 고릅니다(📁 로컬 / 🌐 원격).
.gitignore와 같은 문법으로 파일 패턴을 적습니다.[db]줄 아래에는 DB 객체 이름 패턴을 적습니다.vendor/*.generated.ts[db]TMP_**_OLD- 버튼으로 한꺼번에 넣을 수도 있습니다: [📋 권장 파일 패턴], [🗄 권장 DB 패턴], + 로그, + 임시, + 빌드 산출물 등.
- 저장 시 매칭되는 기존 chunks 자동 제거 를 켜고 [저장] 하면 이미 색인된 것도 바로 지웁니다.
색인 정리 — 🩺 RAG 상태
섹션 제목: “색인 정리 — 🩺 RAG 상태”[🩺 RAG 상태] 에서 총 조각 수·크기·대기·실패 수와, 조각이 많은 파일을 봅니다. 아래 청소 도구는 모두 먼저 몇 개가 지워질지 보여 준 뒤 지우고, 지운 것은 7일 동안 휴지통에 있다가 완전히 지워집니다.
| 버튼 | 하는 일 |
|---|---|
| 🔍 Orphan Scan | 디스크에서 사라진 파일, 지운 DB 연결의 조각 정리 |
| 📋 Pattern Purge | 패턴에 맞는 조각을 한꺼번에 정리 |
| 🕰 Stale Cleanup | 오래(기본 365일) 안 바뀐 코드 조각 정리 |
| ↩ 최근 청소 복구 | 최근 7일 안에 지운 조각 되돌리기 |
| 🗑 휴지통 즉시 비우기 | 7일 기다리지 않고 완전히 지우기(복구 불가) |
통합 검색과 정착 메모리의 차이
섹션 제목: “통합 검색과 정착 메모리의 차이”통합 검색은 “비슷한 것”을 찾는 검색이고, 정착 메모리는 AI가 확인한 사실을 정확히 꺼내는 저장소입니다. “예전 비슷한 코드 어디 있었지?”는 통합 검색, “이 PC에서 배포가 되나?”는 정착 메모리가 맡습니다.
자주 묻는 질문
섹션 제목: “자주 묻는 질문”결과가 없어요 상태 줄을 보세요. 모델을 아직 받지 않았으면 [📥 모델 다운로드] 를 누르세요. 인덱스 비어있음 이면 [📂 폴더 인덱싱] / [💾 활성 DB 인덱싱] 으로 자료를 넣으세요. 범위가 너무 좁지 않은지(전체 로 두고) 다시 찾아보세요.
엉뚱한 결과(백업·빌드 파일)가 섞여요
.termeditignore에 패턴을 넣고 [저장] 하세요. 리랭킹을 켜면 관련 없는 결과가 뒤로 밀립니다.
터미널에서 Ctrl+K를 눌러도 안 열려요
터미널 칸에서는 Ctrl+K가 터미널로 갑니다. 다른 칸을 누르거나 명령 팔레트로 여세요.
▶ 를 눌러도 파일이 안 열려요 지금 탭에 파일 트리 칸이 있어야 열립니다.
대량 색인 중에 컴퓨터가 느려요 성능 카드의 CPU 부하 를 🟢 절전 으로 바꾸세요. 바로 적용됩니다.
모델을 바꾸면 기존 색인은요? 크기가 다른 모델이면 전부 다시 색인합니다. 프로젝트 크기에 따라 몇 분 걸릴 수 있습니다. 취소하면 이전 모델로 돌아갑니다.