OpenAI CLI:安装并用它在终端调用 OpenAI API

OpenAI CLI 是官方 Go 命令行客户端,用一条命令调用 Responses、文件和批处理。本文说明安装、鉴权,以及如何避开旧版 Python openai 命令。

用 Apifox,节省研发团队的每一分钟

OpenAI CLI:安装并用它在终端调用 OpenAI API

免费使用 Apifox

相关推荐

最新文章

API

一体化协作平台

API 设计

API 文档

API 调试

自动化测试

API Mock

API Hub

立即体验 Apifox
目录

OpenAI CLI 是 OpenAI 官方的命令行工具,用来调用 OpenAI REST API。你安装一个 openai 二进制文件,设置 OPENAI_API_KEY,就可以在终端或 shell 脚本里调用 API:openai responses create、openai files upload、openai batches create、openai images generate。它不是 Codex CLI。Codex 是编码智能体;openai 每条命令发送一次 API 请求。

本指南涵盖安装、鉴权、值得先跑的命令,以及它和 Codex CLI、Python SDK 放到 PATH 上的旧 openai 命令有何不同。下面每条命令和输出都来自 1.44.1,安装并运行于 2026 年 10 月 28 日。

什么是 OpenAI CLI?

OpenAI CLI 是一个开源 Go 二进制文件,由 OpenAI 在 github.com/openai/openai-cli 发布,许可证为 Apache 2.0。命令与 API 资源对应(responses、files、batches、images、audio、vector-stores、admin),因此用 curl 或 SDK 发送的请求,可以变成带参数的一条终端命令。

它并不算全新。1.0.0 于 2026 年 5 月 5 日发布,此后项目打了 99 个版本;1.44.1 于 2026 年 10 月 27 日发布。把它当成一个你可能错过的成熟工具,而不是一次新品发布。

第一次运行时你会看到:

OpenAI CLI v1.44.1 的 openai --version 和 openai --help 输出

帮助按用途分组:生成内容(responses、chat、images、audio、videos),数据和检索(files、uploads、vector-stores、embeddings),模型与任务,管理,以及一组从不访问网络的本地工具。帮助本身不需要 API 密钥,也不需要联网,所以 openai <command> --help 是查参数最快的办法。

它适合不想写脚本就试一条提示的开发者,想把文件上传和批处理放进 cron 的运维人员,以及需要文档化接口、而不是手写 curl 的编码智能体。

如何安装 OpenAI CLI

项目 README 列出三条安装路径:

  1. 预编译二进制。 从 GitHub Releases 下载对应操作系统和架构的压缩包(提供 macOS、Linux 和 Windows 构建),解压后把 openai 放到 PATH。
  2. Homebrew。
brew install openai/tools/openai
  1. Go。 需要 Go 1.26 或更高版本。
go install 'github.com/openai/openai-cli/cmd/openai@latest'
export PATH="$PATH:$(go env GOPATH)/bin"

自行管理的发行版可以在交互运行时自我更新。如果在 CI 里固定版本,设置 OPENAI_CLI_NO_AUTO_UPDATE=1 以停止自动安装,或设置 OPENAI_CLI_NO_UPDATE_CHECK=1 完全关闭更新检查。Homebrew 和 Go 安装仍会显示更新提示,但升级交给包管理器。

OpenAI CLI 的鉴权如何工作

CLI 从 OPENAI_API_KEY 读取标准 API 密钥(或 --api-key 参数;应避免使用它,因为它会进入 shell 历史)。如果还没有密钥,可以参考「如何获取 OpenAI API 密钥」。

最快的设置方式是内置指南:

openai help setup

它会指向 API 密钥页面,并给出 Bash 或 zsh 的 read -rs OPENAI_API_KEY 一行,这样输入的密钥被隐藏,也不会回显。

忘了设置密钥时,你会得到清晰、可被脚本处理的失败。下面是未设置密钥时的真实输出:

未配置 API 密钥时,OpenAI CLI 返回 HTTP 401 Unauthorized

