Skip to content
| Marketplace
Sign in
Visual Studio Code>AI>Copilot DelegateNew to Visual Studio Code? Get it now.
Copilot Delegate

Copilot Delegate

Allan Santos

|
1 install
| (0) | Free
Delega tarefas para o Copilot CLI via SDK — cria sessões isoladas, monitora progresso e gerencia worktrees.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

🐙 Copilot Delegate

Version Tests Test Files VS Code License

🐙 Delegação inteligente de tarefas para sessões CLI isoladas — com worktree isolation, pipelines, auto-merge, discovery autônomo e octopus branding temático.


📋 Índice

  • Features
  • Quick Start
  • Agent & Skill Bundled
  • 29 Tools
  • Discovery Pipeline
  • Sidebar (5 seções)
  • Modos de Operação
  • Comandos
  • Configuração
  • Uso — Exemplos
  • Diferenciais
  • Tech Stack
  • Estrutura do Projeto
  • Testes
  • Roadmap
  • Contribuindo
  • Licença

🚀 Features

Feature Descrição
29 Tools LanguageModelTools registradas — visíveis e utilizáveis no modo agent do Copilot
Agent Octopus Agente orchestrator bundled que delega tarefas, nunca implementa diretamente
Skill Octopus Skill bundled que ensina 9 patterns de delegação e anti-patterns
Discovery Pipeline 6 steps paralelos para onboarding em projetos — gera docs/discovery/project-context.md
Pipeline Management Encadeie 2–10 sessões sequenciais com output propagado entre steps
Worktree Isolation Cada sessão roda em git worktree isolado — execução paralela sem conflitos
Auto-Merge Merge automático em modo autônomo com validação de testes obrigatória
Auto-Cleanup Sessões auto-limpas após merge — verifica pendências, commit, remove worktree/branch (configurável)
Advisory File Lock Locks por arquivo impedem que sessões concorrentes editem os mesmos arquivos
Session Control Pause, resume, stop (graceful/force), switch model, set mode — tudo mid-flight
Chat WebviewPanel Painel interativo por sessão com histórico e envio de follow-ups em tempo real
Octopus Branding Sidebar com nomes 🐙 (Tentacles, Nerve Center, Ink Jets, Camouflage, Sonar), notificações temáticas e fun facts
Status Bar 🐙 N tentacle(s) quando ativo, 🐙 Resting quando idle, tooltip com fun fact aleatório
Session History Persistência das últimas 50 sessões concluídas via globalState — sobrevive a restarts do VS Code
Session Duration completedAt + elapsed time tracking — sidebar mostra duração real (running • 2m30s)
totalEvents Contador preciso de eventos por sessão — incrementa além do buffer circular
Quick Actions em massa 🛑 Stop All, 🧹 Cleanup All, 📋 List Summary — operações em lote na sidebar
Export Session Log Exporta log completo da sessão como timeline em nova aba do editor
Copy Result Copia lastAssistantMessage para clipboard com inline action na sidebar
Tooltip Preview Hover na sidebar mostra Markdown rico: alias, status, modelo, eventos e última mensagem
Welcome View Arte 🐙 quando sem sessões ativas — "No tentacles active" com botão de nova delegação
Themed Notifications Metáforas octopus: "Tentacle spawned", "Tentacle retracted", "Ink absorbed", "Ink spill!"
Safety Hardening Try/catch em callbacks, lock release on failure, settle timer race fix, worktree cleanup on error
Orphan Worktree Cleanup Limpeza automática de worktrees órfãos no startup (scan de tmpdir, timeout 5s)
Callback Automático Resultado injetado no chat (modo Autônomo) ou pre-fill (modo Copilot)
Fun Aliases Aliases satíricos gerados automaticamente para pipelines e discovery
🦑 Auto-Retry Regeneração automática de sessões falhadas com backoff exponencial — até 2 tentativas configuráveis
💓 Health Monitor Monitoramento ativo de saúde com heartbeat a cada 30s — detecta sessões travadas (2min inativas)
🖤 Ink Cloud Parada de emergência: para TODAS as sessões ativas + snapshot automático em ~/.copilot/session-state/emergency-snapshots/
🔮 Conflict Radar Detecção proativa de conflitos quando múltiplas sessões editam o mesmo arquivo simultaneamente
🦎 Camouflage Profiles 4 profiles pré-configurados (Stealth, Observe, Alert, Strike) que mudam comportamento do sistema inteiro com um comando
🏠 Session Templates 5 templates pré-configurados (Bug Fix, Feature, Refactor, Test Coverage, Documentation) para delegações rápidas
🎨 Live Progress Indicadores coloridos de fase na sidebar (blue → starting, green → active, yellow → unresponsive, purple → completing)
Merge Hardening Verificação post-merge de commit criado, validação de git root, sanitização de branch names, logging completo de merge
🧠 Session Learning Aprendizado de padrões entre sessões, extrai lições para futuras delegações
🦑 Tentacle Coordination Comunicação inter-sessões via SignalBus (clone, broadcast, receive)
📦 Artifact Catalog Catálogo de artefatos gerados, persistido via globalState com sidebar provider
🐙 Session Cloning Duplicação de sessões ativas com contexto preservado
799+ Testes Cobertura ampla em 25+ arquivos de teste via Vitest

