Skip to main content

Каталог конфигурации CLI GitHub Copilot

Найдите информацию о ~/.copilot каталоге, где Второй пилот CLI хранятся конфигурации, данные сессий и настройки.

          Второй пилот CLI Хранит свою конфигурацию, историю сессий, журналы и настройки в одном каталоге на вашем компьютере. По умолчанию эта папка ( `~/.copilot` то есть `$HOME/.copilot`).

В этой статье описывается содержимое этого каталога и то, как им можно пользоваться.

Обзор каталога

Каталог ~/.copilot содержит следующие элементы верхнего уровня.

ПутьТипОписание
agents/DirectoryОпределения персональных кастомных агентов
config.jsonФайлАвтоматически управляемое состояние приложения (аутентификация, установленные плагины и другие внутренние данные)
copilot-instructions.mdФайлЛичные индивидуальные инструкции (применяются ко всем сессиям)
hooks/DirectoryСкрипты с крючками на уровне пользователя
ide/DirectoryСостояние интеграции IDE
installed-plugins/DirectoryУстановленные файлы плагинов
instructions/DirectoryДополнительные личные *.instructions.md дела
logs/DirectoryФайлы журнала сессии
lsp-config.jsonФайлОпределения серверов LSP на уровне пользователя
mcp-config.jsonФайлОпределения серверов MCP на уровне пользователя
permissions-config.jsonФайлСохранённые права на инструменты и каталоги для каждого проекта
plugin-data/DirectoryПостоянные данные для установленных плагинов
session-state/DirectoryИстория сессий и данные рабочего пространства
session-store.dbФайлБаза данных SQLite для данных между сессиями
settings.jsonФайлВаши личные настройки конфигурации
skills/DirectoryОпределения личных индивидуальных навыков

Примечание.

Не все эти предметы появляются сразу. Некоторые создаются по запросу при первом использовании конкретной функции — например, installed-plugins/ появляются только после установки первого плагина.

Файлы, редактируемые пользователем

Следующие файлы предназначены для прямого редактирования вами или управления с помощью команд CLI.

settings.json

Это основной конфигурационный файл для Второй пилот CLI. Вы можете редактировать его напрямую в текстовом редакторе или использовать интерактивные команды, такие как /model и /theme для изменения конкретных значений внутри сессии. Файл поддерживает JSON с комментариями (JSONC).

Примечание.

Настройки, редактируемые пользователем, изначально хранились в config.json. Они были перенесены на settings.json. Любые пользовательские настройки, появляющиеся при config.json запуске, автоматически мигрируются в settings.json.

Полный список настроек и их взаимодействие с конфигурацией на уровне репозитория см. раздел «Настройки конфигурационных файлов » позже в этой статье.

Совет

Запусти copilot help config в терминале для быстрой справки.

copilot-instructions.md

Личные индивидуальные инструкции, которые применимы ко всем вашим сессиям, независимо от того, над каким проектом вы работаете. Этот файл работает так же, как репозиторий copilot-instructions.md , но применяется глобально.

Дополнительные сведения см. в разделе Добавление пользовательских инструкций репозитория для GitHub Copilot.

instructions/

Здесь храните дополнительные личные инструкции в виде *.instructions.md файлов. Они загружаются вместе copilot-instructions.md и применяются ко всем вашим сессиям. Вы можете организовать инструкции по темам — например, ~/.copilot/instructions/code-style.instructions.md.

mcp-config.json

Определяет серверы MCP (Model Context Protocol), доступные на уровне пользователя. Эти серверы доступны во всех ваших сессиях, независимо от того, в каком вы каталоге проектов. Project-уровневые конфигурации MCP (в .mcp.json или .github/mcp.json) имеют приоритет над определениями на уровне пользователя при конфликте имён серверов.

Дополнительные сведения см. в разделе Добавление MCP-серверов для GitHub Copilot CLI.

lsp-config.json

Определяет серверы Language Server Protocol (LSP), доступные на уровне пользователя. Эти серверы предоставляют агенту языковой интеллект (диагностику, завершение и т.д.). Управляйте этим файлом с помощью /lsp команды slash или редактируйте его напрямую.

