Skip to main content

openai-cli

Official OpenAI CLI for interacting with the OpenAI REST API from the command line

インストールへ移動

ソース情報

リポジトリ
reason-machines/devtools-skills
ソースの最終更新活動
2026年5月16日 22:48
検出された SKILL.md の言語
英語
スター
4
フォーク
0

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
openai-cli
description
Official OpenAI CLI for interacting with the OpenAI REST API from the command line
triggers
["use the OpenAI CLI","call OpenAI API from terminal","make OpenAI requests with CLI","use openai command line tool","interact with OpenAI from shell","openai cli commands","call gpt from command line","query OpenAI API in terminal"]
# OpenAI CLI > Skill by [ara.so](https://ara.so) — Devtools Skills collection. The official CLI for the OpenAI REST API. Provides a command-line interface to interact with OpenAI's API endpoints including chat completions, embeddings, fine-tuning, and admin operations. ## Installation ### Homebrew (macOS/Linux) ```bash brew install openai/tools/openai ``` ### Go Install ```bash go install 'github.com/openai/openai-cli/cmd/openai@latest' ``` Ensure Go bin is in your PATH: ```bash export PATH="$PATH:$(go env GOPATH)/bin" ``` ### Local Development Clone the repository and run locally: ```bash git clone https://github.com/openai/openai-cli.git cd openai-cli ./scripts/run args... ``` ## Configuration Set up your API credentials using environment variables: ```bash export OPENAI_API_KEY="sk-..." export OPENAI_ADMIN_KEY="sk-admin-..." # For admin endpoints export OPENAI_ORG_ID="org-..." # Optional export OPENAI_PROJECT_ID="proj_..." # Optional ``` Or use flags on each command: ```bash openai --api-key sk-... responses create --input "Hello" ``` ### Environment Variables | Variable | Purpose | Required | |----------|---------|----------| | `OPENAI_API_KEY` | Standard API authentication | For standard endpoints | | `OPENAI_ADMIN_KEY` | Admin API authentication | For admin endpoints | | `OPENAI_ORG_ID` | Organization identifier | No | | `OPENAI_PROJECT_ID` | Project identifier | No | | `OPENAI_WEBHOOK_SECRET` | Webhook verification | No | ## Command Structure ```bash openai [resource] <command> [flags...] ``` ## Key Commands ### Chat Completions Create a chat completion: ```bash openai responses create \ --input "Explain quantum computing in simple terms" \ --model gpt-4 ``` Stream responses: ```bash openai responses create \ --input "Write a poem about coding" \ --model gpt-4 \ --stream ``` With system message and temperature: ```bash openai responses create \ --input "What is recursion?" \ --model gpt-4 \ --system "You are a computer science teacher" \ --temperature 0.7 ``` ### File Operations Upload a file: ```bash openai files create \ --file @training_data.jsonl \ --purpose fine-tune ``` List files: ```bash openai files list ``` Retrieve file content: ```bash openai files retrieve file-abc123 ``` Delete a file: ```bash openai files delete file-abc123 ``` ### Embeddings Generate embeddings: ```bash openai embeddings create \ --input "The quick brown fox" \ --model text-embedding-3-small ``` Multiple inputs: ```bash openai embeddings create \ --input "First text" \ --input "Second text" \ --model text-embedding-3-large ``` ### Fine-tuning Create a fine-tuning job: ```bash openai fine-tuning jobs create \ --training-file file-abc123 \ --model gpt-3.5-turbo ``` List fine-tuning jobs: ```bash openai fine-tuning jobs list ``` Check job status: ```bash openai fine-tuning jobs retrieve ftjob-abc123 ``` Cancel a job: ```bash openai fine-tuning jobs cancel ftjob-abc123 ``` ### Admin Operations Usage statistics: ```bash openai admin:organization:usage completions \ --start-time 1735689600 \ --end-time 1735776000 \ --bucket-width 1d ``` ## File Handling ### Passing Files as Arguments Use `@` prefix for file paths: ```bash openai responses create --arg @input.txt ``` Within JSON/YAML: ```bash openai <command> --arg '{image: "@image.jpg"}' ``` ```bash openai <command> <<YAML arg: image: "@abe.jpg" YAML ``` ### Explicit Encoding Force string encoding: ```bash openai <command> --arg @file://myfile.txt ``` Force base64 encoding: ```bash openai <command> --arg @data://image.png ``` Absolute paths: ```bash openai <command> --arg @file:///tmp/file.txt ``` ### Escaping @ Signs To pass a literal `@` character: ```bash openai <command> --username '\@username' ``` ## Output Formatting ### Format Options Control output format with `--format`: ```bash # Pretty-printed (default for TTY) openai responses create --input "Hello" --format pretty # Raw JSON openai responses create --input "Hello" --format json # JSONL (one JSON object per line) openai responses create --input "Hello" --format jsonl # YAML openai responses create --input "Hello" --format yaml # Raw response body openai responses create --input "Hello" --format raw ``` ### Data Transformation Use GJSON syntax to extract specific fields: ```bash # Get just the message content openai responses create \ --input "Hello" \ --transform "choices.0.message.content" # Get multiple fields openai responses create \ --input "Hello" \ --transform "{id: id, content: choices.0.message.content}" ``` Transform errors: ```bash openai responses create \ --input "Hello" \ --format-error json \ --transform-error "error.message" ``` ## Global Flags ```bash --api-key # API key (or use OPENAI_API_KEY) --admin-api-key # Admin key (or use OPENAI_ADMIN_KEY) --organization # Org ID (or use OPENAI_ORG_ID) --project # Project ID (or use OPENAI_PROJECT_ID) --base-url # Custom API endpoint --debug # Enable debug logging with HTTP details --version, -v # Show CLI version --help # Show help for command --format # Output format (auto, explore, json, jsonl, pretty, raw, yaml) --format-error # Error output format --transform # GJSON transform for data output --transform-error # GJSON transform for error output ``` ## Common Patterns ### Interactive Chat Session ```bash while true; do read -p "You: " input openai responses create \ --input "$input" \ --model gpt-4 \ --format pretty done ``` ### Batch Processing Process multiple inputs from a file: ```bash while IFS= read -r line; do openai responses create \ --input "$line" \ --model gpt-3.5-turbo \ --format json >> results.jsonl done < inputs.txt ``` ### JSON Input Pass structured data: ```bash openai responses create \ --input "Translate to French" \ --model gpt-4 \ --max-tokens 100 \ --temperature 0.3 ``` ### Piping Data ```bash echo "Summarize this text" | openai responses create \ --input "$(cat)" \ --model gpt-4 ``` Or: ```bash cat document.txt | openai responses create \ --input "Summarize: $(cat -)" \ --model gpt-4 ``` ### Image Analysis ```bash openai responses create \ --input '{text: "What is in this image?", image: "@photo.jpg"}' \ --model gpt-4-vision-preview ``` ### Custom Base URL For Azure or custom endpoints: ```bash openai --base-url https://custom.openai.azure.com/v1 \ responses create \ --input "Hello" \ --model gpt-4 ``` ## Debugging Enable debug mode to see full HTTP requests/responses: ```bash openai --debug responses create --input "Test" ``` **Warning**: Debug logs include request/response bodies which may contain sensitive data. ## Troubleshooting ### Command Not Found Ensure Go bin is in your PATH: ```bash echo $PATH | grep "$(go env GOPATH)/bin" # If not found: export PATH="$PATH:$(go env GOPATH)/bin" ``` ### Authentication Errors Verify API key is set: ```bash echo $OPENAI_API_KEY # Should output: sk-... ``` Check key validity: ```bash openai responses create --input "test" --model gpt-3.5-turbo ``` ### File Not Found Errors Use absolute paths or verify relative paths: ```bash # Absolute path openai files create --file @/full/path/to/file.jsonl --purpose fine-tune # Verify file exists ls -la @file.jsonl ``` ### Rate Limiting Add delays between requests: ```bash for i in {1..10}; do openai responses create --input "Request $i" sleep 1 done ``` ### Model Not Available List available models (if endpoint exists): ```bash openai models list ``` Check model name spelling and access permissions. ### Output Not Formatted Force format explicitly: ```bash openai responses create --input "Hello" --format json ``` Check if output is being piped (auto-detection may choose raw format): ```bash openai responses create --input "Hello" --format pretty | less ``` ## Linking Custom SDK Versions For development, link against different Go SDK versions: ```bash # Link to specific version ./scripts/link github.com/openai/openai-go@v1.2.3 # Link to local SDK copy ./scripts/link ../openai-go # Default (../openai-go) ./scripts/link ``` ## Version Information Check CLI version: ```bash openai --version # or openai -v ``` Get help: ```bash openai --help openai responses --help openai responses create --help ```
GitHubで見る