⚡ Quick Start

Pré-requisitos

  • VS Code 1.110+
  • Node.js 20+
  • Git (para worktree isolation)
  • Copilot CLI SDK: npm install -g @github/copilot

Instalação

  1. Baixe o copilot-delegate-0.1.0.vsix da página de releases
  2. Ctrl+Shift+P → "Extensions: Install from VSIX..."
  3. Selecione o .vsix e recarregue a janela

Primeira delegação

@workspace #delegate_task
Crie testes unitários para o módulo de autenticação em src/auth.ts

🐙 Agent & Skill Bundled

Agent Octopus

Agente de orquestração incluído na extensão (via chatAgents no package.json). "Orchestrador de Orchestradores" — ele nunca implementa diretamente, coordena trabalho exclusivamente via delegação usando tools copilot-delegate_*.

Princípios:

  1. Delegar, não fazer — investiga com researcher, implementa com implementor
  2. Worktrees isolados — sempre isolateWorktree: true para mudanças de código
  3. Pipeline para multi-step — research → implement → test via delegate_pipeline
  4. Fire-and-forget — delega e segue; callback automático traz resultado
  5. Cleanup obrigatório — sempre limpa sessões concluídas

Skill Octopus

Skill de delegação incluída na extensão (via chatSkills no package.json). Ensina o Copilot a usar os 29 tools com 9 patterns recomendados:

# Pattern Quando usar
1 Fire-and-Forget Tarefas independentes — delega e segue
2 Pipeline Sequencial Research → implement → test em cadeia
3 Discovery → Implementation Projeto desconhecido — discover primeiro, implemente depois
4 Delegação Paralela Múltiplas tarefas independentes em worktrees isolados
5 Mid-Flight Control Revisar plano antes de executar, ajustar durante execução
6 Context Compaction Sessões longas chegando no limite de contexto
7 Research-First Pipeline Pesquisa obrigatória antes de implementação — garante contexto
8 Signal Bus Coordination Coordenação entre tentáculos paralelos via pub/sub
9 Clone & Retry Clone sessão falha com contexto preservado para nova tentativa

Inclui também anti-patterns documentados (pipelines para código simples, polling excessivo, delegação de tarefas triviais, etc.).


🧰 29 Tools

Todas registradas como LanguageModelTools, visíveis e referenciáveis no modo agent do Copilot.

Core — Ciclo de Vida (7)

Tool Descrição
delegate_task Cria sessão CLI isolada e delega tarefa. Suporta worktree, modelo, modo, agent custom e lock de arquivos.
delegate_task_with_learning Delega tarefa com muscle memory — injeta lições aprendidas automaticamente.
classify_delegation Classifica o pedido e sugere qual pattern de delegação usar (baseado em heurísticas).
check_session Estado enriquecido: status, lastMessage, summary, usage, plan, changedFiles.
send_message Follow-up para sessão ativa (timeout configurável).
list_sessions Lista sessões gerenciadas (filtro por repositório).
cleanup_session Encerra sessão e limpa recursos (disconnect + worktree + registry). Suporta force e skipTests.

Callback + Visibilidade (2)

Tool Descrição
wait_for_session Bloqueia até sessão finalizar (fire-and-wait). Resultado + métricas.
get_session_history Histórico filtrado de eventos (messages, tools, errors).

Controle Mid-Flight (3)

Tool Descrição
switch_model Troca modelo de IA mid-flight (com reasoningEffort opcional).
set_session_mode Alterna modo: plan / autopilot / interactive.
update_plan Injeta ou atualiza plano markdown da sessão.

Pipeline Management (3)

Tool Descrição
delegate_pipeline 2–10 steps sequenciais. Output de step N → contexto de step N+1. Retorna pipelineId + alias satírico.
check_pipeline Status do pipeline: step atual, resultados por step.
wait_for_pipeline Bloqueia até pipeline finalizar (completed/failed/partial).

Session Control (4)

Tool Descrição
pause_session Pausa sem perder estado. Sessão aguarda próxima instrução.
stop_session Graceful (commit WIP + 5s) ou force=true (disconnect imediato).
merge_session Merge do worktree → repo principal. Commit pendências, valida testes (validateFirst), limpa branch.
resolve_conflicts Resolve conflitos de merge automaticamente com estratégias: auto, ours, theirs, manual.

Complementares (6)

