GitHub Copilot för kommandoraden

Slutförd

GitHub Copilot är inte bara för integrerade utvecklingsmiljöer (IDEs) – det är nu en kraftfull assistent i terminalen. GitHub Copilot CLI tar Copilot direkt till kommandoraden, där det kan förklara kommandon, föreslå gränssnittskommandon från naturligt språk och hjälpa dig att arbeta säkert och interaktivt med dina filer och projekt.

Copilot CLI använder GitHub-autentisering och körs oberoende av GitHub CLI, även om det använder dina befintliga autentiseringsuppgifter. Oavsett om du är nybörjare på kommandoraden eller en erfaren utvecklare, minskar Copilot CLI gissningar och påskyndar dagliga arbetsflöden.

I den här enheten behandlas:

  • Installera och köra GitHub Copilot CLI
  • Interaktiva sessioner i terminalen
  • Snedstreckskommandon och naturligt språkinput
  • Konfiguration och alternativ

Installera och starta Copilot CLI

Installera via Homebrew på macOS och Linux:

brew install copilot-cli

Eller använd det officiella installationsskriptet:

curl -fsSL https://gh.io/copilot-install | bash

Starta Copilot CLI i interaktivt läge:

copilot

Den visar en välkomstbanderoll och en uppmaning:

Skärmbild av banderollen för interaktivt läge i Copilot.

Vid den första starten frågar Copilot om du litar på filerna i den aktuella mappen. Copilot kan läsa, ändra eller köra filer i den här katalogen under sessionen, så fortsätt bara på platser som du litar på.

Skärmbild av Copilots interaktiva funktion för att ange katalog.

Du kan använda @ för att välja en specifik fil som du vill arbeta med som kontext.

Skärmbild av att välja en fil i interaktivt copilot-läge.

I en interaktiv session kan du:

  • Använd snedstreckskommandon (/command) för att styra sessionen och konfigurera Copilot CLI.
  • Skriv frågor om naturligt språk för att förklara, föreslå eller ändra kommandon.

För en-gångs-promptar utan att gå in i fullständigt interaktivt läge:

copilot -i "explain brew install git"
copilot -i "suggest find large files and delete them"

Vanliga snedstreckskommandon

Snedstreckskommandon är tydliga kommandon för sessionskontroll. Här är de vanligaste:

Snedstreckskommando Description
/help Visa tillgängliga kommandon och alternativ
/explain <command> Be Copilot förklara alla gränssnittskommandon
/suggest <task> Be Copilot att föreslå ett gränssnittskommando för en uppgift
/revise Ändra det senaste förslaget baserat på dina instruktioner
/feedback Skicka feedback om ett svar eller förslag
/exit Avsluta interaktivt läge
/model <model> Välj vilken AI-modell som ska användas
/theme [auto|dark|light] Ändra terminaltema
/skills Hantera färdigheter för förbättrade funktioner
/mcp Hantera MCP-serverkonfiguration
/list-dirs Visa tillåtna kataloger för filåtgärder
/reset-allowed-tools Återställ listan över tillåtna verktyg

Snedstreckskommandon kan inte ersättas med frågor på naturligt språk. De är det enda sättet att styra sessionsinställningar och konfiguration.

Exempelarbetsflöden

1. Förklara ett kommando

> Explain what `git reset --hard HEAD` does

Copilot ger en detaljerad förklaring.

Skärmbild av Copilot CLI som förklarar ett kommando i interaktivt läge.

2. Föreslå ett kommando

> Find and delete all .log files in my home folder

Copilot genererar ett kommandoförslag och uppmanar dig att köra det om du är nöjd med dess förslag.

Skärmbild av Copilot CLI som föreslår ett kommando i interaktivt läge.

3. Revidera ett förslag

När du har fått ett förslag kan du skriva en uppföljningsprompt för att ändra det föreslagna kommandot:

> Include only files modified in the last 7 days

Skärmbild av Copilot CLI som förbättrar ett förslag baserat på uppföljningsprompten.

4. Lämna feedback

Efter ett svar eller förslag:

> /feedback

Skärmbild av att använda kommandot /feedack slash i interaktivt läge för Copilot CLI.

Copilot uppmanar dig att välja vilken typ av feedback du vill skicka och navigerar sedan till rätt formulär för att slutföra din feedback.

5. Avsluta interaktivt läge

> /exit

Konfigurationsalternativ

I Copilot CLI hanteras konfigurationen via:

  1. Snedstreckskommandon i interaktivt läge

    • /model välj AI-modell
    • /theme ändra terminaltema
    • /skills hantera förbättrade funktioner
    • /reset-allowed-tools återställ verktyg
    • /list-dirs visa tillåtna kataloger
    • /mcp MCP-serverinställningar
  2. Copilot CLI-konfiguration (icke-interaktivt läge)

Copilot CLI-konfigurationen hanteras via behörighetsprompter, kommandoradsflaggor och lokala konfigurationsfiler. De här inställningarna styr vad Copilot kan komma åt och göra åt dig.

Vanliga konfigurationsalternativ är:

  • Betrodda kataloger – Kontrollera var Copilot kan läsa, redigera och köra filer.
  • Verktygsbehörigheter – Tillåt eller begränsa Copilot från att köra gränssnittskommandon eller ändra filer med flaggor som --allow-tool eller --deny-tool.
  • Sökvägsbehörigheter – Kontrollera vilka kataloger Som Copilot kan komma åt.
  • URL-behörigheter – Hantera vilka externa domäner Som Copilot kan ansluta till.

Se den officiella GitHub Copilot CLI-dokumentationen för fullständiga konfigurationsalternativ.

Körningsmiljöer i begränsat läge

