peintune/runjam: Claude Code, Codex CLI, Gemini CLI를 위한 로컬 데스크톱 매니저
요약
RunJam은 Claude Code, Codex CLI, Gemini CLI 등 다양한 AI 에이전트와 모델을 단일 로컬 데스크톱 환경에서 통합 관리하는 매니저입니다. 이 도구는 프로토콜 변환 기능을 통해 어떤 에이전트든 어떤 모델이든 연결할 수 있게 하며, 클라우드 종속성 없이 모든 작업을 로컬에서 처리하여 개인 정보 보호와 비용 절감을 제공합니다.
핵심 포인트
- 다양한 AI 에이전트를 단일 창에서 통합 관리 가능
- Anthropic ↔ OpenAI ↔ Gemini 등 프로토콜 자동 변환 지원
- 로컬 우선(local-first) 구조로 데이터 및 설정의 개인 정보 보호 강화
- 자동 캐싱 기능으로 API 비용 절감 효과 기대
Claude Code, Codex CLI, 그리고 Gemini CLI용 로컬 우선(local-first) 데스크톱 매니저입니다. 한 번 설치하고 모든 에이전트에서 모든 모델을 실행하며 단일 창에서 모든 프로젝트를 관리할 수 있습니다. ACP 재작성(rewrites), 에이전트별 설정, 클라우드 종속성이 없습니다.
Features · Quick Start · Architecture · Roadmap · FAQ
지원하는 모델: Claude Code · Codex CLI · Gemini CLI