Tool Descrição
read_session_file Lê arquivo ou lista arquivos do workspace da sessão.
resume_session Reconecta sessão desconectada, restaurando estado.
compact_session Compacta contexto de sessões longas.
select_agent Seleciona/desseleciona agent custom na sessão.
session_log Injeta logs/breadcrumbs na timeline para debugging.
discover_project Discovery autônomo em 6 steps paralelos → docs/discovery/project-context.md.
clone_session Clona sessão ativa com contexto, opcionalmente com prompt/alias/modelo modificados.

Coordination (2)

Tool Descrição
broadcast_signal Publica sinais no SignalBus para comunicação inter-sessões.
receive_signals Recebe sinais do SignalBus filtrados por tipo/sessão.

🔍 Discovery Pipeline

A tool discover_project executa 6 steps paralelos para onboarding em projetos existentes:

Step Agent Output Fontes
1. Structure Scan researcher 01-structure.md Diretórios, manifests, configs, Docker
2. Codebase Analysis researcher 02-codebase.md Entry points, APIs, padrões, dependencies
3. Git History researcher 03-history.md Commits, branches, contributors, hotspots
4. External Sources researcher 04-external.md Confluence, Jira, GitHub PRs (opt-in)
5. Assessment researcher 05-assessment.md Best practices, desvios, recomendações
6. Consolidation implementor project-context.md Documento final consolidado

Source Modes: guided (default — pergunta ao usuário) ou auto (escaneia automaticamente).


🎛️ Sidebar (5 seções)

A extensão adiciona sidebar dedicada no Activity Bar com 5 seções — todas com branding octopus 🐙:

Seção ID Descrição
🐙 Camouflage mode Toggle entre Manual, Autônomo (auto-inject) e Copilot (pre-fill). Persiste via globalState
🐙 Ink Jets quick-actions Nova Delegação, 🛑 Stop All, 🧹 Cleanup All, 📋 List Summary, Refresh, Settings, Docs
🐙 Tentacles sessions Lista com ícones de status + inline actions (check, inject, cleanup, copy result, export log). Tooltip rico com Markdown. Welcome view 🐙 quando vazia. Clique abre Chat WebviewPanel
🐙 Nerve Center stats Total de sessões, ativas, erros, último modelo, tempo total acumulado
🐙 Sonar discovery Status dos 6 steps de discovery com auto-refresh via filesystem watcher

🎨 Modos de Operação

Modo Comportamento
🔧 Manual Notificação no VS Code ao completar — usuário decide a ação
🐙 Autônomo Resultado automaticamente injetado no chat + auto-merge com validação de testes
👤 Copilot Resultado preparado como pre-fill, usuário confirma antes de enviar

Toggle via: botão na sidebar ou Copilot Delegate: Alternar Modo na Command Palette.


🦎 Camouflage Profiles

Conceito: Profiles de configuração que mudam o comportamento do sistema inteiro com um comando. Inspirado na camuflagem do polvo que muda de aparência instantaneamente.

Profiles Disponíveis

Profile Emoji Descrição Settings
Stealth 🟢 Dev mode: auto-retry, aggressive model, isolated worktrees Model: Sonnet 4.5, Mode: autopilot, autoRetry: true (2x), autoCleanup: true, isolateWorktree: true
Observe 🔵 Review mode: plan-first approach, no auto-retry, isolated worktrees Model: Sonnet 4.5, Mode: plan, autoRetry: false, autoCleanup: false, isolateWorktree: true
Alert 🔴 Debug mode: premium model, plan-first, aggressive retries Model: Opus 4.6, Mode: plan, autoRetry: true (3x), autoCleanup: false, isolateWorktree: true
Strike ⚡ Speed mode: fast model, autopilot, no isolation overhead Model: Haiku 4.5, Mode: autopilot, autoRetry: false, autoCleanup: true, isolateWorktree: false

Como Usar

  1. Ativar Profile:

    • Click no status bar (🐙 N tentacles | 🟢 Stealth)
    • Ou comando: Copilot Delegate: Switch Camouflage Profile
    • Escolha um dos 4 profiles ou "None (default settings)"
  2. Ver Profile Ativo:

    • Status bar mostra: 🐙 N tentacles | 🦎 Profile Name
    • Sidebar ModeProvider exibe profile como primeiro item
    • Comando: Copilot Delegate: Show Current Profile
  3. Comportamento:

    • Settings do profile são aplicados como defaults em todas as novas sessões
    • Override manual ainda funciona: input explícito sobrepõe profile
    • Profile persiste entre sessões do VS Code (via globalState)

Exemplo de Uso

// Sem profile ativo - usa defaults globais
@workspace #delegate_task prompt="Fix bug X" model="claude-haiku-4.5"

// Com Stealth profile ativo - usa Sonnet 4.5, autopilot, autoRetry
@workspace #delegate_task prompt="Fix bug X"  // herdará: sonnet, autopilot, autoRetry

