멀티세션 저메모리 코딩 에이전트 허니스 jcode
Rust로 작성된 TUI 기반 코딩 에이전트 허니스 jcode는 멀티세션 메모리와 광범위한 OpenAI 호환 프로바이더를 지원하며 1세션 PSS 27.8MB와 화면 첫 프레임 14.0ms를 목표로 설계되었다.
TL;DR
jcode는 Rust 기반의 터미널 코딩 에이전트 허니스로서 다중 세션과 임베딩 기반 시맨틱 메모리를 핵심으로 삼아 설계되었다. 대화 턴을 벡터로 저장하고 코사인 유사도로 관련 메모리를 검색하거나 메모리 사이드에이전트가 검증한 뒤 주입하는 방식으로 긴 컨텍스트를 유지하고 토큰 소비를 줄인다. OpenAI-호환 프로바이더 프로필, 로컬 런타임 연동, 브라우저 자동화 도구와 같은 광범위한 연동을 통해 로컬 및 원격 모델을 단일 인터페이스로 운용할 수 있다. README에 제시된 수치로는 1세션 PSS 27.8MB와 화면 첫 프레임 14.0ms가 있으며 다중 세션 환경에서 메모리와 초기 응답 속도를 우선시하는 워크플로에서 유의미한 이점을 제공한다.
주요 기능
- 세션을 대규모로 관리한다. 에이전트별 세션을 독립적으로 생성하고 서버가 다중 에이전트를 조정해 파일 수정 충돌을 감지해 통지하거나 자동으로 차이를 확인하게 한다. 이로 인해 여러 에이전트가 같은 리포지토에서 병렬로 작업하더라도 상태 동기화와 충돌 관리를 원활하게 수행한다.
- 대화 턴을 임베딩으로 저장하고 검색한다. 각 턴은 시맨틱 벡터로 변환되어 메모리 그래프에 쌓이며 코사인 유사도로 관련 항목을 찾은 뒤 대화에 주입하거나 메모리 사이드에이전트가 검증해 정보의 관련성과 신선도를 확인한다. 이 과정은 장기 대화 상태 유지와 토큰 비용 절감에 직접적으로 기여한다.
- 다양한 OpenAI-호환 및 타사 프로바이더와 연동한다. 내장된 프로필과 로그인 플로우를 통해 OpenAI, Claude, Copilot, Gemini, Ollama, LM Studio 등 여러 백엔드에 연결할 수 있으며 임의의 호환 엔드포인트도 프로필로 등록해 사용한다. 프로필은 base_url, 키 환경변수, 모델 선택, context_window 같은 런타임 옵션을 저장해 재현 가능한 구성 관리를 가능하게 한다.
- 터미널 네이티브 UI와 고성능 렌더러를 제공한다. mermaid-rs-renderer를 통해 브라우저나 TypeScript 의존 없이 다이어그램을 빠르게 렌더링하고 커스텀 스크롤백과 정보 위젯으로 화면의 음영 공간에 부가 정보를 표시한다. 렌더링 최적화로 화면 깜박임을 줄이고 극히 짧은 첫 프레임 지연을 달성한다.
어떻게 동작하는가
jcode는 각 대화 턴을 임베딩으로 변환해 그래프 기반 메모리에 저장하고 코사인 유사도 검사를 통해 관련 항목을 검색해 대화에 주입하거나 선택적으로 메모리 사이드에이전트가 관련성을 검증한 뒤 주입한다. 모델 호출은 통합된 OpenAI-호환 프로바이더 인터페이스를 통해 스트리밍 chat completions와 함수 호출 패턴을 사용하며 프로필별 extra_body와 context_window 같은 오버라이드를 지원해 다양한 백엔드를 동일한 요청 파이프라인으로 라우팅한다. UI 쪽에서는 mermaid-rs-renderer와 커스텀 터미널(Handterm) 컴포넌트로 고속 렌더링과 네이티브 스크롤/패널 동기화를 수행해 수천 FPS 수준의 내부 렌더링 성능을 확보하고 실제 화면에서 입력과 출력의 지연을 최소화한다.
해결 문제
복수의 에이전트와 다수의 동시 세션을 터미널 환경에서 효율적으로 운영하는 문제를 해결한다. 세션별 메모리와 임베딩 기반 검색으로 과거 대화와 스테이트를 자동으로 불러와 반복 작업에서 토큰 낭비를 줄이며 에이전트 간 코드 변경 충돌을 서버 수준에서 감지·통지해 수작업 충돌 해결 부담을 줄인다. 또한 OpenAI-호환 엔드포인트 통합으로 로컬 런타임과 상용 API를 일관된 인터페이스로 운용할 수 있게 한다.
지금 주목받는 이유
공개된 메모리·성능 지표와 로컬 및 원격 런타임을 아우르는 폭넓은 프로바이더 지원이 주목받는 배경이다. README는 메모리 사용량, 첫 프레임·첫 입력 지연과 같은 구체적 수치를 제시해 데스크톱 기반 다중 세션 워크플로에서의 실용적 이득을 입증하려는 의도를 드러냈다. 여기에 mermaid-rs-renderer와 Handterm 같은 렌더링·터미널 최적화 요소가 더해져 고성능 TUI 코딩 에이전트라는 포지셔닝을 명확히 했다.
차별점
- 극도로 낮은 메모리 사용량을 목표로 설계했다. README에서 1세션 기준 PSS 27.8MB(로컬 임베딩 오프)를 제시했고 세션 추가당 약 9.9MB의 추가 PSS로 확장해 다중 세션 환경에서 경쟁 도구들보다 메모리 확장 비용을 크게 낮춘 점을 핵심 차별점으로 내세운다. 이 설계는 데스크톱 환경에서 많은 병렬 세션을 유지하려는 워크플로에 직접적인 이익을 준다.
- 빠른 UI 반응성을 제공한다. Time to first frame 14.0ms와 Time to first input 48.7ms라는 측정값을 공개해 다른 CLI/에이전트 구현보다 수십 배 빠른 초기 응답을 목표로 삼았으며 mermaid-rs-renderer와 Handterm 같은 맞춤 렌더러와 터미널 레이어로 이를 구현했다. 이로 인해 사용자 상호작용 지연이 적고 짧은 대화 회전율이 필요한 작업에서 체감 성능이 개선된다.
- 광범위한 프로바이더 호환성과 세밀한 구성 오버라이드를 지원한다. 내장된 프로필과 extra_body 같은 설정으로 NVIDIA NIM류처럼 비표준 요청 필드가 필요한 백엔드까지 다룰 수 있으며 로컬 vLLM, Ollama, LM Studio와의 호환을 문서화해 다양한 배포 환경을 단일 도구로 커버한다. 이 요소는 자사 모델·로컬 서버·상용 API를 혼합해 쓰는 환경에서 통합 비용을 줄인다.
사용 사례
- 로컬 개발 환경에서 다수의 에이전트를 병렬로 운영해 리포지토리 내 병행 작업을 자동화하는 용도로 사용될 수 있다. 에이전트들이 서로 메시지·브로드캐스트를 통해 협업하고 서버가 파일 변경을 감지해 관련 에이전트에 통지하므로 대규모 리팩터링이나 테스트 자동화 중 충돌 관리가 수월해진다. 세션을 지속적으로 유지하면서 과거 대화를 임베딩 기반으로 검색해 문맥을 잃지 않고 작업을 이어갈 수 있다.
- 모델-호스팅 비용을 분산하거나 여러 모델을 병행 실험하는 연구·프로그래밍 워크플로에서 유용하다. OpenAI-호환 프로필을 사용해 상용 API와 로컬 vLLM을 같은 인터페이스로 전환할 수 있으므로 토큰 비용에 따른 라우팅이나 로컬 추론으로의 페일오버가 용이하다. 프로필별 context_window와 extra_body 오버라이드로 특정 백엔드의 요구사항을 맞춰 실험 스크립트를 재현할 수 있다.
- 브라우저 자동화와 통합된 워크플로에 적용해 웹 기반 검증·스크래핑·UI 상호작용을 에이전트에서 직접 수행하게 할 수 있다. Firefox Agent Bridge를 통해 브라우저 도구를 노출하고 스냅샷·클릭·타입 같은 액션을 함수 호출처럼 사용해 테스트 자동화 또는 데이터 수집 파이프라인을 에이전트 중심으로 구성할 수 있다. 에이전트가 브라우저 상호작용을 기록·요약해 개발자에게 피드백을 제공하도록 구성할 수 있다.
시작하기
설치 단계는 단일 명령으로 시작된다. macOS·Linux 환경에서는 curl -fsSL https://jcode.sh/install | bash로 설치하고 Windows에서는 제공된 PowerShell 스크립트를 실행하면 기본 바이너리가 설치된다. 설치 후 jcode를 실행하거나 jcode run "say hello"로 간단히 동작을 확인하고, 모델 공급자를 사용하려면 jcode login --provider <provider> 또는 jcode provider add로 프로필을 생성해 인증과 기본 모델을 설정하면 바로 사용할 수 있다.
요구사항
- Rust toolchain이 필요할 때는 소스 빌드가 요구된다. README는 cargo build --release를 통한 빌드 절차와 scripts/dev_cargo.sh 같은 로컬 빌드 래퍼를 언급하며, 빌드 환경에 Git·Rust·빌드 툴체인이 준비되어 있어야 정상적으로 소스 빌드가 완료된다.
- 지원되는 플랫폼은 Linux x86_64·aarch64, macOS Apple Silicon 및 Intel, Windows x86_64, Termux 등으로 README의 플랫폼 표에 기재되어 있다. Termux에서는 glibc와 patchelf를 별도 설치해야 설치 스크립트가 동작한다.
- 외부 모델 사용을 위해선 접근할 API의 자격증명 또는 로컬 서버(예: Ollama, LM Studio) 실행 권한이 필요하다. 프로바이더 프로필은 base_url과 API 키 환경 변수를 요구할 수 있으며 로컬 vLLM 서버의 경우 --no-api-key 옵션으로 인증 없이 사용 가능하다.
벤치마크
| 벤치마크 | 지표 | 값 | 비교 |
|---|---|---|---|
| PSS (1 active session) | PSS | 27.8 MB | baseline; other tools range 140.0 MB to 386.6 MB as reported |
| Time to first frame | ms | 14.0 ms | baseline; Antigravity CLI 383.5 ms (27.4× slower) shown in README |
| Extra PSS per added session | MB | ~9.9 MB | baseline; other tools show per-session increase up to ~318.4 MB (OpenCode) |
이미지 분석


14.2k
Stars
1.6k
Forks
+218
Trending
18
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.