Второй пилот 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
export COPILOT_HOME=/path/to/my/copilot-config -
**Опция командной строки**: Используйте `--config-dir` при запуске CLI.Bash copilot --config-dir /path/to/my/copilot-config
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 | С осторожностью | Сбрасывает все настройки по умолчанию. Вам нужно будет перенастроить настройки и пройти повторную аутентификацию. |
Настройки конфигурационных файлов
Настройки каскадно переходят от пользователя к репозиторию и локально, при этом более специфические области объёмов перемещают более общие. Командная строка и переменные окружения всегда занимают наибольшее значение.
| Область действия | Location | Purpose |
|---|---|---|
| User | ~/.copilot/settings.json | Глобальные стандарты для всех репозиториев. Используйте COPILOT_HOME переменную среды для указания альтернативного пути. |
| Репозиторий | .github/copilot/settings.json | Конфигурация общего репозитория (фиксирована в репозитории). |
| Local | .github/copilot/settings.local.json | Личные перемены (добавьте это к .gitignore). |
Пользовательские настройки (~/.copilot/settings.json)
Эти настройки применимы ко всем вашим сессиям и репозиториям. Вы можете редактировать этот файл напрямую или использовать команды слэш для обновления отдельных значений.
| Ключ | Тип | Default | Описание |
|---|---|---|---|
allowedUrls | string[] | [] | URL или домены разрешены без подсказки. Поддерживает точные URL-адреса, шаблоны доменов и поддомены с уайлдкардом (например, "*.github.com"). |
askUser | boolean | true | Позвольте агенту задавать уточняющие вопросы. Настроен false на полностью автономную работу. Также можно установить с --no-ask-user. |
autoUpdate | boolean | true | Автоматически скачивайте обновления 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)
Настройки репозитория применимы ко всем, кто работает в репозитории. Они привержены хранилищу и делятся ими с сотрудниками.
На уровне репозитория поддерживаются только ключи, перечисленные в следующей таблице. Любые другие ключи — включая те, что действительны в пользовательском конфигурационном файле — молча игнорируются.
| Ключ | Тип | Поведение слияния | Описание |
|---|---|---|---|
companyAnnouncements | string[] | Замена — репозиторий имеет приоритет | Сообщения появляются случайно при запуске. |
disableAllHooks | boolean | Репозиторий имеет приоритет | Отключите все крючки. |
enabledPlugins | Record<string, boolean> | Merged — репозиторий переопределяет пользователя для того же ключа | Автоматическая установка декларативного плагина. |
extraKnownMarketplaces | Record<string, {...}> | Merged — репозиторий переопределяет пользователя для того же ключа | Маркетплейсы плагинов, доступные в этом репозитории. |
hooks | object | Конкатенированные — крючки репозиторий выполняются после пользовательских хуков | Определения крючков, ограниченные этим репозиторием. См . раздел AUTOTITLE. |
mergeStrategy |
`"rebase"`
\|
`"merge"`
| Репозиторий имеет приоритет | Стратегия разрешения конфликтов для `/pr fix conflicts`. |
Локальные настройки (.github/copilot/settings.local.json)
Создайте .github/copilot/settings.local.json в репозитории личные перемены, которые не должны быть коммитированы. Добавить этот файл в .gitignore.
Локальный конфигурационный файл использует ту же схему, что и файл конфигурации репозитория (.github/copilot/settings.json), и имеет приоритет над ней.