Codeg 提供桌面应用、自托管服务和 Docker 部署形态,用于统一管理多种编码代理会话与协作流程。
主界面
多智能体协作
日常办公
核心亮点
- 会话聚合 — 将所有受支持智能体的会话导入到统一工作台
- 多智能体协作 — 在同一会话中,主智能体可调用不同类型的子智能体(如 Claude Code 调用 Codex、Gemini 等)协作完成任务,每个子智能体作为独立会话运行
- 内置
git worktree并行开发流程 - 项目启动器 — 可视化创建新项目,实时预览效果
- Office 文档 — 通过内置的 officecli 工具集创建、分析、校对和编辑.docx /.xlsx /.pptx 文件,支持在文件标签页内实时预览,随智能体编辑即时刷新
- 科学研究 — 内置科研技能(假设生成、实验设计、统计、可视化、批判性评估、文献检索),任意智能体均可调用,按智能体管理
- 自动化 — 将任意输入框配置保存为可复用的自动化任务,按 cron 计划或手动触发、无界面自动运行
- 消息渠道 — 连接 Telegram、飞书、iLink(微信)等即时通讯应用到编码代理,实时接收通知、完整会话交互、远程任务控制
- MCP 管理(本地扫描 + 市场搜索/安装)
- Skills 管理(全局与项目级)
- Git 远程账号管理(支持 GitHub 及其它 Git 服务器)
- Web 服务模式 — 开启后可在浏览器中访问 Codeg,支持远程工作
- 独立服务器部署 — 在任意 Linux/macOS 服务器上运行
codeg-server,通过浏览器访问 - Docker 支持 —
docker compose up或docker run,可自定义令牌、端口,支持数据持久化及项目目录挂载 - 运行时日志 — 内置实时日志查看器,支持筛选和按模块设置日志级别
- 集成工程闭环(文件树、Diff、Git 变更、提交、终端)
支持的Agent
| 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 |
| Hermes Agent | $HERMES_HOME/state.db | ~/.hermes/state.db | %USERPROFILE%\\.hermes\\state.db |
| CodeBuddy | $CODEBUDDY_CONFIG_DIR/projects | ~/.codebuddy/projects | %USERPROFILE%\\.codebuddy\\projects |
| Kimi Code | $KIMI_CODE_HOME/sessions | ~/.kimi-code/sessions | %USERPROFILE%\\.kimi-code\\sessions |
| Pi | $PI_CODING_AGENT_SESSION_DIR | ~/.pi/agent/sessions | %USERPROFILE%\\.pi\\agent\\sessions |
| Grok Build | $GROK_HOME/sessions | ~/.grok/sessions | %USERPROFILE%\\.grok\\sessions |
注意:环境变量的优先级高于默认路径。
项目启动器
可视化创建新项目:左侧配置面板,右侧实时预览。
功能特性
- 可视化配置 — 从下拉菜单中选择样式、颜色主题、图标库、字体、圆角等,预览面板即时更新
- 实时预览 — 在创建项目前,实时查看所选样式的渲染效果
- 一键创建 — 点击”创建项目”,启动器将使用您的预设配置、框架模板(Next.js / Vite / React Router / Astro / Laravel)和包管理器(pnpm / npm / yarn / bun)执行
shadcn init - 包管理器检测 — 自动检测已安装的包管理器并显示版本号
- 无缝集成 — 新创建的项目会立即在 Codeg 工作台中打开
目前支持 shadcn/ui 项目脚手架,选项卡式设计为未来支持更多项目类型做好了准备。
消息渠道
连接你喜爱的即时通讯应用——Telegram、飞书、iLink(微信)等——到 AI 编码代理。直接在聊天中创建任务、发送后续消息、审批权限、恢复会话、监控活动。实时接收代理响应(包含工具调用详情、权限提示和完成摘要),无需打开浏览器。
Telegram 论坛超级群也可以使用 Telegram topic mode ,将每个 topic 绑定到独立的 Codeg 会话。
支持的渠道
| 渠道 | 协议 | 状态 |
|---|---|---|
| Telegram | Bot API(HTTP 长轮询) | 内置 |
| 飞书 | WebSocket + REST API | 内置 |
| iLink(微信) | WebSocket + REST API | 内置 |
更多渠道(Discord、Slack、钉钉等)计划在未来版本中支持。
Office 文档
将 Word、Excel 和 PowerPoint 文件纳入一等工作流。内置的 officecli 工具集让你的智能体能够创建、分析、校对和编辑.docx、.xlsx、.pptx 文档——并可直接在 Codeg 内预览结果。
功能特性
- 创建与编辑 — 生成新文档或修改现有.docx /.xlsx /.pptx 文件,支持图表、表格和格式设置
- 分析与校对 — 检查文档结构、发现格式问题、校对内容
- 实时预览 — 在文件标签页中打开.docx /.xlsx /.pptx,即可内联渲染,随智能体编辑自动刷新——底层由常驻的
officecli watch服务支撑(在 Web 和独立服务器部署中经反向代理转发,按能力鉴权) - 快捷操作 — 欢迎页提供「编码」、「Office」和「科学研究」三个标签,一键将对应技能调用和提示词模板填入输入框;未对所选智能体启用的技能会显示锁定标记,并引导你前往可开启的位置
- Office 工具设置 — 专属设置页可安装
officecli并通过技能×智能体矩阵管理文档技能:切换任意(技能,智能体)组合,支持一键批量启停
科学研究
将任意智能体变为严谨的科研助手。Codeg 内置一套精选的、采用 MIT 许可证的 科研技能 ——从选题构思到分析再到论文撰写——它们会安装到共享的中央技能库,并按你的选择链接到相应智能体,与专家和 Office 工具集的方式完全一致。
功能特性
- 精选技能 — 假设生成、实验设计、统计功效、统计分析、探索性数据分析、科学可视化、批判性评估、同行评审、引文管理、学者评估、论文检索以及 AI 示意图
- 快捷操作 — 欢迎页的「科学研究」标签一键将对应的技能调用和本地化提示词模板填入输入框
- 科学研究设置 — 专属设置页通过技能×智能体矩阵管理这些技能,并以徽标标记需要 API 密钥或 Python 环境的技能
自动化
将任意输入框配置——智能体、模型、提示词、工作目录和选项——保存为可复用的 自动化 任务,无需打开 UI 即可运行。
功能特性
- 一次配置,随时复用 — 将完整的输入框配置保存为命名自动化任务
- 定时或按需触发 — 按 cron 计划运行,或随时手动触发
- 无界面执行 — 自动化任务在后台运行,创建真实会话,可随时在工作台中打开,启动后自动返回工作台
快速开始
环境要求
- Node.js
>=22(推荐) - pnpm
>=10 - Rust stable(2021 edition)
- Tauri 2 构建依赖(仅桌面模式)
Linux(Debian/Ubuntu)示例:
sudo apt-get update
sudo apt-get install -y \
libwebkit2gtk-4.1-dev \
libayatana-appindicator3-dev \
librsvg2-dev \
patchelf
二进制文件
Codeg 在单个 workspace 中提供三个 Rust 二进制文件:
| 二进制 | 角色 | 构建方式 |
|---|---|---|
codeg | Tauri 桌面应用(窗口、托盘、自动更新) | pnpm tauri build (发布)/ pnpm tauri dev (开发) |
codeg-server | 用于浏览器/无头部署的独立 HTTP + WebSocket 服务器 | pnpm server:build / pnpm server:dev |
codeg-mcp | 单次启动的 stdio MCP 协作进程,向 agent CLI 暴露 delegate_to_agent 工具(多智能体协作) | pnpm tauri:prepare-sidecars (由 tauri dev / tauri build 自动调用) |
codeg-mcp 在运行时必须与其父二进制位于同一目录——安装器、Docker 镜像和 Tauri sidecar 打包器都会把它放在 codeg / codeg-server 旁边。源码构建和自定义部署可以通过 CODEG_MCP_BIN=/abs/path/codeg-mcp 环境变量覆盖查找路径。如果协作进程缺失,委托功能会被跳过(仅记录一条警告日志),其余 agent 会话仍可正常工作。
开发命令
pnpm install
# 仅前端(Next.js 开发服务器,无需 Rust)
pnpm dev
# 前端静态导出到 out/
pnpm build
# 完整桌面应用(Tauri + Next.js,自动构建 codeg-mcp sidecar)
pnpm tauri dev
# 桌面发布构建(将 codeg-mcp 作为 externalBin 打包)
pnpm tauri build
# 独立服务器(无需 Tauri/GUI)
pnpm server:dev
pnpm server:build # 发布二进制位于 src-tauri/target/release/codeg-server
# 显式构建 codeg-mcp 协作进程(针对当前主机 triple)
pnpm tauri:prepare-sidecars # 输出:src-tauri/binaries/codeg-mcp-<triple>
# 当只调试前端且不需要委托功能时,跳过 sidecar 准备
CODEG_SKIP_SIDECAR=1 pnpm tauri dev
# Lint
pnpm eslint .
# 前端测试(vitest)
pnpm test
pnpm test:watch
pnpm test:coverage
# Rust 检查(在 src-tauri/ 下执行)
cargo check # 桌面(默认 features)
cargo check --no-default-features --bin codeg-server # 服务器模式
cargo check --no-default-features --bin codeg-mcp # MCP 协作进程
cargo clippy --all-targets --features test-utils -- -D warnings
# Rust 测试
cargo test --features test-utils # 桌面(含集成)
cargo test --no-default-features --bin codeg-server --lib # 服务器模式
cargo insta review # 接受解析器快照变更
提示:当你在
src-tauri/target/release/下有新构建的codeg-mcp并想让手动启动的codeg-server在不重新安装的情况下指向它时,可以导出CODEG_MCP_BIN=$(pwd)/src-tauri/target/release/codeg-mcp。
服务器部署
Codeg 可以作为独立 Web 服务器运行,无需桌面环境。
方式一:一键安装(Linux / macOS)
curl -fsSL https://raw.githubusercontent.com/xintaofei/codeg/main/install.sh | bash
安装指定版本或到自定义目录:
curl -fsSL https://raw.githubusercontent.com/xintaofei/codeg/main/install.sh | bash -s -- --version v0.5.2 --dir ~/.local/bin
然后运行:
codeg-server
方式二:一键安装(Windows PowerShell)
irm https://raw.githubusercontent.com/xintaofei/codeg/main/install.ps1 | iex
或安装指定版本:
.\install.ps1 -Version v0.5.2
方式三:从 GitHub Releases 下载
预构建二进制文件(已打包 Web 前端资源)可在 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 |
# 示例:下载、解压、运行
tar xzf codeg-server-linux-x64.tar.gz
cd codeg-server-linux-x64
CODEG_STATIC_DIR=./web ./codeg-server
对于无人值守的部署,请以
--supervise启动,这样在就地升级失败时会自动回滚——参见 就地更新 。
方式四:Docker
# 使用 Docker Compose(推荐)
docker compose up -d
# 或直接使用 Docker 运行
docker run -d -p 3080:3080 -v codeg-data:/data ghcr.io/xintaofei/codeg:latest
# 通过本地 .env 文件提供 CODEG_TOKEN,并挂载项目目录
docker run -d -p 3080:3080 \
-v codeg-data:/data \
-v /path/to/projects:/projects \
--env-file .env \
ghcr.io/xintaofei/codeg:latest
Docker 镜像采用多阶段构建(Node.js + Rust → 精简 Debian 运行时),内置 git 和 ssh 以支持仓库操作。数据持久化存储在 /data 卷中。可选挂载项目目录以从容器内访问本地仓库。
方式五:从源码构建
pnpm install && pnpm build # 构建前端
cd src-tauri
cargo build --release --bin codeg-server --no-default-features
cargo build --release --bin codeg-mcp --no-default-features # 委托协作进程
CODEG_STATIC_DIR=../out ./target/release/codeg-server # codeg-mcp 会作为同级二进制被自动发现
如果两个二进制分别存放在不同目录,请设置
CODEG_MCP_BIN=/abs/path/to/codeg-mcp,运行时才能找到协作进程;否则多智能体委托会被静默禁用。
就地更新
服务器可从 设置 → 软件更新 自行更新:它会下载对应平台的已签名发布包,替换磁盘上的二进制文件和 Web 前端资源,然后重启——无需手动重新部署。此功能仅支持 Linux/macOS(Windows 上已禁用)。上一版本会保留为备份,因此同一界面上还提供 回滚 操作以退回到该版本。
在监护进程下运行以启用自动回滚。 使用 --supervise 启动独立服务器,这样刚完成升级的进程若未能在试运行窗口内启动,便会自动还原到上一版本:
CODEG_STATIC_DIR=./web ./codeg-server --supervise
若不加 --supervise ,服务器仍会就地更新(它会对自身执行 re-exec),但升级只是尽力而为:没有监护进程来自动回滚无法启动的版本。Docker 镜像已在监护进程下运行。
Docker 升级改变的是容器,而非镜像。 就地升级会重写正在运行的容器可写层内的二进制文件和 Web 前端资源,因此它们只存在于该容器中。 /data 卷会持久保存,但升级后的文件 不会 保留:重建容器—— docker compose up --force-recreate 、全新的 docker run ,或在 docker pull 之后重建——都会重新从镜像启动,并丢弃就地升级。(单独执行 docker pull 只会刷新本地镜像;在重建容器之前不会有任何回退。)要让升级永久生效,请构建或拉取新版本的镜像,并基于它重建容器。
配置
环境变量:
| 变量 | 默认值 | 说明 |
|---|---|---|
CODEG_PORT | 3080 | HTTP 端口 |
CODEG_HOST | 0.0.0.0 | 绑定地址 |
CODEG_TOKEN | (随机) | 认证令牌(启动时输出到 stderr) |
CODEG_DATA_DIR | ~/.local/share/codeg | SQLite 数据库目录(同时也是 uploads/ 、 pets/ 的根目录) |
CODEG_STATIC_DIR | ./web 或 ./out | Next.js 静态导出目录 |
CODEG_MCP_BIN | (未设置) | codeg-mcp 协作进程的绝对路径。会覆盖默认的”可执行文件同级目录 + PATH “查找逻辑。用于源码构建或协作进程不在服务端安装目录内的自定义部署。 |
CODEG_SKIP_SIDECAR | (未设置) | 仅供 pnpm tauri dev / pnpm tauri build 调试前端时使用——当值为 1 时,跳过 codeg-mcp sidecar 的构建。此类构建不支持委托功能;发布质量的产物必须保持此变量未设置。 |
CODEG_UPLOAD_MAX_TOTAL_BYTES | (未设置) | <data dir>/uploads/ 下所有文件总字节数的硬上限。十进制字节数(例如 10737418240 表示 10 GiB)。未设置、 0 或无法解析的值会禁用上限,并在启动时打印一行日志以便观察当前状态。该上限仅在单个 codeg-server 进程内生效——共享一个 uploads/ 卷的横向扩展部署需要外部协调(文件锁、Redis、反向代理配额)。 |
CODEG_UPLOAD_QUOTA_STRICT | (未设置) | 当值为真( 1 / true / yes / on )时,若 CODEG_UPLOAD_MAX_TOTAL_BYTES 设置为无法解析的值,则以退出码 2 中止启动,而不是发出 WARN 后继续运行。当安全策略要求”配置的配额必须生效”时使用此选项。 |
架构
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
|- Office Tools (officecli) + Automations
|- SeaORM + SQLite
|
┌───────┼───────┐
v v v
Local Filesystem Git Chat Channels
/ Git Repos Repos (Telegram, Lark, iLink)
隐私与安全
- 默认本地优先:解析、存储、项目操作均在本地完成
- 仅在用户主动触发时才访问网络
- 支持系统代理,适配企业网络环境
- Web 服务模式使用基于令牌的身份认证
交流
- 扫描下方二维码加入我们的微信群,参与讨论、反馈与更新
- 感谢 LinuxDO 社区的支持
鸣谢
- ACP :智能体客户端协议 (ACP) 是 codeg 实现多智能体连接的基础
- Superpowers :为 Codeg 的专家技能模块提供支持
- OfficeCLI :为 Codeg 的 Office 文档工作流提供支持
- scientific-agent-skills :为 Codeg 的科学研究技能提供支持(MIT 许可的子集)
许可证
Apache-2.0,详见 LICENSE 。