// Override manual - Haiku sobrepõe profile
@workspace #delegate_task prompt="Fix bug X" model="claude-haiku-4.5"  // usa Haiku

⌨️ Comandos

Comando Descrição
Copilot Delegate: Alternar Modo Toggle Manual → Autônomo → Copilot
Copilot Delegate: Selecionar Modo Escolhe modo via QuickPick
Copilot Delegate: Switch Camouflage Profile Quick Pick para mudar profile ativo (Stealth/Observe/Alert/Strike/None)
Copilot Delegate: Show Current Profile Mostra informações do profile ativo
Copilot Delegate: Limpar Sessões Idle Limpa sessões idle/completed automaticamente
Atualizar Refresh da lista de sessões
Limpar Todas as Sessões Cleanup de todas as sessões
Nova Delegação Input box para criar sessão rápida
Abrir Configurações Navega para settings da extensão
Abrir Documentação Abre o README
Verificar Sessão Consulta estado de sessão selecionada
Injetar Resultado no Chat Injeta resultado da sessão no chat ativo
Limpar Sessão Cleanup de sessão individual
Detalhes da Sessão Abre Chat WebviewPanel da sessão
Discover Project Lança discovery pipeline no projeto
Focar Sessões Foca a view de sessões na sidebar
Copiar Resultado Copia lastAssistantMessage para clipboard
🛑 Stop All Tentacles Para todas as sessões ativas de uma vez
🧹 Cleanup All Idle Limpa todas as sessões idle/completed
📋 List Summary Copia resumo de todas as sessões para clipboard
📋 Export Log Exporta log completo da sessão em nova aba do editor
🖤 Ink Cloud (Emergency Stop All) Para TODAS as sessões ativas de uma vez + snapshot em emergency-snapshots/
Clear Session History Limpa histórico de sessões persistidas no globalState

⚙️ Configuração

Setting Tipo Default Descrição
copilot-delegate.sdkPath string "" Caminho absoluto para o copilot-sdk/index.js. Quando definido, ignora a discovery automática do SDK.
copilot-delegate.autoCleanupSessions boolean true Limpa sessões automaticamente após merge, conclusão de pipeline ou idle sem worktree
copilot-delegate.settleTimeoutMs number 3000 Timeout em ms para considerar uma sessão idle como completada (1000–30000)
copilot-delegate.maxEventLogSize number 500 Tamanho máximo do buffer de eventos por sessão (100–5000)
copilot-delegate.defaultModel string "claude-sonnet-4.5" Modelo padrão para novas sessões delegadas
copilot-delegate.autoRetry boolean false Habilita retry automático de sessões falhadas com backoff exponencial
copilot-delegate.maxRetries number 2 Máximo de tentativas automáticas para sessões falhadas (1–5)

💡 Uso — Exemplos

Delegação Simples

@workspace #delegate_task
Crie testes unitários para o módulo de autenticação em src/auth.ts

Fire-and-Wait

@workspace #delegate_task
Refatore o componente Header para usar Tailwind CSS

#wait_for_session sessionId="<id-retornado>"

Worktree Isolado

@workspace #delegate_task
Migre o banco de dados de PostgreSQL para MongoDB
isolateWorktree: true

Controle Mid-Flight

#switch_model sessionId="abc123" model="claude-opus-4.6"
#set_session_mode sessionId="abc123" mode="plan"
#update_plan sessionId="abc123" content="## Nova Prioridade\n- Cache Redis"
#send_message sessionId="abc123" prompt="Adicione validação de schema"
#pause_session sessionId="abc123"
#resume_session sessionId="abc123"
#stop_session sessionId="abc123" force=false

Pipeline Sequencial

@workspace #delegate_pipeline
steps: [
  { prompt: "Analise o módulo de auth e liste melhorias", agent: "researcher" },
  { prompt: "Implemente as melhorias listadas", agent: "implementor", mode: "autopilot" },
  { prompt: "Crie testes para as mudanças", agent: "implementor" }
]
isolateWorktree: auto

Acompanhe com alias satírico: #check_pipeline pipelineId="operation-broccoli" ✨

Project Discovery

@workspace #discover_project
workingDirectory: "./legacy-app"
sourceMode: "guided"
sources: {
  confluence: { spaceKey: "LEGACY" },
  github: { includePRs: true, includeBranches: true },
  localDocs: ["docs/architecture"]
}

🏆 Diferenciais

🐙 Octopus Branding

Tema visual coeso com referências biológicas reais do polvo. Sidebar views renomeadas (Tentacles, Nerve Center, Ink Jets, Camouflage, Sonar), notificações temáticas ("Tentacle spawned", "Ink absorbed"), status bar com 🐙 N tentacle(s), welcome view com arte 🐙, e fun facts extraídos de pesquisa real sobre octopuses (docs/octopus-research.md). O ícone da extensão (media/icon.svg) é um polvo SVG responsivo a temas do VS Code.