GitHub Copilot CLI har stöd för sandbox-körningsmiljöer som hjälper dig att skydda systemet samtidigt som Copilot kan utföra uppgifter åt dig.

Sandlådemiljö isolerar kommandon, filoperationer och andra aktiviteter från din huvudsakliga utvecklingsmiljö. Beroende på arbetsflödet kan du välja mellan lokal sandbox-miljö och sandbox-miljö i molnet.

Lokal sandlådemiljö

Med lokal sandbox-miljö kan Copilot köra kommandon i en begränsad miljö på datorn.

När det är aktiverat är Copilot åtkomst till filsystemet, nätverksanslutningen och operativsystemfunktionerna begränsade, vilket minskar risken för oavsiktliga ändringar samtidigt som du kan dra nytta av agentassisterade arbetsflöden.

Så här aktiverar du lokal sandbox-miljö under en interaktiv session:

/sandbox enable

När du aktiverar sandboxing körs kommandon som Copilot kör i sandboxmiljön i stället för direkt på ditt värdsystem.

Fördelar med lokal sandbox-miljö

Benefit Description
Förbättrad säkerhet Begränsar åtkomsten till känsliga systemresurser.
Säkrare experiment Gör att du kan testa agentdrivna arbetsflöden med minskad risk.
Lokal körning Använder datorns resurser utan att kräva molninfrastruktur.
Större kontroll Ger ytterligare skydd vid användning av autonoma agenter.

Sandbox-miljö i molnet

Med sandbox-miljö i molnet kan Copilot CLI-sessioner köras i helt isolerade Linux-miljöer som hanteras av GitHub.

Till skillnad från lokal sandbox-miljö körs molnsandbox-sessioner helt i GitHub värdbaserad infrastruktur och förblir åtskilda från din lokala dator och från andra sandbox-sessioner.

Sandbox-miljön i molnet bygger på Azure Container Apps sandbox-miljö, där GitHub tillhandahåller autentisering, styrning, principframtvingande och faktureringsintegrering.

Så här startar du en sandbox-session i molnet:

copilot --cloud

När du har startat kan Copilot köra kommandon, ändra filer, köra tester och utföra utvecklingsuppgifter i molnmiljön i stället för på din lokala enhet.

Fördelar med sandbox-miljö i molnet

Benefit Description
Stark isolering Arbetsbelastningar körs separat från den lokala datorn.
Enhetens flexibilitet Återuppta sessioner från olika enheter.
Resursavlastning Använder molnresurser i stället för lokal cpu och minne.
Parallellkörning Kör flera agentdrivna uppgifter samtidigt.

Fortsätt sessioner mellan enheter

Eftersom sandbox-molnsessioner körs i GitHub värdbaserad infrastruktur är arbetet inte kopplat till en specifik dator.

På så sätt kan du:

  • Starta en session på en enhet
  • Återuppta samma session från en annan enhet
  • Fortsätt arbeta utan att överföra filer manuellt eller återskapa miljöer

Den här flexibiliteten är särskilt användbar för utvecklare som arbetar på flera datorer eller platser.

Livscykel för sandbox-sessioner i molnet

Molnsandboxsessioner kan finnas i tre tillstånd:

Tillstånd Description
Aktiv Sessionen körs och är tillgänglig för interaktion.
Avstängd Sessionen pausas, men dess tillstånd bevaras för framtida användning.
Borttagen Sessionen och allt sparat tillstånd tas bort permanent.

När en session stoppas sparar GitHub en ögonblicksbild av miljön, inklusive filer, miljövariabler och pågående arbete. Om du återupptar sessionen återställs det sparade tillståndet så att du kan fortsätta där du slutade.

Autentisering och åtkomst

Molnsandlådor använder samma autentiseringsmodell som GitHub Copilot CLI.

Om du kan autentisera till GitHub Copilot CLI och ha åtkomst till GitHub Copilot krävs ingen ytterligare konfiguration av molnleverantören.

Du behöver inte:

  • Hantera API-nycklar
  • Konfigurera molninfrastruktur
  • Etablera virtuella datorer
  • Underhålla containermiljöer

Anmärkning

Organisations- eller företagsadministratörer måste aktivera cloud sandbox-åtkomstprincipen innan medlemmar kan använda sandbox-miljöer i molnet.

Lokal och molnbaserad sandbox-miljö

Feature Lokal sandlåda Sandbox-miljö i molnet
Plats för körning Lokal dator GitHub värdbaserad miljö
Resursanvändning Lokala resurser Molnresurser
Isoleringsnivå Begränsad lokal miljö Fullständigt isolerad molnmiljö
Enhetsoberoende Nej. Yes
Parallella arbetsbelastningar Begränsas av lokal maskinvara Enkelt skalbar

När bör du använda sandlådeteknik?

Överväg att använda sandbox-miljö när:

  • Arbeta med okända lagringsplatser
  • Testa agentgenererade kommandon
  • Köra autonoma arbetsflöden
  • Utföra potentiellt destruktiva åtgärder
  • Arbeta på flera enheter
  • Avlasta beräkningsintensiva utvecklingsuppgifter

Sandbox-miljö ger ytterligare ett lager av säkerhet och flexibilitet, så att du på ett säkert sätt kan dra nytta av GitHub Copilot CLI:s agentfunktioner.

Tips för effektiv användning av Copilot CLI

  • Använd interaktivt läge (copilot) för undersökande uppgifter.
  • Använd enkelskottläge (copilot -i) för snabba svar.
  • Naturlig språkinmatning fungerar – du behöver inte alltid snedstreckskommandon.
  • Granska alltid kommandon före körning.
  • Kombinera Copilot CLI med GitHub CLI (gh) för lagringsplats och problemhantering.
  • Använd snedstreckskommandon när du vill ha strukturerade åtgärder eller feedback.