通过 GitHub Copilot 的命令行接口 (CLI),你可以直接从终端使用 Copilot。 有关详细信息,请参阅“关于 GitHub Copilot CLI”。
注意
GitHub Copilot 命令行界面 正在 使用数据保护的公共预览版 阶段,并可能会更改。
先决条件
安装 Copilot 命令行界面(CLI)。 请参阅“安装 GitHub Copilot CLI”。
使用 Copilot 命令行界面(CLI)
-
在终端中,导航到包含要使用的代码的文件夹。
-
输入
copilot以启动 Copilot 命令行界面(CLI)。Copilot 会要求你确认是否信任此文件夹中的文件。
重要
在此次 GitHub Copilot 命令行界面 会话期间,Copilot 可能会尝试读取、修改和执行此文件夹及其子文件夹中的文件。 只有当你信任此位置中的文件时,才应继续操作。 有关受信任目录的详细信息,请参阅“关于 GitHub Copilot CLI”。
-
选择以下选项之一:
**1.Yes, proceed**:Copilot 仅能在本次会话期间操作此位置中的文件。
**2.Yes, and remember this folder for future sessions**:对于此次会话以及未来的会话,你都信任此文件夹中的文件。 从你此文件夹启动 Copilot 命令行界面(CLI) 时,系统将不会询问你。 请仅在完全确信 Copilot 始终可安全操作此位置中的文件的前提下,才应选择此选项。
**3.No, exit (Esc)**:结束你的 Copilot 命令行界面(CLI) 会话。
-
如果当前未登录 GitHub,系统将提示你使用
/login斜杠命令完成登录。 输入此命令并按照屏幕说明完成身份验证流程。 -
在 CLI 中输入提示。
此提示可以是简单的聊天问题,也可以是要求 Copilot 执行特定任务的请求,例如修复 bug、为现有应用程序添加功能或创建新应用程序。
有关提示的一些示例,请参“关于 GitHub Copilot CLI”。
-
当 Copilot 需要调用可能修改或执行文件的工具时 (例如
touch、chmod、node或sed),它将请求你批准使用该工具。选择以下选项之一:
**1. Yes**:允许 Copilot 使用此工具。 下一次 Copilot 想要使用该工具时,它会再次请求你的批准。
**2.Yes, and approve TOOL for the rest of the running session**:允许 Copilot 使用此工具(包括任何选项),且在当前运行的会话剩余时间内,无需再次请求批准。 在未来的会话中,你需要再次批准该命令。
选择此选项对许多工具都很有用(例如
chmod),因为它可以避免你在同一会话中反复批准类似的命令。 但应注意此选项所涉及的安全问题。 例如,为命令rm选择此选项,将允许 Copilot 删除当前文件夹及其子文件夹中的任何文件,而无需请求你的批准。**3. No, and tell Copilot what to do differently (Esc)**:Copilot 将不会运行此命令。 相反,它会终止当前操作,并等待你输入下一个提示。 可指示 Copilot 继续执行此任务,但需要采用不同的方法。
例如,如果你要求 Copilot 创建 Bash 脚本,但希望避免使用 Copilot 推荐的脚本,你可以中止当前操作并输入新提示,例如:
Continue the previous task but include usage instructions in the script。
提示
通过以下建议优化你的 Copilot 命令行界面(CLI) 使用体验。
停止当前正在运行的操作
如果你输入了一个提示,而后在 Copilot 仍处于“思考中”状态时,决定想要阻止它完成该任务,按下 Esc 即可。
在提示中包含特定文件
要向提示添加特定文件,请使用 @ 后跟文件的相对路径。 例如: Explain @config/ci/ci-required-checks.yml 或 Fix the bug in @src/app.js 。 这会将文件的内容添加到你的提示中,作为 Copilot 的上下文。
开始键入文件路径时,匹配的路径会显示在提示框下方。 使用箭头键选择路径,然后按 Tab 在提示中补全该路径。
处理其他路径下的文件
为完成任务,Copilot 可能需要处理当前工作目录之外的文件。 如果在交互式会话中输入的命令要求 Copilot 修改当前位置之外的文件,系统将请求你批准访问该文件所在目录。
你也可以随时使用斜杠命令手动添加受信任目录:
/add-dir /path/to/directory
如果要处理的所有文件都位于其他位置,则可以使用斜杠命令切换当前工作目录,而无需启动新的 Copilot 命令行界面(CLI) 会话:
/cwd /path/to/directory
运行 shell 命令
无需调用模型即可在输入前添加 ! 以直接运行 shell 命令。
!git clone https://github.com/github/copilot-cli
将任务委托给 Copilot 编码智能体
使用委托命令,可以将当前会话推送到 GitHub 上的 Copilot 编码智能体。 这使你能够在移交工作时保留 Copilot 完成任务所需的所有上下文。
可以使用斜杠命令来委托任务,然后输入提示信息:
/delegate complete the API integration tests and fix any failing edge cases
Copilot 将要求提交任何未标记的更改,作为它创建的新分支中的检查点。 Copilot 编码智能体 将打开草稿拉取请求,在后台进行更改,并请求您审阅。
Copilot将在会话开始后提供 GitHub 上的拉取请求和代理会话的链接。
恢复交互式会话
你可以使用 --resume 命令行选项,从显示的列表中选择需要恢复的会话,即可返回之前的交互式会话并继续与 Copilot 的对话。 可以使用命令行选项快速恢复最近关闭的会话 --continue 。
使用自定义指令
你可以通过向当前工作的仓库添加自定义指令,来提升 Copilot 的性能表现。 自定义指令是以自然语言编写的描述性内容,以 Markdown 文件形式存储于仓库中。 当你在该仓库中执行操作时,这些指令将自动包括在你输入的提示中。 这有助于 Copilot 更深入地理解你的项目上下文,从而更精准地响应你的提示。
Copilot 命令行界面(CLI) 支持:
.github/copilot-instructions.md文件中仓库范围的指令。- 路径特定的指令文件:
.github/copilot-instructions/**/*.instructions.md。 - 智能体文件,例如
AGENTS.md。
有关详细信息,请参阅“为 GitHub Copilot 添加存储库自定义说明”。
使用自定义代理
自定义智能体 是 Copilot 编码智能体 的专用版本,你可以根据独特的工作流、编码约定和使用场景进行定制。 自定义智能体 是通过 Markdown 文件定义的,这些文件被称为 代理资料,用于指定提示、工具和 MCP 服务器。
Copilot 命令行界面(CLI) 支持从以下位置加载 自定义代理:
| 类型 | 位置 | Scope |
|---|---|---|
| 用户级别 自定义智能体 | 本地 ~/.copilot/agents 目录 | 所有项目 |
| 仓库级别 自定义智能体 | .github/agents 本地存储库和远程存储库中的目录 | 当前项目 |
| 组织和企业层面 自定义智能体 | 组织或企业.github-private 存储库中的 /agents 目录 | 组织及企业帐户下的所有项目 |
在命名冲突的情况下,系统级代理会替代存储库级代理,存储库级代理将替代组织级代理。
自定义智能体 可通过三种方式使用:
-
在交互模式下,使用斜线命令从可用的 自定义代理 列表中进行选择:
/agent -
在提示中直接调用 自定义智能体:
Use the refactoring agent to refactor this code blockCopilot 将自动推断要使用的代理。
-
与命令行选项一起指定您要使用的 自定义智能体。 例如:
copilot --agent=refactor-agent --prompt "Refactor this code block"
有关详细信息,请参阅“创建自定义代理”。
添加 MCP 服务器
Copilot 命令行界面(CLI) 已预先配置好了 GitHub MCP 服务器。 通过此 MCP 服务器,你可与 GitHub.com 上的资源进行交互,例如可从 CLI 合并拉取请求。
要扩展 Copilot 命令行界面(CLI) 中可用的功能,你可以添加更多 MCP 服务器:
-
使用以下斜杠命令:
/mcp add -
填写你想要添加的 MCP 服务器的详细信息,使用 Tab 键在各个字段之间切换。
-
按 Ctrl+S 以保存详细信息。
你已配置的 MCP 服务器详细信息存储在 mcp-config.json 文件中,该文件默认位于 ~/.copilot 目录下。 可通过设置 XDG_CONFIG_HOME 环境变量来更改此位置。 有关服务器定义的 JSON 结构的信息,请参阅“使用模型上下文协议 (MCP) 扩展 GitHub Copilot 编码助手”。
查看当前会话的上下文和使用情况统计信息
可以使用 /usage 斜杠命令查看当前会话中使用的高级请求数、会话持续时间、已编辑的代码行数以及每个模型的令牌使用情况细分。 当模型的令牌限制剩余不到 20% 时,Copilot 命令行界面(CLI)会显示警告,指出达到令牌限制时上下文将被截断。
了解更多
要查看可用于 Copilot 命令行界面(CLI) 的完整命令行选项和斜杠命令列表,可执行以下任一操作:
- 在交互式会话的提示框中输入
?。 - 在终端中输入
copilot help。
有关其他信息,请在终端中使用以下命令之一:
-
**配置设置**:copilot help config你可通过编辑
config.json文件来调整配置设置,该文件默认位于~/.copilot目录下。 可通过设置XDG_CONFIG_HOME环境变量来更改此位置。 -
影响 Copilot 命令行界面(CLI) 的**环境变量**:copilot help environment -
**可用日志记录级别**:copilot help logging -
允许或拒绝工具使用的**权限**:copilot help permissions
反馈
如果你对 GitHub Copilot 命令行界面 有任何反馈,请通过交互式会话中的 /feedback 斜杠命令选择相应选项告知我们。 你可以选择参与私密反馈调查、提交 bug 报告或提出新功能建议。