Session History

Persistência das últimas 50 sessões no globalState — sobrevive a restarts do VS Code. SessionHistoryManager com serialização, deduplicação e limite configurável. Comando Clear Session History para reset manual.

Auto-Cleanup

Zero manutenção de sessões concluídas: performAutoCleanup() verifica arquivos não-commitados, faz commit automático ou preserva sessão, desconecta, remove worktree/branch e libera locks. Pipelines também são limpos ao finalizar. Opt-out via setting autoCleanupSessions.

Guard mergedToMain: Auto-cleanup NÃO remove worktree se branch não foi mergeada — protege branches isoladas contra destruição acidental. Campo mergedToMain: boolean na DelegateSession garante segurança.

Force cleanup: cleanup_session aceita force: true para forçar limpeza sem merge/testes — essencial para sessões paradas/travadas. Também aceita skipTests: true para pular validação antes do merge.

Research-First Pipeline

O pattern principal do Octopus: pesquisa obrigatória antes de implementação. O agent researcher investiga o contexto, e só então o implementor age — com o output da pesquisa como contexto. Evita implementações cegas e reduz retrabalho.

Auto-Merge com Validação

Em modo autônomo, quando uma sessão com worktree completa com sucesso, o sistema tenta merge automático — sempre com validação de testes. Se os testes falham, o worktree é preservado intacto para revisão manual. Nunca faz merge sem testes.

Merge Hardening (b1cf859): Verificação post-merge confirma que um novo commit foi efetivamente criado (compara HEAD antes/depois), validação que repoDir é a raiz do repositório git (não subdiretório), sanitização de branch names para prevenir injeção de comandos, captura completa de stdout/stderr do git merge, e logging estruturado em cada step do fluxo. Notificação "Tentacle merged" só aparece quando o merge commit é verificado existir.

Auto-merge detection: isBranchMerged() detecta automaticamente branches já mergeadas via git branch --merged — pula testes automaticamente quando branch já está na main.

Advisory File Lock

delegate_task aceita lockFiles — lista de arquivos que ficam bloqueados para outras sessões. Impede edições concorrentes em arquivos críticos durante execução paralela.

Safety Hardening

Event callback isolation (try/catch em onSessionComplete, onSessionEvent, onSessionRemoved), lock release on merge failure, settle timer race condition fix, worktree cleanup on session creation failure, e notificações de erro contextualizadas.

Fun Aliases 🎭

Pipelines e discovery recebem aliases satíricos gerados automaticamente:

  • Pipelines: operation-broccoli, pipeline-tofu, sequence-kale
  • Discovery: radar-spinach, scanner-quinoa, probe-chia

Use no lugar do UUID: #check_pipeline pipelineId="operation-broccoli"

🦑 Auto-Retry (Regeneração de Braços)

Quando uma sessão falha (status error), o sistema pode automaticamente tentar novamente com backoff exponencial. Habilite via copilot-delegate.autoRetry = true e configure copilot-delegate.maxRetries (default: 2). A sessão mantém o originalPrompt e incrementa retryCount a cada tentativa. Notificações: "🦑 Tentacle regenerating... (attempt X/Y)" em retry, "🦑 Tentacle couldn't regenerate — manual intervention needed" após esgotamento. Previne falhas transitórias sem intervenção manual.

💓 Health Monitor (3 Corações)

Heartbeat check a cada 30 segundos monitora sessões ativas. Se uma sessão não emite eventos por 2 minutos, é marcada como unresponsive (campo phase). Notificação "💓 Tentacle heartbeat lost — session may be stuck" alerta o usuário. TreeItems na sidebar ganham decoração ⚠️ para sessões unresponsive. O campo lastEventAt (timestamp) é atualizado a cada evento recebido. Fases: starting → active → unresponsive | completing.

🖤 Ink Cloud (Emergency Stop All)

Comando copilot-delegate.emergencyStopAll para TODAS as sessões ativas de uma vez. Executa disconnect() em todas simultaneamente e salva snapshot JSON automático em ~/.copilot/session-state/emergency-snapshots/emergency-{timestamp}.json com estado completo (sessionId, alias, status, eventLog, etc.). Notificação: "🖤 Ink cloud deployed — X sessions stopped". Ideal para limpar estado quando algo dá muito errado.

🦑 Signal Bus Coordination

SignalBus singleton para coordenação inter-sessões via pub/sub pattern. broadcast_signal publica sinais estruturados em channels/topics, receive_signals lê com filtros por sessionId/channel/topic/timestamp. Estrutura: { sessionId, channel, topic, payload, timestamp }. Limite de 100 sinais por channel, cleanup automático de sinais antigos (>1h). Use para pipelines complexos, handoffs, sincronização de estado entre tentáculos paralelos.

🔮 Conflict Radar (Ventosas)

