Apidog

Platform Pengembangan API Kolaboratif All-in-one

Desain API

Dokumentasi API

Debug API

Mocking API

Pengujian Otomatis API

OpenAI Codex CLI: agen pemrograman sumber terbuka di terminal

Daniel Costa

Daniel Costa

Updated on April 16, 2025

Antarmuka baris perintah (CLI) tetap menjadi domain yang tak terbantahkan bagi banyak pengembang - tempat efisiensi, kekuatan, dan integrasi mendalam ke dalam siklus pengembangan. Sekarang, bayangkan memperkaya lingkungan itu dengan agen cerdas yang mampu memahami kode Anda, mengedit file, menjalankan perintah, dan mengiterasi solusi, semuanya tanpa meninggalkan kenyamanan terminal Anda. Inilah janji dari OpenAI Codex CLI, agen coding ringan yang tersedia melalui npm (@openai/codex), dirancang khusus untuk pengembang yang bekerja di terminal.

Ini bukan sekadar chatbot lainnya. Codex CLI bertujuan untuk memberikan penalaran setara ChatGPT yang dipadukan dengan kemampuan praktis untuk menjalankan tugas langsung di dalam repositori lokal Anda. Ia berinteraksi dengan file Anda, menjalankan perintah shell (dengan aman!), dan terintegrasi dengan kontrol versi, menjadikannya mitra sejati dalam pengembangan berbasis obrolan yang memahami konteks repositori Anda.

💡
Ingin alat Pengujian API yang hebat yang menghasilkan Dokumentasi API yang indah?

Ingin platform terintegrasi, All-in-One untuk Tim Pengembang Anda bekerja sama dengan produktivitas maksimum?

Apidog memenuhi semua kebutuhan Anda, dan menggantikan Postman dengan harga yang jauh lebih terjangkau!
button

Memulai dengan OpenAI Codex CLI:

Memulai dengan Codex CLI dirancang agar sederhana, mencerminkan filosofi "zero setup" (selain memberikan kunci API Anda).

Untuk menjalankan Codex CLI, sistem Anda harus memenuhi persyaratan berikut:

  • Sistem Operasi: macOS 12+, Ubuntu 20.04+/Debian 10+, atau Windows 11 melalui WSL2.
  • Node.js: Versi 22 atau yang lebih baru (LTS disarankan).
  • Git (Opsional, Disarankan): Versi 2.23+ untuk fungsionalitas penuh, terutama integrasi kontrol versi dan fitur bantuan PR potensial.
  • RAM: Minimum 4 GB, disarankan 8 GB.

Instalasi: Sebagai alat Node.js, instalasi dilakukan melalui npm (atau yarn). Instal secara global agar perintah codex tersedia di mana saja di terminal Anda:

npm install -g @openai/codex

(Ingatlah nasihat standar: hindari sudo npm install -g; konfigurasi izin npm dengan benar jika diperlukan).

Pengaturan Kunci API: Codex CLI memerlukan kunci API OpenAI Anda untuk berfungsi. Anda perlu mengatur ini sebagai variabel lingkungan:

export OPENAI_API_KEY="kunci-api-anda-di-sini"

Yang penting, ingatlah bahwa perintah export ini biasanya hanya mengatur variabel untuk session terminal saat ini. Untuk membuatnya permanen, Anda harus menambahkan baris ini ke file konfigurasi shell Anda, seperti ~/.zshrc, ~/.bashrc, atau ~/.bash_profile, tergantung pada shell Anda.

Menjalankan Codex: Anda dapat berinteraksi dengan Codex dengan beberapa cara:

Mode Interaktif: Cukup ketik codex untuk memulai sesi interaktif (REPL - Read-Eval-Print Loop) di mana Anda dapat mengeluarkan perintah dan instruksi.

Prompt Langsung: Berikan prompt awal langsung dari baris perintah:

codex "jelaskan kode ini kepada saya"

Eksekusi Otomatis: Gabungkan prompt dengan mode persetujuan (lebih lanjut tentang ini nanti) untuk tugas yang lebih otomatis:

codex --approval-mode full-auto "buat aplikasi todo-list yang paling cantik"

Setelah dipanggil, Codex mulai bekerja. Ia mungkin membuat file, menjalankan kode dalam sandbox, menginstal dependensi yang diperlukan yang diidentifikasi, dan menyajikan hasilnya. Anda kemudian meninjau perubahan yang diusulkan (perbedaan file, keluaran perintah) dan menyetujuinya untuk dikomit ke direktori kerja Anda.

Mengapa Memilih OpenAI Codex CLI?

Codex CLI menciptakan ceruk khusus bagi pengembang yang mencari bantuan AI yang terintegrasi dalam alur kerja yang ada. Poin penjualan kuncinya, yang diperoleh langsung dari filosofi desainnya, meliputi:

  • Terminal-Natif: Dibangun untuk pengembang yang lebih suka CLI. Menghindari peralihan konteks ke UI web atau aplikasi terpisah.
  • Penalaran + Eksekusi: Melampaui sekadar menyarankan kode atau menjelaskan konsep. Ia memanfaatkan penalaran AI yang kuat (seperti ChatGPT) tetapi secara krusial menambahkan kemampuan untuk menjalankan kode, memanipulasi file, dan mengiterasi solusi dalam proyek Anda.
  • Repo-Sadar: Memahami bahwa ia beroperasi dalam basis kode tertentu dan dapat memanfaatkan konteks tersebut.
  • Zero Setup (Hampir): Bawa kunci API OpenAI Anda, instal paket, dan siap digunakan.
  • Automasi Aman: Menawarkan tingkat automasi yang dapat dikonfigurasi, termasuk mode "Full Auto", tetapi menerapkan keamanan melalui penonaktifan jaringan dan penguncian direktori.
  • Input Multimodal: Secara eksplisit menyebutkan kemampuan untuk menerima tangkapan layar atau diagram sebagai input untuk menerapkan fitur, memanfaatkan kekuatan model multimodal yang mendasarinya. ✨
  • Open Source: Seluruh proyek bersifat open source, mendorong transparansi, kontribusi komunitas, dan kepercayaan.

Tiga Mode OpenAI Codex CLI, Dijelaskan:

Memberikan alat AI kekuatan untuk mengedit file dan menjalankan perintah shell memerlukan model keamanan yang kuat. Codex CLI mengatasi ini dengan transparansi dan kontrol pengguna melalui bendera --approval-mode (dapat diatur melalui baris perintah atau prompt interaktif selama onboarding):

Mode Sarankan (Default):

  • Diperbolehkan tanpa bertanya: Membaca file apa pun di repositori.
  • Memerlukan Persetujuan: SEMUA penulisan/file patch dan SEMUA perintah shell/Bash.
  • Kasus Penggunaan: Mode teraman, ideal untuk operasi sensitif, belajar alat, atau saat kontrol maksimum diinginkan.

Mode Edit Otomatis:

  • Diperbolehkan tanpa bertanya: Membaca file DAN menerapkan patch/menulis perubahan ke file.
  • Memerlukan Persetujuan: SEMUA perintah shell/Bash.
  • Kasus Penggunaan: Menyeimbangkan otomatisasi untuk perubahan kode sambil mempertahankan kontrol manual atas perintah yang berpotensi mengubah sistem. Mempercepat refactoring dan generasi kode.

Mode Full Auto:

  • Diperbolehkan tanpa bertanya: Membaca/menulis file DAN mengeksekusi perintah shell.
  • Memerlukan Persetujuan: Tidak ada (dalam sandbox).
  • Kasus Penggunaan: Otomasi maksimum untuk tugas yang tepercaya.