Дополнительные сведения см. в разделе Добавление серверов LSP для GitHub Copilot CLI.

agents/

Здесь храните личные определения пользовательских агентов в виде .agent.md файлов. Агенты, размещённые в этом каталоге, доступны во всех ваших сессиях. Агенты Project уровня (в .github/agents/) имеют приоритет перед личными агентами, если у них одинаковое имя.

Дополнительные сведения см. в разделе Создание и использование пользовательских агентов для GitHub Copilot CLI.

skills/

Здесь храните личные индивидуальные определения навыков. Каждый навык находится в подкаталоге, содержащем SKILL.md файл — например, ~/.copilot/skills/my-skill/SKILL.md. Личные навыки доступны во всех ваших сессиях. Навыки Project Level имеют приоритет над личными, если у них одинаковое название.

Дополнительные сведения см. в разделе Добавление навыков агента для GitHub Copilot CLI.

hooks/

Здесь можно хранить скрипты с крючками на уровне пользователя. Эти зацепки применимы ко всем вашим сессиям. Вы также можете задать крючки в строке в пользовательском конфигурационном файле (~/.copilot/settings.json) с помощью ключа hooks . Хуки уровня репозитория (in .github/hooks/) загружаются вместе с пользовательскими хуками.

Дополнительные сведения см. в разделе Использование крючков с GitHub Copilot CLI.

Автоматически управляемые файлы

Следующие пункты управляются CLI. Обычно не стоит редактировать их вручную.

config.json

Хранит внутреннее состояние приложения, которое автоматически управляется CLI, включая данные аутентификации, метаданные установленного плагина и другую информацию во время выполнения. Обычно редактировать этот файл не понадобится.

Примечание.

Ранние версии Второй пилот CLI хранили как пользовательские настройки, так и состояние приложения в config.json. Настройки, редактируемые пользователем, теперь расположены в settings.json. Любые пользовательские настройки config.json при запуске автоматически переносятся в settings.json. Поля прикладного состояния — такие loggedInUsersкак , installedPlugins, firstLaunchAt, и staff— остаются в config.json и не мигрированы.

permissions-config.json

Сохраняет сохранённые решения по инструменту и разрешению каталога, организованные по расположению проекта. Когда вы одобряете инструмент или предоставляете доступ к каталогу, CLI фиксирует решение здесь, чтобы вас больше не запросили в том же проекте.

Примечание.

Если вы хотите сбросить разрешения для проекта, вы можете удалить соответствующую запись из этого файла. Однако редактирование файла во время сессии может вызвать неожиданное поведение.

session-state/

Содержит данные истории сессий, организованные по идентификатору сессии в подкаталогах. Каждый каталог сессии хранит журнал событий (events.jsonl) и артефакты рабочего пространства (планы, контрольные точки, отслеживаемые файлы). Эти данные позволяют возобновить сессию (--resume или --continue).

session-store.db

База данных SQLite, используемая CLI для межсессионных данных, таких как индексация контрольных точек и поиск. Этот файл управляется автоматически и не должен редактироваться.

logs/

Содержит лог-файлы для сессий CLI. Каждая сессия создаёт лог-файл с названием process-{timestamp}-{pid}.log. Эти файлы полезны для отладки.

Совет

Чтобы найти файл журнала вашей текущей сессии, зарегистрируйте /session интерактивную сессию. Вывод включает полный путь к файлу журнала, а также другие детали сессии, такие как идентификатор сессии, длительность и рабочий каталог.

installed-plugins/

Содержит файлы для установленных вами плагинов. Плагины, установленные на маркетплейсе, хранятся в .installed-plugins/{marketplace-name}/{plugin-name}/ Напрямую установленные плагины хранятся в .installed-plugins/_direct/ Управляйте плагинами с copilot plugin помощью команд, а не редактировать эту папку напрямую.

Дополнительные сведения см. в разделе Ссылка на плагин GitHub Copilot CLI.

plugin-data/

