SuperAPI AI 工具集

github

编程与开发

查看项目

更新于 10-15 09:09

技能介绍

用途

GitHub 是一个基于 Git 的网页版版本控制与协作平台,开发者使用它托管、审查和管理代码,同时跟踪和解决议题(Issue)。本技能用于通过 Membrane CLI 与 GitHub 交互,适合在用户需要管理项目管理与工单数据、记录和工作流,或需要与 GitHub 数据交互时使用。

主要能力

该技能封装了一组针对 GitHub 的常用操作,涵盖:

  • 列表类:列出议题、拉取请求、用户仓库、组织仓库、提交、分支、发布。
  • 获取类:获取特定议题、拉取请求、仓库。
  • 创建类:创建议题、拉取请求、仓库、发布、议题评论、PR 审查。
  • 更新类:更新议题、更新拉取请求。
  • 其它:合并拉取请求、搜索议题与 PR。

当内置操作无法覆盖用例时,可通过 Membrane 的代理直接向 GitHub API 发送请求。Membrane 会自动附加基础 URL 并注入正确的认证头,包括凭据过期时的透明刷新。

使用方式

安装 CLI

在终端中安装 Membrane CLI:

npm install -g @membranehq/cli@latest

认证

membrane login --tenant --clientName=<agentType>

根据是否可用交互模式,该命令会打开浏览器进行认证,或在控制台打印授权 URL。无头环境会打印授权 URL,让用户在浏览器中打开;用户完成登录看到代码后,执行:

membrane login complete <code>

任意命令加 --json 可获得机器可读的 JSON 输出。agentType 可选值包括 claude、openclaw、codex、warp、windsurf 等,用于针对所用 harness 调整工具。

连接 GitHub

使用 membrane connection ensure 按应用 URL 或域名查找或创建连接:

membrane connection ensure "https://github.com/" --json

用户在浏览器中完成认证,输出包含新的连接 id。这是获取连接最快的方式。URL 会被规范化为域名并与已知应用匹配;若未找到应用,则自动创建应用并构建连接器。

若返回的连接状态为 READY,可直接跳到下一步。

若连接处于 BUILDING 状态,轮询直到就绪:

npx @membranehq/cli connection get <id> --wait --json

--wait 标志会长时间轮询(最长 --timeout 秒,默认 30)直到状态变化。持续轮询直到状态不再是 BUILDING。

得到的状态含义:READY 表示连接已完全建立;CLIENT_ACTION_REQUIRED 表示用户或代理需要执行某些操作,clientAction 对象描述所需操作(type 为 "connect" 表示用户需认证,含首次认证和断开连接后的重新认证;为 "provide-input" 表示需要更多信息;description 为人类可读说明;uiUrl 可选,为可完成操作的预构建 UI;agentInstructions 可选,为代理如何以编程方式继续的指引);CONFIGURATION_ERROR 或 SETUP_FAILED 表示出错,查看 error 字段了解详情。用户完成操作后,再次轮询 membrane connection get <id> --json 检查状态是否变为 READY。

搜索操作

使用自然语言描述想要执行的操作进行搜索:

membrane action list --connectionId=CONNECTION_ID --intent "QUERY" --limit 10 --json

应始终在特定连接的上下文中搜索操作。每个结果包含 id、name、description、inputSchema(操作接受的参数)和 outputSchema(返回的内容)。

运行操作

membrane action run <actionId> --connectionId=CONNECTION_ID --json

传递 JSON 参数:

membrane action run <actionId> --connectionId=CONNECTION_ID --input '{"key": "value"}' --json

结果位于响应的 output 字段中。

代理请求

当可用操作无法覆盖用例时,可向 GitHub API 直接发送请求:

membrane request CONNECTION_ID /path/to/endpoint

常用选项:-X/--method 指定 HTTP 方法(GET、POST、PUT、PATCH、DELETE,默认 GET);-H/--header 添加请求头(可重复);-d/--data 请求体(字符串);--json 便捷地发送 JSON 体并设置 Content-Type: application/json;--rawData 原样发送不做处理;--query 查询字符串参数(可重复);--pathParam 路径参数(可重复)。

适用场景

适合需要以编程或代理方式与 GitHub 交互的场景,例如查询仓库信息、批量读取议题与拉取请求、创建与管理议题和 PR、触发审查、创建发布、搜索议题与 PR 等项目管理与工单相关工作流。

限制

资料未提供本技能的具体收费、价格、使用限制或配额信息,暂未提供。除资料中列出的操作外,其余能力需通过代理请求 GitHub API 实现。GitHub 官方 REST 文档见 https://docs.github.com/en/rest。