Detecção proativa de conflitos entre sessões paralelas. O ClientManager mantém conflictMap: Map<filePath, sessionId[]> que rastreia quais sessões modificam quais arquivos (campo modifiedFiles: string[] por sessão). Quando detecta múltiplas sessões editando o mesmo arquivo, emite notificação: "🔮 Conflict detected: sessions X and Y both editing file.ts". Métodos: registerFileModifications(), getConflictingSessions(), clearConflicts(). Previne sobrescrita acidental em delegações paralelas.

🏠 Session Templates (Construção de Toca)

5 templates pré-configurados acessíveis via comando copilot-delegate.useTemplate com Quick Pick UI:

Template Agent Model Prompt Prefix Worktree
Bug Fix implementor claude-sonnet-4.5 "Fix the following bug:" auto
New Feature implementor claude-opus-4.6 "Implement the following feature:" true
Refactor implementor claude-sonnet-4.5 "Refactor the code:" auto
Test Coverage implementor claude-sonnet-4.5 "Add tests for:" false
Documentation implementor claude-haiku-4.5 "Document:" false

Exportados como BUILTIN_TEMPLATES em client-manager.ts para extensibilidade futura (templates customizados por usuário).

🎨 Live Progress (Cromatóforos)

TreeItems na sidebar de sessões exibem cores contextuais por fase via ThemeColor:

  • starting → azul (charts.blue)
  • active → verde (charts.green)
  • unresponsive → amarelo (editorWarning.foreground)
  • completing → roxo (charts.purple)
  • completed/stopped → cinza (descriptionForeground)
  • error → vermelho (errorForeground)

Sessões unresponsive ganham indicador ⚠️ na description. Feedback visual imediato do estado de cada tentáculo.


🛠️ Tech Stack

Tecnologia Uso
TypeScript Linguagem principal
VS Code Extension API LanguageModelTools, TreeDataProvider, WebviewPanel
Copilot CLI SDK Integração com @github/copilot
Zod Validação de schemas
esbuild Build e bundling
Vitest Framework de testes

📂 Estrutura do Projeto

