Skip to main content

GitHub Copilot CLI 命令参考

查找有助于你有效使用 Copilot 命令行界面(CLI) 的命令和键盘快捷键。

命令行命令

Command目的
copilot启动交互式用户界面。
copilot help [topic]显示帮助信息。 帮助主题包括:、、、和。
copilot init初始化此存储库的Copilot自定义说明
copilot update下载并安装最新版本。
copilot version显示版本信息并检查更新。
copilot login通过 OAuth 设备流使用 Copilot 进行身份验证。 接受 指定 GitHub 主机 URL (默认值: ) 。
copilot logout注销 GitHub 并删除存储的凭据。
copilot plugin管理插件和插件市场。

交互式界面中的全局快捷方式

Shortcut目的
@ FILENAME将文件内容包含在上下文中。
Ctrl然后 X开始键入提示后,这样就可以运行斜杠命令,例如,如果要更改模型,而无需重新键入提示。
Esc取消当前操作。
! COMMAND在本地 shell 中执行命令,绕过 Copilot。
CtrlC取消操作/清除输入。 按两次退出。
CtrlD关闭。
Ctrl我清除屏幕。
转变选项 卡在标准模式、计划和 Autopilot 模式之间循环。

交互式界面中的时间线快捷方式

Shortcut目的
ctrl+o虽然提示输入中没有任何内容,但此操作会展开 Copilot 的响应时间线中的最近项目,以显示更多详细信息。
ctrl+e虽然提示输入中没有任何内容,但此操作会展开 Copilot 的响应时间线中的所有项目。
ctrl+t展开/折叠响应中推理的显示。
Shortcut目的
CtrlA移动到行首(输入时)。
CtrlB移动到上一个字符。
CtrlE移动到行的末尾(键入时)。
CtrlF移动到下一个字符。
CtrlG在外部编辑器中编辑提示。
CtrlH删除上一个字符。
CtrlK从光标删除到行尾。
Ctrl美国从光标删除到行首。
CtrlW删除上一个单词。
主页移动到当前行的开头。
结束移动到当前行的末尾。
Ctrl家移动到文本的开头。
Ctrl结束移动到文本的末尾。
元←→按单词移动光标。
浏览命令历史。

交互式接口中的斜杠命令

Command目的
/add-dir PATH将目录添加到允许的文件访问列表。
/agent浏览并选择可用代理(如果有)。
启用所有权限(工具、路径和 URL)。
清除对话历史记录。
/compact汇总对话历史记录以减少上下文窗口使用情况。
/context显示上下文窗口令牌使用情况和可视化效果。
更改工作目录或显示当前目录。
/delegate [PROMPT]使用 AI 生成的拉取请求提交更改到远程存储库。
/diff查看当前目录中所做的更改。
退出 CLI。
/experimental [on|off]切换或打开/关闭实验功能。
/feedback提供有关 CLI 的反馈。
/fleet [PROMPT]支持对任务的某些部分进行并行子代理执行。 请参阅“AUTOTITLE”。
/help显示交互式命令的帮助。
/ide连接到 IDE 工作区。
/init为此存储库初始化 Copilot 自定义指令和智能体功能。
/list-dirs显示允许访问文件的所有目录。
/login登录 Copilot。
/logout退出 Copilot。
/lsp [show|test|reload|help] [SERVER-NAME]管理语言服务器配置。
/mcp [show|add|edit|delete|disable|enable] [SERVER-NAME]管理 MCP 服务器配置。
选择要使用的 AI 模型。
/plan [PROMPT]在编码之前创建实现计划。
/plugin [marketplace|install|uninstall|update|list] [ARGS...]管理插件和插件市场。
/rename NAME重命名当前会话( 的别名)。
/reset-allowed-tools重置允许的工具列表。
/resume [SESSION-ID]通过从列表中选择(可选指定会话 ID)切换到其他会话。
/review [PROMPT]运行代码评审代理以分析更改。
/session [checkpoints [n]|files|plan|rename NAME]显示会话信息和工作区摘要。 请使用子命令查看详细信息。
/share [file|gist] [PATH]将会话共享到 Markdown 文件或GitHub gist。
/skills [list|info|add|remove|reload] [ARGS...]管理技能以提升能力。
/terminal-setup为多行输入支持配置终端(ShiftEnter 和 CtrlEnter)。
/theme [show|set|list] [auto|THEME-ID]查看或配置终端主题。
/usage显示会话使用情况指标和统计信息。
/user [show|list|switch]管理当前 GitHub 用户。

