Skip to main content

GitHub Docs API

使用官方 GitHub Docs API 以编程方式列出页面、搜索和检索 GitHub 文档内容。

GitHub Docs 提供了几种以编程方式访问文档内容的方法。 可以将单个文章检索为 Markdown、列出所有可用页面、跨文档搜索或将 AI 代理指向 llms.txt 文件进行内容发现。

文章终结点

Article 端点返回任何 GitHub Docs 页面的 Markdown 内容和元数据。 它支持所有页面类型,包括标准文章、REST API 参考页、GraphQL 参考页和登陆页。

项目终结点接受以下查询参数:

  • pathname (必需):项目路径,包括语言前缀,如 /en//ja/
    • 例如,/en/get-started/start-your-journey/about-github-and-git

此外,GET /api/articleGET /api/article/body 接受以下可选查询参数:

  • apiVersion:对于 REST API 参考页,指定要使用的 API 版本。 默认使用最新版本。

获取文章内容

GET https://docs.github.com/api/article/body 以 Markdown 的形式返回完整的文章内容。

curl "https://docs.github.com/api/article/body?pathname=/en/get-started/start-your-journey/about-github-and-git"

若要访问某个版本的文章(例如,对于 GitHub Enterprise Cloud),请在路径中加入版本号:

curl "https://docs.github.com/api/article/body?pathname=/en/enterprise-cloud@latest/admin/overview/about-github-enterprise-cloud"

获取文章元数据

GET https://docs.github.com/api/article/meta 以 JSON 形式返回有关文章的元数据,包括标题、简介、产品区域、文档类型和痕迹导航。

curl "https://docs.github.com/api/article/meta?pathname=/en/get-started/start-your-journey/about-github-and-git"

同时获取内容和元数据

GET https://docs.github.com/api/article 在单个 JSON 响应中同时返回元数据和文章正文,合并了正文端点和元数据端点的结果。

curl "https://docs.github.com/api/article?pathname=/en/get-started/start-your-journey/about-github-and-git"

Pagelist 终结点

Pagelist 终结点返回给定语言和文档版本的每个可用页面路径的列表。 可以使用它来发现所有文章,然后使用项目终结点提取单个文章。

列出所有页面

GET https://docs.github.com/api/pagelist/:lang/:version 返回指定语言和版本的所有页面路径的以换行符分隔的列表。

curl "https://docs.github.com/api/pagelist/en/free-pro-team@latest"

语言列表

GET https://docs.github.com/api/pagelist/languages 以 JSON 形式返回所有可用的语言代码。 使用此函数可查找上述参数的有效值 :lang

版本列表

GET https://docs.github.com/api/pagelist/versions 以 JSON 形式返回所有可用的文档版本,包括 GitHub Enterprise Server 版本号。 使用此函数可查找上述参数的有效值 :version

搜索端点

搜索终结点允许跨所有 GitHub Docs 内容进行搜索。 它返回按相关性排序的结果,其中包含每个匹配页面的突出显示和元数据。

搜索文档内容

GET https://docs.github.com/api/search/v1 接受以下查询参数:

  • query (必需):搜索词。
  • client_name(外部客户端(如 curl)必填):用于标识您的客户端或集成的名称。
  • version (可选):要搜索的文档版本。 默认值为 free-pro-team. 有效值包括free-pro-teamenterprise-cloudGitHub Enterprise Server版本号,例如3.19
  • language (可选):要搜索的语言。 默认值为 en.
  • page (可选):分页结果的页码。 默认值为 1.
  • size(可选):每页返回的结果数,最大为 50。 默认值为 10.
curl "https://docs.github.com/api/search/v1?query=actions&client_name=docs-api-example&version=free-pro-team&language=en"

响应包括一个 meta 对象,其中包含有关匹配项总数的信息,以及 hits 包含标题、URL、痕迹导航和内容突出显示的匹配页面的数组。

llms.txt 适用于 AI 代理

GitHub Docs在https://docs.github.com/llms.txt发布一个llms.txt文件,遵循llms.txt标准。 此文件提供了用于 LLM 和 AI 支持工具使用的文档网站的结构化概述。

如果您正在构建需要访问 GitHub Docs 的代理或工具,llms.txt 是发现可用内容和 API 端点的推荐起点。