GitCode API Usage:用 Agent Skill 规范调用 GitCode REST API

前言

在 GitCode 上做仓库、Pull Request、Issue 或搜索类自动化时,如果每次都手写 httpx 请求、对照英文帮助文档拼路径和参数,Agent 或脚本很容易在鉴权、资源路径和分页参数上出错。社区维护的 gitcode-api Python SDK 已经把同步/异步客户端、按资源分组的 API 以及内置 CLI 封装好了;SkillHub 上的 GitCode API Usage(坐标 @user_f6d71f82/gitcode-api)则把这些约定写进 Agent 可读的 SKILL 说明,便于在写 Python、解释 client.repos.get() / client.pulls.list() 一类调用,或跑 bundled 脚本做环境校验时保持一致用法。

下面介绍这个 Skill 的定位、能力与启用方式。

这是什么

GitCode API Usage 是 SkillHub 社区来源(community)的 dev-programming 类 Skill,当前版本 1.1.0,发布者为 user_f6d71f82。页面标注 requires_api_key=true,即实际调用 GitCode 时需要访问令牌。

Skill 本身不替代 GitCode 服务端:它围绕 gitcode-api 这一轻量级 Python SDK 与配套 CLI,说明如何与 GitCode REST API 交互。官方资料中的延伸阅读包括:

  • 文档:https://gitcode-api.readthedocs.io/
  • PyPI:https://pypi.org/project/gitcode-api
  • GitHub:https://github.com/Trenza1ore/GitCode-API
  • GitCode 镜像:https://gitcode.com/SushiNinja/GitCode-API

SkillHub 展示数据(截至页面抓取):评分 100000,下载 740,安装 1。

核心功能

依据 Skill 简介与 gitcode-api 官方文档,Skill 所覆盖的能力可概括为:

  1. Python SDK:GitCode / AsyncGitCode 同步与异步客户端,基于 httpx,API 面一致。
  2. OpenAI 式资源结构:通过 client.repos、client.pulls、client.issues、client.users、client.search 等资源组访问接口,可在客户端上设置默认 owner / repo,减少重复传参。
  3. 类型与序列化:响应为带类型提示的模型;可用包根目录的 as_dict 将单个对象或列表转为 dict / list[dict]。
  4. 鉴权:支持直接传 api_key,或环境变量 GITCODE_ACCESS_TOKEN;加密令牌可通过 decrypt 回调解密后再使用。
  5. CLI:安装包后可用 gitcode-api 或 python -m gitcode_api 子命令,与同步资源方法对应;可选 [mcp] extra 提供 gitcode-api serve 等能力(文档要求 Python 3.10+)。
  6. Agent 向集成(SDK 文档中的 gitcode_api.llm):OpenAI 风格工具、FastMCP、openJiuwen 等,与 Skill 线索中「OpenAI-style client structure」一致;Skill 侧重点仍是 REST 自动化与 SDK/CLI 用法说明。

安装与启用

在 SkillHub 安装 Skill

SkillHub 页面给出的安装提示为:让 AI 根据 https://skillhub.cn/install/skillhub.md 安装坐标 @user_f6d71f82/gitcode-api。

Skill 元数据地址:https://api.skillhub.cn/user_f6d71f82/gitcode-api
Skill 展示页:https://www.skillhub.cn/skills/user_f6d71f82/gitcode-api

不同 IDE 或 CLI 的具体菜单步骤以 SkillHub 安装文档为准;此处不展开未在官方页面单独说明的差异。

安装 Python SDK(运行脚本或 CLI 时)

在需要本机执行 gitcode-api 或 from gitcode_api import GitCode 的环境中,从 PyPI 安装:

pip install -U gitcode-api

若仅需 MCP 相关 CLI(gitcode-api serve),文档要求 Python 3.10+ 并安装可选依赖:

pip install 'gitcode-api[mcp]'

配置访问令牌

将令牌写入环境变量(与 SDK 文档一致):

export GITCODE_ACCESS_TOKEN="your-token"

或在代码中传入 api_key;若令牌为加密存储,按文档传入 decrypt 回调。

典型用法

以下示例来自 gitcode-api 官方 Quick Start,与 Skill 描述的 client.repos.get()、client.pulls.list() 等调用方式一致。运行前请确保已配置有效令牌。

同步客户端:默认仓库下读仓库与分支

在客户端上设置 owner 与 repo 后,资源方法可省略仓库参数:

from gitcode_api import GitCode

client = GitCode(
    owner="SushiNinja",
    repo="GitCode-API",
)

repo = client.repos.get()
branches = client.branches.list(per_page=5)

print(repo.full_name)
for branch in branches:
    print(branch.name)

异步客户端:列出开放的 Pull Request

import asyncio
from gitcode_api import AsyncGitCode

async def main() -> None:
    client = AsyncGitCode(owner="SushiNinja", repo="GitCode-API")
    pulls = await client.pulls.list(state="open", per_page=20)
    print(len(pulls))

asyncio.run(main())

CLI:与 SDK 资源方法对应的命令行

无需单独写脚本时,可直接调用 CLI(文档示例):

gitcode-api repos get --api-key "$GITCODE_ACCESS_TOKEN" --owner SushiNinja --repo GitCode-API
python -m gitcode_api pulls list --api-key "$GITCODE_ACCESS_TOKEN" --owner SushiNinja --repo GitCode-API --state open

常用工作流片段

获取当前认证用户:

from gitcode_api import GitCode

client = GitCode()
user = client.users.me()
print(user.login)

搜索仓库:

from gitcode_api import GitCode

client = GitCode()
repos = client.search.repositories(q="sdk language:python", per_page=10)
for repo in repos:
    print(repo.full_name)

使用上下文管理器时,GitCode / AsyncGitCode 在退出 with / async with 时会关闭底层 httpx 客户端,适合短生命周期脚本。

适用场景与注意

适合谁

  • 编写需要访问 GitCode 的 Agent 或 Python 自动化脚本,希望统一用资源式客户端而不是散落的原生 HTTP 调用。
  • 调试或讲解 SDK 调用(例如 repos.get、pulls.list)时,需要与官方 CLI、类型模型和文档交叉对照。
  • 需要仓库、PR、用户、搜索等短示例,或借助 Skill 内 bundled 脚本做环境验证与简单 CLI 调用。

使用注意

  • Skill 标记需要 API Key;请勿把真实令牌写入仓库或对话日志,优先使用环境变量。
  • Skill 版本为 1.1.0,底层 PyPI 包会独立演进;遇到行为差异应以 readthedocs 与 PyPI 为准。
  • SDK 为社区维护项目,覆盖面广但仍在迭代;企业网络或自签证书场景需按文档为 httpx 客户端配置 verify 等 TLS 选项。
  • MCP、[mcp] extra 与 openJiuwen 等对 Python 版本有额外要求,启用前请对照安装说明。

结尾

GitCode API Usage 把 GitCode REST 自动化收敛到 gitcode-api 的 SDK、CLI 与鉴权约定上,适合在 Agent 工作流里减少「查文档拼请求」的重复劳动。需要安装或更新 Skill 时,使用坐标 @user_f6d71f82/gitcode-api,并参考 SkillHub 安装文档与官方元数据地址:https://api.skillhub.cn/user_f6d71f82/gitcode-api 。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