# Codeg [](https://github.com/xintaofei/codeg/releases) [](../../LICENSE) [](https://tauri.app/) [](https://nextjs.org/) [](../../Dockerfile)
English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Español | Deutsch | Français | Português | العربية
Codeg(Code Generation)是一个企业级多 Agent 编码工作台。 它将本地 AI 编码代理(Claude Code、Codex CLI、OpenCode、Gemini CLI、 OpenClaw、Cline 等)统一到桌面应用与 Web 服务中——通过浏览器即可远程开发——支持会话聚合、 并行 `git worktree` 开发、MCP/Skills 管理,以及集成的 Git/文件/终端工作流。 ## 主界面   ## 会话平铺显示   ## 设置 | 代理 | MCP | Skills | 版本控制 | Web 服务 | | :---: | :---: | :---: | :---: | :---: | |   |   |   |   |   | ## 核心亮点 - 同一项目中的多 Agent 统一工作台 - 本地会话解析与结构化渲染 - 内置 `git worktree` 并行开发流程 - **项目启动器** — 可视化创建新项目,实时预览效果 - MCP 管理(本地扫描 + 市场搜索/安装) - Skills 管理(全局与项目级) - Git 远程账号管理(支持 GitHub 及其它 Git 服务器) - Web 服务模式 — 开启后可在浏览器中访问 Codeg,支持远程工作 - **独立服务器部署** — 在任意 Linux/macOS 服务器上运行 `codeg-server`,通过浏览器访问 - **Docker 支持** — 使用 `docker compose up` 部署,零配置启动服务 - 集成工程闭环(文件树、Diff、Git 变更、提交、终端) ## 项目启动器 可视化创建新项目:左侧配置面板,右侧实时预览。   ### 功能特性 - **可视化配置** — 从下拉菜单中选择样式、颜色主题、图标库、字体、圆角等,预览面板即时更新 - **实时预览** — 在创建项目前,实时查看所选样式的渲染效果 - **一键创建** — 点击"创建项目",启动器将使用您的预设配置、框架模板(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 实时会话 目前支持 6 种代理:Claude Code、Codex CLI、Gemini CLI、OpenCode、OpenClaw 和 Cline。 ### 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 可以作为独立 Web 服务器运行,无需桌面环境。 #### 方式一:直接运行二进制 ```bash # 构建服务器二进制 cd src-tauri cargo build --release --bin codeg-server --no-default-features # 运行 CODEG_PORT=3080 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 静态导出目录 | #### 方式二:Docker ```bash # 构建并运行 docker compose up -d # 或手动构建 docker build -t codeg . docker run -p 3080:3080 -v codeg-data:/data codeg ``` ## 架构 ```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 模式 ## 隐私与安全 - 默认本地优先:解析、存储、项目操作均在本地完成 - 仅在用户主动触发时才访问网络 - 支持系统代理,适配企业网络环境 - Web 服务模式使用基于令牌的身份认证 ## 许可证 Apache-2.0,详见 `LICENSE`。