跳至主要内容

GitHub Copilot CLI 配置目录

了解 ~/.copilot 目录的信息,该目录是 Copilot CLI 存储配置、会话数据和自定义内容的地方。

Copilot CLI 在你的机器上将配置、会话历史、日志和自定义内容存储在单个目录中。默认情况下,该目录为 ~/.copilot(即 $HOME/.copilot)。

本文介绍了该目录的内容以及如何使用它们。

目录概览

~/.copilot 目录包含以下顶层项目。

路径类型描述
config.json文件你的个人配置设置
mcp-config.json文件用户级别的 MCP 服务器定义
permissions-config.json文件按项目保存的工具和目录权限
agents/目录个人自定义代理定义
skills/目录个人自定义技能定义
hooks/目录用户级别的钩子脚本
logs/目录会话日志文件
session-state/目录会话历史和工作区数据
session-store.db文件用于跨会话数据的 SQLite 数据库
installed-plugins/目录已安装的插件文件
ide/目录IDE 集成状态

注意

并非所有这些项目都会立即出现。有些会在首次使用特定功能时按需创建——例如,只有在安装第一个插件后,installed-plugins/ 才会出现。

用户可编辑的文件

以下文件设计为可直接由你编辑,或通过 CLI 命令进行管理。

config.json

这是 Copilot CLI 的主配置文件。你可以直接在文本编辑器中编辑它,或使用交互式命令如 /model/theme 在会话中更改特定值。该文件支持带注释的 JSON(JSONC)。

常用设置包括

