# 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)

English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Español | Deutsch | Français | Português | العربية

Codeg(Code Generation)是一个企业级多 Agent 编码工作台。 它将本地 AI 编码代理(Claude Code、Codex CLI、OpenCode、Gemini CLI、 OpenClaw、Cline 等)统一到桌面应用、独立服务器或 Docker 容器中——通过浏览器即可远程开发——支持对话聚合、 并行 `git worktree` 开发、MCP/Skills 管理、消息渠道交互(Telegram、飞书等),以及集成的 Git/文件/终端工作流。 ## 主界面 ![Codeg Light](../images/main-light.png#gh-light-mode-only) ![Codeg Dark](../images/main-dark.png#gh-dark-mode-only) ## 设置 | 代理 | MCP | Skills | 版本控制 | Web 服务 | | :---: | :---: | :---: | :---: | :---: | | ![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` 并行开发流程 - **项目启动器** — 可视化创建新项目,实时预览效果 - **消息渠道** — 连接 Telegram、飞书等即时通讯应用到编码代理,实时接收通知并进行交互式命令操作 - MCP 管理(本地扫描 + 市场搜索/安装) - Skills 管理(全局与项目级) - Git 远程账号管理(支持 GitHub 及其它 Git 服务器) - Web 服务模式 — 开启后可在浏览器中访问 Codeg,支持远程工作 - **独立服务器部署** — 在任意 Linux/macOS 服务器上运行 `codeg-server`,通过浏览器访问 - **Docker 支持** — `docker compose up` 或 `docker run`,可自定义令牌、端口,支持数据持久化及项目目录挂载 - 集成工程闭环(文件树、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** 项目脚手架,选项卡式设计为未来支持更多项目类型做好了准备。 ## 消息渠道 连接你喜爱的即时通讯应用——Telegram、飞书等——到 AI 编码代理。当代理完成任务或遇到错误时接收实时通知,通过手机查询对话历史,获取自动化日报——无需离开聊天应用。 ### 支持的渠道 | 渠道 | 协议 | 状态 | | --- | --- | --- | | Telegram | Bot API(HTTP 长轮询) | 内置 | | 飞书 | WebSocket + REST API | 内置 | > 更多渠道(Discord、Slack、微信、钉钉等)计划在未来版本中支持。 ### 主要功能 - **事件通知** — 代理的回合完成和错误事件实时推送到所有已启用的渠道 - **交互式命令** — 从聊天应用发送命令(`/recent`、`/search`、`/detail`、`/today`、`/status`、`/help`)并获得即时响应;支持自定义命令前缀。对话相关命令(如启动、停止、审批)将在后续版本中支持 - **每日报告** — 在预设时间自动生成每日摘要,包括对话数量、代理类型分布和项目活跃度 - **多语言** — 消息模板支持 10 种语言(英语、简体中文/繁体中文、日语、韩语、西班牙语、德语、法语、葡萄牙语、阿拉伯语) - **安全凭据** — 令牌存储在操作系统密钥环中,不会暴露在配置文件或日志中 - **富文本消息** — Telegram 使用 Markdown 格式,飞书使用卡片布局;所有平台均支持纯文本回退 ### 设置 1. 在 **设置 → 消息渠道** 中创建渠道(选择 Telegram 或飞书) 2. 输入 Bot Token(Telegram)或应用凭据(飞书)——安全存储在操作系统密钥环中 3. 配置事件过滤器和可选的每日报告计划 4. 连接——当代理发出事件时,消息将开始流转 ## 支持范围 ### 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 服务器运行,无需桌面环境。 #### 方式一:一键安装(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.2 --dir ~/.local/bin ``` 然后运行: ```bash codeg-server ``` #### 方式二:一键安装(Windows PowerShell) ```powershell irm https://raw.githubusercontent.com/xintaofei/codeg/main/install.ps1 | iex ``` 或安装指定版本: ```powershell .\install.ps1 -Version v0.5.2 ``` #### 方式三:从 GitHub Releases 下载 预构建二进制文件(已打包 Web 前端资源)可在 [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 ``` #### 方式四:Docker ```bash # 使用 Docker Compose(推荐) docker compose up -d # 或直接使用 Docker 运行 docker run -d -p 3080:3080 -v codeg-data:/data ghcr.io/xintaofei/codeg:latest # 自定义令牌并挂载项目目录 docker run -d -p 3080:3080 \ -v codeg-data:/data \ -v /path/to/projects:/projects \ -e CODEG_TOKEN=your-secret-token \ ghcr.io/xintaofei/codeg:latest ``` Docker 镜像采用多阶段构建(Node.js + Rust → 精简 Debian 运行时),内置 `git` 和 `ssh` 以支持仓库操作。数据持久化存储在 `/data` 卷中。可选挂载项目目录以从容器内访问本地仓库。 #### 方式五:从源码构建 ```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 (conversation ingestion) |- Chat Channels |- Git / File Tree / Terminal |- MCP marketplace + config |- SeaORM + SQLite | ┌───────┼───────┐ v v v Local Filesystem Git Chat Channels / Git Repos Repos (Telegram, Lark) ``` ## 开发约束 - 前端使用静态导出(`output: "export"`) - 不使用 Next.js 动态路由(`[param]`),统一使用查询参数 - Tauri 命令参数:前端 `camelCase`,Rust `snake_case` - TypeScript strict 模式 ## 隐私与安全 - 默认本地优先:解析、存储、项目操作均在本地完成 - 仅在用户主动触发时才访问网络 - 支持系统代理,适配企业网络环境 - Web 服务模式使用基于令牌的身份认证 ## 许可证 Apache-2.0,详见 `LICENSE`。