Files
codeg/docs/readme/README.pt.md
2026-04-01 18:55:44 +08:00

13 KiB

Codeg

Release License Tauri Next.js Docker

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, etc.) e fluxos integrados de Git/arquivos/terminal.

Interface principal

Codeg Light Codeg Dark

Configurações

Agentes MCP Skills Controle de versão Serviço web
Agents Agents MCP MCP Skills Skills Version Control Version Control Web Service Web Service

Destaques

  • Workspace multi-agentes unificado no mesmo projeto
  • Ingestão local de conversas com renderização estruturada
  • Desenvolvimento paralelo com fluxos git worktree integrados
  • Inicializador de Projeto — crie novos projetos visualmente com pré-visualização em tempo real
  • Canais de Chat — conecte Telegram, Lark (Feishu) 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-server em qualquer servidor Linux/macOS, acesse via navegador
  • Suporte a Dockerdocker compose up ou docker 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.

Project Boot Light Project Boot Dark

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 init com 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) 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

Mais canais (Discord, Slack, WeChat, DingTalk, etc.) estão planejados para versões futuras.

Recursos principais

  • Interação de sessão — execute sessões completas de agente: /folder para selecionar o projeto, /agent para escolher o agente, /task <descrição> para iniciar uma tarefa, envie mensagens de acompanhamento como texto simples. /resume para continuar uma sessão anterior, /cancel para cancelar, /sessions para listar sessões ativas
  • Controle de permissões — os agentes solicitam permissões de execução de ferramentas diretamente no chat; /approve (ou /approve always para 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, /help para 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

  1. Crie um canal em Configurações → Canais de Chat (escolha Telegram ou Lark)
  2. Insira seu token de bot (Telegram) ou credenciais do app (Lark) — armazenados com segurança no chaveiro do SO
  3. Configure filtros de eventos e programação opcional do relatório diário
  4. 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)

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: camelCase no frontend, snake_case no 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.