类型描述
modelstring要使用的 AI 模型(例如 "gpt-5.2""claude-sonnet-4.6"
effortLevelstring支持此功能的模型的推理力度等级
themestring颜色主题:"auto""dark""light"
mouseboolean在 alt screen 模式下启用鼠标支持(默认:true
bannerstring动画横幅频率:"always""once""never"(默认:"once"
renderMarkdownboolean在响应中渲染 Markdown(默认:true
screenReaderboolean启用屏幕阅读器优化(默认:false
autoUpdateboolean自动下载 CLI 更新(默认:true
streamboolean逐标记流式传输响应(默认:true
includeCoAuthoredByboolean在代理创建的提交中添加 Co-authored-by(默认:true
respectGitignoreboolean@ 文件选择器中排除 .gitignore 忽略的文件(默认:true
trusted_foldersstring[]已授予读取/执行权限的文件夹
allowed_urlsstring[]无需提示即可允许的 URL 或域名
denied_urlsstring[]始终被拒绝的 URL 或域名
logLevelstring日志冗余度:"none""error""warning""info""debug""all""default"(默认:"default"
disableAllHooksboolean禁用所有钩子(默认:false
hooksobjectInline user-level hook definitions

要获取完整的配置设置列表,请在终端中输入 copilot help config

提示

某些设置也可以使用命令行标志进行设置。例如,/model 斜杠命令会将你的模型选择写入此文件,以便在会话之间保持持久化。

mcp-config.json

定义用户级别可用的 MCP(模型上下文协议)服务器。这些服务器在所有会话中均可使用,无论你处于哪个项目目录。当服务器名称冲突时,项目级别的 MCP 配置(位于 .mcp.json.github/mcp.json)会优先于用户级别的定义。

欲了解更多信息,请参阅 为 GitHub Copilot CLI 添加 MCP 服务器

agents/

在此处以 .agent.md 文件存储个人自定义代理定义。放置在此目录中的代理在所有会话中均可用。项目级别的代理(位于 .github/agents/)如果与个人代理同名,则会优先。

For more information, see 为 GitHub Copilot CLI 创建和使用自定义代理.

skills/

在此处存储个人自定义技能定义。每个技能位于包含 SKILL.md 文件的子目录中,例如 ~/.copilot/skills/my-skill/SKILL.md。个人技能在所有会话中均可用。若与项目级别技能同名,项目级别的技能将覆盖个人技能。

更多信息请参阅 为 GitHub Copilot CLI 创建代理技能

hooks/

在此处存储用户级别的钩子脚本。这些钩子适用于所有会话。你也可以在 config.json 中使用 hooks 键内联定义钩子。仓库级别的钩子(位于 .github/hooks/)会与用户级别的钩子一起加载。

欲了解更多信息,请参阅 在 GitHub Copilot CLI 中使用钩子

自动管理的文件

以下项目由 CLI 管理。通常不应手动编辑它们。

permissions-config.json

存储按项目位置组织的已保存工具和目录权限决策。当你批准某个工具或授予目录访问权限时,CLI 会在此记录决定,以免在同一项目中再次提示。

注意

如果你想重置某个项目的权限,可以删除此文件中相应的条目。不过,在会话运行期间编辑该文件可能会导致异常行为。

session-state/

包含会话历史数据,按会话 ID 在子目录中组织。每个会话目录存储事件日志(events.jsonl)和工作区产物(计划、检查点、跟踪文件)。这些数据支持会话恢复(--resume--continue)。

session-store.db

CLI 用于跨会话数据(如检查点索引和搜索)的 SQLite 数据库。此文件由系统自动管理,不应编辑。

logs/

包含 CLI 会话的日志文件。每个会话会创建一个名为 process-{timestamp}-{pid}.log 的日志文件。这些文件对调试问题很有帮助。

提示

要查找当前会话的日志文件,请在交互式会话中输入 /session。输出会包含日志文件的完整路径,以及会话 ID、持续时间和工作目录等信息。

installed-plugins/

包含已安装插件的文件。从市场安装的插件存储在 installed-plugins/{marketplace-name}/{plugin-name}/ 下。直接安装的插件存储在 installed-plugins/_direct/ 下。请使用 copilot plugin 命令来管理插件,而不是直接编辑此目录。

欲了解更多信息,请参阅 GitHub Copilot CLI 插件参考

ide/

包含 IDE 集成的锁文件和状态(例如,当 Copilot CLI 连接到 Visual Studio Code 时)。此目录由系统自动管理。

更改配置目录的位置

你可以通过两种方式覆盖默认的 ~/.copilot 位置

  • 环境变量:将 COPILOT_HOME 设置为你想要使用的目录路径。

    Bash
    export COPILOT_HOME=/path/to/my/copilot-config
    
  • 命令行选项:启动 CLI 时使用 --config-dir

    Bash
    copilot --config-dir /path/to/my/copilot-config
    

--config-dir 选项的优先级高于 COPILOT_HOME,而 COPILOT_HOME 的优先级又高于默认的 ~/.copilot 位置。

需要注意的事项

  • COPILOT_HOME 会替换整个 ~/.copilot 路径。你设置的值应为想要用于存放配置文件和子目录的完整路径。

  • 更改目录后,原有的配置、会话历史、已安装插件和已保存的权限将不会出现在新位置。如果想保留它们,请将 ~/.copilot 的内容复制或移动到新位置。

  • 缓存目录(用于市场缓存、自动更新包及其他临时数据)遵循平台约定,不受 COPILOT_HOME 影响。其位置为:

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

    如果想单独覆盖缓存目录,请设置 COPILOT_CACHE_HOME

可以安全删除的内容

项目是否安全删除?效果
logs/日志文件每次会话都会重新创建。删除它们不会产生功能影响。
session-state/慎重处理删除后会丢失会话历史。你将无法恢复过去的会话。
session-store.db慎重处理删除后会丢失跨会话数据。该文件会自动重新创建。
config.json慎重处理将所有配置重置为默认值。你需要重新配置偏好设置。
permissions-config.json慎重处理重置所有已保存的权限。CLI 将再次提示你批准工具和目录。
installed-plugins/不推荐请改用 copilot plugin uninstall,以确保 config.json 中的插件元数据保持一致。
mcp-config.json不推荐你将失去用户级别的 MCP 服务器定义。请先备份。
agents/, skills/, hooks/不推荐你将失去个人自定义内容。请先备份。

延伸阅读

© . This site is unofficial and not affiliated with GitHub, Inc.