
Gem Search의 기능
Gem Search는 X를 위한 오픈 소스 로컬 우선 리서치 도구입니다. Chrome 또는 Chromium에 애니메이션 스파이더 오버레이를 추가하고, 활성 탭에 렌더링된 게시물을 검사한 뒤, 컴퓨터에서 실행 중인 리서치 엔진으로 소규모 캡처를 전송합니다.
로컬 JEV 탐지기는 게시물의 중복을 제거하고 반복되는 주제, 프로젝트 링크, 캐시태그, 유효한 Solana 주소, 새롭게 나타나는 두 단어 구문을 그룹화합니다. 제한된 크롤러는 공개 HTTP 또는 HTTPS 링크를 추적할 수 있으며, 대시보드는 출처, 확인 결과, 누락 정보, 활동 내역, 내보낼 수 있는 조사 결과를 보존합니다.
Gem Search는 자동화된 신뢰 판단이 아닌 조사를 위해 설계되었습니다. 리드, 점수 또는 양호한 출시 결과가 프로젝트의 안전성, 독창성 또는 가치 상승 가능성을 입증하는 것은 아닙니다.
이 확장 프로그램은 현재 페이지의 DOM을 읽습니다. X의 전체 데이터 스트림이 아니며, 게시물이나 계정과 상호작용하지 않고, 다른 애플리케이션이나 백그라운드 탭을 모니터링할 수 없습니다.
주요 기능
- 눈에 보이는 브라우저 도우미: 애니메이션 스파이더가 검사 중인 게시물을 강조 표시하고, 캡처 카운터, 일시 중지 제어, 닫기 기능, 선택적인 현재 탭 자동 스크롤을 제공합니다.
- 로컬 신호 탐지: JEV는 주제를 그룹화하고, 티커와 Solana 주소를 탐지하며, 반복 구문을 찾고, 6시간 증가율을 측정하고, 작성자 다양성과 반복 텍스트를 확인합니다.
- 증거 추적: 조사 결과에는 관련 게시물, 공개 링크, 확인 결과, 미확인 사항, 이를 뒷받침하는 모델의 판단 이유가 포함됩니다.
- 제한된 크롤러: 공개 페이지는 30분 동안 캐시되며, 사설 네트워크 대상은 차단됩니다.
- 영구 로컬 대기열: 백엔드를 사용할 수 없을 때에도 최대 200개의 캡처 게시물을 확장 프로그램에 보관할 수 있으며, 연결이 복구되면 전달합니다.
- 선택적 Grok 검토: 명시적으로 활성화하면 4명의 역할별 검토자가 공식 xAI API를 통해 제공된 증거를 분석합니다.
- 로컬 사용자 지정: 로컬 구성 파일에서 영어 또는 러시아어 주제 패턴을 최대 40개까지 정의할 수 있습니다.
- 리서치 내보내기: 대시보드는 JSON 내보내기와 브라우저에서 생성되는 SVG 탐색 캡슐을 지원합니다.
아키텍처 이해하기
일반적인 조사 흐름은 간단합니다.
- 확장 프로그램이 표시된 X 탭에서 렌더링된 게시물을 관찰합니다.
- 캡처가 확장 프로그램의 영구 대기열에 들어갑니다.
- 연결된 localhost API가 캡처를 로컬 엔진으로 전송합니다.
- JEV가 신호의 중복을 제거하고 그룹화합니다.
- 크롤러가 제한된 공개 출처를 가져옵니다.
- 선택적인 모델 검토에 앞서 로컬 증거 확인이 실행됩니다.
- 대시보드가 조사 결과, 출처, 판단 이유, 미확인 사항을 표시합니다.
확장 프로그램 페어링 토큰은 캡처를 제출하고 스캐너 상태를 읽을 수 있습니다. 토큰을 출시할 수 없으며, 확장 프로그램에는 계정 조작 코드나 xAI API 키가 포함되어 있지 않습니다.
사전 요구 사항
Gem Search를 설치하기 전에 다음을 준비하세요.
- Python 3.11 이상.
- Chrome 또는 다른 Chromium 기반 브라우저.
- 백엔드 실행을 위한 macOS, Linux 또는 WSL2를 사용하는 Windows.
- 저장소를 복제하기 위한 Git.
Node.js 22 이상은 전체 테스트 모음과 선택적 Solana 모듈에만 필요합니다. 핵심 리서치 백엔드와 압축 해제된 브라우저 확장 프로그램에는 npm 빌드가 필요하지 않습니다.
로컬 엔진 설치 및 시작
저장소를 복제하고 해당 디렉터리로 이동한 다음 로컬 환경 파일을 만들고 백엔드를 실행합니다.
git clone https://github.com/h100envy/gem-search.git
cd gem-search
cp .env.example .env
python3 app.py
이 터미널을 계속 실행 상태로 두세요. 대시보드는 http://127.0.0.1:8787에서 사용할 수 있습니다.
먼저 가상 데모 사용해 보기
X 계정을 연결하기 전에 http://127.0.0.1:8787/spider-demo를 여세요. 이 페이지는 가상의 카드 위에서 동일한 스파이더 렌더러를 사용하며, API를 호출하지 않고 어떤 데이터도 수집하지 않습니다.
대시보드에는 명확하게 합성 프로젝트로 표시된 리서치 파이프라인을 실행하는 별도의 데모 스캔도 있습니다.
Chrome 확장 프로그램 로드 및 페어링
- 로컬 대시보드를 열고 Connections로 이동합니다.
- 로컬 페어링 코드를 복사합니다.
- Chrome 또는 Chromium에서
chrome://extensions를 엽니다. - Developer mode를 활성화합니다.
- Load unpacked를 선택합니다.
- 저장소의
extension/디렉터리를 선택합니다. - Gem Search 도구 모음 팝업을 엽니다.
- 페어링 코드를 붙여 넣고 Connect를 선택합니다.
이 페어링을 통해 확장 프로그램이 로컬 API에 연결됩니다. 확장 프로그램을 사용하는 동안 리서치 엔진이 계속 실행 중이어야 합니다.
첫 리서치 세션 실행
- X 피드, 검색 페이지 또는 프로필 페이지를 엽니다.
- Gem Search 확장 프로그램 팝업을 엽니다.
- Release spider on this tab을 선택합니다.
- 스파이더가 표시된 뷰포트에서 렌더링된 게시물을 검사하는 동안 평소처럼 스크롤합니다.
- 캡처 카운터를 확인하고 필요할 때마다 스파이더를 일시 중지하거나 닫습니다.
- 로컬 대시보드로 돌아가 Discovery를 엽니다.
- 그룹화된 조사 결과, 출처 게시물, 연결된 페이지, 로컬 확인 결과, 명시적으로 미확인된 주장을 검토합니다.
- 유용한 조사 결과를 JSON으로 내보내 나중에 활용합니다.
자동 스크롤은 선택 사항입니다. 백그라운드 탭에서는 게시물을 수집하거나 자동으로 스크롤하지 않습니다. 로컬 엔진이 오프라인 상태가 되면 확장 프로그램이 최대 200개의 캡처를 보관할 수 있으며, 연결이 다시 성공하면 이를 전달합니다.
새롭게 나타나는 신호 탐색
Gem Search는 티커, 유효한 Solana 컨트랙트 주소, 기존 토픽에 속하지 않는 반복 문구에 대해 별도의 리드를 생성할 수 있습니다.
티커
감지된 각 $CASHTAG는 관련 작성자 및 게시물과 함께 리드가 될 수 있습니다. $BTC, $SOL, $USDC 같은 주요 자산과 $100 같은 가격 형태의 문자열은 건너뜁니다. 리드에서 실시간 X 검색을 열 수 있습니다.
Solana 주소
후보 주소는 실제 32바이트 키로 디코딩되는 경우에만 유지됩니다. 이를 통해 길고 무작위적인 단어에서 발생하는 오탐을 줄입니다. 결과 리드에서 Solscan의 해당 주소로 연결할 수 있습니다.
새로운 내러티브
새롭게 나타나는 문구란 지난 6시간 동안 서로 다른 작성자 최소 3명이 반복해서 사용했으며, 설정된 토픽 외부에서 발견된 두 단어짜리 표현입니다. 한 문장 안에서 겹치는 표현은 한 번으로 계산됩니다.
성장 지표
각 리드에는 지난 6시간의 멘션 수와 이전 18시간의 증가 속도 비교, 최근 작성자 수, 스파이더가 해당 항목을 처음 관찰한 시간이 표시될 수 있습니다. 이 측정값은 X 전체 활동이 아니라 사용자의 브라우징 샘플만을 설명합니다.
Discovery에서 신호 유형으로 필터링하고 가장 빠른 성장, 최신순 또는 작성자 수순으로 정렬하세요. 리드를 열어 신호 속도와 원본 게시물을 확인할 수 있습니다.
샘플 신호 둘러보기 실행
저장소에는 실제 확장 프로그램 API를 통해 가상의 게시물을 스트리밍하고 캡처, 엔진 이벤트, 리드, 성장률 및 검사를 출력하는 터미널 데모가 포함되어 있습니다.
한 터미널에서 엔진을 시작하세요.
python3 app.py
두 번째 터미널에서 둘러보기를 실행하세요.
python3 scripts/spider_demo.py
스파이더 루프가 실행될 때까지 약 10초 기다린 다음 대시보드를 여세요. Discovery에서 티커와 새로운 내러티브 필터를 전환하고 가장 빠른 성장 순으로 정렬하세요.
더 빠르게 둘러보려면 다음 명령을 사용하세요.
python3 scripts/spider_demo.py --speed 2
조용히 샘플을 로드하려면 다음을 사용하세요.
python3 scripts/sample_signals.py
샘플 게시물, 핸들, 티커 및 주소는 모두 만들어진 것이며 샘플로 표시됩니다.
토픽 감지기 사용자 지정
예제 토픽 파일을 복사한 뒤 새 로컬 파일을 편집하세요.
cp topics.example.json topics.json
이 파일은 대소문자를 구분하지 않는 정규 표현식으로 표현된 토픽을 최대 40개까지 지원합니다. 변경한 후 백엔드를 다시 시작하세요.
파일 형식이 잘못되면 Gem Search는 해당 파일을 무시하고 경고를 기록한 다음 기본 제공 토픽으로 계속 실행합니다. 사용자 지정 topics.json 파일은 컴퓨터에 그대로 남습니다.
선택적 Grok 관점 4개 활성화
Gem Search는 Grok 없이도 작동합니다. 모델 지원 검토를 활성화하려면 로컬 .env 파일에 본인의 xAI 설정을 추가하세요.
GROK_ENABLED=1
XAI_API_KEY=your_local_api_key
GROK_MODEL=grok-4.7
GROK_DAILY_CALLS=12
파일을 저장한 후 엔진을 다시 시작하세요. 네 개의 로컬 리서치 역할은 서로 다른 질문을 합니다.
- Lookout: 관찰된 샘플에 주목할 만한 신호가 있는가?
- Maker: 실제로 어떤 제품 또는 기술적 근거가 존재하는가?
- Skeptic: 모순되거나 위험하거나 검증되지 않은 내용은 무엇인가?
- Runner: 지금 조사할 만큼 충분한 근거가 있는가?
검토는 엔진이 서로 다른 작성자를 최소 4명 관찰한 후에만 시작됩니다. 전체 검토 1회에는 API 요청 4개가 사용됩니다. 기본 롤링 24시간 허용량이 요청 12개이므로 실패한 호출을 포함해 허용량 내에서 전체 검토는 최대 3회만 수행할 수 있습니다.
동일한 근거와 모델 입력은 24시간 동안 캐시된 결과를 재사용합니다. 요청에는 길이가 제한된 발췌문이 포함되며 출력은 700토큰으로 제한됩니다. 허용량은 요청량을 제어하지만 고정된 비용을 보장하지는 않습니다. 가격은 사용자의 xAI 요금제에 따라 달라집니다.
Grok을 활성화하면 수집된 발췌문이 분석을 위해
api.x.ai로 전송됩니다. 키는 백엔드에 보관됩니다. Grok을 사용하지 않아도 신호 그룹화와 로컬 검사는 모델 호출 없이 모두 계속 작동합니다.
모델을 사용할 수 없거나 허용량을 소진했거나 응답이 유효하지 않거나 인용이 조작된 경우에는 통과 결과로 인정되지 않습니다. 모델 출력은 코드를 실행하거나 독립적으로 탐색하거나 지갑을 제어할 수 없습니다. README에는 어댑터에 모의 테스트 커버리지가 있지만 해당 체크아웃에서는 실제 유료 호출이 검증되지 않았다는 내용도 명시되어 있습니다.
디스커버리 캡슐 생성 및 공유
발견한 내용을 독립적인 시각 기록으로 만들려면 Discovery에서 프로젝트를 열고 Discovery capsule을 선택하세요. Aurora 또는 Daylight 스타일을 선택하고 카드를 미리 본 다음 SVG를 다운로드하세요.
캡슐에는 멘션, 관찰된 작성자, 로컬 검사 결과, Grok 상태, 최대 3개의 원본 주소 및 UTC 타임스탬프를 포함할 수 있습니다. API 호출이나 자동 소셜 게시 없이 브라우저에서 전부 생성됩니다.
표시되는 원본 주소에서는 인증 정보, 쿼리 문자열 및 프래그먼트가 제거됩니다. 누락된 근거는 여전히 누락된 상태이고 데모 결과는 계속 데모로 표시되므로, 공유하기 전에 표시되는 내용을 검토하세요.
추가 입력 소스 사용
Gem Search는 브라우저 캡처에만 국한되지 않습니다. 저장소에 문서화된 데이터 형식에 따라 JSON 캡처를 가져올 수 있으며, data/inbox/ 디렉터리는 외부 수집기의 입력을 받을 수 있습니다.
무료 Hacker News 내러티브 스캐너와 inbox 감시 기능을 활성화하려면 자동 조종 모드로 엔진을 시작하세요.
python3 app.py --autopilot
Hacker News 관심도는 X 캡처와 별도로 표시됩니다. 공식 X 최신 검색 액세스는 선택 사항이며 유료이고, 기본값은 ENABLE_PAID_X=0입니다.
고급 운영 팁
- 유료 서비스 없이 시작하기: 로컬 그룹화와 근거 확인에는 xAI 키나 유료 X API가 필요하지 않습니다.
- 요약만이 아니라 출처 확인하기: 연결된 게시물과 공개 페이지를 열어 본 다음, 로컬 확인 결과 및 알 수 없음으로 표시된 필드와 비교하세요.
- 속도는 표본에 따라 달라진다는 점 기억하기: 빠른 증가는 전체 네트워크가 아니라 탐색 세션 중 표시된 게시물을 반영합니다.
- 조정된 행동 주의하기: 서로 조정하는 세 개의 계정만으로도 새로운 문구를 만들어낼 수 있으므로, 작성자 다양성은 단서일 뿐 증거는 아닙니다.
- 캐시 재사용하기: 크롤링한 페이지는 30분 동안, 동일한 Grok 검토 결과는 24시간 동안 캐시됩니다.
- 수집을 의도적으로 관리하기: 일반 스크롤을 사용하거나 필요할 때만 자동 스크롤을 선택하고, 현재 페이지가 관련 없으면 스파이더를 일시 중지하세요.
- 탐지기 제한 기억하기: 각 실행에서는 티커 최대 10개, 주소 10개, 문구 5개를 가장 강한 항목부터 유지합니다.
- 탐지된 신호를 출시 자동화에서 제외하기:
SPIDER_ALLOW_LAUNCH=1인 경우에도 티커, 주소, 새롭게 나타난 문구는 출시 대기열에 절대 들어가지 않습니다.
호스팅 스캐너 및 Telegram 도구
이 프로젝트는 gemsearch.fun에서 무료 도구도 운영합니다. 이러한 도구는 로컬 브라우저 조사 워크플로와 별개이며, 스캔에 지갑 연결이 필요하지 않습니다.
- 스캐너: Solana 컨트랙트 주소에서 권한, 보유자 집중도, 개발자 지분, 이전 pump.fun 출시 이력, 유동성 또는 커브 진행 상황, Dex 프로필 정보, 티커 복제본을 검사합니다.
- Web X-ray: 출시 블록 구매자, 공유 자금 출처, 보유자 간 이체를 트랜잭션 링크와 함께 보여 줍니다.
- Bundle Index: 다른 출시 블록 구매자의 수에 따라 새로운 pump.fun 출시를 분류합니다.
- Council record: 선별된 예시가 아니라 저장된 판정과 이후 결과 확인을 게시합니다.
- Telegram 봇: 컨트랙트 주소를 받고 스캔, X-ray, 감시, 계정 추적 및 그룹 명령을 지원합니다.
크루, 클러스터 또는 번들은 온체인 자금 조달 패턴을 나타낼 뿐, 지갑이 하나의 신원에 속한다는 증거는 아닙니다. 높은 스캔 점수는 관찰된 출시 상태가 더 양호하다는 의미이지, 향후 성과를 예측하는 것은 아닙니다.
선택적 출시 기능
Gem Search에는 출시 관련 구성 요소가 포함되어 있지만, 일반적인 조사와는 별개입니다. 호스팅된 출시 페이지에서는 브라우저 지갑으로 pump.fun 코인을 생성할 수 있으며, 이전의 실험적 로컬 출시기는 선택해야 활성화되고 기본적으로 드라이런으로 실행됩니다.
호스팅된 출시 흐름은 브라우저에서 민트 키를 생성하고, IPFS에 이미지와 메타데이터를 저장하며, 사용자를 지불자이자 소유자로 지정한 트랜잭션을 생성합니다. 그런 다음 서명된 트랜잭션이 서버에서 생성한 내용과 바이트 단위로 일치할 때만 제출합니다. Gem Search는 플랫폼 수수료를 받지 않으며 출시된 코인을 검토하거나 보증하지 않는다고 밝힙니다.
선택적 로컬 모듈의 문서화된 한도는 시도당 0.025 SOL, 연속 24시간 동안 5회입니다. pump.fun은 로컬 PumpPortal 실행기를 통해 지원되며, 다른 Solana 플랫폼은 호환되는 HTTPS 출시 브리지 어댑터가 필요합니다. 현재 SOL 예산 정책에서는 다른 체인을 지원하지 않습니다.
테스트 실행 및 확장 프로그램 패키징
Node 의존성을 설치하고 Python 및 JavaScript 테스트를 실행한 다음, 다음 명령으로 확장 프로그램을 패키징하세요:
npm ci --ignore-scripts
python3 -m unittest discover -s tests -v
npm test
python3 scripts/package_extension.py
패키징 스크립트는 dist/gem-search-extension.zip을 작성합니다. 아카이브에는 확장 프로그램 자산만 포함됩니다. 압축을 풀고 압축 해제된 디렉터리를 압축 해제된 확장 프로그램으로 로드하세요. 이는 Chrome 웹 스토어 패키지가 아닙니다.
자동화된 테스트는 유효성 검사, 경로 제외, 중복 제거, 내러티브, Grok 캐싱 및 사용량 허용, 오류 처리, 로컬 네트워크 차단, 대기열 복구, 선택적 트랜잭션 보호를 다룹니다. 모든 향후 X 레이아웃과의 호환성을 보장하지는 않으므로 실제 브라우저 동작은 여전히 수동 테스트가 필요합니다.
결론
Gem Search는 눈에 보이는 브라우저 오버레이를 로컬 신호 탐지기, 제한된 크롤러, 지속적인 근거 기록, 선택적 Grok 검토와 결합합니다. 가상의 데모로 시작하고, 압축 해제된 확장 프로그램을 연결하며, 의도적으로 확인하는 게시물만 수집하세요. 또한 모든 발견을 결론으로 취급하지 말고 출처와 알 수 없는 사항을 통해 평가하세요.
구현 세부 정보는 저장소의 아키텍처 문서, 개인정보 보호 문서, 기여 가이드를 참조하세요.