要获取所有可用的斜杠命令的完整列表,请在 CLI 的交互式界面中输入 。

命令行选项

选项目的
--acp启动代理客户端协议服务器。
--add-dir PATH将目录添加到允许的文件访问列表(可多次使用)。
--add-github-mcp-tool TOOL添加一个工具,以便为 GitHub MCP 服务器启用,而不是默认 CLI 子集(可多次使用)。 将 用于所有工具。
--add-github-mcp-toolset TOOLSET添加工具集以启用 GitHub MCP 服务器,而不是默认 CLI 子集(可多次使用)。 对所有工具集使用 。
--additional-mcp-config JSON仅为此会话添加 MCP 服务器。 服务器配置可以作为 JSON 字符串或文件路径(前缀) 提供。 从 扩充配置。 覆盖任何已安装的同名 MCP 服务器配置。
--agent AGENT指定要使用的 自定义智能体。
--allow-all启用所有权限(等效于 )。
--allow-all-paths禁用文件路径验证并允许访问任何路径。
--allow-all-tools允许所有工具在不确认的情况下自动运行。 以编程方式使用 CLI 时是必需的(env: )。
--allow-all-urls允许在没有确认的情况下访问所有 URL。
--allow-tool [TOOLS...]CLI 有权使用的工具。 不会提示输入权限。
--allow-url [URLS...]允许访问特定的网址或域。
--alt-screen [VALUE]使用终端备用屏幕缓冲区( 或 )。
--autopilot在提示模式下启用 Autopilot 延续。 请参阅“AUTOTITLE”。
--available-tools [TOOLS...]只有这些工具可供模型使用。
--banner显示启动横幅。
--bash-env [VALUE]启用 对 bash shell( 或 ) 的支持。
--config-dir PATH设置配置目录(默认值: )。
--continue恢复最新的会话。
--deny-tool [TOOLS...]CLI 没有使用权限的工具。 不会提示输入权限。
--deny-url [URLS...]拒绝访问特定 URL 或域,优先于 。
--disable-builtin-mcps禁用所有内置 MCP 服务器(当前: )。
--disable-mcp-server SERVER-NAME禁用特定的 MCP 服务器(可以多次使用)。
--disable-parallel-tools-execution禁用工具的并行执行(LLM 仍可以进行并行工具调用,但它们将按顺序执行)。
--disallow-temp-dir防止自动访问系统临时目录。
--enable-all-github-mcp-tools启用所有 GitHub MCP 服务器工具,而不是默认 CLI 子集。 和选项被覆盖。
--excluded-tools [TOOLS...]这些工具将不适用于模型。
--experimental启用实验性功能(使用 进行禁用)。
显示帮助。
启动交互式会话并自动执行此提示。
--log-dir DIRECTORY设置日志文件目录(默认值: )。
--log-level LEVEL设置日志级别(选项:、、、、、)。
--max-autopilot-continues COUNTAutopilot 模式下的最大延续消息数(默认值:无限制)。 请参阅“AUTOTITLE”。
--model MODEL设置要使用的 AI 模型。
--no-alt-screen禁用终端备用屏幕缓冲区。
--no-ask-user禁用该工具(代理在不提出问题的情况下自主工作)。
--no-auto-update禁用自动下载 CLI 更新。
--no-bash-env禁用 对 bash shell 的支持。
--no-color禁用所有颜色输出。
--no-custom-instructions禁止从 相关文件中加载自定义指令。
--no-experimental禁用实验性功能。
以编程方式执行提示(完成后退出)。
--plain-diff禁用富差异渲染(通过你的 git 配置指定的差异工具进行语法高亮显示)。
--resume [SESSION-ID]通过从列表中选择(可选)指定会话 ID 来恢复以前的交互式会话。
仅输出代理响应(不使用使用情况统计信息),对于使用 脚本编写非常有用。
--screen-reader启用屏幕阅读器优化。
--share [PATH]程序化会话结束后,将会话共享到 Markdown 文件(默认路径:)。
--share-gist在编程会话完成后,将会话共享到机密的 GitHub gist。
--stream MODE启用或禁用流模式(模式选项: 或 )。
显示版本信息。
--yolo启用所有权限(等效于 )。