它以状态码 1 退出,并说明密钥可以从哪里来。脚本需要原始错误体时,加上 --format-error json。

其他鉴权设置:

设置 参数 环境变量 用途
API 密钥 --api-key OPENAI_API_KEY 所有普通 API 调用
管理密钥 --admin-api-key OPENAI_ADMIN_KEY openai admin ...(用量、项目);项目密钥不能代替它
Base URL --base-url OPENAI_BASE_URL 把 CLI 指向另一台主机或网关
mTLS 证书和密钥 --mtls-client-cert-file、--mtls-client-key-file OPENAI_MTLS_CLIENT_CERT_FILE、OPENAI_MTLS_CLIENT_KEY_FILE 双向 TLS,需要显式的 HTTPS base URL

值得先跑的 OpenAI CLI 命令

命令形状跟 API 一致:openai <resource> [subresource...] <command> [flags...]。下面这些命令值得放进工具箱。

调用 Responses API

openai responses create \
  --model gpt-5.5 \
  --input "Say this is a test"

长提示不需要转义。JSON 输入参数可以用 @path 从文件读取:

openai responses create --model gpt-5.5 --input @prompt.txt

如果管道传入的 JSON 或 YAML 来自你不信任的来源,设置 OPENAI_UNTRUSTED_STDIN=1,避免该输入触发本地文件读取。

上传和获取文件

openai files upload report.txt --purpose user_data
openai files get file-example
openai files download file-example --output downloaded-report.txt

运行批处理

在 requests.jsonl 里每行放一个请求,各自带唯一的 custom_id,然后:

openai files upload requests.jsonl --purpose batch
openai batches create --input-file-id file-example \
  --endpoint /v1/responses --completion-window 24h
openai batches wait batch_example --output-dir ./results

batches wait 会轮询到批处理结束并保存结果文件,省掉你本来要写的轮询循环。项目的批处理说明把当前限制列为每个输入文件 50,000 个请求、200 MB,完成窗口为 24h。批处理价格与同步调用不同;排队大任务前可以看「OpenAI API 价格」。

在本地数 token,不需要密钥

tokenizer 命令完全离线:不需要凭证,不访问网络,也不保存输入。

openai tokenizer count 的文本和 JSON 输出

默认编码是 o200k_base,openai tokenizer encodings 会列出其他编码(cl100k_base,外加两个旧编码)。帮助对限制说得很直白:纯文本计数不包括请求结构和多模态输入,所以它不是账单数字。要在服务端计数,用 openai responses input-tokens count。

让脚本能解析输出

默认输出是可读文本,即使经过管道也是。要数据就明确指定:

openai models list --format jsonl | jq '.id'
openai files list --format json > files.json
openai files get file-example --transform filename --raw-output

--format 接受 auto、text、json、jsonl、yaml、explore(交互式 JSON 查看器)和 pretty。--transform 用 GJSON 语法 抽取字段,更复杂的处理交给 jq。重定向前先检查退出状态:失败的请求可能留下不完整的文件。

调用异常时,--debug 会加上每次尝试的 HTTP 耗时;分享日志前先清除敏感信息。如果遇到 429,可以看「OpenAI 速率限制」。

OpenAI CLI、Codex CLI 和旧 openai 命令

三个工具来自同一家厂商,其中两个名字还一样。简表如下:

OpenAI CLI、Codex CLI 与接口测试 CLI 的用途对比
OpenAI CLI Codex CLI 旧版 Python openai
命令 openai codex openai
它是什么 REST API 客户端 在项目里读取、编辑并运行代码的编码智能体 随 openai Python 包附带的 CLI
安装 二进制、Homebrew 或 Go npm install -g @openai/codex 或 brew install --cask codex pip install openai
鉴权 OPENAI_API_KEY 自己处理登录 API 密钥
何时使用 你要发一次具体的 API 调用,或在脚本里做 API 步骤 你要智能体实现或调试一处改动 你还在维护基于它的旧脚本

