Copilot CLI speichert die Konfiguration, den Sitzungsverlauf, Protokolle und Anpassungen in einem einzigen Verzeichnis auf Ihrem Computer. Dieses Verzeichnis ist standardmäßig `~/.copilot` (d. h. `$HOME/.copilot`).
In diesem Artikel werden die Inhalte dieses Verzeichnisses und deren Verwendung beschrieben.
Verzeichnisübersicht
Das ~/.copilot Verzeichnis enthält die folgenden Elemente der obersten Ebene.
| Pfad | Typ | Beschreibung |
|---|---|---|
settings.json | Datei | Ihre persönlichen Konfigurationseinstellungen |
copilot-instructions.md | Datei | Persönliche benutzerdefinierte Anweisungen (auf alle Sitzungen angewendet) |
instructions/ | Verzeichnis | Weitere persönliche *.instructions.md Dateien |
mcp-config.json | Datei | MCP-Serverdefinitionen auf Benutzerebene |
lsp-config.json | Datei | LSP-Serverdefinitionen auf Benutzerebene |
permissions-config.json | Datei | Gespeicherte Tool- und Verzeichnisberechtigungen pro Projekt |
agents/ | Verzeichnis | Persönliche benutzerdefinierte Agentdefinitionen |
skills/ | Verzeichnis | Persönliche benutzerdefinierte Qualifikationsdefinitionen |
hooks/ | Verzeichnis | Hook-Skripts auf Benutzerebene |
logs/ | Verzeichnis | Sitzungsprotokolldateien |
session-state/ | Verzeichnis | Sitzungsverlauf und Arbeitsbereichsdaten |
session-store.db | Datei | SQLite-Datenbank für sitzungsübergreifende Daten |
installed-plugins/ | Verzeichnis | Installierte Plug-In-Dateien |
plugin-data/ | Verzeichnis | Persistente Daten für installierte Plug-Ins |
ide/ | Verzeichnis | IDE-Integrationsstatus |
Hinweis
Nicht alle diese Elemente werden sofort angezeigt. Einige werden auf Abruf erstellt, wenn Sie ein bestimmtes Feature zum ersten Mal verwenden, z.B. wird installed-plugins/ erst nach der Installation Ihres ersten Plugins angezeigt.
Bearbeitbare Dateien
Die folgenden Dateien sind so konzipiert, dass sie von Ihnen direkt bearbeitet oder über CLI-Befehle verwaltet werden.
settings.json
Dies ist die primäre Konfigurationsdatei für Copilot CLI. Sie können ihn direkt in einem Text-Editor bearbeiten oder z. B. interaktive Befehle wie /model und /theme verwenden, um bestimmte Werte innerhalb einer Sitzung zu ändern. Die Datei unterstützt JSON mit Kommentaren (JSONC).
Hinweis
Die Konfigurationsdatei wurde von config.json zu settings.json umbenannt. Vorhandene Einstellungen werden beim Start automatisch von ~/.copilot/config.json migriert.
Die vollständige Liste der Einstellungen und deren Interaktion mit der Konfiguration auf Repositoryebene finden Sie weiter unten in diesem Artikel unter Konfigurationsdateieinstellungen .
Tipp
Führen Sie copilot help config in Ihrem Terminal für eine schnelle Referenz aus.
copilot-instructions.md
Persönliche benutzerdefinierte Anweisungen, die für alle Ihre Sitzungen gelten, unabhängig davon, in welchem Projekt Sie arbeiten. Diese Datei funktioniert auf die gleiche Weise wie eine Repositoryebene copilot-instructions.md , gilt aber global.
Weitere Informationen findest du unter Hinzufügen von benutzerdefinierten Repositoryanweisungen für GitHub Copilot.
instructions/
Speichern Sie hier zusätzliche persönliche Anweisungsdateien als *.instructions.md Dateien. Diese werden zusammen mit copilot-instructions.md geladen und gelten für alle Ihre Sitzungen. Sie können Anweisungen nach Themen organisieren, z. B. ~/.copilot/instructions/code-style.instructions.md.
mcp-config.json
Definiert MCP-Server (Model Context Protocol), die auf Benutzerebene verfügbar sind. Diese Server sind in allen Ihren Sitzungen verfügbar, unabhängig davon, in welchem Projektverzeichnis Sie sich befinden. Projekt-Ebene-MCP-Konfigurationen (in .mcp.json oder .github/mcp.json) haben Vorrang vor Definitionen auf Benutzerebene, wenn Servernamen in Konflikt stehen.
Weitere Informationen findest du unter Hinzufügen von MCP-Servern für GitHub Copilot-CLI.
lsp-config.json
Definiert LSP-Server (Language Server Protocol), die auf Benutzerebene verfügbar sind. Diese Server stellen dem Agent Sprachintelligenz (Diagnose, Fertigstellungen usw.) bereit. Verwalten Sie diese Datei mithilfe des /lsp Schrägstrichbefehls, oder bearbeiten Sie sie direkt.
Weitere Informationen findest du unter Hinzufügen von LSP-Servern für GitHub Copilot-CLI.
agents/
Speichern Sie hier persönliche benutzerdefinierte Agentdefinitionen als .agent.md Dateien. Agents, die in diesem Verzeichnis platziert sind, sind in allen Ihren Sitzungen verfügbar. Project-Agents (in .github/agents/) haben Vorrang vor persönlichen Agents, wenn sie denselben Namen haben.
Weitere Informationen findest du unter Erstellen und Verwenden von benutzerdefinierten Agenten für GitHub Copilot-CLI.
skills/
Speichern Sie hier persönliche benutzerdefinierte Qualifikationsdefinitionen. Jede Fähigkeit befindet sich in einem Unterverzeichnis, das eine SKILL.md Datei enthält, ~/.copilot/skills/my-skill/SKILL.mdz. B. . Persönliche Skills sind in allen Ihren Sitzungen verfügbar. Projektfähigkeiten haben Vorrang vor persönlichen Fähigkeiten, wenn beide denselben Namen tragen.
Weitere Informationen findest du unter Hinzufügen von Agent-Fähigkeiten für GitHub Copilot-CLI.
hooks/
Speichern Sie hier Benutzerebene-Hook-Skripte. Diese Hooks gelten für alle Ihre Sitzungen. Sie können Hooks auch direkt in Ihrer Benutzerkonfigurationsdatei (~/.copilot/settings.json) mit dem hooks-Schlüssel definieren. Hooks auf Repositoryebene (in .github/hooks/) werden zusammen mit Hooks auf Benutzerebene geladen.
Weitere Informationen findest du unter Verwenden von Hooks mit GitHub Copilot-CLI.
Automatisch verwaltete Dateien
Die folgenden Elemente werden von der CLI verwaltet. Im Allgemeinen sollten Sie sie nicht manuell bearbeiten.
permissions-config.json
Speichert Ihre gespeicherten Entscheidungen über Tool- und Verzeichnisberechtigungen, organisiert nach Projektstandort. Wenn Sie ein Tool genehmigen oder Zugriff auf ein Verzeichnis gewähren, zeichnet die CLI die Entscheidung hier auf, sodass Sie im selben Projekt nicht erneut aufgefordert werden.
Hinweis
Wenn Sie Berechtigungen für ein Projekt zurücksetzen möchten, können Sie den entsprechenden Eintrag aus dieser Datei löschen. Das Bearbeiten der Datei während der Ausführung einer Sitzung kann jedoch zu unerwartetem Verhalten führen.
session-state/
Enthält Sitzungsverlaufsdaten, organisiert nach Sitzungs-ID in Unterverzeichnissen. Jedes Sitzungsverzeichnis speichert ein Ereignisprotokoll (events.jsonl) und Arbeitsbereichsartefakte (Pläne, Prüfpunkte, nachverfolgte Dateien). Diese Daten ermöglichen den Fortsetzen der Sitzung (--resume oder --continue).
session-store.db
Eine SQLite-Datenbank, die von der CLI für sitzungsübergreifende Daten verwendet wird, z. B. Prüfpunktindizierung und Suche. Diese Datei wird automatisch verwaltet und sollte nicht bearbeitet werden.
logs/
Enthält Protokolldateien für CLI-Sitzungen. Jede Sitzung erstellt eine Protokolldatei mit dem Namen process-{timestamp}-{pid}.log. Diese Dateien sind hilfreich beim Debuggen von Problemen.
Tipp
Um die Protokolldatei für Ihre aktuelle Sitzung zu finden, geben Sie /session in einer interaktiven Sitzung ein. Die Ausgabe enthält den vollständigen Pfad zur Protokolldatei sowie andere Sitzungsdetails wie sitzungs-ID, Dauer und Arbeitsverzeichnis.
installed-plugins/
Enthält die Dateien für Plug-Ins, die Sie installiert haben. Plugins, die auf einem Marketplace installiert sind, werden unter installed-plugins/{marketplace-name}/{plugin-name}/gespeichert. Direkt installierte Plugins werden unter installed-plugins/_direct/gespeichert. Verwalten Sie Plug-Ins mithilfe der copilot plugin Befehle, anstatt dieses Verzeichnis direkt zu bearbeiten.
Weitere Informationen findest du unter GitHub Copilot CLI-Plug-In-Referenz.
plugin-data/
Enthält persistente Daten für installierte Plug-Ins, organisiert nach Marketplace- und Plugin-Namen. Diese Daten werden von den Plug-Ins selbst verwaltet und sollten nicht manuell bearbeitet werden.
ide/
Enthält Sperrdateien und Zustand für IDE-Integrationen (zum Beispiel, wenn Copilot CLI mit Visual Studio Code verbunden ist). Dieses Verzeichnis wird automatisch verwaltet.
Ändern des Speicherorts des Konfigurationsverzeichnisses
Sie können den Standardspeicherort ~/.copilot auf zwei verschiedene Weisen außer Kraft setzen:
-
**Umgebungsvariable**: Legen Sie `COPILOT_HOME` den Pfad des Verzeichnisses fest, das Sie verwenden möchten.Bash export COPILOT_HOME=/path/to/my/copilot-config
export COPILOT_HOME=/path/to/my/copilot-config -
**Befehlszeilenoption**: Beim Starten der CLI verwenden `--config-dir` .Bash copilot --config-dir /path/to/my/copilot-config
copilot --config-dir /path/to/my/copilot-config
Die --config-dir-Option hat Vorrang vor COPILOT_HOME, das wiederum Vorrang vor dem Standardspeicherort ~/.copilot hat.
Zu beachtende Dinge
-
`COPILOT_HOME` ersetzt den gesamten `~/.copilot` Pfad. Der von Ihnen festgelegte Wert sollte der vollständige Pfad zu dem Verzeichnis sein, das Sie für die Konfigurationsdateien und Unterverzeichnisse verwenden möchten. -
Das Ändern des Verzeichnisses bedeutet, dass Ihre vorhandene Konfiguration, der Sitzungsverlauf, die installierten Plug-Ins und gespeicherten Berechtigungen am neuen Speicherort nicht gefunden werden. Kopieren oder verschieben Sie die Inhalte von
~/.copilotan den neuen Speicherort, wenn Sie sie beibehalten möchten. -
Das Cacheverzeichnis (verwendet für Marketplace-Caches, Automatisch-Update-Pakete und andere kurzlebige Daten) folgt Plattformkonventionen und ist nicht betroffen von
COPILOT_HOME. Es befindet sich unter:**macOS**: `~/Library/Caches/copilot`- Linux:
$XDG_CACHE_HOME/copilotoder~/.cache/copilot**Windows**: `%LOCALAPPDATA%/copilot`Um das Cacheverzeichnis separat außer Kraft zu setzen, legen Sie
COPILOT_CACHE_HOMEfest.
Was Sie sicher löschen können
| Element | Sicher zu löschen? | Auswirkung |
|---|---|---|
agents/, skills/``hooks/ | Nicht empfohlen | Sie verlieren Ihre persönlichen Anpassungen. Sichern Sie zuerst. |
copilot-instructions.md, instructions/ | Nicht empfohlen | Ihre persönlichen benutzerdefinierten Anweisungen gehen verloren. Sichern Sie zuerst. |
installed-plugins/ | Nicht empfohlen | Verwenden Sie copilot plugin uninstall stattdessen, um sicherzustellen, dass Plug-In-Metadaten settings.json konsistent bleiben. |
logs/ | Ja | Protokolldateien werden jede Sitzung neu erstellt. Das Löschen hat keine funktionalen Auswirkungen. |
lsp-config.json | Nicht empfohlen | Ihre LSP-Serverdefinitionen auf Benutzerebene gehen verloren. Sichern Sie zuerst. |
mcp-config.json | Nicht empfohlen | Ihre MCP-Serverdefinitionen auf Benutzerebene gehen verloren. Sichern Sie zuerst. |
permissions-config.json | Mit Vorsicht | Setzt alle gespeicherten Berechtigungen zurück. Die CLI fordert Sie erneut zur Eingabe von Tool- und Verzeichnisgenehmigungen auf. |
plugin-data/ | Ja | Persistente Plug-In-Daten werden nach Bedarf neu erstellt. |
session-state/ | Mit Vorsicht | Durch das Löschen wird die Sitzungshistorie entfernt. Sie können vergangene Sitzungen nicht mehr fortsetzen. |
session-store.db | Mit Vorsicht | Beim Löschen werden sitzungsübergreifende Daten entfernt. Die Datei wird automatisch neu erstellt. |
settings.json | Mit Vorsicht | Setzt alle Konfigurationen auf Standardwerte zurück. Sie müssen Ihre Einstellungen neu konfigurieren und erneut authentifizieren. |
Konfigurationsdateieinstellungen
Einstellungen werden vom Benutzer auf das Repository und dann lokal übertragen, wobei spezifischere Bereiche allgemeinere ersetzen. Befehlszeilenoptionen und Umgebungsvariablen haben immer die höchste Priorität.
Scope | Location | Purpose |
|---|---|---|
| Benutzer | ~/.copilot/settings.json | Globale Standardwerte für alle Repositories. Verwenden Sie die COPILOT_HOME Umgebungsvariable, um einen alternativen Pfad anzugeben. |
| Repository | .github/copilot/settings.json | Konfiguration des freigegebenen Repositorys (im Repository festgeschrieben). |
| Local | .github/copilot/settings.local.json | Persönliche Außerkraftsetzungen (fügen Sie diese hinzu)..gitignore |
Benutzereinstellungen (~/.copilot/settings.json)
Diese Einstellungen gelten für alle Ihre Sitzungen und Repositorys. Sie können diese Datei direkt bearbeiten oder Schrägstrichbefehle verwenden, um einzelne Werte zu aktualisieren.
| Schlüssel | Typ | Default | Beschreibung |
|---|---|---|---|
allowedUrls | string[] | [] | URLs oder Domänen, die ohne Aufforderung zulässig sind. Unterstützt genaue URLs, Domänenmuster und Wildcard-Unterdomänen (z. B "*.github.com". ). |
askUser | boolean | true | Erlauben Sie dem Agenten, Klarstellungsfragen zu stellen. Auf false für den vollständig autonomen Betrieb einstellen. Kann auch mit --no-ask-user eingestellt werden. |
autoUpdate | boolean | true | Cli-Updates automatisch herunterladen. |
autoUpdatesChannel |
`"stable"`
\|
`"prerelease"`
| `"stable"` | Kanal aktualisieren. Um Vorabversionen zu erhalten, auf `"prerelease"` festlegen. |
| banner |
"always"
|
"once"
|
"never"
| "once" | Animierte Banneranzeigehäufigkeit. |
| bashEnv | boolean | false | Aktivieren Sie BASH_ENV die Unterstützung für Bash-Shells. Kann auch mit --bash-env oder --no-bash-env. |
| beep | boolean | true | Spielen Sie einen hörbaren Signalton, wenn Aufmerksamkeit nötig ist. |
| colorMode |
"default"
|
"dim"
|
"high-contrast"
|
"colorblind"
| "default" | Farbkontrastmodus. Verwaltet durch den /theme Schrägstrichbefehl. |
| compactPaste | boolean | true | Kompaktieren Sie große Einfügungen (mehr als 10 Zeilen) in kompakte Token. |
| companyAnnouncements | string[] | [] | Benutzerdefinierte Nachrichten, die beim Start zufällig angezeigt werden. Eine Nachricht wird bei jedem Start der CLI zufällig ausgewählt. Nützlich für Teamankündigungen oder Erinnerungen. |
| continueOnAutoMode | boolean | false | Wechselt automatisch in den automatischen Modus, wenn die Rate begrenzt ist. Wenn true, berechtigte Ratenlimit-Fehler einen automatischen Wechsel in den Auto-Modus auslösen und einen erneuten Versuch starten. Gilt nicht für globale Tarifgrenzwerte oder BYOK-Anbieter. |
| copyOnSelect | boolean |
true (macOS), false (andere) | Kopieren Sie automatisch den mit der Maus markierten Text in die Systemablage im alternativen Bildschirmmodus. |
| customAgents.defaultLocalOnly | boolean | false | Verwenden Sie nur lokale benutzerdefinierte Agents (keine Remoteorganisation oder Unternehmens-Agents). |
| deniedUrls | string[] | [] | URLs oder Domänen, die immer verweigert werden. Die Ablehnungsregeln haben Vorrang vor den Zulassungsregeln. |
| disableAllHooks | boolean | false | Alle Hooks deaktivieren (sowohl Repositoryebene als auch Benutzerebene). |
| disabledMcpServers | string[] | [] | MCP-Servernamen, die deaktiviert werden sollen. Aufgelistete Server sind konfiguriert, aber nicht gestartet. |
| disabledSkills | string[] | [] | Zu deaktivierende Skillnamen. Aufgelistete Fähigkeiten werden entdeckt, aber nicht geladen. |
| effortLevel | string | "medium" | Begründungsaufwand für erweitertes Denken: "low", , "medium", "high", oder "xhigh". Höhere Ebenen verwenden mehr Rechenleistung. |
| enabledMcpServers | string[] | [] | Aktivieren Sie integrierte MCP-Server, die standardmäßig deaktiviert sind (z. B "computer-use". ). |
| enabledPlugins | Record<string, boolean> | {} | Automatische Installation des deklarativen Plug-Ins. Schlüssel sind Plug-In-Spezifikationen; Werte sind true (aktiviert) oder false (deaktiviert). |
| experimental | boolean | false | Aktivieren Sie experimentelle Features. Kann auch mit der --experimental Befehlszeilenoption oder dem /experimental Schrägstrichbefehl aktiviert werden. |
| extraKnownMarketplaces | Record<string, {...}> | {} | Zusätzliche Plug-In-Marketplaces. Jeder Schlüssel ist ein Marktplatzname; der Wert gibt die Quelle ("directory", "git"oder "github") an. |
| footer | object | — | Steuert, welche Elemente in der Statuszeile angezeigt werden. Unterschlüssel: showModelEffort, showDirectory, showBranch, showContextWindow, showQuota, showAgent (alle boolean). Verwaltet durch den /statusline Schrägstrichbefehl. |
| hooks | object | — | Inline-Hookdefinitionen auf Benutzerebene, schlüsselt nach Ereignisname. Verwendet dasselbe Schema wie .github/hooks/*.json Dateien. Siehe Verwenden von Hooks mit GitHub Copilot-CLI. |
| ide.autoConnect | boolean | true | Automatische Verbindung mit einem IDE-Arbeitsbereich beim Start herstellen. Wenn false, können Sie mithilfe des /ide Befehls weiterhin eine manuelle Verbindung herstellen. |
| ide.openDiffOnEdit | boolean | true | Öffnen Von Dateibearbeitungs-Diffs in der verbundenen IDE zur Genehmigung. Wenn false, werden Dateiänderungsfreigaben nur im Terminal angezeigt. |
| includeCoAuthoredBy | boolean | true | Fügen Sie einen Co-authored-by-Trailer zu git-Commits hinzu, die vom Agenten vorgenommen wurden. |
| logLevel |
"none"
|
"error"
|
"warning"
|
"info"
|
"debug"
|
"all"
|
"default"
| "default" | Ausführliche Protokollierung. |
| mergeStrategy |
"rebase"
|
"merge"
| — | Konfliktlösungsstrategie für /pr fix conflicts. Bei Festlegung auf "rebase", werden Konflikte durch erneutes Basieren auf der Basisverzweigung aufgelöst. Wenn auf "merge" eingestellt, wird der Basiszweig in den Feature-Zweig zusammengeführt. Wenn sie nicht konfiguriert ist, wird ein Auswahldialogfeld angezeigt. |
| model | string | variiert | Zu verwendende KI-Modell. Legen Sie "auto" fest, um Copilot das beste verfügbare Modell automatisch auswählen zu lassen. Verwaltet durch den /model Schrägstrichbefehl. |
| mouse | boolean | true | Aktivieren Sie die Mausunterstützung im alternativen Bildschirmmodus. Kann auch mit --mouse oder --no-mouse. |
| powershellFlags | string[] | ["-NoProfile", "-NoLogo"] | Flags, die beim Start an PowerShell (pwsh) übergeben werden. Nur Windows. |
| renderMarkdown | boolean | true | Markdown in der Terminal-Ausgabe rendern. |
| respectGitignore | boolean | true | Schließen Sie gitignored-Dateien aus der @ Datei-Erwähnungsauswahl aus. Wenn der Picker false Dateien enthält, die normalerweise von .gitignore ausgeschlossen sind. |
| screenReader | boolean | false | Aktivieren Sie Bildschirmleser-Optimierungen. |
| skillDirectories | string[] | [] | Zusätzliche Verzeichnisse für die Suche nach benutzerdefinierten Qualifikationsdefinitionen (zusätzlich zu ~/.copilot/skills/). |
| statusLine | object | — | Benutzerdefinierte Statuszeilenanzeige.
type: muss sein "command".
command: Pfad zu einem ausführbaren Skript, das Sitzungs-JSON für Stdin empfängt und gibt Statusinhalte auf Stdout aus.
padding: Optionale Anzahl von Leerzeichen für den linken Abstand. |
| storeTokenPlaintext | boolean | false | Speichern Sie Authentifizierungstoken in Nur-Text in der Konfigurationsdatei, wenn kein Systemschlüsselbund verfügbar ist. |
| stream | boolean | true | Streamingantworten aktivieren. |
| streamerMode | boolean | false | Blenden Sie Vorschaumodellnamen und Kontingentdetails aus. Hilfreich beim Präsentieren von Copilot CLI oder bei der Bildschirmfreigabe. |
| theme |
"auto"
|
"dark"
|
"light"
| "auto" | Terminalfarbthema.
"auto" erkennt den Terminalhintergrund und wählt entsprechend aus. |
| updateTerminalTitle | boolean | true | Zeigen Sie die aktuelle Absicht auf der Terminalregisterkarte oder im Fenstertitel an. |
Repository-Einstellungen (.github/copilot/settings.json)
Repositoryeinstellungen gelten für alle Personen, die im Repository arbeiten. Sie werden im Repository gespeichert und mit Kollaboratoren geteilt.
Nur die in der folgenden Tabelle aufgeführten Schlüssel werden auf Repositoryebene unterstützt. Alle anderen Schlüssel , einschließlich der Schlüssel, die in der Benutzerkonfigurationsdatei gültig sind, werden automatisch ignoriert.
| Schlüssel | Typ | Zusammenführungsverhalten | Beschreibung |
|---|---|---|---|
companyAnnouncements | string[] | Ersetzt – Repository hat Vorrang | Nachrichten, die beim Start zufällig angezeigt werden. |
disableAllHooks | boolean | Repository hat Vorrang | Alle Hooks deaktivieren. |
enabledPlugins | Record<string, boolean> | Zusammengeführt – Repository setzt benutzer für denselben Schlüssel außer Kraft | Automatische Installation des deklarativen Plug-Ins. |
extraKnownMarketplaces | Record<string, {...}> | Zusammengeführt – Repository setzt benutzer für denselben Schlüssel außer Kraft | Plug-In-Marketplaces, die in diesem Repository verfügbar sind. |
hooks | object | Verkettet: Repository-Hooks werden nach Benutzer-Hooks ausgeführt | Hook-Definitionen, die auf dieses Repository beschränkt sind. Siehe Verwenden von Hooks mit GitHub Copilot-CLI. |
mergeStrategy |
`"rebase"`
\|
`"merge"`
| Repository hat Vorrang | Konfliktlösungsstrategie für `/pr fix conflicts`. |
Lokale Einstellungen (.github/copilot/settings.local.json)
Erstellen Sie .github/copilot/settings.local.json im Repository für persönliche Überschreibungen, die nicht festgeschrieben werden sollen. Fügen Sie diese Datei zu .gitignore.
Die lokale Konfigurationsdatei verwendet dasselbe Schema wie die Repositorykonfigurationsdatei (.github/copilot/settings.json) und hat Vorrang.