有关命令和选项的完整列表,请运行 。

工具权限模式

和选项接受格式为的权限模式。 该参数是可选的, 省略它与该类型的所有工具匹配。

种类Description示例模式
shellShell 命令执行、、
write文件创建或修改
read文件或目录读取
SERVER-NAMEMCP 服务器工具调用
url通过 web 抓取或 shell 访问 URL
memory将事实存储到代理内存memory

对于 规则, 后缀会与命令主干匹配,然后跟一个空格,以避免部分匹配。 例如, 匹配 和 不匹配 。

即使设置了拒绝规则, 拒绝规则始终优先于允许规则。

# Allow all git commands except git push
copilot --allow-tool 'shell(git:*)' --deny-tool 'shell(git push)'

# Allow a specific MCP server tool
copilot --allow-tool 'MyMCP(create_issue)'

# Allow all tools from a server
copilot --allow-tool 'MyMCP'

环境变量

VariableDescription
COPILOT_MODEL设置 AI 模型。
COPILOT_ALLOW_ALL将其设置为 以自动允许所有权限(相当于 )。
COPILOT_AUTO_UPDATE设置为 禁用自动更新。
COPILOT_CUSTOM_INSTRUCTIONS_DIRS自定义说明中额外目录的逗号分隔列表。
COPILOT_SKILLS_DIRS技能附加目录的逗号分隔列表。
COPILOT_EDITOR用于交互式编辑的编辑器命令(在和检查后)。 如果未设置,则默认为。
COPILOT_GITHUB_TOKEN身份验证令牌。 优先于 和 。
GH_TOKEN身份验证令牌。 优先于 .
GITHUB_TOKEN身份验证令牌。
XDG_CONFIG_HOME重写配置目录。 默认值:。
XDG_STATE_HOME覆盖状态目录 默认值:。
USE_BUILTIN_RIPGREP将 设置为使用系统的 ripgrep,而不是使用捆绑的版本。
PLAIN_DIFF设置为 禁用丰富的差异呈现。
COLORFGBG检测深色/浅色终端背景的回退机制
COPILOT_CLI_ENABLED_FEATURE_FLAGS要启用的功能标志的逗号分隔列表(例如)。

配置文件设置

用户设置存储在 . 项目级设置可以放置在 (提交到存储库)或 (个人替代,添加到 )中。 设置在用户、项目和本地之间层级传递,越具体的范围会优先于越一般的范围。 命令行标志和环境变量始终优先。

密钥类型违约Description
allowed_urlsstring[][]允许的 URL 或域,无需提示。
alt_screenbooleanfalse使用终端备用屏幕缓冲区。
auto_updatebooleantrue自动下载 CLI 更新。
banner"always" | "once" | "never""once"动画横幅显示频率。
bash_envbooleanfalse启用 对 bash shell 的支持。
beepbooleantrue当需要注意时播放一声提示音。
compact_pastebooleantrue将大型粘贴折叠到压缩令牌中。
custom_agents.default_local_onlybooleanfalse仅使用本地自定义代理。
denied_urlsstring[][]这些 URL 或域被阻止(优先于 )。
experimentalbooleanfalse启用实验性功能。
include_coauthorbooleantrue向 代理提交的 git 提交添加预告片。
launch_messagesstring[][]启动时随机显示的自定义消息。
log_level"none" | "error" | "warning" | "info" | "debug" | "all" | "default""default"日志记录详细程度。
modelstringvaries要使用的 AI 模型(请参阅 命令)。
reasoning_effort"low" | "medium" | "high" | "xhigh""medium"扩展思维的推理工作水平。 更高的级别使用更多的计算。
render_markdownbooleantrue在终端输出中呈现 Markdown。
screen_readerbooleanfalse启用屏幕阅读器优化。
streambooleantrue启用流响应。
store_token_plaintextbooleanfalse当没有系统密钥链可用时,将身份验证令牌以纯文本形式存储在配置文件中。
streamer_modebooleanfalse隐藏预览模型名称和配额详细信息(录制时很有用)。
theme"auto" | "dark" | "light""auto"终端颜色主题。
trusted_foldersstring[][]具有预授予文件访问权限的文件夹。
update_terminal_titlebooleantrue在终端标题中显示当前意向。

