octocode
무엇인가
Octocode는 AI 에이전트와 개발자가 코드를 수정·리뷰·설명하기 전에 근거를 확보하도록 만든 코드 리서치 도구 모음이다. 코드를 생성하거나 편집하는 도구가 아니라, 에이전트가 다음에 무엇을 읽을지 스스로 결정하도록 검색 결과와 후속 단계 힌트를 돌려주는 컨텍스트 수집 계층에 해당한다. 로컬 작업 디렉터리와 GitHub 저장소·PR·커밋·이슈, npm 패키지를 하나의 도구 집합으로 다룬다.
어떻게 동작하나
핵심 실행부는 미리 빌드된 Rust 엔진이다. ripgrep 기반 텍스트 검색, AST 검색, 디렉터리 트리 조회, 지정 라인 범위 읽기, LSP 기반 심볼 탐색을 한 프로세스에서 처리한다. 에이전트는 넓게 검색한 뒤 매치된 라인과 영역만 좁혀 읽는 흐름을 따르며, 각 결과에는 가장 저렴한 후속 호출을 가리키는 힌트와 페이지네이션이 붙는다. 파일 읽기 밀도는 minify 옵션으로 조절한다. symbols는 라인 번호가 붙은 스켈레톤, standard는 주석과 공백을 제거한 형태(기본값), none은 원본 바이트다. concise:true면 경로와 제목만 나열한다. 모델로 전달되는 모든 바이트는 먼저 스캔되어 시크릿이 리댁션된다.
무엇과 다른가
동일한 질문을 gh, gh+Headroom, gh+RTK와 비교한 블라인드 벤치마크에서 정확도는 비슷한 수준을 유지하면서 모델을 통과한 문자 수가 각각 약 2.0배, 2.6배, 3.2배 적었다. 30개 GitHub 질문을 3회 반복하고 gpt-5.5 심사자가 채점한 방식이다. 일반적인 코드 검색 도구가 고정된 결과 덩어리를 한 번에 반환하는 것과 달리, 검색으로 넓게 훑고 좁혀 읽고 의미 단위로 추적하는 단계를 에이전트가 직접 요청한다.
어떻게 쓰나
Node.js 20.12 이상에서 npx octocode로 실행한다. 인자 없이 실행하면 내장 사용법과 전체 도구 카탈로그가 출력되어 MCP 클라이언트나 추가 배선 없이 코딩 에이전트가 그대로 구동할 수 있다. MCP 서버로는 stdio를 통해 도구 카탈로그를 노출하며, npx octocode install 또는 클라이언트별 원클릭 설치로 등록한다. GitHub 토큰과 옵션은 MCP 클라이언트 설정의 env에 넣는다. 로컬 경로는 로컬 도구로, owner/repo[/path] 형태는 GitHub 도구로 라우팅된다. CLI는 JSON을 입력받아 YAML로 출력한다.
전제와 한계
도구 카탈로그는 노출 표면과 플래그에 따라 등록되는 범위가 달라진다. ghListReleases와 ghSearchDiscussions는 MCP에서 ENABLE_RELEASES=1 또는 ENABLE_DISCUSSIONS=1로 카탈로그에 넣은 뒤 ENABLE_TOOLS로 명시 허용해야 등록되고, CLI는 해당 플래그만 있으면 된다. 저장소 클론은 CLI에서 기본 활성, MCP에서는 옵트인이다. minify와 스켈레톤화는 70개 이상 언어를 지원한다. GitHub 인증은 선택 사항이지만 비공개 저장소 접근과 높은 API 레이트 리밋에 필요하다.
관련 논문 1
유사 도구
- git-mcpGitHub 저장소의 최신 문서와 코드를 MCP 서버로 노출해 AI 어시스턴트가 환각 없이 참조하게 하는 TypeScript 원격 서버다.
- Codewhale터미널에서 프로젝트를 읽고 파일을 고치고 명령을 실행하는 Rust 기반 코딩 에이전트다. 호스티드·로컬 모델을 골라 붙인다.
- wigoloAI 에이전트에 검색·fetch·크롤·추출·캐시를 MCP 한 표면으로 제공하는 로컬 우선 웹 계층이다. API 키 없이 공개 엔진을 직접 호출하고 결과를 ~/.wigolo/에 캐시한다.
- teamai-cli팀의 스킬·규칙·MCP 설정·지식을 하나의 git 저장소에 모아 Claude Code, Codex, Cursor 등 여러 AI 에이전트에 배포하고 회수하는 TypeScript CLI다.
- aichat20개 이상 LLM 제공자를 하나의 인터페이스로 묶어 셸 명령 변환, REPL 대화, RAG, 함수 호출을 한 바이너리에서 처리하는 Rust CLI다.
- supermemory대화에서 사실을 추출해 사용자 프로필과 컨텍스트를 유지하는 AI 메모리 엔진이다. 단일 API, MCP 서버, 로컬 단일 바이너리 실행을 함께 제공한다.