openapi2cli:从 OpenAPI 规范生成 Python CLI 工具 - Openclaw Skills

作者:互联网

2026-04-17

AI快讯

什么是 openapi2cli?

openapi2cli 是一个专门设计的实用工具,旨在弥补复杂 Web API 与命令行可访问性之间的差距。通过解析 OpenAPI 3.x 规范,它会生成一个原生的 Python CLI,从而抽象掉 curl 命令和手动构建 JSON 负载的复杂性。这种方法对于开发者将新功能集成到 Openclaw Skills 中非常有效。

生成的工具针对人类使用和 AI 智能体消耗进行了优化,提供结构化的 JSON 输出和可发现的命令层级。无论您是处理本地文件还是远程 URL,该工具都能确保您的开发工作流保持精简且高效。

下载入口:https://github.com/openclaw/skills/tree/main/skills/awlevin/openapi2cli

安装与下载

1. ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install openapi2cli

2. 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/ 工作区 /skills/

优先级:工作区 > 本地 > 内置

3. 提示词安装

将此提示词复制到 OpenClaw 即可自动安装。

请帮我使用 Clawhub 安装 openapi2cli。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

openapi2cli 应用场景

  • 将复杂的 REST API 转换为可发现的 CLI,供 AI 智能体使用。
  • 无需编写样板网络代码即可快速原型化 API 交互。
  • 将外部服务文档集成到 Openclaw Skills 中以实现自动化任务执行。
  • 在生产实施前使用空运行(dry-run)模式测试 API 端点。
openapi2cli 工作原理
  1. 用户向生成器提供 OpenAPI 3.x 规范的 URL 或本地文件路径。
  2. openapi2cli 解析规范,识别端点、方法、参数和身份验证要求。
  3. 生成一个可移植的 Python 脚本,将每个 API 路径映射到特定的命令行动词。
  4. 可以通过环境变量或标志位进行身份验证来调用生成的 CLI。
  5. AI 智能体与 CLI 交互,执行 GET、POST 或其他 HTTP 操作并获取结构化响应。

openapi2cli 配置指南

首先,确保您已安装 uv 以运行生成器:

# 安装 uv 包管理器
pip install uv

从规范生成您的第一个 CLI 以增强您的 Openclaw Skills:

# 从远程 URL 生成 CLI
uvx openapi2cli generate https://api.example.com/openapi.json --output my-api-cli

# 使用生成的脚本
python my-api-cli.py --help

openapi2cli 数据架构与分类体系

生成的 CLI 保持清晰的结构,以确保在 Openclaw Skills 生态系统中的兼容性:

组件 描述
CLI 脚本 代表 API 表面的独立 Python 文件。
命令结构 遵循 python .py <资源> <操作> 语法。
认证处理 通过环境变量支持 API_KEY、BEARER_TOKEN 和 BASIC_AUTH。
输出格式 默认 JSON 响应,便于管道传输和解析。
name: openapi2cli
description: Generate CLI tools from OpenAPI specs. Built for AI agents who hate writing curl commands.
homepage: https://github.com/Olafs-World/openapi2cli
metadata:
  {
    "openclaw":
      {
        "emoji": "??",
        "requires": { "bins": ["uvx"] },
        "install":
          [
            {
              "id": "uv",
              "kind": "pip",
              "package": "uv",
              "bins": ["uvx"],
              "label": "Install uv (for uvx)",
            },
          ],
      },
  }

OpenAPI to CLI

Generate command-line tools from OpenAPI/Swagger specs. Perfect for AI agents that need to interact with APIs without writing curl commands.

Quick Start

# generate a CLI from any OpenAPI spec
uvx openapi2cli generate https://api.example.com/openapi.json --output my-api

# use the generated CLI
python my-api.py users list
python my-api.py users get --id 123
python my-api.py posts create --title "Hello" --body "World"

Features

  • Auto-generates CLI from OpenAPI 3.x specs
  • Supports auth: API keys, Bearer tokens, Basic auth
  • Rich help: --help on any command shows params
  • JSON output: Structured responses for parsing
  • Dry-run mode: See the request without sending

Usage

# from URL
uvx openapi2cli generate https://api.example.com/openapi.json -o my-cli

# from local file  
uvx openapi2cli generate ./spec.yaml -o my-cli

# with base URL override
uvx openapi2cli generate ./spec.json -o my-cli --base-url https://api.prod.com

Generated CLI

# set auth via env
export MY_CLI_API_KEY="sk-..."

# or via flag
python my-cli.py --api-key "sk-..." users list

# see available commands
python my-cli.py --help

# see command options
python my-cli.py users create --help

Example: GitHub API

uvx openapi2cli generate https://raw.githubusercontent.com/github/rest-api-description/main/descriptions/api.github.com/api.github.com.json -o github-cli

python github-cli.py repos list --owner octocat

Why?

AI agents work better with CLIs than raw HTTP:

  • Discoverable commands via --help
  • Tab completion friendly
  • No need to construct JSON payloads
  • Easy to chain with pipes
  • PyPI
  • GitHub