n8n-nodes-github-copilot
v3.38.26
Published
n8n community node for GitHub Copilot with CLI integration, Chat API access, and AI Chat Model for workflows with full tools and function calling support - access GPT-5, Claude, Gemini and more using your Copilot subscription
Maintainers
Readme
n8n-nodes-github-copilot
Este é um community node para n8n que integra o GitHub Copilot de duas formas: através do CLI tradicional e da nova API oficial do GitHub Copilot, permitindo acesso direto aos modelos avançados de IA como GPT-5, Claude Opus 4.1, Gemini 2.5 Pro e muito mais usando seus créditos existentes do Copilot.
🚀 Nodes Disponíveis
1. GitHub Copilot (CLI)
- Sugestões de Código: Gere código em múltiplas linguagens de programação
- Explicação de Código: Obtenha explicações detalhadas sobre funcionalidades de código
- Comandos Shell: Receba sugestões de comandos para Git, Docker, NPM e muito mais
- Múltiplas Linguagens: Suporte para JavaScript, TypeScript, Python, Ruby, Java, C#, Go, PHP, C++, Rust, SQL, HTML, CSS
2. GitHub Copilot Chat API (Novo! ⭐)
- 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
- Integração Dual: CLI tradicional + API oficial do GitHub Copilot
- Modelos Premium: Acesso a GPT-5, Claude, Gemini através de sua assinatura Copilot
📋 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. GitHub CLI Instalado
O node usa o GitHub CLI (gh) e a extensão Copilot:
Linux/Ubuntu:
# Instalar GitHub CLI
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update
sudo apt install gh
# Instalar extensão Copilot
gh extension install github/gh-copilot
# Autenticar
gh auth loginmacOS:
# Usando Homebrew
brew install gh
# Instalar extensão Copilot
gh extension install github/gh-copilot
# Autenticar
gh auth loginWindows:
# Usando Chocolatey
choco install gh
# Ou usando Scoop
scoop install gh
# Instalar extensão Copilot
gh extension install github/gh-copilot
# Autenticar
gh auth login3. Token de Acesso GitHub
Crie um Personal Access Token no GitHub com as seguintes permissões:
read:useruser:email- Acesso ao GitHub Copilot (incluído automaticamente se você tem assinatura)
🚀 Instalação
Opção 1: Via npm (Recomendado)
npm install n8n-nodes-github-copilotOpção 2: Via Interface do n8n
- Vá para Settings > Community Nodes
- Clique em Install a community node
- Digite:
n8n-nodes-github-copilot - Clique em Install
Opção 3: Instalação Manual
- 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 node1. 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 ResponsePayload 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 formatEstrutura 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: [email protected]
- 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
