prasenjeet-symon/ogcode
요약
Ogcode는 로컬 실행이 가능한 에이전트 기반 코딩 워크벤치로, 단일 바이너리로 구성되어 클라우드 의존성 없이 작동합니다. 코드베이스 이해, 칸반 기반 계획 모드, Git 브랜치를 활용한 병렬 작업을 지원하며 다양한 LLM을 자유롭게 선택할 수 있습니다.
핵심 포인트
- 단일 Go 바이너리로 로컬 실행 및 셀프 호스팅 가능
- 모델 불가지론적 설계로 Claude, GPT, Ollama 등 지원
- Git 워크트리를 활용한 병렬 작업 및 자동 PR 기능
- 지식 그래프 기반의 지속적 메모리 제공
- 브라우저 네이티브 UI로 모든 IDE와 연동 가능
단 하나의 바이너리. 클라우드 제로. 계획하고, 기억하며, 병렬로 배포하는 에이전트 기반 코딩 워크벤치.
단 하나의 바이너리. 클라우드 의존성 제로. 당신의 코드베이스, 당신의 모델, 당신의 규칙.
Ogcode는 완전히 로컬 머신에서 실행되는 에이전트 기반 (agentic) 코딩 어시스턴트입니다. React 웹 UI가 내장된 단일 Go 바이너리로 구성됩니다. 단순히 코드를 제안하는 것에 그치지 않고, 코드베이스 전체를 이해하며, 당신과 함께 복잡한 기능을 계획하고, 병렬 Git 브랜치를 통해 이를 실행합니다. 이 모든 과정에서 당신의 코드는 로컬에 유지되며 데이터는 비공개로 보호됩니다.
IDE에 종속된 어시스턴트(Cursor, Copilot)나 클라우드 전용 서비스(Claude Code)와 달리, Ogcode는 브라우저 네이티브(browser-native)이며, 셀프 호스팅(self-hosted)이 가능하고, 모델 불가지론적(model-agnostic)입니다. Claude, GPT, OpenRouter 또는 로컬 Ollama 모델을 사용하세요. UI에서 언제든지 전환할 수 있습니다. 구독료가 없습니다. 벤더 종속성(vendor lock-in)도 없습니다. 선택한 LLM 제공업체로 보내는 것을 제외하고는 코드가 당신의 머신을 떠나지 않습니다.
| 비교 항목 | Ogcode | Cursor | Claude Code | Copilot | Aider |
|---|---|---|---|---|---|
| 인터페이스 (Interface) | Web UI (모든 에디터) | VS Code 포크 (fork) | 터미널 (Terminal) | IDE 확장 프로그램 (extension) | 터미널 (Terminal) |
| 셀프 호스팅 (Self-Hosted) | 단일 바이너리, 의존성 제로 | 클라우드 필요 | 클라우드 전용 | 클라우드 전용 | 오픈 소스 (Open source) |
| 병렬 작업 (Parallel Tasks) | Git 워크트리 (worktrees), 자동 PR | 클라우드 에이전트 (agents) | 서브 에이전트 (Subagents) | 단일 에이전트 (Single agent) | 순차적 (Sequential) |
| 계획 모드 (Plan Mode) | 칸반 (Kanban) + 공수 산정 | 에이전트 창 (Agents window) | 아키텍트 모드 (Architect mode) | 프롬프트 기반 (Prompt-based) | /architect |
| 지속적 메모리 (Persistent Memory) | 지식 그래프 (Knowledge graph) + 콜 그래프 (Call graph) | 세션 전용 (Session-only) | CLAUDE.md | 없음 | 없음 |
| 모델 선택 (Model Choice) | Claude, GPT, OpenRouter, Ollama | 내장형 + 커스텀 | Claude 전용 | MS 관리형 | 모든 엔드포인트 (Any endpoint) |
| 비용 (Cost) | BYOK (토큰 비용만 발생) | 월 $20–$40 | 월 $20–$100 | 월 $19–$39 | 무료 (BYOK) |
| 라이선스 (License) | MIT | 독점 (Proprietary) | 독점 (Proprietary) | 독점 (Proprietary) | Apache-2.0 |
Ogcode는 다음을 결합한 유일한 에이전트 기반 코딩 어시스턴트입니다:
브라우저 네이티브 UI (Browser-native UI)— Vim, Emacs, VS Code, JetBrains 또는 모든 에디터와 연동 가능
Kanban이 포함된 플랜 모드 (Plan Mode with Kanban)— 기능을 협업하여 계획하고, 이를 작업(Task)으로 고정하며, 병렬로 실행되는 과정을 관찰
Git 네이티브 병렬 실행 (Git-native parallel execution)— 각 작업은 고유한 격리된 브랜치를 가집니다. 자동 커밋(Auto-commits). 자동 PR(Auto-PRs). 머지 충돌(Merge conflicts) 제로.
에이전틱 지식 그래프 (Agentic Knowledge Graph)— 약 70%의 토큰 절약과 무한한 컨텍스트를 제공하는 지속적인 주제(Topic)→개념(Concept)→사실(Fact) 메모리
딥 리서치 에이전트 (Deep Research Agent)— 에이전트를 위해 문서, 변경 로그(Changelogs), 보안 권고 사항(Security advisories)을 가져오는 내장 웹 검색 기능
단일 바이너리 배포 (Single binary deployment)— 단 하나의 ogcode 실행 파일로 구성. Docker 불필요. Node 서버 불필요. 외부 DB 불필요.
빌드 모드 + 플랜 모드 (Build Mode + Plan Mode)— 코딩 에이전트와 실시간으로 채팅하거나, 공수 산정(Effort estimates) 및 의존성 그래프(Dependency graphs)를 포함하여 복잡한 기능을 협업하여 계획
병렬 작업 실행 (Parallel Task Execution)— 여러 독립적인 작업이 격리된 Git 워크트리(Worktree) 브랜치에서 동시에 실행됩니다. 전체 기능을 병렬로 배포하세요.
에이전틱 세션 메모리 (Agentic Session Memory)— 지속적인 지식 그래프를 통한 무한한 컨텍스트. 긴 세션에서 약 70%의 토큰 절약. 컨텍스트를 절대 놓치지 않습니다.
지식 그래프 + 콜 그래프 (Knowledge Graph + Call Graph)— 코드베이스의 의미론적 메모리(주제→개념→사실)와 지능적인 탐색을 위한 함수 수준의 호출 관계(Call relationships)
멀티 프로바이더 LLM 지원 (Multi-Provider LLM Support)— Anthropic Claude, OpenAI GPT, OpenRouter 또는 로컬 Ollama 모델 지원. UI에서 언제든 전환 가능.
딥 리서치 에이전트 (Deep Research Agent) (v0.8.0)— 내장된 deep_search
이 도구는 웹을 검색하고, 페이지를 가져오며, 인용된 연구 내용을 에이전트를 위해 합성합니다.
칸반 보드 (Kanban Board)— S/M/L/XL 노력 추정치, 복잡도 점수 및 의존성 체인을 포함한 시각적 작업 보드
권한 기반 안전성 (Permission-Based Safety)— 파괴적인 작업(쓰기, 편집, bash)은 도구별로 명시적인 승인이 필요하며, 읽기 전용 도구는 자동으로 승인됩니다.
PDF 지원 (PDF Support)— 에이전트 내에서 PDF 문서를 직접 읽고 인덱싱합니다.
코드베이스 맵 (Codebase Map)— 지능적인 파일 탐색을 위한 전체 프로젝트의 시맨틱 인덱스 (Semantic index)
단일 바이너리, 자가 포함 (Single Binary, Self-Contained)— React 프론트엔드가 내장된 하나의 Go 바이너리입니다. 외부 서버 의존성이 전혀 없습니다.
MCP 확장성 (MCP Extensibility)— 커스텀 도구 및 통합을 위한 Model Context Protocol 지원
풍부한 시각적 출력 (Rich Visual Output)— 에이전트는 Mermaid 다이어그램, LaTeX 수학식, Plotly 차트, 그리고 완전한 HTML/CSS/JS 대화형 콘텐츠를 채팅창에 직접 렌더링할 수 있습니다. 뷰포트 인식 반응형 디자인이 사용자의 화면 크기에 맞춰 조정됩니다.
- 빠른 시작 (Quick Start)
- 왜 Ogcode인가? (Why Ogcode?)
- 시스템 요구 사항 (System Requirements)
- 설치 (Installation)
- 설정 (Configuration)
- 사용법 (Usage)
- 원격 배포 (Remote Deployment)
- 플랜 모드 워크플로우 (The Plan Mode Workflow)
- 에이전트 세션 메모리 (Agentic Session Memory)
- 아키텍처 (Architecture)
- 로드맵 (Roadmap)
- 커뮤니티 (Community)
- 기여하기 (Contributing)
- 보안 (Security)
- 라이선스 (License)
# macOS / Linux — 한 줄 설치
curl -fsSL http://ogcode.xyz/install.sh | sh
# API 키 설정 (또는 로컬 모델을 위해 Ollama 사용)
...
http://localhost:9595에서 열립니다.
그게 끝입니다. 설정 파일도, Docker도, IDE 확장 프로그램도 필요 없습니다.
Cursor는 훌륭하지만, VS Code의 포크 (fork)입니다. 만약 Vim, Emacs 또는 JetBrains를 사용한다면 선택지가 없습니다. 또한, 병렬 에이전트가 사용자의 기기가 아닌 클라우드에서 실행됩니다.
Claude Code는 강력하지만, 터미널 전용이며, Anthropic 전용이고, 클라우드 전용입니다. 웹 UI가 없고, 플랜 모드(plan mode)가 없으며, 지속적인 지식 그래프(knowledge graph)가 없습니다.
GitHub Copilot은 어디에나 있지만, Microsoft 서비스입니다. 코드 분석이 클라우드에서 이루어집니다. 병렬 실행이 불가능하며, 공식적인 계획 수립 기능이 없습니다.
Aider는 탁월하지만, 터미널 전용이며, 순차적 실행만 가능하고, 지속적인 메모리 그래프나 시각적 계획 보드가 없습니다.
Ogcode는 앞서 언급된 도구들이 제공하지 못하는 것들을 제공합니다:
- 어떤 에디터와도 연동되는 웹 UI (web UI)
- 시각적 칸반 (Kanban) 및 병렬 실행을 지원하는 공식 계획 모드 (Formal Plan Mode)
- 세션 간에도 유지되는 지속적인 지식 그래프 (Persistent knowledge graph)
- 클라우드 의존성 없는 단일 바이너리 셀프 호스팅 (Single-binary self-hosting)
- 완전한 모델 자유도 (Full model freedom) — 오늘은 Claude, 내일은 GPT, 다음 주는 로컬 Llama
| 플랫폼 | 최소 요구 사항 |
|---|---|
| 운영 체제 (Operating System) | macOS, Linux, 또는 Windows |
| Go | 1.22+ (go install 용도로만 필요) |
| Git | 2.34+ (worktree 지원을 위해 필요) |
| CPU | 모든 현대적인 x86_64 또는 arm64 프로세서 |
| 메모리 (Memory) | 512 MB 여유 RAM |
참고: LLM API 키 또는 로컬 Ollama 설치가 필요합니다. 설정(Configuration) 섹션을 참조하세요.
Homebrew를 통한 설치 (권장):
brew tap prasenjeet-symon/ogcode
brew install ogcode
curl을 통한 설치 (한 줄 명령어):
curl -fsSL http://ogcode.xyz/install.sh | sh
플랫폼을 자동 감지하여 최신 릴리스를 다운로드하고 /usr/local/bin에 설치합니다.
irm http://ogcode.xyz/install.ps1 | iex
최신 릴리스를 다운로드하여 %LOCALAPPDATA%\ogcode에 압축을 풀고 PATH에 추가합니다.
winget을 통한 설치:
winget install prasenjeet-symon.ogcode
go install github.com/prasenjeet-symon/ogcode@latest
docker run -p 9595:9595 -v $(pwd):/workspace -w /workspace ghcr.io/prasenjeet-symon/ogcode:latest
Ogcode는 환경 변수로부터 사용 가능한 AI 제공업체를 자동으로 감지합니다. 별도의 설정 파일이 필요하지 않습니다.
최소 하나 이상의 API 키를 설정하세요 (또는 Ollama를 사용하세요):
| 변수 (Variable) | 제공업체 (Provider) |
|---|---|
ANTHROPIC_API_KEY | Anthropic (Claude) |
OPENAI_API_KEY | OpenAI (GPT) |
OPENROUTER_API_KEY | OpenRouter |
OLLAMA_BASE_URL | Ollama (로컬 / 클라우드 URL) |
# macOS / Linux — ollama가 설치되어 있으면 자동 감지됨
ollama serve
ogcode
...
사용 가능한 모델: qwen3, codellama, llama3.1, deepseek-coder-v2, mistral 및 사용자가 pull한 모든 모델.
세션 간 무한 컨텍스트 메모리(infinite-context memory)를 활성화하려면:
export OGCODE_AGENTIC_MEMORY_MODE=true
에이전트에게 최신 문서를 조사할 수 있는 능력을 부여하세요:
export OGCODE_SEARCH_ENABLED=true
ogcode
에이전트와 채팅하고, 파일 읽기, 코드 작성, 명령 실행 또는 코드베이스 검색을 요청하세요.
ogcode plan
구현하고자 하는 내용을 설명하세요. 플래닝 에이전트 (planning agent)가 코드베이스를 읽고, 접근 방식을 논의하며, 의존성 및 예상 소요 시간이 포함된 작업(tasks)으로 분해합니다. 계획을 확정(Lock)하면 → 작업들이 칸반 보드 (Kanban board)로 변환되며 → 병렬로 실행됩니다.
ogcode -p 3000
ogcode plan -p 3000
Ogcode는 단순한 HTTP 서버입니다. 원격 머신에 호스팅하고 브라우저를 통해 어디서든 접속할 수 있습니다.
Ogcode 에이전트는 단순한 텍스트뿐만 아니라 채팅 내에서 직접 풍부한 시각적 콘텐츠를 생성할 수 있습니다:
| 형식 | 구문 | 용도 |
|---|---|---|
| Mermaid 다이어그램 | ````mermaid` | 흐름도, 아키텍처, 시퀀스, ER 다이어그램 |
| LaTeX 수학 | $ ... $ 또는 $$ ... $$ | 수학 공식 |
| Plotly | ````plotly` | 막대, 선, 산점도, 파이, 히트맵 등 |
| Rough 다이어그램 | ````rough` | 손으로 그린 듯한 스타일의 2D 다이어그램 |
| HTML/CSS/JS | ````html` | 대화형 대시보드, 스타일이 적용된 테이블, 맞춤형 시각화, 애니메이션 |
HTML 블록은 샌드박스 iframe (sandboxed iframe) 내에서 렌더링됩니다. 스크립트는 부모 페이지에 접근할 수 없이 격리된 상태로 실행됩니다. 에이전트는 사용자의 뷰포트 (viewport) 크기를 전달받아 화면에 맞는 반응형 콘텐츠를 설계할 수 있습니다.
docker run -p 9595:9595 \
-v ~/.ogcode:/root/.ogcode \
-v $(pwd):/workspace -w /workspace \
...
그 다음, 어떤 브라우저에서든 http://<your-server-ip>:9595를 여세요.
# nginx 설정
server {
listen 443 ssl;
...
https://ogcode.yourdomain.com을 통해 암호화된 깨끗한 환경으로 접속하세요.
services:
ogcode:
image: ghcr.io/prasenjeet-symon/ogcode:latest
...
Ogcode는 셸 명령 (shell commands)을 실행하고, 파일을 읽고 쓸 수 있으며, 시스템을 수정할 수 있는 코딩 에이전트입니다. 인증 없이 공개 인터넷에 절대 노출하지 마세요.
| 위험 요소 | 완화 방법 |
|---|---|
| 누구나 9595 포트에 접속 가능함 | 127.0.0.1에 바인딩 + 리버스 프록시 (reverse proxy) 사용 |
| ... |
권장되는 접근 방식:
SSH 터널 (SSH tunnel)— 가장 안전하며, 별도의 설정이 필요 없음: # 노트북에서: ssh -L 9595:localhost:9595 user@your-server # 그 다음 브라우저에서 http://localhost:9595 접속
nginx + HTTP 기본 인증 (HTTP Basic Auth)— 간단한 비밀번호 게이트: htpasswd -c /etc/nginx/.htpasswd your_username
Cloudflare Tunnel— 열려 있는 포트가 없음, 인증을 위해 Cloudflare Access 추가 가능
VPN (WireGuard / Tailscale)— 프라이빗 네트워크, 공용 노출 없음
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 1. Describe │ → │ 2. Lock │ → │ 3. Review │ → │ 4. Execute │
│ your goal │ │ the plan │ │ Kanban board│ │ in parallel│
...
Describe (설명)— 새로운 계획을 열고 목표를 설명합니다. 플래닝 에이전트 (planning agent)가 코드베이스 (codebase)를 읽고 사용자와 함께 접근 방식을 정교화합니다.
Lock (잠금)— 준비가 되면 계획을 잠급니다. 에이전트는 공수 (S/M/L/XL), 복잡도 (complexity), 의존성 (dependencies)을 포함한 구조화된 작업 분할 (task breakdown)을 생성합니다.
Review (검토)— 칸반 보드 (Kanban board)에서 작업을 확인합니다. 작업을 드래그하거나, 순서를 변경하거나, 개별적으로 시작할 수 있습니다.
Execute (실행)— 작업을 시작합니다. 각 작업은 고유한 git 브랜치 (git branch)와 격리된 에이전트 세션 (agent session)을 할당받습니다. 독립적인 작업들은 **병렬 (parallel)**로 실행됩니다.
Complete (완료)— 완료된 작업은 자동으로 커밋 (auto-commit)되고 풀 리퀘스트 (pull requests)가 자동으로 생성됩니다.
Retry (재시도)— 작업이 실패하면 재시도합니다. 오래된 브랜치는 제거되고 작업이 새로 시작됩니다.
계획은 완료되면 .ogcode/archives/에 마크다운 (markdown) 형식으로 보관됩니다.
기존의 어시스턴트들은 매 턴마다 *전체 대화 기록 (entire conversation history)*을 LLM에 전송하며, 이는 비용이 많이 들고 토큰 제한 (token limits)에 빠르게 도달하게 만듭니다. Ogcode의 **에이전틱 세션 메모리 (Agentic Session Memory)**는 각 쿼리 (query)에 필요한 관련 컨텍스트 (context)만을 추출, 저장 및 검색합니다.
| 기능 | 영향 |
|---|---|
| ~70% 토큰 절약 | 긴 세션에서 API 비용을 획기적으로 감소 |
| 무한 컨텍스트 | 세션 길이 또는 코드베이스 크기에 실질적인 제한 없음 |
| 높은 정확도 | 쿼리당 관련 있는 메모리만 검색됨 |
| 세션 길이 | 기존 방식 | 에이전틱 메모리 (Agentic Memory) 적용 시 | 절감률 |
|---|---|---|---|
| 50개 메시지 | ~25K 토큰 | ~8K 토큰 | 68% |
| ... |
Ogcode는 벡터 임베딩 (vector embeddings)을 활용하여 지속적인 주제 (Topic) → 개념 (Concept) → 사실 (Fact) 계층 구조를 유지하며, 코드베이스 탐색을 위한 **함수 수준의 호출 그래프 (Call Graph)**를 제공합니다. 이 지식 그래프 (knowledge graph)는 세션을 넘어 유지됩니다. 즉, 여러분의 에이전트가 코드베이스 구조, 컨벤션 (conventions), 그리고 과거의 결정 사항들을 기억합니다.
주제 (Topic): "Ogcode 인증 (Authentication)"
└─ 개념 (Concept): "JWT 미들웨어 (Middleware)"
└─ 사실 (Fact): "토큰 검증은 internal/auth/jwt.go:47에 위치함"
...
다음 명령어로 활성화할 수 있습니다:
export OGCODE_AGENTIC_MEMORY_MODE=true
Ogcode는 React 웹 UI를 내장하고 자체 HTTP 서버를 실행하는 단일 Go 바이너리입니다.
┌─────────────┐ REST + SSE ┌──────────────┐
│ Web UI │ ◄────────────────► │ Go Server │
│ (React) │ │ (port 9595) │
...
주요 구성 요소:
에이전트 루프 (Agent Loop)— 도구 실행(bash, read, write, edit, glob, grep, memory_recall, callgraph, deep_search)을 포함한 스트리밍 LLM 채팅
세션 스토어 (Session Store)— 대화, 계획, 작업 및 권한을 위한 SQLite 데이터베이스
Git 워크트리 (Git Worktrees)— 각 작업은 격리된 브랜치를 할당받아 여러 에이전트가 병렬로 작업 가능
지식 그래프 (Knowledge Graph)— 벡터 임베딩 (vector embeddings)을 통한 지속적인 의미론적 메모리 (semantic memory)
호출 그래프 (Call Graph)— 함수 수준의 코드 관계 추적
검색 브릿지 (Search Bridge)— 웹 조사를 위한 Playwright 기반의 헤드리스 크롬 (headless Chrome) (v0.8.0)
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Coding Assistants의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기