JSPM

  • Created
  • Published
  • Downloads 467
  • Score
    100M100P100Q132757F
  • License MIT

n8n community node for GitHub Copilot with CLI integration, Chat API access, and AI Chat Model for workflows - access GPT-5, Claude, Gemini and more using your Copilot subscription

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (n8n-nodes-github-copilot) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    n8n-nodes-github-copilot

    GitHub Copilot n8n License

    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
    • Transcrição de Áudio: Conversão de áudio para texto (planejado)
    • 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 login

    macOS:

    # Usando Homebrew
    brew install gh
    
    # Instalar extensão Copilot
    gh extension install github/gh-copilot
    
    # Autenticar
    gh auth login

    Windows:

    # Usando Chocolatey
    choco install gh
    
    # Ou usando Scoop
    scoop install gh
    
    # Instalar extensão Copilot
    gh extension install github/gh-copilot
    
    # Autenticar
    gh auth login

    3. Token de Acesso GitHub

    Crie um Personal Access Token no GitHub com as seguintes permissões:

    • read:user
    • user: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-copilot

    Opção 2: Via Interface do n8n

    1. Vá para Settings > Community Nodes
    2. Clique em Install a community node
    3. Digite: n8n-nodes-github-copilot
    4. Clique em Install

    Opção 3: Instalação Manual

    1. Clone este repositório
    2. Execute npm run build
    3. Copie a pasta dist para 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 token apó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

    1. Crie um novo workflow
    2. Procure por GitHub Copilot na lista de nodes
    3. Arraste para o canvas
    4. Deixe o campo token vazio (se o servidor tem gh auth login)
    5. 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) ✅

    1. Use a nova credencial: Selecione "GitHub Copilot OAuth2 API"
    2. Clique em "Connect": Use o botão OAuth2 para autenticação automática
    3. 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
    4. Vantagens: Botão de autenticação, renovação automática de tokens, interface padrão N8N

    Opção B: OAuth2 Manual (Compatibilidade)

    1. Use autenticação OAuth2: Selecione "GitHub OAuth2 API" (credencial padrão do n8n)
    2. 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
    3. Crie uma GitHub OAuth App:
      • Vá para GitHub → Settings → Developer settings → OAuth Apps
      • Clique em "New OAuth App" e configure callback URL do n8n
    4. 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

    1. Fork o projeto
    2. Crie uma branch para sua feature (git checkout -b feature/AmazingFeature)
    3. Commit suas mudanças (git commit -m 'Add some AmazingFeature')
    4. Push para a branch (git push origin feature/AmazingFeature)
    5. Abra um Pull Request

    📞 Suporte

    🙏 Agradecimentos


    Feito com ❤️ pela equipe Sufficit