Pengaman Bawaan:

  • Sandboxing: Dalam mode Full Auto, perintah dijalankan dengan pembatasan signifikan untuk pertahanan yang mendalam:
  • Jaringan Dinonaktifkan: Mencegah komunikasi eksternal yang tidak terduga (misalnya, panggilan curl akan gagal secara default).
  • Pembatasan Direktori: Operasi dibatasi pada direktori kerja saat ini ($PWD) dan area sementara/cache yang ditunjuk ($TMPDIR, ~/.codex, dll.).
  • Kesadaran Git: Codex CLI memeriksa apakah direktori target dilacak oleh Git. Jika Anda mencoba memulai dalam mode auto-edit atau full-auto di direktori yang tidak dilacak, ia akan menampilkan peringatan/prompt konfirmasi, memastikan Anda selalu memiliki jaring pengaman kontrol versi untuk meninjau dan membatalkan perubahan.
  • Peningkatan Masa Depan: Dokumentasi mencatat rencana untuk memungkinkan pencantuman perintah tertentu untuk eksekusi otomatis dengan jaringan diaktifkan setelah pengaman tambahan diterapkan dengan percaya diri.

Sandboxing Spesifik Platform:

Mekanisme penguatan yang mendasari beradaptasi dengan sistem operasi host, bertujuan untuk transparansi dalam penggunaan:

  • macOS (12+): Menggunakan teknologi Apple Seatbelt asli (sandbox-exec). Proses ditempatkan dalam penjara baca-saja dengan pengecualian yang dapat ditulis tertentu ($PWD, $TMPDIR, ~/.codex). Akses jaringan keluar diblokir.
  • Linux: Menganjurkan penggunaan Docker untuk sandboxing. Codex dapat meluncurkan dirinya sendiri di dalam gambar kontainer minimal, memasang repositori dengan akses baca/tulis. Skrip firewall iptables/ipset khusus menolak semua pengeluaran jaringan kecuali untuk komunikasi yang diperlukan dengan API OpenAI. Ini memberikan eksekusi deterministik dan dapat direproduksi tanpa memerlukan hak akses root di mesin host (detail di run_in_container.sh).
  • Windows: Didukung melalui Windows Subsystem for Linux 2 (WSL2), kemungkinan memanfaatkan pendekatan sandboxing Linux dalam lingkungan WSL.

Konfigurasi OpenAI Codex CLI

Di luar interaksi dasar, Codex CLI menawarkan cara untuk menyesuaikan perilakunya dan mengintegrasikannya ke dalam alur kerja yang lebih kompleks.

Referensi CLI:

  • codex: Mode interaktif.
  • codex "...": Mode interaktif dengan prompt awal.
  • codex -q "..." atau codex --quiet "...": Mode "tenang" non-interaktif, cocok untuk scripting. Mengeluarkan JSON jika bendera -json ditambahkan.
  • Bendera Kunci:
  • -model / m: Tentukan model OpenAI yang akan digunakan (misalnya, gpt-4, o4-mini).
  • -approval-mode / a: Atur tingkat otomatisasi (suggest, auto-edit, full-auto).
  • -quiet / q: Aktifkan mode non-interaktif.

Memori & Konteks Proyek:

Codex CLI dapat memasukkan instruksi dan konteks spesifik proyek dari file Markdown, melapisi mereka dalam urutan kepentingan tertentu:

  1. ~/.codex/instructions.md: Panduan pribadi, global yang diterapkan di semua proyek.
  2. codex.md (di root repositori): Catatan proyek bersama, konvensi, atau konteks tingkat tinggi untuk seluruh repositori.
  3. codex.md (di direktori kerja saat ini): Instruksi spesifik untuk sub-paket atau direktori.

Ini memungkinkan tim untuk memasukkan standar proyek atau memberikan petunjuk langsung dalam basis kode untuk digunakan oleh Codex. Fitur ini dapat dinonaktifkan menggunakan bendera --no-project-doc atau dengan mengatur variabel lingkungan CODEX_DISABLE_PROJECT_DOC=1.

Mode Non-interaktif / CI:

Dirancang untuk otomatisasi, Codex CLI dapat berjalan tanpa antarmuka di pipeline Integrasi Berkelanjutan (CI). Dengan menggunakan bendera --quiet (atau -q) atau mengatur variabel lingkungan CODEX_QUIET_MODE=1, elemen UI interaktif ditekan.

