乐于分享
好东西不私藏

OpenAI出了官方命令行工具,以前要写SDK的活,现在一行命令搞定

OpenAI出了官方命令行工具,以前要写SDK的活,现在一行命令搞定
做过AI开发的人都经历过这件事:
想快速测一个Prompt,想验证某个API的返回格式,想在服务器上跑一个简单的AI任务。
但你不想为这件事专门写一个Python脚本,import openai,配环境,处理异常……
以前的选择只有两个:裸写curl,或者忍着写SDK代码。
现在有第三个选择。
OpenAI官方上线了命令行工具 openai-cli,开源,Apache 2.0协议,直接在终端里调API。具体文档可去查阅 github:
https://github.com/openai/openai-cli

安装

两种方式:

Homebrew(Mac用户)

brew install openai/tools/openai

Go安装(跨平台)

go install'github.com/openai/openai-cli/cmd/openai@latest'

项目在GitHub的 openai/openai-cli,Apache 2.0,可以自己fork改。

最基础的用法

调一次对话接口:
openai responses create \  --input "用三句话解释什么是向量数据库" \  --model gpt-4o
命令结构是 openai [资源] [动作] [参数],走资源化设计,和AWS CLI的习惯类似。
用惯了curl的人,这套写法会很顺手。

最值得关注的部分:直接跑Agent工作流

openai-cli 支持Responses API的全部云端工具(Cloud Tools),包括:
Web搜索
代码解释器
文件检索
图像生成
这意味着以前要在代码里编排的Agent工作流,现在可以直接从终端跑通。
比如让AI搜索最新信息并整理:
openai responses create \  --input "搜索今天AI领域最重要的三条新闻,每条一句话总结" \  --model gpt-4\  --tools web_search
不用打开浏览器,不用写Python,终端里直接出结果。
对CI/CD流程和自动化脚本来说,这个能力很实用。

输出格式:可以直接管道串联

输出支持JSON、YAML、JSONL、pretty、raw多种格式,走Unix风格设计。
这意味着可以直接把openai-cli的输出串进其他工具:

输出JSON,用GJSON语法直接抽字段

openai responses create \  --input "生成一个JSON格式的产品描述" \  --model gpt-4\  --output json \  --query "output[0].content[0].text"
内置了类似jq的GJSON语法,不需要额外安装jq就能处理JSON输出。
对写Shell脚本的人来说,这个设计非常友好。

其他实用功能

图像生成,一行命令:
openai images generate \  --prompt "极简风格的科技公司logo,蓝色调" \  --model dall-e-3 \  --output image.png
语音转文字:
openai audio transcribe @recording.mp3 --model whisper-1
文字转语音:
openai audio speech create \  --input "这是一段测试文字" \  --model tts-1 \  --voice alloy \  --output output.mp3
文件传参用 @ 语法,和curl一致:
openai responses create \  --input @prompt.txt \  --model gpt-4o

管理功能也整合进来了

创建项目、分配API Key这些运维操作也可以通过CLI完成:
创建新项目openai projects create --name "my-project"# 创建API Keyopenai api-keys create --name "production-key"
对需要管理多个项目或团队的人,这个功能可以写进运维脚本,不用每次登录Dashboard手动操作。

目前的局限

说清楚几点:
这个工具的发布人jason liu(jxnlco)在X上把它定性为"small ship / passion project",暗示这是一个相对轻量的发布,更多文档还没出来。
现在GitHub上的文档不算完整,有些边缘功能需要自己探索或看源码。
另外,openai-cli解决的是"快速调API"的场景,复杂的业务逻辑、错误处理、重试机制这些还是需要SDK或者自己写代码。
它不是SDK的替代品,是补充。
适合的场景:测试Prompt、调试API响应、写自动化脚本、在服务器上跑简单AI任务。
不适合的场景:生产级应用的核心调用逻辑。
以前AI开发者的工具链里,命令行这一块是空的。
要么裸curl,要么开IDE。
现在这个空白填上了。