Langsung ke konten utama

Gambaran Umum

Tipe: Alat PengkodeanJalur Utama: OpenAI Responses (jalur opsional lanjutan)Kepercayaan Dukungan: Didukung dengan batasan model/jalur
OpenAI Codex adalah alat baris perintah (CLI) sumber terbuka yang berfungsi sebagai agen pengkodean ringan, mampu membaca, memodifikasi, dan menjalankan kode di terminal. Ini dibangun di atas model GPT dan dioptimalkan untuk pembuatan kode. Untuk LemonData, Codex CLI dapat menggunakan /v1/responses, tetapi Anda harus menganggapnya sebagai jalur kompatibilitas lanjutan. Beberapa fitur khusus Responses tidak dijamin tersedia di setiap model dan jalur yang diarahkan.

Persyaratan Sistem

  • OS: macOS, Linux (dukungan resmi), Windows melalui WSL
  • Node.js: Versi 18+
  • npm: Versi 10.x.x atau lebih tinggi

Instalasi

npm install -g @openai/codex
Verifikasi instalasi:
codex --version

Konfigurasi

Langkah 1: Atur API Key

Sementara (sesi saat ini):
export OPENAI_API_KEY="sk-your-lemondata-key"
Konfigurasi permanen: Tambahkan ke ~/.bashrc, ~/.zshrc, atau ~/.bash_profile:
export OPENAI_API_KEY="sk-your-lemondata-key"
Kemudian muat ulang:
source ~/.zshrc  # or source ~/.bashrc

Langkah 2: Konfigurasi config.toml

Edit ~/.codex/config.toml:
model_provider = "lemondata"
model = "gpt-5.4"
model_reasoning_effort = "xhigh"
plan_mode_reasoning_effort = "xhigh"
fast_mode = true
model_context_window = 1000000
model_auto_compact_token_limit = 900000
sandbox_mode = "danger-full-access"
approval_policy = "never"

disable_response_storage = false
personality = "friendly"
service_tier = "fast"

[model_providers.lemondata]
env_key = "OPENAI_API_KEY"
name = "lemondata"
base_url = "https://api.lemondata.cc/v1"
wire_api = "responses"
supports_websockets = true
websocket_connect_timeout_ms = 15000

[features]
responses_websockets = true
responses_websockets_v2 = true
Jika file konfigurasi tidak ada, jalankan codex sekali untuk menghasilkannya, lalu edit file tersebut. Restart Codex sepenuhnya setelah mengubah config.toml agar pengaturan provider baru dimuat ulang.
Codex sedang menghentikan dukungan chat/completions untuk custom providers. Pertahankan wire_api = "responses" untuk LemonData kecuali Anda sengaja menggunakan jalur kompatibilitas yang lebih lama.
Jika sebuah permintaan menggunakan field khusus Responses yang tidak didukung pada model atau jalur yang dipilih, LemonData mengembalikan kesalahan eksplisit daripada menurunkan permintaan secara diam-diam.

Penggunaan Dasar

Mulai mode interaktif:
codex
Perintah langsung:
codex "Fix the bug in main.py line 42"
Menentukan model:
codex -m gpt-5.4 "Build a REST API server"

Model yang Direkomendasikan

ModelCocok Untuk
gpt-5.4Pilihan default terbaik untuk pemrograman dan penalaran
gpt-5-miniCadangan yang lebih cepat dan lebih murah untuk alur kerja pengodean
claude-sonnet-4-6Tinjauan kode, dokumentasi
deepseek-r1Perancangan algoritma, penalaran

Perintah Interaktif

PerintahDeskripsi
/helpTampilkan bantuan
/exit or Ctrl+CKeluar
/clearBersihkan percakapan
/configLihat konfigurasi
/model <name>Ganti model
/tokensLihat penggunaan token

Verifikasi Konfigurasi

# Check environment variable
echo $OPENAI_API_KEY

# Test API connection
codex "Hello, Codex!"

# View configuration
cat ~/.codex/config.toml

Kasus Penggunaan Umum

Tinjauan kode:
git diff | codex "Review these code changes"
Hasilkan pesan commit:
git diff --staged | codex "Generate a commit message for these changes"
Perbaiki kesalahan:
codex "Fix the TypeScript errors in src/components/"
Jelaskan kode:
cat main.py | codex "Explain what this code does"

Pemecahan Masalah

  • Pastikan base_url di config.toml persis https://api.lemondata.cc/v1
  • Periksa konektivitas jaringan
  • Pastikan tidak ada gangguan dari proxy
  • Periksa bahwa env_key = "OPENAI_API_KEY" ada di ~/.codex/config.toml
  • Periksa bahwa variabel lingkungan OPENAI_API_KEY telah diatur
  • Periksa bahwa kunci dimulai dengan sk-
  • Pastikan kunci aktif di dashboard LemonData
  • Beberapa field hanya tersedia di /v1/responses ketika LemonData dapat menjamin perilaku tersebut untuk model dan jalur yang dipilih
  • Jika Anda melihat unsupported_request_field, hapus field tersebut atau beralih ke alur kerja yang tidak bergantung padanya