Files
codeg/docs/readme/README.ko.md
2026-03-29 19:46:41 +08:00

286 lines
10 KiB
Markdown

# Codeg
[![Release](https://img.shields.io/github/v/release/xintaofei/codeg)](https://github.com/xintaofei/codeg/releases)
[![License](https://img.shields.io/github/license/xintaofei/codeg)](../../LICENSE)
[![Tauri](https://img.shields.io/badge/Tauri-2.x-24C8DB)](https://tauri.app/)
[![Next.js](https://img.shields.io/badge/Next.js-16-black)](https://nextjs.org/)
[![Docker](https://img.shields.io/badge/Docker-ready-2496ED)](../../Dockerfile)
<p>
<a href="../../README.md">English</a> |
<a href="./README.zh-CN.md">简体中文</a> |
<a href="./README.zh-TW.md">繁體中文</a> |
<a href="./README.ja.md">日本語</a> |
<strong>한국어</strong> |
<a href="./README.es.md">Español</a> |
<a href="./README.de.md">Deutsch</a> |
<a href="./README.fr.md">Français</a> |
<a href="./README.pt.md">Português</a> |
<a href="./README.ar.md">العربية</a>
</p>
Codeg(Code Generation)는 엔터프라이즈급 멀티 Agent 코딩 워크스페이스입니다.
Claude Code, Codex CLI, OpenCode, Gemini CLI, OpenClaw 등 로컬 AI 코딩 Agent를
데스크톱 앱과 웹 서비스로 통합하여 — 브라우저만으로 어디서든 원격 개발이 가능하며 — 세션 집계, 병렬 `git worktree` 개발, MCP/Skills 관리,
Git/파일/터미널 통합 워크플로를 제공합니다.
## 메인 인터페이스
![Codeg Light](../images/main-light.png#gh-light-mode-only)
![Codeg Dark](../images/main-dark.png#gh-dark-mode-only)
## 세션 타일 표시
![Codeg Light](../images/main2-light.png#gh-light-mode-only)
![Codeg Dark](../images/main2-dark.png#gh-dark-mode-only)
## 설정
| 에이전트 | MCP | Skills | 버전 관리 | 웹 서비스 |
| :---: | :---: | :---: | :---: | :---: |
| ![Agents](../images/1-light.png#gh-light-mode-only) ![Agents](../images/1-dark.png#gh-dark-mode-only) | ![MCP](../images/2-light.png#gh-light-mode-only) ![MCP](../images/2-dark.png#gh-dark-mode-only) | ![Skills](../images/3-light.png#gh-light-mode-only) ![Skills](../images/3-dark.png#gh-dark-mode-only) | ![Version Control](../images/4-light.png#gh-light-mode-only) ![Version Control](../images/4-dark.png#gh-dark-mode-only) | ![Web Service](../images/5-light.png#gh-light-mode-only) ![Web Service](../images/5-dark.png#gh-dark-mode-only) |
## 하이라이트
- 동일 프로젝트에서 멀티 Agent 통합 워크스페이스
- 로컬 세션 수집 및 구조화 렌더링
- 내장 `git worktree` 플로를 통한 병렬 개발
- **프로젝트 부트** — 시각적 설정과 실시간 미리보기로 새 프로젝트 생성
- MCP 관리 (로컬 스캔 + 레지스트리 검색/설치)
- Skills 관리 (글로벌 및 프로젝트 범위)
- Git 원격 계정 관리 (GitHub 및 기타 Git 서버)
- Web 서비스 모드 — 브라우저에서 Codeg에 접속하여 원격 작업 가능
- **독립형 서버 배포** — 모든 Linux/macOS 서버에서 `codeg-server`를 실행하고 브라우저로 접속
- **Docker 지원** — `docker compose up`으로 설정 없이 서버 구축 가능
- 통합 엔지니어링 루프 (파일 트리, Diff, Git 변경사항, 커밋, 터미널)
## 프로젝트 부트
분할 패널 인터페이스로 새 프로젝트를 시각적으로 생성: 왼쪽에서 설정, 오른쪽에서 실시간 미리보기.
![Project Boot Light](../images/project-boot-light.png#gh-light-mode-only)
![Project Boot Dark](../images/project-boot-dark.png#gh-dark-mode-only)
### 주요 기능
- **시각적 설정** — 드롭다운에서 스타일, 색상 테마, 아이콘 라이브러리, 글꼴, 테두리 반경 등을 선택하면 미리보기가 즉시 업데이트
- **실시간 미리보기** — 프로젝트 생성 전에 선택한 룩앤필을 실시간으로 확인
- **원클릭 생성** — "프로젝트 생성"을 클릭하면 프리셋 설정, 프레임워크 템플릿(Next.js / Vite / React Router / Astro / Laravel), 패키지 매니저(pnpm / npm / yarn / bun)로 `shadcn init` 실행
- **패키지 매니저 감지** — 설치된 패키지 매니저를 자동으로 감지하고 버전 표시
- **원활한 통합** — 새로 생성된 프로젝트가 Codeg 워크스페이스에서 바로 열림
현재 **shadcn/ui** 프로젝트 스캐폴딩을 지원하며, 탭 기반 디자인으로 향후 더 많은 프로젝트 유형을 지원할 준비가 되어 있습니다.
## 지원 범위
### 1) 세션 수집 (히스토리 세션)
| Agent | 환경 변수 경로 | macOS / Linux 기본값 | Windows 기본값 |
| --- | --- | --- | --- |
| Claude Code | `$CLAUDE_CONFIG_DIR/projects` | `~/.claude/projects` | `%USERPROFILE%\\.claude\\projects` |
| Codex CLI | `$CODEX_HOME/sessions` | `~/.codex/sessions` | `%USERPROFILE%\\.codex\\sessions` |
| OpenCode | `$XDG_DATA_HOME/opencode/opencode.db` | `~/.local/share/opencode/opencode.db` | `%USERPROFILE%\\.local\\share\\opencode\\opencode.db` |
| Gemini CLI | `$GEMINI_CLI_HOME/.gemini` | `~/.gemini` | `%USERPROFILE%\\.gemini` |
| OpenClaw | — | `~/.openclaw/agents` | `%USERPROFILE%\\.openclaw\\agents` |
| Cline | `$CLINE_DIR` | `~/.cline/data/tasks` | `%USERPROFILE%\\.cline\\data\\tasks` |
> 참고: 환경 변수가 기본 경로보다 우선합니다.
### 2) ACP 실시간 세션
현재 Claude Code, Codex CLI, Gemini CLI, OpenCode, OpenClaw 5가지 에이전트를 지원합니다.
### 3) Skills 설정 지원
- 지원: `Claude Code / Codex / OpenCode / Gemini CLI / OpenClaw / Cline`
- 추가 어댑터는 순차적으로 추가 예정
### 4) MCP 대상 앱
현재 쓰기 가능한 대상:
- Claude Code
- Codex
- OpenCode
## 빠른 시작
### 요구 사항
- Node.js `>=22` (권장)
- pnpm `>=10`
- Rust stable (2021 edition)
- Tauri 2 빌드 의존성 (데스크톱 모드만 해당)
Linux (Debian/Ubuntu) 예시:
```bash
sudo apt-get update
sudo apt-get install -y \
libwebkit2gtk-4.1-dev \
libayatana-appindicator3-dev \
librsvg2-dev \
patchelf
```
### 개발
```bash
pnpm install
# 프론트엔드 정적 내보내기 (out/)
pnpm build
# 전체 데스크톱 앱 (Tauri + Next.js)
pnpm tauri dev
# 프론트엔드만
pnpm dev
# 데스크톱 빌드
pnpm tauri build
# 독립형 서버 (Tauri/GUI 불필요)
pnpm server:dev
# 서버 릴리스 바이너리 빌드
pnpm server:build
# Lint
pnpm eslint .
# Rust 검사 (src-tauri/에서 실행)
cargo check
cargo clippy
cargo build
```
### 서버 배포
Codeg는 데스크톱 환경 없이 독립형 웹 서버로 실행할 수 있습니다.
#### 옵션 1: 원라인 설치 (Linux / macOS)
```bash
curl -fsSL https://raw.githubusercontent.com/xintaofei/codeg/main/install.sh | bash
```
특정 버전 또는 사용자 지정 디렉토리에 설치:
```bash
curl -fsSL https://raw.githubusercontent.com/xintaofei/codeg/main/install.sh | bash -s -- --version v0.5.0 --dir ~/.local/bin
```
실행:
```bash
codeg-server
```
#### 옵션 2: 원라인 설치 (Windows PowerShell)
```powershell
irm https://raw.githubusercontent.com/xintaofei/codeg/main/install.ps1 | iex
```
또는 특정 버전 설치:
```powershell
.\install.ps1 -Version v0.5.0
```
#### 옵션 3: GitHub Releases에서 다운로드
사전 빌드된 바이너리(웹 에셋 포함)는 [Releases](https://github.com/xintaofei/codeg/releases) 페이지에서 다운로드할 수 있습니다:
| 플랫폼 | 파일 |
| --- | --- |
| Linux x64 | `codeg-server-linux-x64.tar.gz` |
| Linux arm64 | `codeg-server-linux-arm64.tar.gz` |
| macOS x64 | `codeg-server-darwin-x64.tar.gz` |
| macOS arm64 | `codeg-server-darwin-arm64.tar.gz` |
| Windows x64 | `codeg-server-windows-x64.zip` |
```bash
# 예시: 다운로드, 압축 해제, 실행
tar xzf codeg-server-linux-x64.tar.gz
cd codeg-server-linux-x64
CODEG_STATIC_DIR=./web ./codeg-server
```
#### 옵션 4: Docker
```bash
docker compose up -d
# 또는 직접 실행
docker run -p 3080:3080 -v codeg-data:/data ghcr.io/xintaofei/codeg:latest
```
#### 옵션 5: 소스에서 빌드
```bash
pnpm install && pnpm build # 프론트엔드 빌드
cd src-tauri
cargo build --release --bin codeg-server --no-default-features
CODEG_STATIC_DIR=../out ./target/release/codeg-server
```
#### 구성
환경 변수:
| 변수 | 기본값 | 설명 |
| --- | --- | --- |
| `CODEG_PORT` | `3080` | HTTP 포트 |
| `CODEG_HOST` | `0.0.0.0` | 바인드 주소 |
| `CODEG_TOKEN` | *(랜덤)* | 인증 토큰 (시작 시 stderr에 출력) |
| `CODEG_DATA_DIR` | `~/.local/share/codeg` | SQLite 데이터베이스 디렉토리 |
| `CODEG_STATIC_DIR` | `./web` 또는 `./out` | Next.js 정적 내보내기 디렉토리 |
## 아키텍처
```text
Next.js 16 (Static Export) + React 19
|
| invoke() (desktop) / fetch() + WebSocket (web)
v
┌─────────────────────────┐
│ Transport Abstraction │
│ (Tauri IPC or HTTP/WS) │
└─────────────────────────┘
|
v
┌─── Tauri Desktop ───┐ ┌─── codeg-server ───┐
│ Tauri 2 Commands │ │ Axum HTTP + WS │
│ (window management) │ │ (standalone mode) │
└──────────┬───────────┘ └──────────┬──────────┘
└──────────┬───────────────┘
v
Shared Rust Core
|- AppState
|- ACP Manager
|- Parsers (session ingestion)
|- Git / File Tree / Terminal
|- MCP marketplace + config
|- SeaORM + SQLite
|
v
Local Filesystem / Git Repos
```
## 제약 사항
- 프론트엔드는 정적 내보내기 사용 (`output: "export"`)
- Next.js 동적 라우트 (`[param]`) 불가; 대신 쿼리 파라미터 사용
- Tauri 명령 파라미터: 프론트엔드 `camelCase`, Rust `snake_case`
- TypeScript strict 모드
## 개인정보 보호 및 보안
- 파싱, 저장, 프로젝트 작업은 기본적으로 로컬 우선
- 네트워크 접근은 사용자가 명시적으로 작업을 실행할 때만 발생
- 엔터프라이즈 환경을 위한 시스템 프록시 지원
- 웹 서비스 모드에서는 토큰 기반 인증 사용
## 라이선스
Apache-2.0. `LICENSE` 참고.