Awesome CopilotAdventures

Guia de harnesses

Um papel descreve a responsabilidade. Um harness fornece runtime, ferramentas, permissões, contexto e ciclo de vida. Um destino escolhe onde a sessão será executada. Um ambiente contém os arquivos e processos.

---
config:
  theme: base
  look: classic
  themeVariables:
    darkMode: false
    background: "#ffffff"
    primaryColor: "#f5f5f5"
    primaryTextColor: "#111111"
    primaryBorderColor: "#555555"
    secondaryColor: "#e0e0e0"
    secondaryTextColor: "#111111"
    secondaryBorderColor: "#666666"
    tertiaryColor: "#bdbdbd"
    tertiaryTextColor: "#111111"
    tertiaryBorderColor: "#444444"
    lineColor: "#444444"
    textColor: "#111111"
    mainBkg: "#f5f5f5"
    nodeBorder: "#555555"
    clusterBkg: "#ffffff"
    clusterBorder: "#999999"
    edgeLabelBackground: "#ffffff"
    actorBkg: "#e0e0e0"
    actorBorder: "#555555"
    actorTextColor: "#111111"
    actorLineColor: "#777777"
    signalColor: "#333333"
    signalTextColor: "#111111"
    labelBoxBkgColor: "#f5f5f5"
    labelBoxBorderColor: "#777777"
    labelTextColor: "#111111"
    loopTextColor: "#111111"
    activationBkgColor: "#bdbdbd"
    activationBorderColor: "#555555"
    noteBkgColor: "#f5f5f5"
    noteTextColor: "#111111"
    noteBorderColor: "#777777"
    attributeBackgroundColorOdd: "#f5f5f5"
    attributeBackgroundColorEven: "#e0e0e0"
---
flowchart TB
    accTitle: Destinos de sessão e harnesses de agentes
    accDescr: Os destinos Local e Copilot selecionam runtimes diferentes, enquanto o destino Cloud seleciona um agente remoto disponível.
    U["Objetivo do usuário"] --> T{"Destino da sessão"}
    T --> L["Destino Local"]
    T --> C["Destino Copilot"]
    T --> CL["Destino Cloud"]

    L --> LH["VS Code Local harness<br/>Extension host"]
    C --> CH["Copilot harness<br/>Agent Host + Copilot SDK"]
    CL --> CA["Cloud agent disponível<br/>Ambiente remoto efêmero"]

    LH --> R["Ask · Plan · Agent · Agente personalizado"]
    CH --> R
    CA --> PR["Branch e pull request"]

Legenda. O losango é a decisão de seleção do destino. Os retângulos descrevem runtimes, papéis de agentes e o artefato remoto de revisão; as setas contínuas mostram relações de seleção.

Explicação. Local é o nome de um harness, não toda execução local. Papéis, destinos e runtimes respondem a perguntas diferentes; um pull request remoto é um artefato de saída.

[!IMPORTANT] Local é o nome de um harness do VS Code, não um sinônimo de toda execução local. Cloud é um destino remoto que pode expor cloud agents disponíveis; não é um único harness universal.

Guia de decisão

Superfície ou harness Considere quando Verifique antes de usar
VS Code Local harness O trabalho depende do estado do editor, de ferramentas fornecidas por extensões ou de arquivos de prompt Extensões, confiança no workspace, modelo, aprovações e permissões locais
VS Code Copilot harness O trabalho precisa de sessões do Agent Host, execução em segundo plano, isolamento de pasta/worktree ou skills portáveis Ferramentas, políticas, modelo, destino da sessão e isolamento
GitHub Copilot CLI A investigação e a execução centradas no terminal são adequadas Diretório atual, aprovações, variáveis de ambiente, runtimes e estado do repositório
Cloud target / cloud agent Uma tarefa delimitada do repositório pode ser executada remotamente e retornar um pull request pronto para revisão Acesso ao repositório, configuração, segredos, rede, proteção de branches e plano de revisão
Aplicação com Copilot SDK Você está incorporando intencionalmente um runtime de agente em um produto SDK com suporte, autenticação, separação entre locatários, ferramentas, permissões, observabilidade e implantação

Isolamento não é permissão

---
config:
  theme: base
  look: classic
  themeVariables:
    darkMode: false
    background: "#ffffff"
    primaryColor: "#f5f5f5"
    primaryTextColor: "#111111"
    primaryBorderColor: "#555555"
    secondaryColor: "#e0e0e0"
    secondaryTextColor: "#111111"
    secondaryBorderColor: "#666666"
    tertiaryColor: "#bdbdbd"
    tertiaryTextColor: "#111111"
    tertiaryBorderColor: "#444444"
    lineColor: "#444444"
    textColor: "#111111"
    mainBkg: "#f5f5f5"
    nodeBorder: "#555555"
    clusterBkg: "#ffffff"
    clusterBorder: "#999999"
    edgeLabelBackground: "#ffffff"
    actorBkg: "#e0e0e0"
    actorBorder: "#555555"
    actorTextColor: "#111111"
    actorLineColor: "#777777"
    signalColor: "#333333"
    signalTextColor: "#111111"
    labelBoxBkgColor: "#f5f5f5"
    labelBoxBorderColor: "#777777"
    labelTextColor: "#111111"
    loopTextColor: "#111111"
    activationBkgColor: "#bdbdbd"
    activationBorderColor: "#555555"
    noteBkgColor: "#f5f5f5"
    noteTextColor: "#111111"
    noteBorderColor: "#777777"
    attributeBackgroundColorOdd: "#f5f5f5"
    attributeBackgroundColorEven: "#e0e0e0"
---
flowchart LR
    accTitle: Isolamento e permissão são controles diferentes
    accDescr: Sessões isolam a conversa, worktrees isolam o código, sandboxes restringem processos e aprovações expressam consentimento para operações.
    S["Sessão"] --> C["Isolamento da conversa"]
    W["Worktree"] --> F["Isolamento do código"]
    B["Sandbox"] --> P["Política de processos / sistema de arquivos"]
    A["Aprovações"] --> O["Consentimento por operação"]

Legenda. Os retângulos nomeiam controles e suas responsabilidades. As setas contínuas conectam cada controle ao que ele realmente governa.

Explicação. Uma worktree não é um sandbox de segurança. O isolamento do código, a política de processos e a aprovação de operações devem ser considerados individualmente ao selecionar um ambiente de execução.

Uma worktree evita colisões entre branches; por si só, não restringe comandos, rede nem acesso fora da worktree.

Antes de uma transferência

  • Declare o objetivo e as exclusões.
  • Nomeie o repositório, a branch e os caminhos relevantes.
  • Forneça comandos de configuração e validação.
  • Separe fatos confirmados de suposições.
  • Defina condições de parada e artefatos esperados.
  • Nunca coloque segredos em prompts, arquivos-fonte ou evidências capturadas.

Pratique com Os Portais de Nexus.

Referências oficiais

Buscar

Busca em português do Brasil. Os caminhos e os exemplos executáveis mantêm o texto original.