Содержит постоянные данные для установленных плагинов, организованные по маркетплейсу и имени плагина. Эти данные управляются самими плагинами и не должны редактироваться вручную.

ide/

Содержит файлы блокировки и состояние для интеграций с IDE (например, при Второй пилот CLI подключении к Visual Studio Code). Этот каталог управляется автоматически.

Изменение расположения каталога конфигурации

Чтобы переопределить местоположение по умолчанию ~/.copilot , установите COPILOT_HOME переменную среды на путь к нужной вам директории.

Bash
export COPILOT_HOME=/path/to/my/copilot-config

Вещи, которые следует учитывать

  • COPILOT_HOME заменяет весь ~/.copilot путь. Значение должно быть полным путём к нужной директории, которую вы хотите использовать для конфигурационных файлов и подкаталогов.

  • Изменение каталога означает, что ваша существующая конфигурация, история сессий, установленные плагины и сохранённые права не будут найдены в новом месте. Скопируйте или переместите содержимое ~/.copilot в новый адрес, если хотите сохранить его.

  • Каталог кэша (используемый для маркетплейс-кэшей, автоматического обновления пакетов и других временных данных) следует платформным конвенциям и не подвергается COPILOT_HOMEвлиянию . Он расположен по адресу:

    • macOS:~/Library/Caches/copilot
    • Linux: $XDG_CACHE_HOME/copilot или ~/.cache/copilot
    • Windows: %LOCALAPPDATA%/copilot

    Чтобы отдельно переопределить каталог кэша, установите COPILOT_CACHE_HOME.

Что можно безопасно удалить

ЭлементБезопасно ли удалить?Эффект
agents/, , skills/``hooks/Не рекомендуетсяВы потеряете свои личные настройки. Сначала отойди.
config.jsonС осторожностьюСбрасывает состояние приложения, включая аутентификацию. Вам потребуется повторная аутентификацию, и CLI повторно обнаружит внутреннее состояние при следующем запуске.
copilot-instructions.md, instructions/Не рекомендуетсяВы потеряете свои индивидуальные инструкции. Сначала отойди.
installed-plugins/Не рекомендуетсяИспользуйте copilot plugin uninstall вместо этого, чтобы метаданные плагина config.json оставались точными.
logs/ДаФайлы журналов создаются заново каждую сессию. Удаление их не имеет функционального эффекта.
lsp-config.jsonНе рекомендуетсяВы потеряете определения сервера LSP на уровне пользователя. Сначала отойди.
mcp-config.jsonНе рекомендуетсяВы потеряете определения сервера MCP на уровне пользователя. Сначала отойди.
permissions-config.jsonС осторожностьюСбрасывает все сохранённые права. CLI снова подскаже вам одобрение инструментов и каталогов.
plugin-data/ДаПостоянные данные плагина создаются по мере необходимости.
session-state/С осторожностьюУдаление удаляет историю сессий. Вы больше не сможете возобновить прошлые занятия.
session-store.dbС осторожностьюУдаление удаляет данные между сессиями. Файл воссоздаётся автоматически.
settings.jsonС осторожностьюВсе пользовательские настройки сбрасываются до стандартных настроек. Вам нужно будет перенастроить настройки.

Настройки конфигурационных файлов

Настройки каскадно переходят от пользователя к репозиторию и локально, при этом более специфические области объёмов перемещают более общие. Командная строка и переменные окружения всегда занимают наибольшее значение.

Область действияLocationPurpose
User~/.copilot/settings.jsonГлобальные стандарты для всех репозиториев. Используйте COPILOT_HOME переменную среды для указания альтернативного пути.
Репозиторий.github/copilot/settings.jsonКонфигурация общего репозитория (фиксирована в репозитории).
Local.github/copilot/settings.local.jsonЛичные перемены (добавьте это к .gitignore).

Пользовательские настройки (~/.copilot/settings.json)

Эти настройки применимы ко всем вашим сессиям и репозиториям. Вы можете редактировать этот файл напрямую или использовать команды слэш для обновления отдельных значений.

