Второй пилот CLI Хранит свою конфигурацию, историю сессий, журналы и настройки в одном каталоге на вашем компьютере. По умолчанию эта папка ( ~/.copilot то есть $HOME/.copilot).
В этой статье описывается содержимое этого каталога и то, как им можно пользоваться.
Обзор каталога
Каталог ~/.copilot содержит следующие элементы верхнего уровня.
| Путь | Тип | Описание |
|---|---|---|
agents/ | Directory | Определения персональных кастомных агентов |
config.json | Файл | Автоматически управляемое состояние приложения (аутентификация, установленные плагины и другие внутренние данные) |
copilot-instructions.md | Файл | Личные индивидуальные инструкции (применяются ко всем сессиям) |
extensions/ | Directory | Персональные расширения, загруженные CLI |
hooks/ | Directory | Скрипты с крючками на уровне пользователя |
ide/ | Directory | Состояние интеграции IDE |
installed-plugins/ | Directory | Установленные файлы плагинов |
instructions/ | Directory | Дополнительные личные *.instructions.md дела |
logs/ | Directory | Файлы журнала сессии |
lsp-config.json | Файл | Определения серверов LSP на уровне пользователя |
mcp-config.json | Файл | Определения серверов MCP на уровне пользователя |
mcp-oauth-config/ | Directory | Резервное хранилище токена MCP OAuth и регистрационного резерва |
mcp-secrets/ | Directory | Локальное резервное хранилище и индекс секретных заполнятелей MCP |
permissions-config.json | Файл | Сохранённые права на инструменты и каталоги для каждого проекта |
plugin-data/ | Directory | Постоянные данные для установленных плагинов |
session-state/ | Directory | История сессий и данные рабочего пространства |
command-history-state/ | Directory | Данные истории командования |
session-store.db | Файл | База данных SQLite для данных между сессиями |
settings.json | Файл | Ваши личные настройки конфигурации |
skills/ | Directory | Определения личных индивидуальных навыков |
Примечание.
Не все эти предметы появляются сразу. Некоторые создаются по запросу при первом использовании конкретной функции — например, installed-plugins/ появляются только после установки первого плагина.
Файлы, редактируемые пользователем
Следующие файлы предназначены для прямого редактирования вами или управления с помощью команд CLI.
settings.json
Это основной конфигурационный файл для Второй пилот CLI. В течение сессии вы можете использовать интерактивную /settings команду для изменения конкретных значений, запустить /settings KEY VALUE для установки одного значения или редактировать файл напрямую в текстовом редакторе. Файл поддерживает 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.
lsp-config.json
Определяет серверы Language Server Protocol (LSP), доступные на уровне пользователя. Эти серверы предоставляют агенту языковой интеллект (диагностику, завершение и т.д.). Управляйте этим файлом с помощью /lsp команды slash или редактируйте его напрямую.
Дополнительные сведения см. в разделе Добавление серверов LSP для интерфейс командной строки GitHub Copilot.
agents/
Здесь храните личные определения пользовательских агентов в виде .agent.md файлов. Агенты, размещённые в этом каталоге, доступны во всех ваших сессиях. Агенты Project уровня (в .github/agents/) имеют приоритет перед личными агентами, если у них одинаковое имя.
Дополнительные сведения см. в разделе Создание и использование пользовательских агентов для интерфейс командной строки GitHub Copilot.
skills/
Здесь храните личные индивидуальные определения навыков. Каждый навык находится в подкаталоге, содержащем SKILL.md файл — например, ~/.copilot/skills/my-skill/SKILL.md. Личные навыки доступны во всех ваших сессиях. Навыки Project Level имеют приоритет над личными, если у них одинаковое название.
Дополнительные сведения см. в разделе Добавление навыков агента для интерфейс командной строки GitHub Copilot.
hooks/
Здесь можно хранить скрипты с крючками на уровне пользователя. Эти зацепки применимы ко всем вашим сессиям. Вы также можете задать крючки в строке в пользовательском конфигурационном файле (~/.copilot/settings.json) с помощью ключа hooks . Хуки уровня репозитория (in .github/hooks/) загружаются вместе с пользовательскими хуками.
Дополнительные сведения см. в разделе Использование крючков с интерфейс командной строки GitHub Copilot.
extensions/
Храните файлы расширений пользовательского уровня здесь. Расширения в этом каталоге доступны между сессиями.
Вы можете создавать файлы в этой директории вручную или подготовить расширение, а затем редактировать сгенерированный файл.
Автоматически управляемые файлы
Следующие пункты управляются CLI. Обычно не стоит редактировать их вручную.
config.json
Хранит внутреннее состояние приложения, которое автоматически управляется CLI, включая данные аутентификации, метаданные установленного плагина и другую информацию во время выполнения. Обычно редактировать этот файл не понадобится.
Примечание.
Ранние версии Второй пилот CLI хранили как пользовательские настройки, так и состояние приложения в config.json. Настройки, редактируемые пользователем, теперь расположены в settings.json. Любые пользовательские настройки config.json при запуске автоматически переносятся в settings.json. Поля прикладного состояния — такие loggedInUsersкак , installedPlugins, firstLaunchAt, и staff— остаются в config.json и не мигрированы.
permissions-config.json
Сохраняет сохранённые решения по инструменту и разрешению каталога, организованные по расположению проекта. Когда вы одобряете инструмент или предоставляете доступ к каталогу текущего местоположения, CLI фиксирует решение здесь, чтобы вас больше не запросили в том же репозитории или каталоге.
Примечание.
Если вы хотите сбросить разрешения для проекта, вы можете удалить соответствующую запись из этого файла. Однако редактирование файла во время сессии может вызвать неожиданное поведение. CLI автоматически удаляет записи, путь к расположению которых больше не существует на диске.
Расположение файла
Второй пилот CLI Разрешает файл из каталога конфигурации.
| Priority | Source | Используемый файл |
|---|---|---|
| 1 | --config-dir=DIRECTORY | DIRECTORY/ |
| 2 | COPILOT_HOME | $COPILOT_HOME/ |
| 3 | Default | ~/ |
Этот --config-dir вариант — наследие. Предпочитаю COPILOT_HOME , когда нужно менять каталог конфигурации.
В Windows стандартный файл обычно выглядит:
C:\Users\YOUR-USER\.copilot\permissions-config.json
Старые сборки использовали файл без расширения под названием permissions-config. Если permissions-config.json его нет, а файл без расширения есть, CLI всё равно учитывает наследственный файл. Используйте permissions-config.json для новых правок.
Предыдущие локации конфигурации на базе XDG мигрируются ~/.copilot при запуске, когда COPILOT_HOME она не настроена.
Ключи местоположения
Объект верхнего уровня locations определяется абсолютным путём.
- Для репозитория Git используйте корень Git, используемый для определения разрешений.
- Связанные рабочие деревья разрешаются на основной корень репозитория, поэтому они разделяют права с основным деревом работы.
- Подмодули используют собственную рабочую директорию.
- Для каталога, который не входит в репозиторий Git, используйте нормализованный текущий рабочий каталог.
Ключ должен совпадать с местом, где Второй пилот CLI он работает. Если ключ не совпадает, сохраненные одобрения не будут применяться.
CLI загружает одобрения соответствующего места при начале сессии и изменении активного рабочего каталога.
Схема
Файл должен содержать объект JSON.
| Поле | Тип | Обязательный | Default | Допустимые значения | Описание |
|---|---|---|---|---|---|
locations | Object | Нет | {} | Ключи абсолютных путей | Карта ключей местоположения для сохраненных одобрений. |
locations.<key> | Object | Нет | {} | Любой абсолютный ключ местоположения | Сохранены одобрения для одного репозитория или каталога. |
locations.<key>.tool_approvals | Массив | Нет | [] | Объекты утверждения | Инструменты одобрены для этого места. |
locations.<key>.allowed_directories | Массив строк | Нет | [] | Пути абсолютных каталогов | Дополнительные каталоги, к которым может получить доступ путевой врата для этого места. Каждый каталог должен существовать, когда CLI применяет конфигурацию. |
locations.<key>.tool_approvals[].kind | String | Да | None | ||
commands, read``write``mcp``mcp-sampling``memory``custom-tool``extension-management``extension-permission-access | Выбирает тип одобрения. | ||||
command | Массив строк | Да, для commands | None | Идентификаторы команд | Оболоченные идентификаторы команд для одобрения. |
serverName | String | Да, для mcp и mcp-sampling | None | Имя сервера MCP | MCP-сервер для одобрения. |
toolName | Строка или null | Да, для mcp | None | Название инструмента MCP, или null | Инструмент MCP для одобрения. Используйте null для одобрения всех инструментов на сервере. |
toolName | String | Да, для custom-tool | None | Пользовательское имя инструмента | Пользовательский инструмент для одобрения по точному названию. |
operation | String | Нет, для extension-management | Упущенный | Название операции расширения | Операция по управлению расширением для утверждения. Исключить это поле для утверждения всех операций по управлению расширением. |
extensionName | String | Да, для extension-permission-access | None | Имя расширения | Расширение, доступ к возможностям с ограничением разрешений одобрен. |
permissions-config.json не поддерживает правила отказа, правила «спросить», режимы по умолчанию, правила URL, фильтрацию инструментов или совместную политику репозитория. Для таких действий используйте командные опции, такие --deny-toolкак , --available-tools, --excluded-tools``--allow-url, и --deny-url. Правила сохранения URL хранятся в settings.json, а не в permissions-config.json.
Неизвестные поля не входят в схему. CLI может их игнорировать, а последующие записи могут их удалять.
Виды одобрения
Каждый элемент должен tool_approvals быть одним из следующих объектов.
kind | Обязательные поля | Необязательные поля | Meaning |
|---|---|---|---|
commands | command | None | Одобряет совпадающие идентификаторы команд shell. |
read | None | None | Одобряет запросы на инструменты чтения. Интерактивные сессии CLI уже автоматически одобряют чтение, поэтому обычно это не обязательно. |
write | None | None | Одобряет запросы на создание и инструменты для модификации файлов. Запрос на путь всё равно может применяться для путей вне разрешённых каталогов. |
mcp | |||
serverName, toolName | None | Одобряет один инструмент MCP или все инструменты на сервере, когда toolName это null. | |
mcp-sampling | serverName | None | Одобряет запросы на выборку MCP для одного сервера. |
memory | None | None | Одобряет запросы на запись и голосование по памяти. |
custom-tool | toolName | None | Одобряет кастомный инструмент под точным названием. |
extension-management | None | operation | Утверждает управление расширением. Если operation опущено, все операции управления расширением совпадают. |
extension-permission-access | extensionName | None | Одобряет доступ расширения к возможностям с ограничением разрешений. |
Для одобрения MCP serverName должно точно совпадать с настроенным именем сервера MCP. Используйте сырое имя сервера из вашей конфигурации MCP, а не очищенный префикс имени инструмента.
Сопоставление команд оболочки
commandIdentifiers совпадение с идентификаторами команд, извлечёнными из запроса оболочки. Совпадение точное, за исключением :* суффикса.
| Рисунок | Совпадения | Не соответствует |
|---|---|---|
git status | git status | git status --short |
git:* | ||
git, , git status``git push | gitea | |
gh pr:* | ||
gh pr, , gh pr view``gh pr create | gh repo view |
Суффикс :* — это не типичный шар. Он совпадает с точной основой, или с тем, за которым следует пробел и ещё текст.
Сопоставление каталогов
allowed_directories Записи позволяют Второй пилот CLI получать доступ к путям внутри этих каталогов без отдельного запроса на путь. Они не одобряют саму работу инструмента. Например, редактирование файла в разрешённой папке всё равно может требовать write одобрения.
Каждая allowed_directories запись должна быть абсолютной, непустой и доступной папкой. CLI разрешает симлинки перед сравнением путей, блокирует сетевые пути UNC, если они не являются локальными путями расширенной длины, сравнивает пути без падежа в Windows и сравнивает пути с учетом регистра на других платформах. Если запись не может быть применена, CLI фиксирует предупреждение и пропускает эту запись.
Примеры
Разрешите все подкоманды Git и получите доступ к дополнительной локальной директории:
{
"locations": {
"C:\\src\\my-repo": {
"tool_approvals": [
{
"kind": "commands",
"commandIdentifiers": ["git:*"]
}
],
"allowed_directories": ["C:\\src\\shared-docs"]
}
}
}
{
"locations": {
"C:\\src\\my-repo": {
"tool_approvals": [
{
"kind": "commands",
"commandIdentifiers": ["git:*"]
}
],
"allowed_directories": ["C:\\src\\shared-docs"]
}
}
}
Разрешите выбранные команды, всё ещё спрашивая перед записью файла:
{
"locations": {
"/Users/YOUR-USER/src/my-repo": {
"tool_approvals": [
{
"kind": "commands",
"commandIdentifiers": [
"git status",
"git diff",
"git log",
"npm test",
"npm run build"
]
}
]
}
}
}
{
"locations": {
"/Users/YOUR-USER/src/my-repo": {
"tool_approvals": [
{
"kind": "commands",
"commandIdentifiers": [
"git status",
"git diff",
"git log",
"npm test",
"npm run build"
]
}
]
}
}
}
Approve file writes и один MCP-сервер для репозитория:
{
"locations": {
"/home/YOUR-USER/src/my-repo": {
"tool_approvals": [
{
"kind": "write"
},
{
"kind": "mcp",
"serverName": "github-mcp-server",
"toolName": null
}
]
}
}
}
{
"locations": {
"/home/YOUR-USER/src/my-repo": {
"tool_approvals": [
{
"kind": "write"
},
{
"kind": "mcp",
"serverName": "github-mcp-server",
"toolName": null
}
]
}
}
}
Одобрить один MCP-инструмент, запись в памяти и доступ к разрешениям расширения:
{
"locations": {
"C:\\src\\my-repo": {
"tool_approvals": [
{
"kind": "mcp",
"serverName": "github-mcp-server",
"toolName": "search_code"
},
{
"kind": "memory"
},
{
"kind": "extension-permission-access",
"extensionName": "my-extension"
}
]
}
}
}
{
"locations": {
"C:\\src\\my-repo": {
"tool_approvals": [
{
"kind": "mcp",
"serverName": "github-mcp-server",
"toolName": "search_code"
},
{
"kind": "memory"
},
{
"kind": "extension-permission-access",
"extensionName": "my-extension"
}
]
}
}
}
session-state/
Содержит данные истории сессий, организованные по идентификатору сессии в подкаталогах. Каждый каталог сессии хранит журнал событий (events.jsonl) и артефакты рабочего пространства (планы, контрольные точки, отслеживаемые файлы). Эти данные позволяют возобновить сессию (--resume или --continue).
Удаление файлов из этой папки удаляет только локальные копии. Если у вас синхронизированы сессии с аккаунтом GitHub , синхронизированные данные хранятся отдельно и не зависят от локального удаления файлов. Вы можете удалить или скрыть синхронизированные сессии из GitHub.com. Дополнительные сведения см. в разделе О интерфейс командной строки GitHub Copilot данных сессии.
command-history-state/
Содержит данные истории команд, используемые для обратного поиска (Ctrl R+) и навигации по истории в интерактивном интерфейсе. Этот каталог управляется автоматически и не подлежит редактированию.
session-store.db
База данных SQLite, используемая CLI для межсессионных данных, таких как индексация контрольных точек и поиск. Этот файл управляется автоматически и не должен редактироваться.
Если вы удалите этот файл, его можно восстановить с помощью команды /chronicle reindex . Реиндексация также синхронизирует данные сессии с аккаунтом.
logs/
Содержит лог-файлы для сессий CLI. Каждая сессия создаёт лог-файл с названием process-{timestamp}-{pid}.log. Эти файлы полезны для отладки.
CLI также может создавать логи, специфичные для расширения, в разделе logs/extensions/.
Это отдельно от ~/.copilot/extensions/, где хранится код расширений, созданный пользователем.
Совет
Чтобы найти файл журнала вашей текущей сессии, зарегистрируйте /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). Этот каталог управляется автоматически.
mcp-oauth-config/
Содержит резервные файлы MCP OAuth, регистрационные и резервные файлы PKCE при недоступном хранилище, поддерживаемом брелоком. Этот каталог управляется автоматически.
mcp-secrets/
Содержит резервное хранилище файлов и индекс секретных заполняющих MCP, когда хранилище с защитой связки ключей недоступно. Этот каталог управляется автоматически.
Изменение расположения каталога конфигурации
Чтобы переопределить местоположение по умолчанию ~/.copilot , установите COPILOT_HOME переменную среды на путь к нужной вам директории.
export COPILOT_HOME=/path/to/my/copilot-config
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. - macOS:
Что можно безопасно удалить
| Элемент | Безопасно ли удалить? | Эффект |
|---|---|---|
agents/, , skills/``hooks/ | Не рекомендуется | Вы потеряете свои личные настройки. Сначала отойди. |
config.json | С осторожностью | Сбрасывает состояние приложения, включая аутентификацию. Вам потребуется повторная аутентификацию, и CLI повторно обнаружит внутреннее состояние при следующем запуске. |
copilot-instructions.md, instructions/ | Не рекомендуется | Вы потеряете свои индивидуальные инструкции. Сначала отойди. |
extensions/ | Не рекомендуется | Вы потеряете свои личные продления. Сначала отойди. |
installed-plugins/ | Не рекомендуется | Используйте copilot plugin uninstall вместо этого, чтобы метаданные плагина config.json оставались точными. |
logs/ | Да | Файлы журналов создаются заново каждую сессию. Удаление их не имеет функционального эффекта. |
lsp-config.json | Не рекомендуется | Вы потеряете определения сервера LSP на уровне пользователя. Сначала отойди. |
mcp-config.json | Не рекомендуется | Вы потеряете определения сервера MCP на уровне пользователя. Сначала отойди. |
mcp-oauth-config/ | С осторожностью | Проходит через резервный штат MCP OAuu. Возможно, потребуется повторная аутентификация MCP-серверов. |
mcp-secrets/ | С осторожностью | Очищает местное секретное резервное состояние MCP и карты. Серверы MCP с секретной поддержкой могут потребовать перенастройки. |
permissions-config.json | С осторожностью | Сбрасывает все сохранённые права. CLI снова подскаже вам одобрение инструментов и каталогов. |
plugin-data/ | Да | Постоянные данные плагина создаются по мере необходимости. |
session-state/ | С осторожностью | Удаление удаляет историю сессий. Вы больше не сможете возобновить прошлые занятия. |
command-history-state/ | С осторожностью | Удаление удаляет историю команд. Вы больше не сможете искать предыдущие команды с помощью Ctrl+R. |
session-store.db | С осторожностью | Удаление удаляет данные между сессиями. Файл воссоздаётся автоматически. |
settings.json | С осторожностью | Все пользовательские настройки сбрасываются до стандартных настроек. Вам нужно будет перенастроить настройки. |
Настройки конфигурационных файлов
Настройки применяются в следующем порядке (позже переопределяются раньше):
- Встроенные значения по умолчанию
- Управляемые настройки Mobile Управление устройствами (MDM)
- Пользовательские настройки (
~/.copilot/settings.json) - Настройки репозитория (
.github/copilot/settings.json) - Локальные настройки (
.github/copilot/settings.local.json) - Переменные среды
- Флаги командной строки
Управляемые настройки MDM загружаются при запуске и объединяются с пользовательскими настройками как базовая база политики. Для большинства клавиш пользовательские настройки могут переопределить эту базовую линию. Для permissions.disableBypassPermissionsMode, MDM-значение "disable" всегда выигрывает. Для получения дополнительной информации см. управляемые настройки MDM.
| Область действия | Location | Purpose |
|---|---|---|
| User | ~/ | Глобальные стандарты для всех репозиториев. Используйте COPILOT_HOME переменную среды для указания альтернативного пути. |
| Репозиторий | .github/ | Конфигурация общего репозитория (фиксирована в репозитории). |
| Local | .github/ | Личные перемены (добавьте это к .gitignore). |
CLI также читает и для общего кросс-инструментального подмножества настроек репозитория (таких .claude/settings.jsonкак , .claude/settings.local.json, companyAnnouncements, disableAllHooks, и enabledPlugins).extraKnownMarketplaces``hooks
Пользовательские настройки (~/.copilot/settings.json)
Эти настройки применимы ко всем вашим сессиям и репозиториям. Вы можете использовать /settings команду slash для запуска интерактивного диалога, или специальные команды для обновления отдельных значений, либо редактировать этот файл напрямую.
| Ключ | Тип | Default | Описание |
|---|---|---|---|
allowedUrls | string[] | [] | URL или домены разрешены без подсказки. Поддерживает точные URL-адреса, шаблоны доменов и поддомены с уайлдкардом (например, "*.github.com"). |
askUser | boolean | true | Позвольте агенту задавать уточняющие вопросы. Настроен false на полностью автономную работу. Также можно установить с --no-ask-user. |
autoUpdate | boolean | true | Автоматически скачивайте обновления CLI. |
auto | |||
"stable" | |||
| | | |||
"prerelease" | |||
"stable" | Канал обновлений. Настроен на "prerelease" получение обновлений до релиза. | ||
banner | |||
"always" | |||
| | | |||
"once" | |||
| | | |||
"never" | |||
"once" | Частота анимированного отображения баннеров. | ||
bashEnv | boolean | false | Включите BASH_ENV поддержку bash-shells. Также можно задать с --bash-env помощью или --no-bash-env. |
beep | boolean | true | Воспроизведите звуковой сигнал, когда требуется внимание. |
beepOnSchedule | boolean | true | Воспроизведите звуковой сигнал, когда запланированный /every или /after забег заканчивается. |
built | boolean | true | Включить субагент «резиновая утка», который даёт противоположную обратную связь по планам агента. |
built | boolean | false | Включите проактивное подсказывание для автоматического вызова резиновой утки. Настроен на true дополнительные подталкивания в виде резиновой утки во время поворотов агента. |
colorMode | |||
"default" | |||
| | | |||
"github" | |||
| | | |||
"dim" | |||
| | | |||
"high-contrast" | |||
| | | |||
"colorblind" | |||
"default" | Режим цветового контраста. Управляется командами /settings и /theme слэш. | ||
compactPaste | boolean | true | Свернуть большие пасты (более 10 строк) в компактные токены. |
company | string[] | [] | Пользовательские сообщения отображаются случайным образом при запуске. Одно сообщение выбирается случайным образом каждый раз при запуске CLI. Полезно для командных объявлений или напоминаний. |
continue | boolean | false | Автоматически переключается в автоматический режим при ограничении скорости. Когда trueошибки допустимого лимита скорости вызывают автоматическое переключение в авторежим и повторную попытку. Это не относится к глобальным тарифным лимитам или провайдерам BYOK. |
copyOnSelect | boolean | ||
true (macOS), false (другое) | Автоматически скопируйте выбранный мышью текст в системный буфер обмена. | ||
custom | boolean | false | Используйте только локальные кастомные агенты (без удалённых агентов организации или корпоративных агентов). |
deniedUrls | string[] | [] | URL или домены, которые всегда отклоняются. Правила отказа имеют приоритет над правилами допуска. |
disableAllHooks | boolean | false | Отключите все хуки (как на уровне репозитория, так и на уровне пользователя). |
disabled | string[] | [] | Имена серверов MCP нужно отключить. Указанные серверы настроены, но не запущены. |
disabledSkills | string[] | [] | Имена навыков нужно отключить. Перечисленные навыки открываются, но не загружаются. |
dynamicRetrieval | { skills?: boolean } | сбросить | Управление по категориям динамического поиска инструкций на основе вложения. Настройте skills на false отключение поиска навыков. Также можно установить с --dynamic-retrieval помощью (например, --dynamic-retrieval skills=off); при использовании флага сохраняется предпочтение для этого файла. |
effortLevel | string | "medium" | Уровень усилий для рассуждения для расширенного мышления: "low", "medium", "high", или "xhigh". Более высокие уровни требуют больше вычислений. |
enabledMcpServers | string[] | [] | Включите встроенные MCP-серверы, которые по умолчанию отключены (например, "computer-use"). |
enabledPlugins | Record<string, boolean> | {} | Автоматическая установка декларативного плагина. Клавиши — это спецификации плагинов; значения — true (включено) или false (отключено). |
experimental | boolean | false | Включить экспериментальные функции. Также можно включить с --experimental помощью командной строки или /experimental команды слэш. |
extra | Record<string, {...}> | {} | Дополнительные маркетплейсы плагинов. Каждый ключ является названием маркетплейса; значение указывает источник ("directory", "git", или "github"). |
footer | object | — | Управляет, какие предметы появляются в строке статуса. Подключения включают showModelEffort, showDirectory, showBranch, showContextWindow, showQuota, showAgent, show, и showCustom (все ).boolean Управляется командой /statusline слэша. |
hooks | object | — | Встроенные определения хуков на уровне пользователя, с ключом по названию события. Использует ту же схему, что и .github/ файлы. См . раздел AUTOTITLE. |
ide.autoConnect | boolean | true | Автоматически подключайтесь к рабочему пространству IDE при запуске. Когда false, вы всё ещё можете подключиться вручную с помощью команды /ide . |
ide.open | boolean | true | Открывайте дифференциации редактирования файлов в подключённом IDE для утверждения. Когда false, одобрения редактирования файлов отображаются только в терминале. |
include | boolean | true | Добавьте Co-authored-by трейлер к git-коммитам, сделанным агентом. |
keepAlive | |||
"on" | |||
| | | |||
"off" | |||
| | | |||
"busy" | |||
"off" | Режим keep-alive применяется при запуске CLI. | ||
"on" Всегда препятствует системе спящей, "busy" не даёт спящему только во время работы агента и "off" отключает поддержание жизни. Также можно настраивать с /keep-alive помощью команды слэша. | |||
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. |
permissions.disable | string | — | При установке на "disable", все флаги разрешения (--allow-all-tools, --allow-all-paths, --allow-all-urls``--allow-all``--yolo, , ) подавляются при запуске и не могут быть использованы для предоставления повышенных разрешений. |
powershellFlags | string[] | ["-NoProfile", "-NoLogo"] | Флаги передавались в PowerShell при запуске. В Windows CLI предпочитает PowerShell 7+ (pwsh) и возвращается к Windows PowerShell (powershell.exe), когда pwsh недоступен. Только для Windows. |
proxy | string | сбросить | Имя принципа сервиса (SPN) для аутентификации прокси Kerberos/Negotiate, переопределяя производное HTTP/<proxy-host>. |
proxyUrl | string | сбросить | Прокси-URL для HTTP(S)-запросов (например, http:/). Переопределяется HTTP_PROXY переменными окружающей среды или HTTPS_PROXY (любой корпус). |
remote | |||
"on" | |||
| | | |||
"off" | |||
"on" | Контролирует синхронизацию сессий и удалённый доступ. Настройте так, "off" чтобы данные сессии оставались локальными и отключили удалённое управление. Также можно задать с --remote помощью или --no-remote. | ||
renderMarkdown | boolean | true | Render Markdown на выходе терминала. |
remoteExport | boolean | true | Экспортируйте сессии удалённо, когда доступна синхронизация сессий. По false умолчанию установлен отказ от удалённого экспорта. Настройка remoteSessions , установленная на true, или флаг --remote , всё равно включает экспорт и управление вне зависимости от этой настройки. |
respectGitignore | boolean | true | Исключите gitignored файлы из выбора @ упоминаний файлов. Когда false, picker включает файлы, обычно исключаемые ..gitignore |
screenReader | boolean | false | Включите оптимизацию экранных читателей. |
scrollbar | boolean | true | Покажите полосу прокрутки в режиме прокрутки. Настройте на false скрытие и используйте всю ширину клеммы. |
showTipsOnStartup | boolean | true | Показывайте случайную подсказку команд при запуске CLI. |
skillDirectories | string[] | [] | Дополнительные каталоги для поиска определений пользовательских навыков (в дополнение к ~/). |
statusLine | object | — | Пользовательский отбор строки статуса. |
type: должно быть "command". | |||
command: путь к исполняемому скрипту, который принимает session JSON на stdin и печатает статус-контент в stdout. | |||
padding: необязательное количество пробелов с левым заполнением. | |||
store | boolean | false | Разрешить хранить токены аутентификации в открытом тексте, config.json когда системный ключ недоступен. |
stream | boolean | true | Включите потоковые ответы. |
streamerMode | boolean | false | Скрыть предварительные названия моделей и детали квот. Полезно при демонстрации Второй пилот CLI или совместном использовании экрана. |
subagents.agents | object | {} | Конфигурация модели для каждого агента, с ключом по имени агента. Каждое значение является объектом с необязательными model полями (строка), effortLevel (строка) и contextTier ("default", "long_context", или "inherit") поля. Установите любое поле так, "inherit" чтобы использовать значение родительской сессии во время отправки. Используйте /subagents команду slash для интерактивной настройки этих настроек. |
subagents.disabled | string[] | [] | Имена агентов, чтобы не быть отправленными. Только rubber-duck агент нельзя отключить через эту настановку. Все остальные встроенные агенты — включая explore, task, code-review, general-purpose``research, , и security-review— могут быть отключены. |
tabs.enabled | boolean | true | Покажите панель вкладок главной комнаты. Настроил false на то, чтобы полностью это скрыть. |
tabs.hide | string[] | [] | Идентификаторы вкладок для скрытия. Принятые значения: "copilot", "agents", "issues", "pull-requests"``"gists" , (совпадение без падежа). |
tabs.sort | string[] | [] | Порядок отображения вкладок. Вкладки, не указанные, сохраняют свой относительный порядок по умолчанию после перечисленных вкладок. Неизвестные идентификаторы игнорируются. |
terminalProgress | boolean | true | Emit OSC 9; 4 индикатора прогресса терминала, пока агент работает. Поддерживаемые терминалы включают Терминал Windows, iTerm2, Ghostty и ConEmu. |
theme | |||
"auto" | |||
| | | |||
"dark" | |||
| | | |||
"light" | |||
"auto" | Терминальная цветовая тема. | ||
"auto" обнаруживает фон терминала и выбирает соответствующее решение. | |||
toolSearch | boolean | Зависящие от модели и признаков | Поиск инструментов управления (отложенная загрузка инструментов). Настройте toolSearch: false на отказ от поиска по инструментам. |
update | boolean | true | Покажите текущее намерение во вкладке терминала или в заголовке окна. |
Настройки репозитория (.github/copilot/settings.json)
Настройки репозитория применимы ко всем, кто работает в репозитории. Они привержены хранилищу и делятся ими с сотрудниками.
Примечание.
Ключи, связанные с плагинами, в конфигурационном файле репозитория (enabledPlugins и ) также считываются не только extraKnownMarketplacesCopilot облачный агент.Второй пилот CLI Это позволяет активировать одни и те же плагины для обоих клиентов из одного файла. Для получения дополнительной информации о плагинах см. О GitHub Copilot плагинах.
На уровне репозитория поддерживаются только ключи, перечисленные в следующей таблице. Любые другие ключи — включая те, что действительны в пользовательском конфигурационном файле — молча игнорируются.
| Ключ | Тип | Поведение слияния | Описание |
|---|---|---|---|
company | string[] | Замена — репозиторий имеет приоритет | Сообщения появляются случайно при запуске. |
disableAllHooks | boolean | Репозиторий имеет приоритет | Отключите все крючки. |
enabledPlugins | Record<string, boolean> | Merged — репозиторий переопределяет пользователя для того же ключа | Автоматическая установка декларативного плагина. |
extra | 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), и имеет приоритет над ней.
Управляемые настройки MDM
ИТ-администраторы могут запускать базовую политику с помощью управляемых настроек Mobile Управление устройствами (MDM) вместо необходимости конфигурации для каждого пользователя. Эти настройки применяют устройства по умолчанию для поддерживаемых клавиш и загружаются до пользовательских настроек.
Источники управляемых настроек MDM
Второй пилот CLI читает управляемые настройки из специализированных для платформы MDM или файловых локаций.
| Platform | Тип источника | Location |
|---|---|---|
| macOS | MDM plist | com.github.copilot |
| macOS | Файл | / |
| Windows | Реестр MDM | HKLM\ |
| Windows | Файл | %Program |
| Linux | Файл | / |
Примечание.
В системах Второй пилот CLI POSIX отклоняет управляемые настройки на основе файлов, которые являются символическими ссылками, не принадлежащими root, или записываемыми по всему миру.
Формат файла
Пишите управляемые настройки на основе файлов в формате JSON.
{
"permissions": {
"disableBypassPermissionsMode": "disable"
}
}
Поддерживаемые ключи
В управляемых настройках MDM поддерживаются только следующие ключи.
| Ключ | Описание |
|---|---|
enabledPlugins | Включите или отключите определённые плагины |
extra | Добавьте доверенные маркетплейсы плагинов |
model | Установите модель по умолчанию для всех пользователей (переопределенную флагом --model или моделью возобновления сессии) |
permissions | Установка управляемых разрешений, включая disable |
strict | Ограничьте плагины известными маркетплейсами |