[프로젝트] LazyClaude — Claude를 위한 lazygit 스타일 대시보드
50개의 CLI 명령어를 외우는 대신, 그냥 클릭하기
The lazy, elegant dashboard for everything Claude.
왜 만들었는가
Claude Code를 진지하게 쓰기 시작하면 어느 순간 ~/.claude/ 디렉터리가 폭발한다. agents, skills, hooks, plugins, MCP 서버, sessions, projects… 각각을 다루는 CLI 명령어는 50개를 넘어간다. 이걸 다 외우라는 건 잘못된 UX다.
LazyClaude는 lazygit / lazydocker에서 영감을 받은 로컬 우선 명령 센터(local-first command center) 다. 단일 python3 server.py만 띄우면 ~/.claude/ 전체를 시각적으로 관리할 수 있고, n8n 스타일의 워크플로우 엔진과 멀티 AI 프로바이더 오케스트레이션이 같이 들어 있다.
No cloud. No telemetry. No package to install. Python 표준 라이브러리와 HTML 한 장이 전부다.
무엇을 다루는가
| 영역 | 내용 |
|---|---|
| Agents | global / project sub-agents, Hyper Agent (자기 개선 에이전트) |
| Skills | ECC 181개 스킬 + OMC/OMX 카탈로그 통합 |
| Commands | 79개 슬래시 명령어 검색·실행 |
| Hooks | 90MB jsonl 스캔 → TTL 캐시로 0.97s → 0.026s (37×) |
| Plugins / MCP | 설치·삭제·디버깅 |
| Sessions / Projects | 토큰 사용량 드릴다운, 비용 분석 |
| Workflows | n8n 스타일 캔버스, 멀티 프로바이더(Gemini/Ollama/Codex/Claude) |
사용한 기술
| 영역 | 기술 |
|---|---|
| 백엔드 | Python 3.10+ 표준 라이브러리만 (pip 의존성 0) |
| 프런트엔드 | 단일 index.html (1.12MB → gzip 270KB), Chart.js / vis-network / marked는 deferred |
| 패키징 | PWA (Add to Home Screen) + 72KB macOS .app 번들 (make install-mac) |
| 다국어 | EN / 한국어 / 中文 README + UI 번역 파이프라인 |
인상적이었던 최적화 사례
LazyClaude를 만들면서 학습한 성능 패턴 몇 가지:
- TTL + mtime 캐시: 같은 파일 스캔이 반복되는 곳에는 (마지막 수정 시각, 캐시 만료) 쌍을 키로. 워크플로우 캔버스, hooks 탭에서 22~37배 개선.
- rAF 코얼레싱(coalescing): 드래그 시
mousemove마다 미니맵을 다시 그리던 것을requestAnimationFrame한 틱당 1회로 모음. - In-flight GET dedupe: 동일 GET이 동시에 여러 번 발사되는 것을 한 프라미스로 합치기.
- Lazy fetch + first paint 분리: 무거운 데이터(
/api/hooks/recent-blocks)는 첫 렌더 이후에 주입. - CDN script defer: 약 600KB의 차트/그래프 라이브러리를
defer로 내려, 첫 페인트가 차단되지 않도록.
관련 개념과 레퍼런스
- lazygit / lazydocker (Jesse Duffield): TUI로 git/도커를 다루는 도구들. “외우지 말고, 보면서 누르자”는 철학을 그대로 가져왔다.
- n8n / Node-RED: 노드 + 엣지 기반 워크플로우 캔버스의 원형. LazyClaude의 워크플로우 엔진은 이 형태에 멀티 AI 프로바이더를 결합한 것.
- Anthropic의 베타 기능들:
computer-use-2025-01-24(Computer Use)memory-2025-08-18(서버 사이드 메모리 블록)- Executor + Advisor 페어 패턴
- Claude Code Routines (cron-like 스케줄러)
- PWA (Progressive Web App): Service Worker + Web App Manifest로 로컬 앱처럼 설치되는 표준. LazyClaude는 PWA와 macOS
.app번들을 동시에 제공해, “패키지 설치”라는 마찰 자체를 없앴다.
어디에 어울리는가
- Claude Code를 매일 쓰는데
~/.claude/구조가 점점 무서워지는 사용자 - 여러 AI 프로바이더(Claude / Gemini / Ollama / Codex)를 한 캔버스에서 엮고 싶은 사람
- 토큰/비용을 프로젝트·세션 단위로 들여다봐야 하는 팀
- 클라우드 대시보드 없이, 100% 로컬에서 가시성을 확보하고 싶은 사람
한 줄 요약
Claude Code를 위한 IDE의 사이드바 같은 것. 단, 로컬에서 돌아가고, 의존성이 없고, 그냥 Python 한 줄이면 켜진다.