КлючТипDefaultОписание
allowedUrlsstring[][]URL или домены разрешены без подсказки. Поддерживает точные URL-адреса, шаблоны доменов и поддомены с уайлдкардом (например, "*.github.com").
askUserbooleantrueПозвольте агенту задавать уточняющие вопросы. Настроен false на полностью автономную работу. Также можно установить с --no-ask-user.
autoUpdatebooleantrueАвтоматически скачивайте обновления CLI.
autoUpdatesChannel
          `"stable"`
          \|
          `"prerelease"`
         | `"stable"` | Канал обновлений. Настроен на `"prerelease"` получение обновлений до релиза. |

| banner | "always" | "once" | "never" | "once" | Частота анимированного отображения баннеров. | | bashEnv | boolean | false | Включите BASH_ENV поддержку bash-shells. Также можно задать с --bash-env помощью или --no-bash-env. | | beep | boolean | true | Воспроизведите звуковой сигнал, когда требуется внимание. | | colorMode | "default" | "dim" | "high-contrast" | "colorblind" | "default" | Режим цветового контраста. Управляется командой /theme слэша. | | compactPaste | boolean | true | Свернуть большие пасты (более 10 строк) в компактные токены. | | companyAnnouncements | string[] | [] | Пользовательские сообщения отображаются случайным образом при запуске. Одно сообщение выбирается случайным образом каждый раз при запуске CLI. Полезно для командных объявлений или напоминаний. | | continueOnAutoMode | boolean | false | Автоматически переключается в автоматический режим при ограничении скорости. Когда trueошибки допустимого лимита скорости вызывают автоматическое переключение в авторежим и повторную попытку. Это не относится к глобальным тарифным лимитам или провайдерам BYOK. | | copyOnSelect | boolean | true (macOS), false (другое) | Автоматически копируйте выбранный мышью текст в системный буфер обмена в альтернативном экране. | | customAgents.defaultLocalOnly | boolean | false | Используйте только локальные кастомные агенты (без удалённых агентов организации или корпоративных агентов). | | deniedUrls | string[] | [] | URL или домены, которые всегда отклоняются. Правила отказа имеют приоритет над правилами допуска. | | disableAllHooks | boolean | false | Отключите все хуки (как на уровне репозитория, так и на уровне пользователя). | | disabledMcpServers | string[] | [] | Имена серверов MCP нужно отключить. Указанные серверы настроены, но не запущены. | | disabledSkills | string[] | [] | Имена навыков нужно отключить. Перечисленные навыки открываются, но не загружаются. | | effortLevel | string | "medium" | Уровень усилий для рассуждения для расширенного мышления: "low", "medium", "high", или "xhigh". Более высокие уровни требуют больше вычислений. | | enabledMcpServers | string[] | [] | Включите встроенные MCP-серверы, которые по умолчанию отключены (например, "computer-use"). | | enabledPlugins | Record<string, boolean> | {} | Автоматическая установка декларативного плагина. Клавиши — это спецификации плагинов; значения — true (включено) или false (отключено). | | experimental | boolean | false | Включить экспериментальные функции. Также можно включить с --experimental помощью командной строки или /experimental команды слэш. | | extraKnownMarketplaces | Record<string, {...}> | {} | Дополнительные маркетплейсы плагинов. Каждый ключ является названием маркетплейса; значение указывает источник ("directory", "git", или "github"). | | footer | object | — | Управляет, какие предметы появляются в строке статуса. Подключения: showModelEffort, showDirectory, , showBranch``showContextWindow``showQuota, , showAgent (всеboolean). Управляется командой /statusline слэша. | | hooks | object | — | Встроенные определения хуков на уровне пользователя, с ключом по названию события. Использует ту же схему, что и .github/hooks/*.json файлы. См . раздел AUTOTITLE. | | ide.autoConnect | boolean | true | Автоматически подключайтесь к рабочему пространству IDE при запуске. Когда false, вы всё ещё можете подключиться вручную с помощью команды /ide . | | ide.openDiffOnEdit | boolean | true | Открывайте дифференциации редактирования файлов в подключённом IDE для утверждения. Когда false, одобрения редактирования файлов отображаются только в терминале. | | includeCoAuthoredBy | boolean | true | Добавьте Co-authored-by трейлер к git-коммитам, сделанным агентом. | | logLevel | "none" | "error" | "warning" | "info" | "debug" | "all" | "default" | "default" | Веду многословность. | | mergeStrategy | "rebase" | "merge" | — | Стратегия разрешения конфликтов для /pr fix conflicts. При установке в "rebase", конфликты разрешаются путем перебазировки на базовую ветвь. При установке в "merge", базовая ветвь объединяется с ветвью признаков. Если не настроено, отображается диалог picker. | | model | string | изменяется | Модель искусственного интеллекта для использования. Настройте "auto" так, чтобы автоматически Copilot выбирать лучшую доступную модель. Управляется командой /model слэша. | | mouse | boolean | true | Включите поддержку мыши в режиме альтернативного экрана. Также можно задать с --mouse помощью или --no-mouse. | | powershellFlags | string[] | ["-NoProfile", "-NoLogo"] | Флаги передавались в PowerShell (pwsh) при запуске. Только для Windows. | | renderMarkdown | boolean | true | Render Markdown на выходе терминала. | | respectGitignore | boolean | true | Исключите gitignored файлы из выбора @ упоминаний файлов. Когда false, picker включает файлы, обычно исключаемые ..gitignore | | screenReader | boolean | false | Включите оптимизацию экранных читателей. | | skillDirectories | string[] | [] | Дополнительные каталоги для поиска определений пользовательских навыков (в дополнение к ~/.copilot/skills/). | | statusLine | object | — | Пользовательский отбор строки статуса. type: должно быть "command". command: путь к исполняемому скрипту, который принимает session JSON на stdin и печатает статус-контент в stdout. padding: необязательное количество пробелов с левым заполнением. | | storeTokenPlaintext | boolean | false | Разрешить хранить токены аутентификации в открытом тексте, config.json когда системный ключ недоступен. | | stream | boolean | true | Включите потоковые ответы. | | streamerMode | boolean | false | Скрыть предварительные названия моделей и детали квот. Полезно при демонстрации Второй пилот CLI или совместном использовании экрана. | | theme | "auto" | "dark" | "light" | "auto" | Терминальная цветовая тема. "auto" обнаруживает фон терминала и выбирает соответствующее решение. | | updateTerminalTitle | boolean | true | Покажите текущее намерение во вкладке терминала или в заголовке окна. |

Настройки репозитория (.github/copilot/settings.json)

Настройки репозитория применимы ко всем, кто работает в репозитории. Они привержены хранилищу и делятся ими с сотрудниками.

На уровне репозитория поддерживаются только ключи, перечисленные в следующей таблице. Любые другие ключи — включая те, что действительны в пользовательском конфигурационном файле — молча игнорируются.

КлючТипПоведение слиянияОписание
companyAnnouncementsstring[]Замена — репозиторий имеет приоритетСообщения появляются случайно при запуске.
disableAllHooksbooleanРепозиторий имеет приоритетОтключите все крючки.
enabledPluginsRecord<string, boolean>Merged — репозиторий переопределяет пользователя для того же ключаАвтоматическая установка декларативного плагина.
extraKnownMarketplacesRecord<string, {...}>Merged — репозиторий переопределяет пользователя для того же ключаМаркетплейсы плагинов, доступные в этом репозитории.
hooksobjectКонкатенированные — крючки репозиторий выполняются после пользовательских хуковОпределения крючков, ограниченные этим репозиторием. См . раздел AUTOTITLE.
mergeStrategy
          `"rebase"`
          \|
          `"merge"`
         | Репозиторий имеет приоритет | Стратегия разрешения конфликтов для `/pr fix conflicts`. |

Локальные настройки (.github/copilot/settings.local.json)

Создайте .github/copilot/settings.local.json в репозитории личные перемены, которые не должны быть коммитированы. Добавить этот файл в .gitignore.

Локальный конфигурационный файл использует ту же схему, что и файл конфигурации репозитория (.github/copilot/settings.json), и имеет приоритет над ней.

Дополнительные материалы