RunJam을 한눈에 이해하기:
에이전트(Agents) → RunJam (자동 프로토콜 변환) → 모델(Models) (클라우드 + 로컬).
🇨🇳 中文版
읽는 순서 (왼쪽 → 오른쪽):
01 · 에이전트(AGENTS)— 모든 에이전트 CLI (Claude Code / Codex CLI / Gemini CLI / …)가 stdin/stdout을 통해 연결합니다.
—에이전트 수정 불필요
02 · RunJam 코어(RUNJAM CORE)— 세 가지 핵심 기능: 🔀프로토콜 변환(Anthropic ↔ OpenAI ↔ Gemini), 🗂️세션 관리(병렬 세션, 영속적 상태), ⚡캐시 최적화(프롬프트 캐시 + 응답 캐시); 그리고 아래 네 가지 기능:
🔌 설치(Install) / 💬 채팅(Chat) / 📁 작업 공간(Workspace) / 📊 대시보드(Dashboard)
03 · 모델(MODELS)— 모든 모델을 플러그인합니다: ☁️ 클라우드 (Anthropic, OpenAI, Google, DeepSeek, Qwen, 사용자 지정 API) 및 💻 로컬 (llama.cpp + GGUF, OpenAI 호환 API)
하단 · 문제점 → 해결책
— 터미널 혼란, 프로토콜 사일로(silos), 토큰 낭비, 분산된 설정, 도구 섬(tool islands), 공급업체 종속성(vendor lock-in), 클라우드 누수(cloud leakage), 손실된 세션 — 각각 내장된 해결책에 매핑됩니다.
🪟
하나의 창으로 모든 프로젝트를. 채팅, 파일 트리, Monaco 에디터, 터미널 — 이 모든 것이 하나의 앱에 담겨 있으며, 여러 세션을 병렬로 처리할 수 있습니다. - 🔌
어떤 에이전트든, 어떤 모델이든. 내장된 프로토콜 프록시가 Anthropic ↔ OpenAI ↔ Gemini를 실시간으로 변환합니다. Claude Code는 GPT를 사용할 수 있고, Codex는 Claude를 사용할 수 있습니다. 한 번 설정하면 모든 곳에 동기화됩니다. - 🛠️
에이전트 수정 불필요. ACP 기반 도구와 달리 RunJam은 에이전트를 해당 네이티브 CLI(stdin/stdout)를 통해 구동합니다. 오늘날 어떤 에이전트와도 작동합니다. - 💸
API 비용 절감. 자동 프롬프트 캐시 감지, 로컬 응답 캐시, 원클릭 로컬 모델(llama.cpp). - 🔒
로컬 우선 및 개인 정보 보호. 대화 내용, 설정, API 키는 사용자의 장치에 보관됩니다. 원격 측정 기능은 기본적으로 활성화되어 있지만 (익명 사용 데이터 — 설정에서 언제든지 비활성화 가능), 클라우드 동기화는 없습니다.
만약 AI 코딩 에이전트를 매일 사용한다면, 다음 중 적어도 하나를 경험해 봤을 것입니다:
-
터미널 지옥. 각기 다른 에이전트가 실행되는 다섯 개의 터미널 탭. 어떤 것이 무엇인지 잊어버리고, 잘못된 것을 종료하여 세션을 잃게 됩니다.
-
모델 불일치. Claude Sonnet과 GPT-4o, 그리고 로컬 Qwen에 대해 프롬프트를 테스트하고 싶습니다. 오늘날 이는
~/.claude/,~/.codex/,~/.gemini/안에 있는 세 개의 다른 설정 파일로 의미합니다. -
프로토콜 장벽. Claude Code는 Anthropic을 사용하고, Codex는 OpenAI를 사용하며, Gemini CLI는 Google을 사용합니다. 이들을 쉽게 조합할 수 없으며, 새로운 모델 제공업체를 하나의 에이전트에 추가하려면 내부 구조까지 파고들어야 합니다.
-
토큰 누수. 매 턴마다 동일한 시스템 프롬프트를 다시 전송하는 데 비용을 지불하고 있습니다. 어떤 세션에서 가장 많은 비용이 발생하는지 알 수 없습니다. 캐시된 것과 새로운 것을 구분할 수도 없습니다.
-
설정의 고통. 새 프로젝트, 새 에이전트, 새 API 키, 새 설정 파일, 새 PATH 문제, 새 npm 설치, 새 버전 불일치. 매번.마다.
-
단일 에이전트 종속성. Cursor는 GPT-4를 감싸고(wrap) 있습니다. Copilot은 OpenAI를 감싸고 있습니다. 모델이나 가격이 두 배로 오르면, 전체 워크플로우를 마이그레이션해야 합니다.
-
클라우드 데이터 우려. 일부 "AI IDE"는 코드를 벤더 서버로 전송합니다. 귀하의 독점 코드, 개인 설정(private configs), 프롬프트가 통제 범위를 벗어납니다.
-
세션 블랙홀. IDE를 닫으면 채팅 기록을 잃습니다. 기기를 전환하면 처음부터 다시 시작해야 합니다. 지난주에 작성했던 그 프롬프트를 찾고 싶으신가요? 행운을 빌어요.
| 문제점 (Pain) | RunJam의 해결책 |
|---|---|
| 터미널 지옥 (Terminal zoo) | 병렬 세션, 사이드바, 세션별 작업 공간이 있는 통합 창 |
| ... | |
| RunJam | Cursor / Copilot |
| --- | --- |
| 로컬 우선, 클라우드 불필요 | ✅ |
| ... | |
자동 감지(Auto-detection) — PATH에서 claude, codex, gemini를 스캔하여 설치된 것을 보여줌 원클릭 설치/제거(One-click install / uninstall) — 실시간 진행률과 함께 npm install -g 에이전트 설정 뷰어(Agent config viewer) — GUI에서 ~/.claude/, ~/.codex/, ~/.gemini/ 편집 가능 세션별 활성화/비활성화(Per-session enable / disable) — 프로젝트별로 원하는 에이전트만 사용 가능 실시간 스트리밍(Real-time streaming) — 사고 과정, 도구 호출, 최종 답변을 실시간으로 확인 마크다운 + 구문 강조 + Mermaid 다이어그램 — 인라인에서 깔끔하게 렌더링 접이식 사고 블록(Collapsible thinking blocks) — 에이전트 추론과 최종 답변 분리 확장 가능한 도구 호출 상세 정보(Expandable tool call details) — 채팅을 떠나지 않고 입력 및 출력 검사 가능 다중 에이전트 전환(Multi-agent switching) — Claude Code / Codex / Gemini 간의 전환을 채팅 파트너를 바꾸는 것처럼 쉽게 |
VS Code 스타일 파일 탐색기(VS Code-style file explorer) — 프로젝트의 트리 뷰 Monaco 기반 코드 편집기(Monaco-powered code editor) — VS Code가 사용하는 것과 동일한 엔진으로, 전체 구문 강조 지원 통합 xterm.js 터미널(Integrated xterm.js terminal) — 프로젝트별 영구적인 단일 터미널 최근 프로젝트(Recent projects) — 실제로 사용하는 디렉터리에 대한 빠른 접근
실제 모델 ID로 매핑 (mapped to real model IDs)
로컬 API 프록시 (Local API proxy) — 내장 프록시는 API 키 관리와 프로토콜 변환을 통합합니다.
자체 하드웨어에서 오픈 소스 LLM을 실행하세요. 무료. 오프라인. 비공개.
내장 llama.cpp 서버 관리 (Built-in llama.cpp server management) — 로컬 추론을 시작, 중지 및 모니터링합니다.
UI에서 GGUF 모델 다운로드 (Download GGUF models from the UI) — DeepSeek Coder, Qwen, Llama, Mistral 등
원클릭 시작 (One-click start) — 모델을 선택하고 '시작'을 클릭하면 RunJam이 클라우드 제공업체와 동일한 프록시에 연결합니다.
API 비용 제로 (Zero API cost) — 속도 제한 없음, 토큰 청구 없음, 데이터가 장치를 벗어나지 않음
OpenAI 호환 API (OpenAI-compatible API) — 로컬 모델은 동일한 프로토콜을 사용하므로 모든 에이전트가 별도의 설정 없이 사용할 수 있습니다.
이것이 중요한 이유: 귀사의 독점 코드와 프롬프트는 절대 공급업체 서버에 닿지 않습니다. 일상적인 작업을 위해 노트북에서 7B 모델을 실행하고, 어려운 작업만 유료 API로 라우팅할 수 있습니다 — 두 마리 토끼를 모두 잡았습니다.
RunJam 옆에 자체 웹 앱을 고정하세요. 하나의 런처로 모든 것을 손쉽게 접근합니다.
웹 앱 등록 (Register any web app) — 내부 대시보드, 문서 사이트, Grafana, Sentry, 회사 위키 등
사용자 지정 이름, URL, 아이콘 (Custom name, URL, icon) — RunJam의 핵심 부분처럼 보이게 만듭니다.
원클릭 열기 (One-click open) — 더 이상 브라우저 북마크를 뒤질 필요가 없습니다.
AI 컨텍스트에 유용함 (Useful for AI context) — 앱(예: 로그 대시보드)을 에이전트 세션과 페어링하여 에이전트가 MCP 또는 브라우저 도구를 통해 읽을 수 있게 합니다.
모든 세션을 한눈에 확인하세요. **
세션별 토큰 사용량 — 예산이 정확히 어디에 쓰이는지 파악하세요
비용 추정 — 모델별, 에이전트별, 일별로
차트 대시보드 — 트렌드를 한눈에 확인하세요
캐시 적중률(Cache hit rate) — 프롬프트 캐시가 얼마나 비용을 절약해 주는지 확인하세요
대부분의 관리자는 에이전트의 요청을 단순히 공급업체(vendor) API에 전달합니다. RunJam은 그 이상을 합니다:
Anthropic ↔ OpenAI ↔ Gemini 자동 번역 — 모든 에이전트가 어떤 모델이든 사용할 수 있습니다.
응답 캐시(Response cache) — 반복적인 질의에 대해 로컬에서 답변하여 토큰 비용이 들지 않습니다.
프롬프트 캐시 감지(Prompt-cache detection) — 상위 API가 이미 사용자의 프롬프트를 캐싱했는지 확인하여 이중 청구를 막아줍니다.
단일 API 키 진입점(Single API key entry point) — 키는 OS 키체인에 저장되며 에이전트에게 투명하게 프록시됩니다.
이것이 바로 "한 번 구성하고 모든 곳에 동기화(configure once, sync everywhere)"를 현실로 만듭니다. 프록시가 없다면 에이전트와 모델마다 별도의 구성을 필요로 했을 것입니다. 하지만 이를 사용하면 하나의 모델 정의가 모든 에이전트를 구동합니다.
모든 데이터 로컬 저장 — 대화 기록, 설정(configs), 에이전트 상태가 ~/.runjam/에 저장됩니다.
텔레메트리 기본 활성화(Telemetry on by default) — 익명 사용 데이터는 RunJam 개선에 도움이 됩니다. 설정(Settings) → 일반(General)에서 언제든지 비활성화할 수 있습니다.
클라우드 의존성 없음 — 완전히 오프라인으로 작동합니다 (에이전트는 자체 API 접근 권한 필요).
시스템 키체인(System keychain) — API 키는 절대 평문 설정 파일에 노출되지 않습니다.
로컬 모델 — llama.cpp를 통해 모델을 실행하여 API 비용이 전혀 들지 않습니다.
다중 세션 병렬 처리(Multi-session parallel) — 사용자의 장치가 처리할 수 있는 만큼 많은 에이전트 세션을 실행합니다.
세션 지속성(Session persistence) — 앱 재시작이나 충돌에도 세션이 유지됩니다.
전체 텍스트 검색(Full-text search) — 과거의 모든 프롬프트, 응답 또는 도구 호출을 찾을 수 있습니다.
보관(Archive) — 오래된 세션을 사이드바에서 제거해도 손실되지 않습니다.
비용 추적(Cost tracking) — 내장 기능이며, 세션별로 추적이 가능합니다.
시나리오 1 — 월요일 아침, 세 개의 저장소 작업 필요
RunJam을 엽니다. 세션 대시보드에는 세 개의 카드가 표시됩니다: runjam-core (Claude Code 실행 중), api-refactor (Codex, 유휴 상태, 입력 필요), experiments (Gemini, 검토 대기). Codex를 클릭하고 새 프롬프트를 추가한 다음 넘어갑니다. 세 프로젝트가 하나의 창에 있습니다. 터미널 전환이 필요 없습니다.
시나리오 2 — 주 중반, 비용 감사
비용 추적(Cost Tracking) 대시보드를 열어보세요. 차트가 이번 주 토큰의 60%를 api-refactor 세션에서 사용했으며, 대부분 GPT-4o에 사용했음을 보여줍니다. 모델 허브를 열어 일상적인 리팩토링에는 로컬 Qwen-Coder로 전환하고, 어려운 작업은 GPT-4o를 위해 남겨둡니다. 다음 주에는 같은 차트가 절반 크기입니다.
시나리오 3 — 금요일, 민감한 작업
클라이언트가 독점적인 가격 모델이 포함된 계약 조항을 보내왔습니다. 이 내용 중 어느 것도 외부 공급업체 API에 전송하고 싶지 않습니다. 로컬 모델 런처(Local Model Launcher)를 열고 이미 다운로드한 Qwen-72B에서 시작(Start)을 클릭하여 분석 전체를 자신의 컴퓨터에서 실행합니다. 데이터는 절대 노트북을 떠나지 않습니다.
| 에이전트 | CLI 명령어 | 설치 | 제공업체 |
|---|---|---|---|
| Claude Code | claude | npm install -g @anthropic-ai/claude-code | Anthropic |
| Codex CLI | codex | npm install -g @openai/codex | OpenAI |
| Gemini CLI | gemini | npm install -g @google/gemini-cli |
더 많은 에이전트가 곧 추가될 예정입니다. RunJam의 에이전트 레이어는 플러그인 방식(pluggable)으로 설계되어 있어, 새로운 에이전트를 추가하는 것은 감지 및 호출만 하면 되므로 프로토콜 작업이 필요 없습니다.
Node.js≥ 18 (AI 에이전트 CLI에 필수)Rust≥ 1.80 (소스에서 빌드할 때 필요)시스템 종속성(System dependencies):
- macOS: Xcode Command Line Tools
- Windows: Microsoft Visual Studio C++ Build Tools + WebView2
- Linux:
webkit2gtk및 관련 패키지
GitHub Releases에서 최신 설치 파일을 받으세요:
| 플랫폼 | 설치 파일 |
|---|---|
| macOS (Apple Silicon) | RunJam_*-aarch64.dmg |
| ... | |
| macOS Gatekeeper: RunJam은 아직 Apple-notarized되지 않았기 때문에, 첫 실행 시 macOS에서 |
저장소 클론
git clone https://github.com/peintune/runjam.git
cd runjam
...
빌드 아티팩트는 src-tauri/target/release/bundle/에 있을 것입니다.
.
# macOS: universal 바이너리 빌드 (Intel + Apple Silicon)
npm run tauri build -- --target universal-apple-darwin
# macOS: Intel 전용 .dmg 빌드
...
크로스 컴파일 참고 사항: macOS/Linux에서 Windows 바이너리를 빌드하려면 추가적인 Rust 툴체인이 필요합니다. 각 플랫폼의 패키지는 해당 플랫폼에서 직접 빌드하는 것이 권장됩니다 (예: CI 러너 사용).
- RunJam 열기 — 설치된 AI 에이전트를 자동으로 감지합니다.
- **설정(Settings) → 에이전트(Agents)**로 이동하여 누락된 에이전트를 설치합니다 (원클릭).
- **설정(Settings) → 모델(Models)**로 이동하여 API 키와 모델을 구성합니다 (선택 사항)
- **로컬 모델(Local Models)**로 이동하여 GGUF 모델을 다운로드하고 시작합니다 (선택 사항)
- **앱 관리자(App Manager)**로 이동하여 가장 많이 사용하는 웹 앱을 고정합니다.
- **새 세션(New Session)**을 클릭하고, 에이전트를 선택한 후, 프로젝트 폴더를 선택할 수 있습니다.
- 채팅을 시작하세요!
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Coding Assistants의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기