Contoh langkah GitHub Action:

- name: Perbarui changelog melalui Codex
  run: |
    npm install -g @openai/codex
    export OPENAI_API_KEY="${{ secrets.OPENAI_KEY }}"
    codex -a auto-edit --quiet "perbarui CHANGELOG untuk rilis berikutnya berdasarkan komit terbaru"

File Konfigurasi:

Codex mencari konfigurasi di direktori ~/.codex/:

~/.codex/config.yaml: Tentukan default seperti model yang disukai atau perilaku saat terjadi kesalahan dalam mode full-auto.

model: o4-mini # Model default untuk invokasi
fullAutoErrorMode: ask-user # Perilaku saat terjadi kesalahan: ask-user atau ignore-and-continue

~/.codex/instructions.md: Seperti yang disebutkan di atas, untuk instruksi kustom global (misalnya, "Selalu tanggapi dengan emoji", "Hanya gunakan perintah git jika saya secara eksplisit menyebutkan Anda harus").

Aplikasi Praktis: Resep untuk Sukses

README menyediakan beberapa contoh konkret ("resep") yang menunjukkan jenis tugas yang cocok untuk Codex CLI:

  1. Refactoring Kode: codex "Refactor komponen Dashboard menjadi React Hooks" - Codex menganalisis komponen kelas, mencoba penulisan ulang, mungkin menjalankan tes (npm test), dan menunjukkan perbedaan untuk persetujuan.
  2. Menghasilkan Migrasi: codex "Buat migrasi SQL untuk menambahkan tabel pengguna" - Ia mungkin menyimpulkan ORM yang digunakan (misalnya, Prisma, Sequelize), membuat file migrasi yang diperlukan, dan mungkin menjalankannya di lingkungan database yang dikunci.
  3. Menulis Uji Coba Unit: codex "Tulis uji coba unit untuk utils/date.ts" - Codex menghasilkan kasus uji, mengeksekusinya (kemungkinan melalui perintah shell seperti npm test atau jest), dan mungkin mengiterasi, memperbaiki kode atau tes hingga berhasil.
  4. Operasi File Massal: codex "Ganti nama massal *.jpeg → *.jpg dengan git mv" - Ia merumuskan dan mengeksekusi perintah git mv yang diperlukan, mungkin memperbarui referensi/impor dalam kode juga.
  5. Menjelaskan Kode/Regex: codex "Jelaskan apa yang dilakukan regex ini: ^(?=.*[A-Z]).{8,}$" - Memanfaatkan kekuatan penjelasan LLM untuk memberikan analisis yang dapat dibaca manusia.
  6. Analisis Repo Tingkat Tinggi: codex "Tinjau dengan hati-hati repositori ini, dan usulkan 3 PR yang berdampak tinggi dan terukur" - Menunjukkan potensi untuk tinjauan kode strategis dan generasi saran.
  7. Audit Keamanan: codex "Cari kerentanan dan buat laporan tinjauan keamanan" - Menggunakan basis pengetahuan AI untuk mengidentifikasi potensi kelemahan keamanan dan menjelaskan mereka.

Kesimpulan

Dengan bersifat open-source dan dibangun untuk pengembang yang berfokus pada CLI, Codex CLI bertujuan untuk menjadi agen coding yang tak tergantikan dan dapat dipercaya - meningkatkan produktivitas dan memungkinkan pengembang untuk fokus pada tantangan yang lebih kompleks, langsung dari baris perintah mereka. Saat terus dalam pengembangan aktif, ia memiliki potensi untuk secara signifikan mengubah cara pengembang berinteraksi dengan AI dalam alur kerja sehari-hari mereka.

💡
Ingin alat Pengujian API yang hebat yang menghasilkan Dokumentasi API yang indah?

Ingin platform terintegrasi, All-in-One untuk Tim Pengembang Anda bekerja sama dengan produktivitas maksimum?

Apidog memenuhi semua kebutuhan Anda, dan menggantikan Postman dengan harga yang jauh lebih terjangkau!
button