Package Information
Available Nodes
Documentation
n8n-nodes-github-copilot
Este é um community node para n8n que integra o GitHub Copilot através do novo GitHub Copilot CLI em modo programático e da API oficial do GitHub Copilot, permitindo acesso direto aos modelos avançados de IA como GPT-5, Claude Sonnet 4.5, Gemini 2.5 Pro e muito mais usando seus créditos existentes do Copilot.
🚀 Nodes Disponíveis
1. GitHub Copilot CLI (Novo! ⭐ Modo Programático)
- Modo Programático: Execute qualquer tarefa ou consulta do Copilot diretamente via
copilot -p "prompt" - Agentic Capabilities: Copilot pode planejar e executar tarefas complexas automaticamente
- Tool Approval: Controle fino sobre quais ferramentas o Copilot pode usar (shell, write, MCP servers)
- Múltiplos Modelos: Claude Sonnet 4.5 (padrão), Claude Sonnet 4, GPT-5
- Integração GitHub: Trabalhe com repositórios, issues, PRs diretamente da CLI
- MCP Support: Suporte nativo para Model Context Protocol servers
2. GitHub Copilot Chat API
- Chat Completion: Conversas diretas com modelos avançados de IA
- Análise de Imagens: Processamento de imagens com modelos de visão
- Modelos Disponíveis: GPT-5, GPT-5 Mini, Claude Opus 4.1, Gemini 2.5 Pro, Grok Code Fast 1, GPT-4.1 Copilot
- Sem Custos Extras: Usa seus créditos existentes do GitHub Copilot
🎯 Funcionalidades
- Novo Copilot CLI: Agente conversacional com modo programático
- API oficial: Acesso direto aos modelos via API
- Modelos Premium: GPT-5, Claude Sonnet 4.5, Gemini através de sua assinatura
📋 Pré-requisitos
1. Assinatura do GitHub Copilot
Você precisa ter uma assinatura ativa do GitHub Copilot:
- GitHub Copilot Individual: $10/mês
- GitHub Copilot Business: $19/usuário/mês
- GitHub Copilot Enterprise: $39/usuário/mês
2. Novo GitHub Copilot CLI
O node agora usa o novo GitHub Copilot CLI standalone (não mais a extensão gh copilot que foi depreciada):
Linux/Ubuntu:
# Via install script
curl -fsSL https://gh.io/copilot-install | bash
# Ou via npm
npm install -g @github/copilot
# Autenticar (primeira vez)
copilot
# Use o comando /login quando solicitado
macOS:
# Usando Homebrew
brew install copilot-cli
# Ou via npm
npm install -g @github/copilot
# Autenticar
copilot
Windows:
# Usando npm
npm install -g @github/copilot
# Ou via WinGet
winget install GitHub.Copilot
# Autenticar
copilot
⚠️ IMPORTANTE: O antigo gh copilot (extensão do GitHub CLI) foi depreciado. Este node agora usa o novo copilot CLI standalone.
- Clone este repositório
- Execute
npm run build - Copie a pasta
distpara o diretório de nodes do n8n
⚙️ Configuração
🔐 IMPORTANTE: Autenticação
GitHub Copilot CLI tem requisitos específicos de autenticação:
✅ O que FUNCIONA:
- Autenticação Local:
gh auth login(recomendado para servidores) - Tokens do GitHub CLI: Gerados por
gh auth tokenapós fazer login
❌ O que NÃO FUNCIONA:
- Personal Access Tokens criados no site do GitHub
- OAuth App Tokens de aplicações externas
- GitHub App Tokens de aplicações personalizadas
🛠️ Configuração Recomendada:
Opção 1: Autenticação Local (Servidores)
# No servidor onde roda o n8n
gh auth login
gh extension install github/gh-copilot
# Testar se funciona
gh copilot explain "ls -la"
Opção 2: Token Manual (Para workflows específicos)
# Primeiro faça login local
gh auth login
# Depois obtenha o token
gh auth token
# Resultado: gho_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# Use este token no campo "GitHub Token (Optional)" do node
1. Adicionar o Node
- Crie um novo workflow
- Procure por GitHub Copilot na lista de nodes
- Arraste para o canvas
- Deixe o campo token vazio (se o servidor tem
gh auth login) - OU insira um token gerado por
gh auth token
2. Configuração para GitHub Copilot Chat API
Para usar o GitHub Copilot Chat API (com modelos GPT-5, Claude, etc.):
Opção A: OAuth2 Automático (Recomendado) ✅
- Use a nova credencial: Selecione "GitHub Copilot OAuth2 API"
- Clique em "Connect": Use o botão OAuth2 para autenticação automática
- Configure GitHub OAuth App:
- Vá para GitHub → Settings → Developer settings → OAuth Apps
- Clique em "New OAuth App"
- Authorization callback URL:
https://your-n8n-instance.com/rest/oauth2-credential/callback - Copie Client ID e Client Secret para a credencial N8N
- Vantagens: Botão de autenticação, renovação automática de tokens, interface padrão N8N
Opção B: OAuth2 Manual (Compatibilidade)
- Use autenticação OAuth2: Selecione "GitHub OAuth2 API" (credencial padrão do n8n)
- Configure a credencial OAuth2:
- Client ID: Seu GitHub OAuth App Client ID
- Client Secret: Seu GitHub OAuth App Client Secret
- Scope:
copilot read:org repo user
- Crie uma GitHub OAuth App:
- Vá para GitHub → Settings → Developer settings → OAuth Apps
- Clique em "New OAuth App" e configure callback URL do n8n
- Vantagens: Autenticação segura, renovação automática de tokens, acesso organizacional
🎮 Como Usar
Operações Disponíveis
1. Suggest Code (Sugerir Código)
Gera sugestões de código em linguagens específicas.
Parâmetros:
- Prompt: Descreva o que você quer criar
- Language: Selecione a linguagem de programação
- Additional Context: Contexto adicional (opcional)
Exemplo:
Prompt: "create a function to validate email addresses"
Language: "JavaScript"
2. Explain Code (Explicar Código)
Explica funcionalidades de código existente.
Parâmetros:
- Prompt: Cole o código que quer explicar
- Additional Context: Contexto adicional (opcional)
Exemplo:
Prompt: "function validateEmail(email) { return /\S+@\S+\.\S+/.test(email); }"
3. Shell Command (Comando Shell)
Sugere comandos shell para tarefas específicas.
Parâmetros:
- Prompt: Descreva a tarefa que quer executar
- Command Type: Tipo de comando (Git, Docker, NPM, etc.)
- Additional Context: Contexto adicional (opcional)
Exemplo:
Prompt: "commit all changes with message"
Command Type: "Git Command"
Dados de Saída
O node retorna um objeto JSON com:
{
"operation": "suggest",
"prompt": "create a REST API endpoint",
"language": "javascript",
"suggestion": "// Código sugerido pelo Copilot",
"rawOutput": "Saída completa do CLI",
"timestamp": "2024-01-15T10:30:00.000Z"
}
🔧 Exemplo de Workflow
Gerador de Código Automático
Webhook (POST) → GitHub Copilot (Suggest) → HTTP Response
Payload do Webhook:
{
"prompt": "create a login function",
"language": "python",
"context": "using Flask framework"
}
Bot de Ajuda para Comandos
Telegram Bot → GitHub Copilot (Shell) → Telegram Bot (Reply)
🐳 Docker
Dockerfile para n8n com GitHub Copilot
FROM n8nio/n8n:latest
USER root
# Instalar GitHub CLI
RUN apt-get update && apt-get install -y curl gnupg
RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
RUN echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | tee /etc/apt/sources.list.d/github-cli.list > /dev/null
RUN apt-get update && apt-get install -y gh
# Instalar o community node
RUN npm install -g n8n-nodes-github-copilot
USER node
# Definir variáveis de ambiente
ENV GITHUB_TOKEN=""
ENV N8N_COMMUNITY_PACKAGES="n8n-nodes-github-copilot"
docker-compose.yml
version: '3.8'
services:
n8n:
build: .
ports:
- "5678:5678"
environment:
- GITHUB_TOKEN=${GITHUB_TOKEN}
- N8N_COMMUNITY_PACKAGES=n8n-nodes-github-copilot
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:
🔒 Segurança
- Dados Sensíveis: Evite enviar informações confidenciais nos prompts
- Rate Limiting: O GitHub Copilot tem limites de uso - monitore seu consumo
- Tokens: Mantenha seus tokens seguros e com permissões mínimas necessárias
- Logs: O node registra atividades para auditoria
🚨 Limitações
- Requer Assinatura: Necessário ter GitHub Copilot ativo
- Dependência CLI: Requer GitHub CLI instalado no sistema
- Rate Limits: Sujeito aos limites de uso do GitHub Copilot
- Contexto: Limitado pelo contexto que o Copilot CLI suporta
🛠️ Desenvolvimento
Construir do Código Fonte
# Clonar repositório
git clone https://github.com/sufficit/n8n-nodes-github-copilot.git
cd n8n-nodes-github-copilot
# Instalar dependências
npm install
# Construir
npm run build
# Lint
npm run lint
# Formatar código
npm run format
Estrutura do Projeto
├── nodes/
│ ├── GitHubCopilot/
│ │ ├── GitHubCopilot.node.ts
│ │ └── githubcopilot.svg
│ ├── GitHubCopilotChatAPI/
│ │ └── GitHubCopilotChatAPI.node.ts
│ └── GitHubCopilotChatModel/
│ └── GitHubCopilotChatModel.node.ts
├── shared/
│ └── models/
│ └── GitHubCopilotModels.ts
├── package.json
├── tsconfig.json
├── gulpfile.js
└── README.md
📄 Licença
MIT License - veja LICENSE para detalhes.
🤝 Contribuindo
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
📞 Suporte
- Email: development@sufficit.com.br
- Issues: GitHub Issues
- Documentação: n8n Community Nodes
🙏 Agradecimentos
- n8n.io - Plataforma de automação incrível
- GitHub Copilot - IA que torna este node possível
- GitHub CLI - Interface de linha de comando essencial
Feito com ❤️ pela equipe Sufficit