Skip to main content

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

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

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

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

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

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

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

Примечание.

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

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

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

settings.json

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

Примечание.

Конфигурационный файл был переименован из config.json в settings.json. Существующие настройки автоматически переносятся при ~/.copilot/config.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/config.json) с помощью ключа hooks . Хуки уровня репозитория (in .github/hooks/) загружаются вместе с пользовательскими хуками.

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

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

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

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
    
  •         **Опция командной строки**: Используйте `--config-dir` при запуске CLI.
    
    Bash
    copilot --config-dir /path/to/my/copilot-config
    

Опция --config-dir имеет приоритет над COPILOT_HOME, которая, в свою очередь, имеет приоритет перед стандартным ~/.copilot местоположением.

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

  •         `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/Не рекомендуетсяВы потеряете свои личные настройки. Сначала отойди.
copilot-instructions.md, instructions/Не рекомендуетсяВы потеряете свои индивидуальные инструкции. Сначала отойди.
installed-plugins/Не рекомендуетсяИспользуйте copilot plugin uninstall вместо этого, чтобы метаданные settings.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 | Храните токены аутентификации в открытом тексте в конфигурационном файле, когда системный ключ недоступен. | | 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), и имеет приоритет над ней.

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