运行 openai codex 时,OpenAI CLI 自己会打印 Codex 的安装命令,并说明那是另一个工具,登录也分开。智能体一侧可以看「Codex CLI 指南」,源码在 github.com/openai/codex。

留意 PATH 冲突

openai Python 包也会安装一个名为 openai 的二进制文件。如果你跑过 pip install openai,可能有两个:

which -a openai 显示两个 openai 二进制:新的 OpenAI CLI 和旧的 Python SDK 命令

在这台 Mac 上,Python 那个报告 openai 2.30.0,并提供 api、tools、migrate 和 grit 子命令;Go 那个报告 openai version 1.44.1。PATH 里靠前的目录胜出。安装后运行 which -a openai 和 openai --version。如果输出是 openai version 1.44.1(或更新),就是对的那个。如果打印的是裸版本号,例如 openai 2.30.0,就调整 PATH,或用完整路径调用新二进制。

OpenAI CLI 旁边还缺什么

OpenAI CLI 只调用 OpenAI。它不了解你自己的 API:应用在 OpenAI 之上暴露的端点、部署环境,以及用来证明一次发布没有弄坏东西的断言。那是另一项工作。

原文这一节给出了来源产品 CLI 的安装、导入 OpenAPI 和运行测试用例的命令,并写明其免费方案最多 4 名用户。Apifox 是否提供同名 CLI,待核实,因此不照搬。你可以用现有的接口测试工具,对自有端点断言状态码和字段,并把密钥留在环境变量里。

常见问题

OpenAI CLI 免费吗? 工具本身免费,以 Apache 2.0 开源。它发出的 API 调用按正常 API 价格记到你的 OpenAI 账户。openai tokenizer 这类本地命令,以及所有 --help 页面,不花钱,也不需要密钥。

OpenAI CLI 和 Codex CLI 是同一个吗? 不是。openai 发送直接的 API 请求,一条命令一次。codex 是编码智能体,会读取和编辑项目并运行命令。它们分开安装,也分开鉴权。

在 Mac 上如何安装 OpenAI CLI? 运行 brew install openai/tools/openai,或从 GitHub Releases 下载 macos_arm64(Apple Silicon)或 macos_amd64(Intel)压缩包,把二进制放到 PATH。然后运行 openai --version,确认没有撞上旧的 Python openai 命令。

OpenAI CLI 能用在 shell 脚本和 CI 里吗? 能,这是它的主要设计目标。用 --format json 或 jsonl 得到可解析输出,检查退出状态,把密钥放在密钥管理器提供的 OPENAI_API_KEY 里,并设置 OPENAI_CLI_NO_AUTO_UPDATE=1 以固定版本。

OpenAI CLI 何时发布? 1.0.0 于 2026 年 5 月 5 日在 GitHub 发布。截至 2026 年 10 月 28 日,最新版本是 10 月 27 日的 1.44.1。

开发必备:API 全流程管理神器 Apifox

介绍完上文的内容,我想额外介绍一个对开发者同样重要的效率工具 —— Apifox。作为一个集 API 文档、调试、设计、测试、Mock、自动化测试于一体的工具,Apifox 是目前提升研发效率的首选。

如果你正在开发项目,不妨试试其极其友好的界面设计,它完全兼容 Postman 和 Swagger 数据格式,导入数据非常方便,,即使是新手也能很快上手,点击这里即可注册使用。

Apifox

值得一提的是,除了个人和常规团队使用,针对有高安全合规要求、或需要在内网环境协作的企业,Apifox 还提供了深度定制的私有化部署方案。

获取专属报价与部署方案

icon 详细的私有化部署系统架构与安全白皮书
icon 针对您公司规模的专属报价单
icon 免费的 1v1 专属产品演示 (Demo) 机会
获取部署方案
* 提交后,我们的客户经理将在 1 个工作日内与您联系
林俊锋 企业微信
@Apifox 专属顾问
扫码备注: 私有化 + 公司名