copilot-delegate/
├── src/
│   ├── extension.ts            # Entry point — registra 26 tools + sidebar + commands + status bar
│   ├── client-manager.ts       # Sessões, CopilotClient, event system, advisory locks, auto-cleanup, session history
│   ├── auto-merge.ts           # Auto-merge com validação de testes
│   ├── utils/
│   │   └── octopus-facts.ts    # 20 fun facts sobre polvos (biologia real)
│   ├── tools/                  # 26 tools (+ _shared.ts)
│   │   ├── delegate-task.ts        # Core: delega tarefa
│   │   ├── delegate-task-with-learning.ts  # Core: delega com muscle memory
│   │   ├── check-session.ts        # Core: consulta estado
│   │   ├── send-message.ts         # Core: follow-up
│   │   ├── list-sessions.ts        # Core: lista sessões
│   │   ├── cleanup-session.ts      # Core: limpa recursos (force, skipTests)
│   │   ├── wait-for-session.ts     # Callback: fire-and-wait
│   │   ├── get-session-history.ts  # Callback: histórico
│   │   ├── switch-model.ts         # Mid-flight: troca modelo
│   │   ├── set-session-mode.ts     # Mid-flight: troca modo
│   │   ├── update-plan.ts          # Mid-flight: atualiza plano
│   │   ├── delegate-pipeline.ts    # Pipeline: cria pipeline
│   │   ├── check-pipeline.ts       # Pipeline: consulta pipeline
│   │   ├── wait-for-pipeline.ts    # Pipeline: aguarda pipeline
│   │   ├── pause-session.ts        # Control: pausa
│   │   ├── stop-session.ts         # Control: para
│   │   ├── merge-session.ts        # Control: merge worktree
│   │   ├── read-session-file.ts    # Complementar: lê arquivo
│   │   ├── resume-session.ts       # Complementar: reconecta
│   │   ├── compact-session.ts      # Complementar: compacta contexto
│   │   ├── select-agent.ts         # Complementar: seleciona agent
│   │   ├── session-log.ts          # Complementar: injeta log
│   │   ├── discover-project.ts     # Complementar: discovery
│   │   ├── clone-session.ts        # Complementar: clona sessão
│   │   ├── broadcast-signal.ts     # Coordination: publica sinal
│   │   ├── receive-signals.ts      # Coordination: recebe sinais
│   │   └── _shared.ts             # Utilitários compartilhados
│   └── sidebar/                # 5 providers + chat panel
│       ├── mode-provider.ts            # 🐙 Camouflage (Manual/Autônomo/Copilot)
│       ├── quick-actions-provider.ts   # 🐙 Ink Jets (Stop All, Cleanup All, List Summary...)
│       ├── sessions-provider.ts        # 🐙 Tentacles (tooltip, welcome view, export log, copy result)
│       ├── stats-provider.ts           # 🐙 Nerve Center (total, ativas, erros, tempo)
│       ├── discovery-provider.ts       # 🐙 Sonar (auto-refresh via watcher)
│       └── session-chat-panel.ts       # WebviewPanel de chat interativo
├── agents/
│   └── octopus.agent.md        # Agent Octopus — orchestrator de delegação
├── skills/
│   └── octopus/
│       ├── SKILL.md            # Skill Octopus — 9 patterns de delegação
│       └── FEEDBACK.md         # Feedback loop da skill
├── hooks/
│   ├── feedback-guard.ps1      # Hook: validação de feedback (Windows)
│   └── feedback-guard.sh       # Hook: validação de feedback (Unix)
├── tests/                      # 782 testes em 25 arquivos (Vitest)
│   ├── auto-cleanup.test.ts        # Auto-cleanup de sessões e pipelines (mergedToMain guard)
│   ├── auto-merge.test.ts          # Auto-merge com validação
│   ├── bug-fixes.test.ts           # 6 bug fixes críticos (clone, path traversal, timeout, etc.)
│   ├── client-manager.test.ts      # Sessões, events, locks, history
│   ├── discover-project.test.ts    # Discovery pipeline completo
│   ├── discovery-provider.test.ts  # Sidebar discovery
│   ├── event-handling.test.ts      # Event system, settle timer
│   ├── lockfiles.test.ts           # Advisory file locks
│   ├── merge-hardening.test.ts     # Merge hardening (post-merge verification, git root validation, sanitization)
│   ├── octopus-biology.test.ts     # Biology features (auto-retry, health monitor, ink cloud, conflict radar, templates, live progress)
│   ├── octopus-branding.test.ts    # Branding, fun facts, themed notifications
│   ├── pipeline.test.ts            # Pipeline management
│   ├── safety-fixes.test.ts        # Try/catch, race conditions, cleanup
│   ├── session-control.test.ts     # Pause, stop, resume
│   ├── sidebar-providers.test.ts   # Mode, actions, sessions, stats
│   ├── tools-validation.test.ts    # Schema e validação das tools
│   ├── ux-improvements.test.ts     # Tooltip, welcome view, export, copy result
│   ├── worktree-merge.test.ts      # Worktree isolation e merge
│   ├── session-learning.test.ts    # Session learning e extração de lições
│   ├── tentacle-coordination.test.ts # SignalBus e coordenação inter-sessões
│   ├── artifact-catalog.test.ts    # Catálogo de artefatos persistido
│   ├── session-cloning.test.ts     # Clonagem de sessões com contexto
│   ├── camouflage-profiles.test.ts # Profiles pré-configurados
│   └── offline-mode.test.ts        # Modo offline e resiliência
├── docs/                       # Documentação técnica
│   ├── 01-vision.md
│   ├── 02-architecture.md
│   ├── 03-tools-design.md
│   ├── 04-context-file-format.md
│   ├── 05-expansion-plan.md
│   ├── 06-orchestration-improvements.md
│   ├── 07-project-discovery.md
│   ├── octopus-research.md     # 303 linhas de biologia do polvo para analogias
│   └── discovery/              # Output do discovery pipeline
├── media/
│   └── icon.svg                # 🐙 Ícone SVG de polvo (responsivo a temas VS Code)
├── package.json
├── tsconfig.json
├── esbuild.mjs
├── vitest.config.ts
├── CHANGELOG.md
└── LICENSE

🧪 Testes

782 testes em 25 arquivos via Vitest:

Arquivo Testes Cobertura
auto-cleanup.test.ts 42 Auto-cleanup de sessões, pending files, pipeline cleanup, mergedToMain guard
auto-merge.test.ts 15 Auto-merge com validação
bug-fixes.test.ts 21 6 bug fixes críticos (clone dedup, path traversal, timeout, schema, error isolation, switch_model)
client-manager.test.ts 38 Sessões, events, locks, session history, totalEvents
discover-project.test.ts 65 Discovery pipeline completo
discovery-provider.test.ts 23 Sidebar discovery, auto-refresh
event-handling.test.ts 23 Event system, settle timer
lockfiles.test.ts 24 Advisory file locks
merge-hardening.test.ts 20 Post-merge verification, git root validation, branch sanitization, output capture
octopus-biology.test.ts 40 Auto-retry, health monitor, ink cloud, conflict radar, session templates, live progress
octopus-branding.test.ts 31 Fun facts, themed notifications, status bar, welcome view
pipeline.test.ts 51 Pipeline management
safety-fixes.test.ts 16 Try/catch callbacks, lock release, settle race fix
session-control.test.ts 23 Pause, stop, resume
sidebar-providers.test.ts 35 Mode, actions, sessions, stats providers
tools-validation.test.ts 41 Schema e validação das tools
ux-improvements.test.ts 40 Tooltip preview, export log, copy result, session duration
worktree-merge.test.ts 43 Worktree isolation e merge
session-learning.test.ts 52 Session learning, extração de lições, padrões entre sessões
tentacle-coordination.test.ts 48 SignalBus, broadcast, receive, inter-session communication
artifact-catalog.test.ts 35 Catálogo de artefatos, persistência via globalState, sidebar
session-cloning.test.ts 28 Clonagem de sessões, preservação de contexto, prompt modificado
camouflage-profiles.test.ts 0 (já coberto em octopus-biology.test.ts)
offline-mode.test.ts 0 (já coberto em safety-fixes.test.ts)
npm test          # Roda todos os testes

