跳到主要内容
翻译页面

本页面由 AI 辅助从英文翻译而来。如两者存在差异,以英文版本为准。

如何让 StackQL 通过 GitHub 的身份验证

StackQL 使用基本身份验证向 GitHub 进行身份验证:你的 GitHub 用户名和个人访问令牌(PAT),分别通过 STACKQL_GITHUB_USERNAME 和 STACKQL_GITHUB_PASSWORD 提供。公开数据无需任何凭据即可查询,适用 GitHub 针对未经身份验证请求的速率限制。

步骤​

  1. 在 GitHub 中创建个人访问令牌(Settings -> Developer settings)。只授予查询所需的作用域:以更高的速率限制访问公开数据无需任何作用域,访问私有仓库需要 repo。

  2. 导出凭据:

export STACKQL_GITHUB_USERNAME=yourghuser
export STACKQL_GITHUB_PASSWORD=ghp_yourgithubpersonalaccesstoken
  1. 拉取 GitHub Provider(仅首次使用时需要):
REGISTRY PULL github;
  1. 通过查询进行验证:
SELECT name, description, language, stargazers_count
FROM github.repos.repos
WHERE org = 'stackql';

org 谓词会选择 list_for_org 访问方法;WHERE username = '...' 则选择 list_for_user。SHOW METHODS IN github.repos.repos 会列出每个方法及其必需参数,包括变更方法(create_in_org、update、delete)。

未经身份验证的访问​

上面的查询无需凭据即可运行,因为 stackql 组织是公开的。这对评估很有用,也便于智能体在凭据预配之前探索查询模型。GitHub 针对未经身份验证请求的速率限制较低(每个 IP 每小时 60 个请求),因此任何持续性的使用都应进行身份验证。