14 KiB
Codeg
English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Español | Deutsch | Français | Português | العربية
Codeg (Code Generation) é um workspace de codificação multi-agentes de nível empresarial.
Ele unifica agentes de codificação IA locais (Claude Code, Codex CLI, OpenCode, Gemini CLI,
OpenClaw, Cline, etc.) em um aplicativo desktop, servidor standalone ou contêiner
Docker — possibilitando o desenvolvimento remoto a partir de qualquer navegador — com agregação de conversas, desenvolvimento
paralelo via git worktree, gerenciamento de MCP/Skills, interação com canais de chat (Telegram, Lark, iLink, etc.)
e fluxos integrados de Git/arquivos/terminal.
Interface principal
Configurações
| Agentes | MCP | Skills | Controle de versão | Serviço web |
|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
Destaques
- Workspace multi-agentes unificado no mesmo projeto
- Ingestão local de conversas com renderização estruturada
- Desenvolvimento paralelo com fluxos
git worktreeintegrados - Inicializador de Projeto — crie novos projetos visualmente com pré-visualização em tempo real
- Canais de Chat — conecte Telegram, Lark (Feishu), iLink (Weixin) e mais aos seus agentes de codificação para interação completa de sessão e controle remoto de tarefas
- Gerenciamento de MCP (varredura local + busca/instalação no registro)
- Gerenciamento de Skills (escopo global e por projeto)
- Gerenciamento de contas remotas Git (GitHub e outros servidores Git)
- Modo de serviço web — acesse o Codeg de qualquer navegador para trabalho remoto
- Implantação de servidor standalone — execute
codeg-serverem qualquer servidor Linux/macOS, acesse via navegador - Suporte a Docker —
docker compose upoudocker run, com token/porta personalizáveis, persistência de dados e montagem de diretórios de projetos - Ciclo de engenharia integrado (árvore de arquivos, diff, alterações git, commit, terminal)
Inicializador de Projeto
Crie novos projetos visualmente com uma interface de painel dividido: configure à esquerda, pré-visualize em tempo real à direita.
O que oferece
- Configuração visual — selecione estilo, tema de cores, biblioteca de ícones, fonte, raio de borda e mais nos menus suspensos; o iframe de pré-visualização atualiza instantaneamente
- Pré-visualização ao vivo — veja o visual escolhido renderizado em tempo real antes de criar qualquer coisa
- Criação com um clique — clique em "Criar Projeto" e o launcher executa
shadcn initcom seu preset, template de framework (Next.js / Vite / React Router / Astro / Laravel) e gerenciador de pacotes (pnpm / npm / yarn / bun) - Detecção de gerenciadores de pacotes — verifica automaticamente quais gerenciadores estão instalados e exibe suas versões
- Integração perfeita — o projeto recém-criado abre diretamente no workspace do Codeg
Atualmente suporta scaffolding de projetos shadcn/ui, com um design baseado em abas preparado para mais tipos de projetos no futuro.
Canais de Chat
Conecte seus aplicativos de mensagens favoritos — Telegram, Lark (Feishu), iLink (Weixin) e mais — aos seus agentes de codificação IA. Crie tarefas, envie mensagens de acompanhamento, aprove permissões, retome sessões e monitore a atividade diretamente do chat — recebendo respostas do agente em tempo real com detalhes de chamadas de ferramentas, prompts de permissão e resumos de conclusão, tudo sem abrir o navegador.
Canais suportados
| Canal | Protocolo | Status |
|---|---|---|
| Telegram | Bot API (HTTP long-polling) | Integrado |
| Lark (Feishu) | WebSocket + REST API | Integrado |
| iLink (Weixin) | WebSocket + REST API | Integrado |
Mais canais (Discord, Slack, DingTalk, etc.) estão planejados para versões futuras.
Recursos principais
- Interação de sessão — execute sessões completas de agente:
/folderpara selecionar o projeto,/agentpara escolher o agente,/task <descrição>para iniciar uma tarefa, envie mensagens de acompanhamento como texto simples./resumepara continuar uma sessão anterior,/cancelpara cancelar,/sessionspara listar sessões ativas - Controle de permissões — os agentes solicitam permissões de execução de ferramentas diretamente no chat;
/approve(ou/approve alwayspara aprovação automática) e/deny - Notificações de eventos — conclusões de turno, chamadas de ferramentas e erros dos agentes são enviados em tempo real com formatação rica
- Comandos de consulta —
/search <palavra-chave>,/today,/status,/helppara consultas rápidas; prefixo de comando configurável - Relatórios diários — resumo diário automatizado em um horário programado, incluindo contagem de conversas, divisão por tipo de agente e atividade do projeto
- Multi-idioma — templates de mensagens em 10 idiomas (inglês, chinês simplificado/tradicional, japonês, coreano, espanhol, alemão, francês, português, árabe)
- Credenciais seguras — tokens armazenados no chaveiro do SO, nunca expostos em arquivos de configuração ou logs
- Mensagens ricas — formatação Markdown para Telegram, layout baseado em cartões para Lark; fallback em texto simples para todas as plataformas
Configuração
- Crie um canal em Configurações → Canais de Chat (escolha Telegram, Lark ou iLink)
- Insira seu token de bot (Telegram), credenciais do app (Lark) ou escaneie o código QR para fazer login (iLink) — armazenados com segurança no chaveiro do SO
- Configure filtros de eventos e programação opcional do relatório diário
- Conecte — as mensagens começam a fluir assim que os agentes emitem eventos
Agentes suportados
| Agente | Caminho por variável de ambiente | Padrão macOS / Linux | Padrão 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 |
Nota: as variáveis de ambiente têm prioridade sobre os caminhos padrão.
Início rápido
Requisitos
- Node.js
>=22(recomendado) - pnpm
>=10 - Rust stable (2021 edition)
- Dependências de build do Tauri 2 (somente modo desktop)
Exemplo Linux (Debian/Ubuntu):
sudo apt-get update
sudo apt-get install -y \
libwebkit2gtk-4.1-dev \
libayatana-appindicator3-dev \
librsvg2-dev \
patchelf
Desenvolvimento
pnpm install
# Exportação estática do frontend para out/
pnpm build
# Aplicativo desktop completo (Tauri + Next.js)
pnpm tauri dev
# Apenas frontend
pnpm dev
# Build do aplicativo desktop
pnpm tauri build
# Servidor standalone (sem Tauri/GUI necessário)
pnpm server:dev
# Build do binário do servidor
pnpm server:build
# Lint
pnpm eslint .
# Verificações Rust (executar em src-tauri/)
cargo check
cargo clippy
cargo build
Implantação do servidor
O Codeg pode ser executado como um servidor web standalone sem ambiente desktop.
Opção 1: Instalação em uma linha (Linux / macOS)
curl -fsSL https://raw.githubusercontent.com/xintaofei/codeg/main/install.sh | bash
Instalar uma versão específica ou em um diretório personalizado:
curl -fsSL https://raw.githubusercontent.com/xintaofei/codeg/main/install.sh | bash -s -- --version v0.5.2 --dir ~/.local/bin
Em seguida, executar:
codeg-server
Opção 2: Instalação em uma linha (Windows PowerShell)
irm https://raw.githubusercontent.com/xintaofei/codeg/main/install.ps1 | iex
Ou instalar uma versão específica:
.\install.ps1 -Version v0.5.2
Opção 3: Baixar do GitHub Releases
Binários pré-compilados (com recursos web incluídos) estão disponíveis na página de Releases:
| Plataforma | Arquivo |
|---|---|
| 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 |
# Exemplo: baixar, extrair e executar
tar xzf codeg-server-linux-x64.tar.gz
cd codeg-server-linux-x64
CODEG_STATIC_DIR=./web ./codeg-server
Opção 4: Docker
# Usando Docker Compose (recomendado)
docker compose up -d
# Ou executar diretamente com Docker
docker run -d -p 3080:3080 -v codeg-data:/data ghcr.io/xintaofei/codeg:latest
# Com token personalizado e diretório de projeto montado
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
A imagem Docker usa um build multi-stage (Node.js + Rust → runtime Debian slim) e inclui git e ssh para operações com repositórios. Os dados são persistidos no volume /data. Opcionalmente, você pode montar diretórios de projetos para acessar repositórios locais de dentro do contêiner.
Opção 5: Compilar a partir do código-fonte
pnpm install && pnpm build # compilar frontend
cd src-tauri
cargo build --release --bin codeg-server --no-default-features
CODEG_STATIC_DIR=../out ./target/release/codeg-server
Configuração
Variáveis de ambiente:
| Variável | Padrão | Descrição |
|---|---|---|
CODEG_PORT |
3080 |
Porta HTTP |
CODEG_HOST |
0.0.0.0 |
Endereço de bind |
CODEG_TOKEN |
(aleatório) | Token de autenticação (impresso no stderr ao iniciar) |
CODEG_DATA_DIR |
~/.local/share/codeg |
Diretório do banco de dados SQLite |
CODEG_STATIC_DIR |
./web ou ./out |
Diretório de exportação estática do Next.js |
Arquitetura
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, iLink)
Restrições
- O frontend usa exportação estática (
output: "export") - Sem rotas dinâmicas do Next.js (
[param]); use parâmetros de consulta em vez disso - Parâmetros de comandos Tauri:
camelCaseno frontend,snake_caseno Rust - TypeScript em modo strict
Privacidade e segurança
- Local-first por padrão para análise, armazenamento e operações do projeto
- O acesso à rede ocorre apenas em ações iniciadas pelo usuário
- Suporte a proxy do sistema para ambientes corporativos
- O modo de serviço web usa autenticação baseada em token
Licença
Apache-2.0. Veja LICENSE.