🗺️ Roadmap

✅ v0.1.0 (Atual)

  • [x] 26 LanguageModelTools registradas
  • [x] Sidebar com 5 seções (🐙 Camouflage, Ink Jets, Tentacles, Nerve Center, Sonar)
  • [x] Chat WebviewPanel interativo
  • [x] Event system com settle timer
  • [x] Callback automático (Autônomo/Copilot)
  • [x] Worktree isolation
  • [x] Pipeline Management (delegate, check, wait)
  • [x] Discovery Pipeline (6 steps, guided/auto, fontes externas)
  • [x] Session Control (pause, resume, stop, merge com validação)
  • [x] Auto-merge com validação de testes obrigatória
  • [x] Auto-cleanup de sessões (post-merge, pipeline, idle)
  • [x] Advisory file locks para sessões concorrentes
  • [x] Agent Octopus bundled (orchestrator de delegação)
  • [x] Skill Octopus bundled (9 patterns + anti-patterns)
  • [x] Octopus Branding (sidebar, notifications, status bar, fun facts)
  • [x] Session History persistence (globalState, últimas 50)
  • [x] Session Duration (completedAt + elapsed time)
  • [x] totalEvents counter (além do buffer circular)
  • [x] Quick Actions em massa (Stop All, Cleanup All, List Summary)
  • [x] Export Session Log + Copy Result
  • [x] Tooltip Preview com Markdown rico
  • [x] Welcome View 🐙 quando sem sessões
  • [x] Themed Notifications (metáforas octopus)
  • [x] Safety Hardening (try/catch, locks, race fixes)
  • [x] Orphan Worktree Cleanup no startup
  • [x] Fun aliases satíricos para pipelines e discovery
  • [x] 5 settings configuráveis
  • [x] 20 comandos registrados
  • [x] 🦑 Auto-Retry com backoff exponencial (setting + maxRetries configurável)
  • [x] 💓 Health Monitor com heartbeat a cada 30s + detection de sessões unresponsive
  • [x] 🖤 Ink Cloud (Emergency Stop All com snapshot automático)
  • [x] 🔮 Conflict Radar para detecção de edições concorrentes no mesmo arquivo
  • [x] 🏠 Session Templates (5 templates built-in via Quick Pick)
  • [x] 🎨 Live Progress com cores temáticas por fase (ThemeColor na sidebar)
  • [x] Merge Hardening (post-merge verification, git root validation, branch sanitization)
  • [x] 🧠 Session Learning — Aprendizado de padrões entre sessões
  • [x] 🦑 Tentacle Coordination — SignalBus para comunicação inter-sessões
  • [x] 📦 Artifact Catalog — Catálogo de artefatos persistido via globalState
  • [x] 🐙 Session Cloning — Duplicação de sessões com contexto preservado
  • [x] 🦑 Muscle Memory — delegate_task_with_learning injeta lições automaticamente
  • [x] 🛡️ Cleanup Guards — force para sessões travadas, mergedToMain protege worktrees não-mergeados
  • [x] 🔍 Auto-merge Detection — isBranchMerged() detecta branches já mergeadas, pula testes
  • [x] 🐛 6 Bug Fixes Críticos — clone dedup, path traversal, timeout, schema, error isolation, switch_model
  • [x] 782 testes em 25 arquivos
  • [x] Hooks de feedback-guard (PS1 + Shell)
  • [x] Build + Package VSIX

🔲 Próximas versões

  • [ ] Persistência do registry de sessões em disco
  • [ ] Diff viewer para changedFiles
  • [ ] Templates de tarefas comuns
  • [ ] Integração com GitHub Actions
  • [ ] Export/import de sessões
  • [ ] Dashboard de métricas e analytics
  • [ ] Session replay para debugging
  • [ ] Discovery incremental com delta detection
  • [ ] MCP integration para fontes externas (Confluence, Jira)

🤝 Contribuindo

  1. Fork o projeto
  2. Crie uma branch: git checkout -b feature/AmazingFeature
  3. Commit: git commit -m 'Add some AmazingFeature'
  4. Push: git push origin feature/AmazingFeature
  5. Abra um Pull Request

📄 Licença

MIT — veja LICENSE.


⬆ Voltar ao topo

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft