ziya-ai/ziya
요약
Ziya는 코드 생성, 아키텍처 분석, 운영 디버깅 등 시니어 엔지니어가 실제로 사용하는 전체 AI 작업 환경을 제공하는 셀프 호스팅 워크벤치입니다. 단순한 에디터 대체가 아닌, 기존 에디터와 함께 작동하며 지속적인 컨텍스트, 병렬 에이전트 스웜, 다양한 도구 통합 기능을 통해 개발자의 전반적인 워크플로우를 지원합니다. 다양한 시각화 렌더러(Graphviz, Mermaid 등)와 정규화 계층을 통해 LLM의 출력을 즉시 수정 가능한 형태로 제공하며, 데드락 디버깅이나 UI 반복 작업 같은 복잡한 엔지니어링 작업을 대화형으로 처리할 수 있습니다.
핵심 포인트
- 코드 생성부터 운영 디버깅까지 포괄하는 완전한 AI 개발 워크벤치입니다.
- 셀프 호스팅 방식이며 MIT 라이선스를 따르고, 기존 에디터와 함께 작동합니다.
- 병렬 에이전트 스웜과 지속적인 메모리 기능을 통해 복잡하고 큰 작업을 체계적으로 분해하고 관리합니다.
- Graphviz, Mermaid 등 7가지 시각화 렌더러를 활용하여 LLM 출력을 다양한 형식으로 인라인 렌더링합니다.
- 데드락 분석, UI 목업 생성, 수학적 모델링 등 실제 엔지니어링 작업을 대화형 인터페이스에서 지원합니다.
코드, 아키텍처 및 운영을 위한 셀프 호스팅(Self-hosted) AI 워크벤치.
에디터를 대체하는 것이 아니라, 에디터와 함께 실행됩니다.
Ziya는 완전한 AI 작업 환경입니다. 코드 생성, 아키텍처 분석, 운영 디버깅(operational debugging), 시각적 출력, 지속적인 컨텍스트(persistent context), 병렬 에이전트(parallel agents), 도구 통합(tool integration) 등 — 단순히 편집 부분만이 아니라 시니어 엔지니어가 실제로 작업하는 방식의 전체 영역을 다룹니다. 수백 명의 엔지니어가 2년 동안 매일 실무에서 사용하며 모든 일반적인 워크플로우가 자연스럽게 느껴지도록 만들었습니다. 셀프 호스팅(Self-hosted) 방식이며, MIT 라이선스를 따르고, 사용자의 에디터와 함께 실행됩니다.
선택의 근거에 대한 이유는 Design Philosophy를 참조하세요.
코드 변경 사항은 각 덩어리(hunk)별로 적용/취소(Apply/Undo) 버튼이 있는 렌더링된 디프(diffs)로 돌아옵니다. 4단계 패치 파이프라인(4-stage patch pipeline)이 불완전한 모델 출력을 처리하므로 채팅창에서 복사-붙여넣기를 할 필요가 없습니다. 대화는 사용자가 제어할 수 있는 컨텍스트와 함께 세션 간에 유지됩니다: 막다른 길에 다다른 메시지는 음소거하고, 대안을 탐색하기 위해 포크(fork)하며, 완료된 파일은 삭제하세요. 사용자를 대신해 결정하는 자동 압축(auto-compaction)은 없습니다. 지속적인 메모리(Persistent memory)는 세션 전반에 걸쳐 도메인 지식을 전달합니다. 병렬 에이전트 스웜(Parallel agent swarms)은 의존성 순서 지정, 메모리 크리스탈(memory crystals), 그리고 충돌 복구 가능한 체크포인팅(crash-resilient checkpointing)을 통해 큰 작업을 위임된 작업들로 분해합니다. HMAC 결과 서명, 오염 탐지(poisoning detection), 셸 허용 목록(shell allowlisting)을 포함한 MCP 도구 통합을 지원합니다. 교차 파일 참조 추적(cross-file reference tracing)을 포함한 AST 기반 코드 인텔리전스(AST-based code intelligence)를 제공합니다. 범위가 지정된 대화와 재사용 가능한 스킬 번들(skill bundles)을 갖춘 프로젝트를 지원합니다. 동일한 코드베이스에서 Web UI와 전체 CLI를 모두 사용할 수 있습니다.
선택된 컨텍스트, 서로 다른 모델, 심지어 서로 다른 대화까지 포함하여 동일한 코드베이스에 대한 여러 개의 창을 띄울 수 있습니다 — 작업 방식에 맞게 필요한 만큼 많이 여세요. 완전히 다른 코드베이스를 가진 여러 프로젝트를 지원하며, 각 프로젝트는 고유한 대화와 컨텍스트 선택을 가집니다. 당신의 워크플로우에 맞는 레이아웃은 당신이 결정합니다.
7가지 시각화 렌더러 — Graphviz, Mermaid, Vega-Lite, DrawIO, KaTeX, HTML mockup, 패킷 프레임 다이어그램 (packet frame diagrams) — 모두 LLM의 깨진 출력을 수정하는 정규화 계층 (normalization layer)과 함께 인라인으로 렌더링됩니다. 모델은 상황에 맞는 적절한 형식을 선택합니다: 디버깅 중에는 의존성 그래프 (dependency graph), 흐름을 추적할 때는 시퀀스 다이어그램 (sequence diagram), 데이터를 볼 때는 차트 (chart), 증명을 수행할 때는 렌더링된 수학식 (rendered math), UI를 설계할 때는 mockup을 제공합니다. 사용자가 렌더러를 직접 선택하는 것이 아니라, 문제를 설명하면 시각화가 정답인 상황에서 시각적인 응답이 돌아옵니다.
이 모든 것이 12개의 기능을 단순히 이어 붙인 것이 아니라 하나의 도구처럼 느껴지도록 만들기 위해 엄청난 양의 엔지니어링이 투입되었습니다. 표준 MCP 도구 프로토콜 (Standard MCP tool protocol), 재사용 가능한 스킬 번들 (reusable skill bundles), 그리고 에이전트 위임 (agent delegation)은 당신이 기대하는 방식대로 작동합니다 — Ziya는 폐쇄적인 시스템이 아닙니다. 전체 참조 정보는 Feature Inventory에 있습니다.
데드락 (deadlock) 디버깅 — 스레드 덤프 (thread dump)를 붙여넣으세요. 사이클을 보여주는 의존성 그래프를 얻을 수 있습니다. 모델은 동일한 대화 내에서 락 순서 (lock ordering)를 당신의 소스 코드와 상관관계 분석합니다.
UI 반복 작업 (Iterate on a UI) — 컴포넌트를 설명하면 인라인으로 렌더링된 HTML mockup을 얻을 수 있습니다. 레이아웃, 간격, 색상을 조정하세요. 각 수정 사항은 대화 내에서 실시간으로 렌더링됩니다 — 브라우저로 전환하거나, Figma를 쓰거나, 스크린샷을 찍을 필요가 없습니다.
시스템을 수학적으로 모델링 — 속도 제한기 (rate limiter)를 위한 대기 행렬 이론 (queueing theory)에 대해 논의하세요. 모델은 정상 상태 확률 (steady-state probabilities)을 도출하고 이를 ASCII 근사치가 아닌, 실제 수학적 표기법인 완전한 타이포그래피의 KaTeX로 렌더링합니다. 그런 다음 결과를 도식화하세요: 도착률 (arrival rate) 대 대기열 깊이 (queue depth) 차트, 매개변수 범위에 따른 민감도 분석 (sensitivity analysis), 분포 곡선 (distribution curves) 등을 동일한 대화 내에서 바로 확인할 수 있습니다. 공식과 그 시각화가 함께 제공됩니다.
프로토콜 분석 (Analyze a protocol) — pcap 파일, 헤더 파일 (header file), 그리고 클라이언트 구현체 (client implementation)를 넣으세요. Ziya는 이 세 가지를 모두 읽고 에러 도메인 (error domains)을 보여주는 그래프를 합성합니다. 또는 프로토콜을 설계 중이라면: 프레임 포맷 (frame format)을 필드 너비 (field widths)와 바이트 경계 (byte boundaries)가 포함된 비트 수준 다이어그램 (bit-level diagram)으로 배치한 다음, 각 필드가 코드베이스 전체에서 실제로 어떻게 사용되는지 추적하여 명세 (spec)와 구현 (implementation) 사이의 불일치를 찾아낼 수 있습니다.
운영 장애 진단 (Diagnose a production incident) — 모니터링 스크린샷을 끌어다 놓으세요. 에러 로그 (error log)를 붙여넣으세요. 서비스 코드를 추가하세요. 모델은 근본 원인 (root cause)을 파악하며, 지연 시간 패턴 (latency patterns)을 위한 타이밍 차트 (timing chart), 요청 흐름 (request flow)을 위한 시퀀스 다이어그램 (sequence diagram), 연쇄 장애 (cascade failures)를 위한 의존성 그래프 (dependency graph) 등 상황에 적합한 시각화 방식을 선택합니다. 그리고 적용 가능한 diff 형태로 수정 사항을 생성합니다.
코드베이스 리팩터링 (Refactor a codebase) — 마이그레이션 (migration) 작업을 병렬 에이전트 (parallel agents)로 분해합니다. 각 에이전트는 모듈을 독립적으로 처리하고 완료 시 메모리 크리스탈 (memory crystal)을 생성하며, 하위 에이전트 (downstream agents)는 상위 에이전트 (upstream)가 멈춘 지점부터 작업을 이어받습니다. 작업이 완료되어 돌아오면 diff를 적용하세요.
pip install ziya
AWS Bedrock용 (기본값):
export AWS_ACCESS_KEY_ID=<your-key>
export AWS_SECRET_ACCESS_KEY=<your-secret>
ziya
Google Gemini용:
export GOOGLE_API_KEY=<your-key>
ziya --endpoint=google
OpenAI용:
export OPENAI_API_KEY=<your-key>
ziya --endpoint=openai
그 다음 http://localhost:6969 를 여세요.
CLI 모드 (브라우저 미사용):
ziya chat # 대화형 채팅 (Interactive chat)
ziya ask "what does this do?" # 단발성 질문 (One-shot question)
ziya review --staged # git 스테이징된 변경 사항 검토 (Review git staged changes)
...
| 제공자 (Provider) | 모델 (Models) | 필요 사항 (What You Need) |
|---|---|---|
| AWS Bedrock | Claude Sonnet 4.6/4.5/4.0/3.7, Opus 4.6/4.5/4.1/4.0, Haiku 4.5/3, Nova Premier/Pro/Lite/Micro, DeepSeek R1/V3, Qwen3, Kimi K2.5, 외 다수 | Bedrock 접근 권한이 있는 AWS 자격 증명 (credentials) |
| Gemini 3.1 Pro, 3 Pro/Flash, 2.5 Pro/Flash, 2.0 Flash | Google API 키 | |
| OpenAI | GPT-4.1/Mini/Nano, GPT-4o, o3, o3-mini, o4-mini | OpenAI API 키 |
| Anthropic | Claude (직접 API) | Anthropic API 키 |
대화 도중에 모델을 전환하세요. UI에서 temperature, top-k, max tokens, 그리고 thinking mode (사고 모드)를 설정할 수 있습니다.
- Design Philosophy (설계 철학) — Ziya가 이러한 선택을 내린 이유
- Feature Inventory (기능 목록) — 전체 기능 참조
- Architecture Overview (아키텍처 개요) — 시스템 설계
- MCP Security (MCP 보안) — 도구 보안 모델
- Skills (스킬) — 재사용 가능한 지침 번들
- User Configuration (사용자 설정) —
~/.ziya/
config files (설정 파일) - Enterprise (엔터프라이즈) — 플러그형 인증 (pluggable auth), 저장 데이터 암호화 (encryption at rest), 대규모 배포 (deployment at scale)
Ziya는 주로 Dan Cohn에 의해 구축 및 유지 관리되며, Vishnu Kool이 초기 기여를 했습니다.
가이드라인은 CONTRIBUTING.md를 참조하세요.
취약점 보고는 SECURITY.md를 참조하세요.
MIT — LICENSE를 참조하세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Claude Ecosystem의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기