挂钩参考

钩子是在会话的特定生命周期节点执行的外部命令,用于实现自定义自动化、安全控制和集成。 挂钩配置文件会自动从 存储库中加载。

钩子配置格式

钩子配置文件使用带有版本的 JSON 格式:

{
  "version": 1,
  "hooks": {
    "preToolUse": [
      {
        "type": "command",
        "bash": "your-bash-command",
        "powershell": "your-powershell-command",
        "cwd": "optional/working/directory",
        "env": { "VAR": "value" },
        "timeoutSec": 30
      }
    ]
  }
}
字段类型必选Description
type"command"是的必须是 。
bash字符串其中一个Unix 的 Shell 命令。
powershell字符串其中一个Windows的 Shell 命令。
cwd字符串命令的工作目录(相对于存储库根目录或绝对目录)。
env对象要设置的环境变量(支持变量扩展)。
timeoutSec数字超时时间(以秒为单位) 默认值:。

挂钩事件

事件触发时间已处理的输出
sessionStart新的或已恢复的会话开始。
sessionEnd会话终止。
userPromptSubmitted用户提交提示。
preToolUse在每个工具执行之前。是 — 可以允许、拒绝或修改。
postToolUse每个工具完成操作后。
agentStop主代理完成回合。是 — 可以阻止和强制继续。
subagentStop子代理完成。是 — 可以阻止和强制继续。
errorOccurred执行期间发生错误。

决策控制

挂钩 可以通过将 JSON 对象写入 stdout 来控制工具执行。

字段价值观Description
permissionDecision、、工具是否已执行? 空输出使用默认行为。
permissionDecisionReason字符串显示给代理的原因。 决策 时是必要的。
modifiedArgs对象替换工具参数以使用,而不是使用原始参数。

决策控制

字段价值观Description
decision强制另一个代理将 作为提示。
reason字符串当是时,提示下一轮。

挂钩匹配工具名称

工具名称Description
bash执行 shell 命令(Unix)。
powershell执行 shell 命令(Windows)。
view读取文件内容。
edit修改文件内容。
create创建新文件。
glob按模式查找文件。
grep搜索文件内容。
web_fetch抓取网页。
task运行子代理任务。

如果配置了同一类型的多个挂钩,则它们按顺序执行。 对于 ,如果任何挂钩返回 ,则阻止该工具。 挂钩故障(非零退出代码或超时)会记录并跳过,它们永远不会阻止代理执行。

MCP 服务器配置

MCP 服务器向 CLI 代理提供其他工具。 在中配置持久性服务器。 使用 来为单个会话添加服务器。

传输类型

类型Description必填字段
local / stdio本地进程通过 stdin/stdout 进行通信。
http使用可流式 HTTP 传输的远程服务器。url
sse使用服务器发送事件 (Server-Sent Events) 传输的远程服务器。url

本地服务器配置字段

字段必选Description
command是的用于启动服务器的命令。
args是的命令参数(数组)。
tools是的要启用的工具:,可以是所有工具或特定工具名称的列表。
env环境变量。 支持和扩展。
cwd服务器的工作目录。
timeout工具调用超时(以毫秒为单位)。
type或 。 默认值:。

远程服务器配置字段

字段必选Description
type是的或 。
url是的服务器 URL。
tools是的要启用的工具。
headersHTTP 标头。 支持变量扩展。
oauthClientId静态 OAuth 客户端 ID(跳过动态注册)。
oauthPublicClientOAuth 客户端是否为公共客户端。 默认值:。
timeout工具调用超时(以毫秒为单位)。

筛选器映射

控制如何使用服务器配置中的字段来处理 MCP 工具输出。

模式Description
none无筛选。
markdown将输出格式化为 Markdown。
hidden_characters删除隐藏或控制字符。 违约。

内置 MCP 服务器

CLI 包括内置 MCP 服务器,这些服务器在没有其他设置的情况下可用。

