230 lines
8.5 KiB
Markdown
230 lines
8.5 KiB
Markdown
# Codeg
|
|
|
|
[](https://github.com/xintaofei/codeg/releases)
|
|
[](../../LICENSE)
|
|
[](https://tauri.app/)
|
|
[](https://nextjs.org/)
|
|
[](../../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> |
|
|
<a href="./README.ko.md">한국어</a> |
|
|
<a href="./README.es.md">Español</a> |
|
|
<strong>Deutsch</strong> |
|
|
<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) ist ein unternehmenstauglicher Multi-Agent-Workspace
|
|
für die Programmierung.
|
|
Es vereint lokale KI-Coding-Agenten (Claude Code, Codex CLI, OpenCode,
|
|
Gemini CLI, OpenClaw usw.) in einer Desktop-App und einem Webservice — Remote-Entwicklung von jedem Browser aus — mit Sitzungsaggregation,
|
|
paralleler `git worktree`-Entwicklung, MCP/Skills-Verwaltung und integrierten
|
|
Git/Datei/Terminal-Workflows.
|
|
|
|
## Hauptoberfläche
|
|

|
|

|
|
|
|
## Sitzungskachelansicht
|
|

|
|

|
|
|
|
## Einstellungen
|
|
| Agenten | MCP | Skills | Versionskontrolle | Webdienst |
|
|
| :---: | :---: | :---: | :---: | :---: |
|
|
|   |   |   |   |   |
|
|
|
|
## Highlights
|
|
|
|
- Einheitlicher Multi-Agent-Workspace im selben Projekt
|
|
- Lokale Sitzungserfassung mit strukturierter Darstellung
|
|
- Parallele Entwicklung mit integrierten `git worktree`-Abläufen
|
|
- **Projekt-Starter** — neue Projekte visuell erstellen mit Live-Vorschau
|
|
- MCP-Verwaltung (lokaler Scan + Registry-Suche/Installation)
|
|
- Skills-Verwaltung (global und projektbezogen)
|
|
- Git-Remote-Kontoverwaltung (GitHub und andere Git-Server)
|
|
- Webdienst-Modus — Zugriff auf Codeg über jeden Browser für Remote-Arbeit
|
|
- Standalone-Server-Bereitstellung — codeg-server auf jedem Linux/macOS-Server ausführen, Zugriff über den Browser
|
|
- Docker-Unterstützung — Bereitstellung mit docker compose up für konfigurationsfreien Serverbetrieb
|
|
- Integrierter Engineering-Kreislauf (Dateibaum, Diff, Git-Änderungen, Commit, Terminal)
|
|
|
|
## Projekt-Starter
|
|
|
|
Erstellen Sie neue Projekte visuell mit einer geteilten Oberfläche: links konfigurieren, rechts in Echtzeit Vorschau anzeigen.
|
|
|
|

|
|

|
|
|
|
### Funktionen
|
|
|
|
- **Visuelle Konfiguration** — Stil, Farbthema, Icon-Bibliothek, Schrift, Rahmenradius und mehr über Dropdowns auswählen; die Vorschau aktualisiert sich sofort
|
|
- **Live-Vorschau** — das gewählte Look & Feel wird in Echtzeit gerendert, bevor etwas erstellt wird
|
|
- **Ein-Klick-Erstellung** — klicken Sie auf „Projekt erstellen" und der Launcher führt `shadcn init` mit Ihrem Preset, Framework-Template (Next.js / Vite / React Router / Astro / Laravel) und Paketmanager (pnpm / npm / yarn / bun) aus
|
|
- **Paketmanager-Erkennung** — prüft automatisch, welche Paketmanager installiert sind und zeigt ihre Versionen an
|
|
- **Nahtlose Integration** — das neu erstellte Projekt wird sofort im Codeg-Workspace geöffnet
|
|
|
|
Unterstützt derzeit **shadcn/ui**-Projekt-Scaffolding, mit einem Tab-basierten Design für zukünftige Projekttypen.
|
|
|
|
## Unterstützter Umfang
|
|
|
|
### 1) Sitzungserfassung (historische Sitzungen)
|
|
|
|
| Agent | Umgebungsvariablen-Pfad | macOS / Linux Standard | Windows Standard |
|
|
| --- | --- | --- | --- |
|
|
| 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` |
|
|
|
|
> Hinweis: Umgebungsvariablen haben Vorrang vor Fallback-Pfaden.
|
|
|
|
### 2) ACP-Echtzeitsitzungen
|
|
|
|
Unterstützt derzeit 6 Agenten: Claude Code, Codex CLI, Gemini CLI, OpenCode, OpenClaw und Cline.
|
|
|
|
### 3) Skills-Einstellungen
|
|
|
|
- Unterstützt: `Claude Code / Codex / OpenCode / Gemini CLI / OpenClaw / Cline`
|
|
- Weitere Adapter werden schrittweise hinzugefügt
|
|
|
|
### 4) MCP-Zielanwendungen
|
|
|
|
Aktuelle beschreibbare Ziele:
|
|
|
|
- Claude Code
|
|
- Codex
|
|
- OpenCode
|
|
|
|
## Schnellstart
|
|
|
|
### Voraussetzungen
|
|
|
|
- Node.js `>=22` (empfohlen)
|
|
- pnpm `>=10`
|
|
- Rust stable (2021 edition)
|
|
- Tauri-2-Build-Abhängigkeiten (nur Desktop-Modus)
|
|
|
|
Linux-Beispiel (Debian/Ubuntu):
|
|
|
|
```bash
|
|
sudo apt-get update
|
|
sudo apt-get install -y \
|
|
libwebkit2gtk-4.1-dev \
|
|
libayatana-appindicator3-dev \
|
|
librsvg2-dev \
|
|
patchelf
|
|
```
|
|
|
|
### Entwicklung
|
|
|
|
```bash
|
|
pnpm install
|
|
|
|
# Frontend-Statikexport nach out/
|
|
pnpm build
|
|
|
|
# Vollständige Desktop-App (Tauri + Next.js)
|
|
pnpm tauri dev
|
|
|
|
# Nur Frontend
|
|
pnpm dev
|
|
|
|
# Desktop-Build
|
|
pnpm tauri build
|
|
|
|
# Standalone-Server (kein Tauri/GUI erforderlich)
|
|
pnpm server:dev
|
|
|
|
# Server-Release-Binary erstellen
|
|
pnpm server:build
|
|
|
|
# Lint
|
|
pnpm eslint .
|
|
|
|
# Rust-Prüfungen (in src-tauri/ ausführen)
|
|
cargo check
|
|
cargo clippy
|
|
cargo build
|
|
```
|
|
|
|
## Server-Bereitstellung
|
|
|
|
Codeg kann als eigenständiger Webserver ohne Tauri-Abhängigkeiten oder GUI betrieben werden.
|
|
|
|
### Option 1: Direktes Binary
|
|
|
|
```bash
|
|
pnpm server:build
|
|
./target/release/codeg-server
|
|
```
|
|
|
|
| Variable | Standardwert | Beschreibung |
|
|
| --- | --- | --- |
|
|
| CODEG_PORT | 3080 | HTTP-Port |
|
|
| CODEG_HOST | 0.0.0.0 | Bind-Adresse |
|
|
| CODEG_TOKEN | (zufällig) | Authentifizierungstoken |
|
|
| CODEG_DATA_DIR | ~/.local/share/codeg | SQLite-Datenbankverzeichnis |
|
|
| CODEG_STATIC_DIR | ./web oder ./out | Next.js-Statikexport-Verzeichnis |
|
|
|
|
### Option 2: Docker
|
|
|
|
```bash
|
|
docker compose up
|
|
```
|
|
|
|
## Architektur
|
|
|
|
```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
|
|
```
|
|
|
|
## Einschränkungen
|
|
|
|
- Frontend verwendet statischen Export (`output: "export"`)
|
|
- Keine dynamischen Next.js-Routen (`[param]`); stattdessen Query-Parameter verwenden
|
|
- Tauri-Befehlsparameter: `camelCase` im Frontend, `snake_case` in Rust
|
|
- TypeScript im strikten Modus
|
|
|
|
## Datenschutz und Sicherheit
|
|
|
|
- Standardmäßig lokal für Analyse, Speicherung und Projektoperationen
|
|
- Netzwerkzugriff erfolgt nur bei benutzergesteuerten Aktionen
|
|
- Systemproxy-Unterstützung für Unternehmensumgebungen
|
|
- Der Webdienst-Modus verwendet tokenbasierte Authentifizierung
|
|
|
|
## Lizenz
|
|
|
|
Apache-2.0. Siehe `LICENSE`.
|