在运行时切换用于认证的 GitHub token
如何使用通过 Socialite 等认证的每个用户各自的 GitHub token 来运行 Copilot CLI。Personal Access Token 需要
Copilot Requests 权限。Socialite 的 token 也应满足相同的要求。
如果无法从 Socialite 获取可用的 token,则采用让用户直接输入 PAT 的方式。cli_url)下指定 github_token 或 use_logged_in_user 会报错。
下面的「每个会话独立的 GitHub token(v0.3.0+)」在 TCP 模式下也可以使用。
github_token 选项
SDK 的官方选项。token 会通过环境变量 COPILOT_SDK_AUTH_TOKEN 传给 CLI。
use_logged_in_user 选项
指定 github_token 后,use_logged_in_user 会自动变为 false。
这样 CLI 将不使用已保存的 OAuth token 或 gh CLI 认证,而只使用显式传入的 token。
也可以显式将 use_logged_in_user 设为 true。
github_token 而将 use_logged_in_user 设为 false 时,会追加 --no-auto-login 标志,CLI 不会执行自动登录。
每个会话独立的 GitHub token(v0.3.0+)
使用SessionConfig 的 gitHubToken 字段,可以在同一 CLI 进程内为每个会话指定不同的 GitHub token(多租户支持)。
由于该 token 会作为 session.create JSON-RPC 的参数传递,因此 stdio 模式和 TCP 模式都可以使用。即使在 CLI 已经启动的 TCP 模式下,也可以按会话切换 token。
github_token(CLI 进程启动时的 token)是独立工作的。
当你想按会话切换用户 token 时,请使用这个。
最新信息请参考 GitHub 仓库。