ServerDescription
github-mcp-serverGitHubAPI 集成:问题、拉取请求、提交、代码搜索和 GitHub Actions。
playwright浏览器自动化:导航、单击、键入、屏幕截图和表单处理。
fetch通过该工具发送的 HTTP 请求。
time时间实用工具: 和 。

用于 禁用所有内置服务器,或 禁用特定服务器。

技能指南

功能是 Markdown 文件,用来扩展 CLI 的能力。 每个技能都位于其自己的目录中,其中包含一个 文件。 调用(通过 或自动由代理调用)时,技能的内容将注入到会话中。

技能前置元数据字段

字段类型必选Description
name字符串是的技能的唯一标识符。 仅字母、数字和连字符。 最多 64 个字符。
description字符串是的技能的作用以及何时使用它。 最多 1024 个字符。
allowed-toolsString 或 String[]技能处于活动状态时自动允许的工具的逗号分隔列表或 YAML 数组。 将 用于所有工具。
user-invocable布尔用户是否可以调用技能 。 默认值:。
disable-model-invocation布尔阻止代理自动调用此技能。 默认值:。

技能位置

技能将按照优先顺序从这些位置加载(在重复名称中,首次找到的优先)。

位置ScopeDescription
.github/skills/项目特定于项目的技能。
.agents/skills/项目替代项目位置。
.claude/skills/项目与 Claude 兼容的位置。
父母继承Monorepo 父目录支持。
~/.copilot/skills/个人适用于所有项目的个人技能。
~/.claude/skills/个人与 Claude 兼容的个人定位设置。
插件目录插件已安装插件中的技能。
COPILOT_SKILLS_DIRSCustom其他目录(逗号分隔)。

命令(可选技能格式)

命令是存储为单个 文件的 技能的替代方法。 命令名称派生自文件名。 命令文件使用简化的格式(不需要 字段)和支持 , 以及 。 命令的优先级低于具有相同名称的技能。

自定义代理参考

自定义代理是在 Markdown 文件中定义的专用 AI 代理。 文件名(减扩展名)将成为代理 ID。 使用 或 用作文件扩展名。

内置代理

代理人默认模型Description
code-reviewclaude-sonnet-4.5高信噪比代码审查。 分析代码差异中的缺陷、安全问题和逻辑错误。
exploreclaude-haiku-4.5快速代码库浏览。 搜索文件、读取代码和回答问题。 提供不超过300字的简明答案。 可以安全地并行运行。
general-purposeclaude-sonnet-4.5支持复杂多步骤任务的全功能代理。 在单独的上下文窗口中运行。
researchclaude-sonnet-4.6深度研究代理。 基于代码库、相关存储库和 Web 中的信息生成报表。
taskclaude-haiku-4.5命令执行(测试、构建、代码检查)。 成功时返回简要摘要,失败时返回全部输出。

自定义代理程序前端字段

字段类型必选Description
description字符串是的说明显示在代理列表和 工具中。
infer布尔允许主代理自动委派。 默认值:。
mcp-servers对象要连接的 MCP 服务器。 使用与相同的模式。
model字符串此代理的 AI 模型。 未设置时,继承外部代理的模型。
name字符串显示名称。 默认为文件名。
tools字符串[]代理可用的工具。 默认值: (所有工具)。

自定义代理位置

Scope位置
项目
用户
插件<plugin>/agents/

项目级代理优先于用户级代理。 插件代理的优先级最低。

权限审批结果

当 CLI 提示执行作的权限时,可以使用以下键进行响应。

密钥影响
y允许此特定请求一次。
n拒绝此特定请求一次。
!允许会话其余部分的所有类似请求。
#拒绝会话其余部分的所有类似请求。
?显示有关请求的详细信息。

运行 或启动新会话时,会话审批会重置。

FlagDescription
AUTOPILOT_MODEexperimental自动运行模式。
BACKGROUND_AGENTSstaff在后台运行代理。
QUEUED_COMMANDSstaff代理运行时的队列命令。
LSP_TOOLSon语言服务器协议工具。
PLAN_COMMANDon交互式规划模式。
AGENTIC_MEMORYon跨会话的持久内存。
CUSTOM_AGENTSon自定义代理定义。