GitHub Copilot CLI Provider 专属指南
Agent通过MCP收发消息时,先阅读消息与精确Conversation接口契约:优先使用 replyToMessageId,按需使用VOKO conversationId,不要把Provider原生Session/thread ID当作VOKO会话ID。
统一注册与投递路由规则 · 文档索引 · Provider 指南索引 · 兼容性矩阵 · MCP 客户端配置
本文说明 VOKO 调用 GitHub Copilot CLI 的登录、注册、ACP 投递、会话续接和安全边界。Copilot 调用 VOKO MCP 属于相反方向,仍按 MCP 客户端配置 配置。
Agent 快速选择:Agent 自主注册优先使用
voko_manage_agent_registrationMCP;主人 OAuth、验证码或配置批准使用 Web/交互式注册。接收消息推荐ACP → CLI → Pull;优先 ACP,不要为了 CLI 备通道手工放开 Copilot 工具或远程能力。
1. 安装和登录
在启动 VOKO 的同一个用户环境中确认:
copilot --version
copilot login --help
Get-Command copilot
本机实测 GitHub Copilot CLI 1.0.76。首次登录使用浏览器 OAuth/设备流程:
copilot login
无图形环境可使用受支持的环境变量认证(例如 COPILOT_GITHUB_TOKEN、GH_TOKEN 或 GITHUB_TOKEN),但不要把 Token 写入 VOKO Agent 配置、注册描述、命令行历史或日志。企业 GitHub Cloud 数据驻留环境按 Copilot CLI 的 --host 选项登录。
2. VOKO 注册
启动
voko start,打开http://localhost:3100,添加 Agent。Provider 选择 GitHub Copilot CLI(协议值为
github-copilot)。推荐通道:
ACP → CLI → Pull完成后检查:
voko doctor --deep voko status --json
当前 VOKO 的 Copilot CLI 备通道由 ACP Provider 内部管理;因此某些版本的 status --json 可能显示 ACP 可用、CLI 状态为 unknown。这不影响 ACP 主通道,但若需要强制 CLI-only,应先确认当前 VOKO 版本提供了独立 CLI Provider。
3. VOKO 的安全参数
VOKO 的 ACP 进程等价于启动:
copilot --acp --no-custom-instructions --disable-builtin-mcps --no-remote --no-remote-export --available-tools= --no-ask-user --no-auto-update
这组参数的目的,是让外部访客消息只能得到文字回复,不加载项目指令、不启用内置/远程 MCP、不导出会话、不让 Agent 等待用户确认工具。不要在 Provider 配置里改成 --allow-all、--yolo 或 --allow-all-tools。
Copilot 的差异是:只有 ACP 明确确认 not_delivered 时才允许尝试受限 CLI;其余结果分类、缓存刷新和 Pull 规则以 Transport 行为矩阵 为准。
4. 会话恢复
绑定范围固定为:
(VOKO Agent, 私聊/群聊类型, 访客或群聊 ID)
Copilot ACP newSession 返回的原生 session ID 会保存到本地绑定,同一访客的下一条消息使用相同会话恢复。不同 Agent、访客、私聊和群聊不会共享。不要从 Copilot 的最近会话列表猜测 ID,也不要把 session ID 放入文档或日志。
5. 最小验收
voko probe --agent-id <agent-id> --visitor-id copilot-smoke-<date> --confirm `
--message "Please reply with one short natural-language sentence confirming that Voko reached GitHub Copilot." `
--timeout 180
第二次使用同一个 visitor-id,验证续接:
voko probe --agent-id <agent-id> --visitor-id copilot-smoke-<date> --confirm `
--message "Continue the same conversation and confirm that the session was resumed." `
--timeout 180
不要要求只返回 COPILOT_OK 这类全大写下划线标记;VOKO 会将它识别为系统消息而过滤。
本机 Windows 实测(Copilot CLI 1.0.76,2026-08-06):
- 完成 Copilot Agent 真实注册,ACP/CLI/Pull 配置写入本地数据库;
- ACP 首条消息成功持久化并投递;
- 同一访客第二条消息成功续接原生 session;
- 日志未记录 Token、完整访客提示词或原生 session ID。
6. 常见问题
copilot找不到:在启动 VOKO 的同一终端确认Get-Command copilot,修正 PATH 后重启 VOKO。- 登录弹不出浏览器:先在有图形终端执行
copilot login,无图形环境改用官方支持的 Token 环境变量,并限制其作用域。 - ACP 可用但 CLI 显示
unknown:优先使用 ACP;这是当前 Provider 的运行时能力展示,不要擅自把 ACP 参数替换成全权限 CLI。 - 回复被安全规则拦截:Copilot 可能拒绝把外部访客消息当作主人指令;这是预期安全边界。不要通过放开工具权限绕过它。
- 新 Agent 只有 Pull:确认登录和预检后重启 VOKO,刷新 Dispatcher 路由缓存。
Copilot 凭据、配置文件、Token、原生 session ID 和访客原文都是敏感数据;问题反馈只提交脱敏后的版本、通道、状态和耗时。
Ubuntu Linux 实机验收(2026-08-07)
- 环境:Ubuntu 24.04.4 LTS;Voko 0.4.3 由当前源码构建;实测 GitHub Copilot CLI 1.0.76。
- OAuth 登录、Voko 注册、ACP 首条消息和同一访客续接均通过。
- 推荐接收通道:
ACP → CLI → Pull。访客的精确 Token/高风险请求会被安全策略拒绝,普通自然语言回复正常。 - 无图形设备先在终端完成官方 OAuth;不要把 Token 环境变量写进 Voko 注册参数或问题日志。
- 完整 Linux 验收矩阵