Lingkungan cloud

Buat, konfigurasikan, dan bagikan lingkungan yang dapat digunakan kembali untuk tugas di Codex Cloud

Codex Cloud menjalankan tugas pemrograman di cloud, sehingga pekerjaan dapat berlanjut saat komputer Anda dalam mode tidur. Gunakan di web, di perangkat seluler, atau di aplikasi desktop untuk mengedit kode, menjalankan perintah, dan meninjau hasil.

Lingkungan cloud adalah penyiapan yang dapat digunakan kembali oleh tugas: repositori, dependensi, alat, dan pengaturan akses. Codex memeriksa repositori Anda, menyiapkan lingkungan, dan mengujinya bersama Anda. Setiap tugas baru mendapatkan ruang kerja terisolasi tersendiri dari lingkungan yang telah dipublikasikan.

Sebagai pengantar, lihat ringkasan Codex Cloud.

Mulai tugas di Codex Cloud

Di web atau di aplikasi desktop, pilih Bekerja di > Cloud dan pilih lingkungan yang telah dipublikasikan. Di perangkat seluler, buka Codex dan pilih lingkungan yang telah dipublikasikan. Jelaskan apa yang Anda ingin Codex lakukan dan kirim permintaan tersebut. Jika Anda memerlukan penyiapan baru, buat lingkungan di web atau di aplikasi desktop.

Admin Enterprise dapat meninjau akses ruang kerja sebelum meluncurkan Codex Cloud.

Buat dan publikasikan lingkungan

Buat lingkungan baru di web atau di aplikasi desktop. Masuk dengan akun ChatGPT Anda:

  1. Dalam tugas baru, pilih Bekerja di > Cloud, buka Pilih lingkungan, lalu pilih Buat lingkungan.
  2. Pilih repositori GitHub yang akan di-checkout. Hubungkan GitHub jika diminta.
  3. Pilih Mulai. Codex memeriksa repositori, menginstal dependensi dan alat, serta menguji alur kerja.
  4. Berikan akses atau informasi yang masih kurang saat diminta. Anda juga dapat meminta versi, perintah, atau layanan tertentu.
  5. Tinjau laporan penyiapan, konfigurasi, dan file. Selesaikan pekerjaan yang belum tuntas, simpan perubahan, lalu pilih Publikasikan.
  6. Setelah Lingkungan dipublikasikan muncul, pilih Mulai tugas baru dan jelaskan apa yang Anda ingin Codex lakukan.

Anda juga dapat memulai dari Pengaturan > Codex Cloud > Lingkungan > Buat lingkungan.

Sesuaikan instalasi dan proses mulai

Codex mengidentifikasi runtime, versi paket, alat, dan layanan dari repositori Anda. Sempurnakan penyiapan melalui percakapan; Anda tidak perlu menulis skrip instalasi sendiri.

Codex dapat mencatat penyiapan yang telah diuji dalam dua kolom:

  • Skrip instalasi: perintah untuk menginstal dependensi dan menyiapkan aset pengembangan.
  • Skill mulai: instruksi untuk memulai layanan dan memeriksa kesiapannya.

Gunakan kembali dan perbarui status tersimpan

  • Tugas baru: dimulai dari sistem file yang telah disiapkan dalam lingkungan yang dipublikasikan.
  • Tugas yang sudah ada: berlanjut dengan file tersimpannya sendiri, termasuk perubahan yang belum di-commit dan alat yang telah diinstal.
  • Penyegaran repositori: berjalan otomatis di latar belakang, mempertahankan cache dependensi tanpa menjalankan ulang perintah instalasi atau proses mulai.

Untuk memperbarui penyiapan yang dapat digunakan kembali, buka Pengaturan > Codex Cloud > Lingkungan. Dari menu … lingkungan, pilih Edit. Jelaskan perubahannya, biarkan Codex menyiapkan dan mengujinya, simpan perubahan, lalu pilih Publikasikan ulang. Mulai tugas baru untuk menggunakan pembaruan; tugas yang sudah ada mempertahankan statusnya sendiri.

Commit pekerjaan penting atau simpan keluaran yang Anda perlukan. Status tersimpan tidak menggantikan kontrol versi.

Konfigurasikan variabel lingkungan dan rahasia jaringan

Codex mengidentifikasi konfigurasi yang belum tersedia dan meminta nilai yang tidak dapat disimpulkannya. Dalam konfigurasi lingkungan, pilih Kelola di samping Variabel lingkungan atau Rahasia jaringan. Pilih cara menyediakan setiap nilai:

Konfigurasi Kegunaan Penyampaian
Variabel lingkungan Nilai yang harus dibaca langsung oleh program Diteruskan langsung ke program dalam lingkungan.
Rahasia jaringan Kredensial yang dikirim ke layanan HTTPS tertentu Program menerima placeholder; proksi menggantinya dengan nilai asli untuk tujuan yang diizinkan.

Untuk rahasia jaringan, atur Kunci, Nilai, dan Domain yang diizinkan. Gunakan kunci yang berbeda dari variabel langsung mana pun. Substitusi berfungsi untuk HTTPS pada port 443, selama penyiapan dan tugas berlangsung; proses ini tidak menempatkan kredensial mentah dalam proses atau file lokal.

Menyimpan rahasia jaringan milik lingkungan menambahkan tujuannya ke akses internet terbatas. Variabel langsung dan nilai pribadi tidak menambahkan tujuan. Tinjau kebijakan jaringan yang tersimpan sebelum menguji. Untuk persyaratan ruang kerja, lihat Agent Security.

Sediakan nilai pribadi

Gunakan Brankas pribadi untuk menyimpan variabel lingkungan dan rahasia jaringan Anda sendiri untuk lingkungan cloud di ruang kerja Anda.

Lingkungan bersama dapat meminta nilai yang disediakan setiap orang dari akunnya sendiri. Berbagi lingkungan membagikan persyaratan ini, bukan kredensial pribadi Anda.

Saat diminta, masukkan nilai yang diperlukan di Tambahkan rahasia pribadi lalu pilih Simpan dan mulai. Nilai opsional dapat dibiarkan tidak terisi.

Untuk mengelola nilai terlebih dahulu:

  1. Buka Pengaturan > Codex Cloud, lalu pilih tab Brankas pribadi.
  2. Pilih Tambahkan, pilih Variabel lingkungan atau Rahasia jaringan di bawah Jenis, lalu masukkan Kunci yang sesuai dan Nilai Anda.
  3. Di bawah Berlaku untuk, pilih Semua lingkungan atau Lingkungan tertentu, lalu Simpan.

Hanya nilai yang diminta yang diteruskan ke tugas. Nilai untuk lingkungan tertentu memiliki prioritas lebih tinggi daripada nilai default umum. Rahasia jaringan pribadi menggunakan tujuan yang diizinkan oleh lingkungan dan mengganti placeholder dengan cara yang sama.

Bagikan dalam ruang kerja Enterprise

Bagikan penyiapan yang telah siap agar rekan kerja dapat memulai tugas mereka sendiri darinya:

  1. Buka konfigurasi lingkungan.
  2. Di bawah Privasi > Siapa yang dapat menggunakan, pilih ruang kerja Anda.
  3. Simpan perubahan. Publikasikan lingkungan jika Anda belum melakukannya.

Pilih Hanya saya di bawah Siapa yang dapat menggunakan agar lingkungan tetap pribadi. Setiap tugas memiliki file kerja terpisah; akses ke penyiapan tidak memberikan akses ke tugas orang lain atau izin untuk mengedit lingkungan.

Tinjau file yang telah disiapkan dan kredensial milik lingkungan sebelum berbagi. Identitas cloud dan koneksi VPN juga dapat menyediakan akses layanan bersama. Akses repositori dan koneksi pribadi bergantung pada akun yang menjalankan tugas.

Gunakan Codex di cloud mengontrol akses tugas. Kelola lingkungan ruang kerja mengontrol pembuatan dan pengeditan lingkungan yang dibagikan dengan ruang kerja. Lihat Peran dan izin ruang kerja.

Agent Security

Pengaturan akses internet lingkungan menentukan domain yang dapat dijangkau VM-nya. Pengaturan VPN menghubungkan VM tersebut ke layanan di jaringan pribadi.

Di ruang kerja Enterprise, admin menggunakan Agent Security untuk mengonfigurasi persyaratan ruang kerja terkait perilaku agen, jaringan eksekusi terkelola, dan penggunaan alat yang didukung. Persyaratan ini berlaku bersama pengaturan domain yang disimpan di setiap lingkungan. Lihat Agent Security untuk kebijakan Global dan penggantian pengaturan Codex Cloud yang didukung.

Hubungkan ke layanan

Konfigurasikan akses ke registri paket, API, dan layanan lain yang dibutuhkan alur kerja Anda:

  1. Dalam konfigurasi lingkungan, aktifkan Izinkan Codex mengakses internet.
  2. Di bawah Izinkan domain, pilih Pengelola paket atau Hanya domain kustom, lalu tambahkan host yang diperlukan di bawah Domain tambahan yang diizinkan. Gunakan Semua (tanpa batasan) jika alur kerja memerlukan akses yang lebih luas.
  3. Simpan dan uji layanan selama penyiapan. Publikasikan atau publikasikan ulang, lalu verifikasi akses dalam tugas baru.

Untuk persyaratan ruang kerja, lihat Agent Security. Mengizinkan suatu tujuan tidak menyediakan kredensial atau memberikan izin dalam layanan tersebut.

Domain yang disertakan dalam preset Pengelola paket

Preset Pengelola paket mengizinkan registri, repositori, dan host unduhan berikut:

  • npm dan Yarn: registry.npmjs.org, registry.yarnpkg.com
  • PyPI dan PyTorch: pypi.org, files.pythonhosted.org, download.pytorch.org, download-r2.pytorch.org
  • Rust: crates.io, index.crates.io, static.crates.io, static.rust-lang.org
  • Go: proxy.golang.org, sum.golang.org
  • Maven dan Gradle: repo.maven.apache.org, repo1.maven.org, plugins.gradle.org, plugins-artifacts.gradle.org, services.gradle.org, downloads.gradle.org
  • Bazel: bcr.bazel.build, mirror.bazel.build
  • Buf: buf.build
  • CPAN: cpan.metacpan.org
  • Repositori Ubuntu dan Debian: archive.ubuntu.com, security.ubuntu.com, ports.ubuntu.com, ppa.launchpadcontent.net, deb.debian.org, security.debian.org
  • Repositori vendor: packages.microsoft.com, apt.buildkite.com, developer.download.nvidia.com, deb.nodesource.com
  • Sumber, arsip, rilis, dan LFS GitHub: github.com, codeload.github.com, github-cloud.githubusercontent.com, github-cloud.s3.amazonaws.com, release-assets.githubusercontent.com
  • Unduhan lainnya: dl.google.com, pkgconfig.freedesktop.org

Untuk domain akar yang terdaftar, Codex juga mengizinkan nama host www yang sesuai. Subdomain lain memerlukan entri domain yang diizinkan tersendiri. Tambahkan host lain yang diperlukan dependensi Anda di bawah Domain tambahan yang diizinkan.

Untuk layanan yang diakses melalui internet publik dan memfilter koneksi berdasarkan IP sumber, gunakan feed IP keluar agen. Izinkan setiap rentang yang dipublikasikan, periksa feed setiap hari, dan perbarui daftar izin layanan saat rentang berubah. Rentang ini digunakan bersama oleh pelanggan; tetap terapkan kontrol autentikasi dan otorisasi layanan.

Jaringan pribadi (VPN)

Berikan akses bagi tugas cloud ke API internal, registri paket, dan layanan HTTP atau HTTPS lainnya di jaringan pribadi Anda melalui koneksi VPN.

  1. Buka pengaturan Lanjutan > VPN lingkungan lalu pilih Tambahkan.
  2. Masukkan kredensial koneksi dari penyedia VPN Anda.
  3. Izinkan tujuan yang diperlukan dalam aturan akses VPN maupun pengaturan akses internet lingkungan.
  4. Simpan, lalu publikasikan atau publikasikan ulang. Mulai tugas baru dan uji layanan.

Tailscale adalah penyedia VPN yang saat ini didukung. Saat membuat kunci autentikasi Tailscale, aktifkan Dapat digunakan kembali dan Sementara. Kunci yang dapat digunakan kembali memungkinkan VM tugas cloud baru bergabung ke jaringan Anda. Tailscale secara otomatis menghapus perangkat sementara setelah perangkat tersebut offline. Dukungan untuk penyedia VPN tambahan direncanakan.

Rute subnet IPv4 privat didukung. Tugas dapat menggunakan split DNS Tailscale dan MagicDNS untuk mengakses layanan privat melalui nama host.

Jika layanan Anda menggunakan DNS internal organisasi, konfigurasikan split DNS di konsol admin Tailscale untuk mengirim kueri domain internal Anda ke server DNS Anda. Gunakan nama host lengkap layanan, seperti api.corp.example.com, yang harus diresolusikan ke alamat IPv4. Tujuan juga harus diizinkan oleh pengaturan akses internet lingkungan dan aturan akses Tailscale Anda.

Tugas dalam lingkungan bersama menggunakan identitas VPN yang dikonfigurasi untuk lingkungan tersebut.

Akses sumber daya cloud dengan OIDC

OpenID Connect (OIDC) memungkinkan tugas memperoleh kredensial berumur pendek untuk sumber daya cloud. Organisasi Anda mengonfigurasi hubungan kepercayaan dengan penyedia cloud dan memberikan izin yang diperlukan alur kerja kepada identitas tersebut.

  1. Buka pengaturan Lanjutan > OIDC lingkungan yang tersimpan.
  2. Pilih Tambahkan, lalu pilih koneksi yang tersedia atau Buat koneksi… untuk penyedia yang didukung.
  3. Untuk koneksi baru, masukkan detail identitas penyedia dan buat koneksinya. Di penyedia, konfigurasikan kepercayaan menggunakan Penerbit, Audiens, dan Subjek atau kondisi klaim yang ditampilkan, lalu berikan izin sumber daya.
  4. Pastikan koneksi terpasang dan tinjau aliasnya. Simpan, lalu publikasikan atau publikasikan ulang lingkungan.
  5. Mulai tugas baru dan uji operasi yang diizinkan serta operasi yang ditolak.

Penyiapan berbeda-beda menurut penyedia, dan hanya koneksi yang didukung yang dapat dipasang. Izin identitas menentukan akses; izin pribadi Anda di penyedia tidak dialihkan kepadanya. Izinkan endpoint penyedia dan tujuan layanan yang diperlukan secara terpisah dalam kebijakan jaringan.

Simpan perubahan pemasangan atau alias untuk menerapkannya selama penyiapan; publikasikan atau publikasikan ulang untuk menggunakannya dalam tugas baru. Mengedit koneksi identitas bersama dapat memengaruhi lingkungan lain yang menggunakannya.

OIDC tersedia berdasarkan permintaan untuk ruang kerja Enterprise. Hubungi tim akun OpenAI Anda untuk mengaktifkannya.

Jalankan dan kembali ke tugas

Pilih lingkungan yang telah dipublikasikan dan jelaskan tujuan Anda. Codex menggunakan repositori dan alatnya untuk mengedit file, menjalankan perintah, dan memeriksa pekerjaannya. Tinjau perubahan dan hasil pengujian sebelum melakukan commit atau membuka pull request.

Lanjutkan di web atau perangkat seluler

Di web, pilih Bekerja di > Cloud dan pilih lingkungan. Di perangkat seluler, buka Codex dan pilih lingkungan yang tersedia. Buat lingkungan baru di web atau di aplikasi desktop.

Buka kembali tugas yang sama untuk melanjutkan pekerjaannya di berbagai perangkat. Tugas baru memulai pekerjaan terpisah dari penyiapan yang telah dipublikasikan. Tugas di Codex Cloud dapat terus berjalan saat komputer Anda dalam mode tidur.

Mulai tugas dari Slack atau Microsoft Teams

Di ruang kerja Enterprise dengan delegasi Cloud yang diaktifkan, minta @ChatGPT di Slack atau Microsoft Teams untuk mengerjakan repositori. Codex menggunakan konteks percakapan untuk memilih lingkungan yang dibagikan dengan ruang kerja Anda dan tersedia bagi akun yang menjalankan tugas. Anda dapat menyebutkan lingkungan yang diinginkan atau menambahkan panduan dalam prompt Anda.

Untuk Slack, ruang kerja dengan kontrol akses berbasis peran Codex Cloud harus memberikan akses Codex Cloud kepada akun layanan deployment maupun pengguna yang meminta tugas. Lihat Aktifkan Codex Cloud untuk Slack untuk penyiapan oleh admin.

Selesaikan setiap permintaan koneksi dan persetujuan, lalu tinjau hasilnya dalam percakapan. Tindak lanjuti dari akun terhubung yang sama untuk melanjutkan tugas; permintaan peserta lain tidak otomatis melanjutkan tugas Anda.

Lihat Kelola ChatGPT di Slack dan Teams untuk penyiapan ruang kerja dan Gunakan ChatGPT di Slack untuk kontrol tugas Slack.

Spesifikasi VM

Setiap tugas cloud berjalan dalam VM dengan sumber daya default berikut:

Paket ChatGPT vCPUs Memori Ruang disk
Plus, Edu Plus 2 8 GiB 8 GiB
Pro, Business, Enterprise 4 16 GiB 32 GiB
Edu, Edu Pro 4 16 GiB 32 GiB

Secara default, status VM tugas yang tersimpan dapat dipulihkan hingga tujuh hari setelah Anda terakhir memulai giliran atau melanjutkan tugas.

VM yang lebih besar dan spesifikasi kustom tersedia untuk Enterprise. Hubungi tim akun OpenAI Anda untuk konfigurasi dan harga yang tersedia.

Batasan saat ini

Kemampuan berikut saat ini belum didukung dalam lingkungan cloud dan ada dalam rencana pengembangan kami:

  • Penggunaan komputer dan browser
  • GitLab dan GitHub Enterprise Server yang dihosting sendiri

Skill yang disimpan dalam repositori Anda tersedia dalam tugas cloud. Skill pribadi dari komputer lokal Anda tidak disinkronkan ke lingkungan cloud.

Atasi masalah penyiapan dan akses runtime

Penyiapan gagal atau alat yang diperlukan tidak tersedia

Periksa percakapan penyiapan untuk menemukan perintah yang gagal. Minta Codex mendiagnosis kesalahan dan menjalankan ulang perintah setelah memperbaikinya. Misalnya: "Instal pnpm dan jalankan pengujian proyek."

  • Jika penyiapan awal gagal, pilih Coba lagi untuk mencoba ulang dengan repositori yang sudah dipilih dalam sesi penyiapan tersebut.
  • Jika perbaikan memerlukan perubahan file sumber, manifes paket, atau lockfile, lakukan perubahan itu dalam tugas pemrograman, lalu kembali ke penyiapan.

Setelah Codex memverifikasi penyiapan, publikasikan atau publikasikan ulang lingkungan.

Unduhan paket atau permintaan HTTPS gagal

Periksa nama host tujuan dan autentikasi secara terpisah:

  1. Pastikan host diizinkan oleh pengaturan akses internet lingkungan. Untuk registri pribadi di packages.example.com, periksa nama host tersebut secara persis. Jika unduhan juga menggunakan downloads.example.com, host tersebut juga memerlukan akses.
  2. Periksa URL dan kredensial yang dikonfigurasi pada pengelola paket atau klien. Mengizinkan domain tidak memberikan akses ke layanan.
  3. Jika autentikasi menggunakan rahasia jaringan, pastikan Domain yang diizinkan mencakup tujuan dan permintaan menggunakan HTTPS pada port 443.
  4. Di ruang kerja Enterprise, minta admin memeriksa persyaratan Agent Security yang berlaku bersama pengaturan lingkungan.

Simpan setiap perubahan konfigurasi dan uji permintaan selama penyiapan. Publikasikan atau publikasikan ulang, lalu verifikasi akses dalam tugas baru.

Nilai yang diperlukan tidak tersedia atau tidak dapat digunakan

Pastikan Anda menambahkan nilai ke tempat yang tepat dalam konfigurasi lingkungan:

  • Variabel lingkungan: gunakan untuk nilai yang perlu dibaca program secara langsung, seperti APP_MODE=development.
  • Rahasia jaringan: gunakan untuk kredensial yang dikirim ke layanan HTTPS yang diizinkan, seperti token registri pribadi. Program menerima placeholder; proksi menggantinya dengan kredensial dalam permintaan yang cocok. Jika program perlu membaca nilai mentah, tambahkan nilai itu di bawah Variabel lingkungan.

Untuk nilai pribadi, pastikan Kunci cocok dengan permintaan lingkungan dan Berlaku untuk mencakup lingkungan tersebut. Nilai untuk lingkungan tertentu memiliki prioritas lebih tinggi daripada nilai default umum.

Lihat Variabel lingkungan dan rahasia jaringan untuk instruksi penyiapan.

VPN terhubung, tetapi layanan HTTP atau HTTPS tidak dapat dijangkau

  1. Pastikan klien menggunakan proksi HTTP/HTTPS yang dikonfigurasi untuk lingkungan. Saat menguji dengan curl, jangan sertakan --noproxy agar permintaan menggunakan proksi tersebut.
  2. Pastikan tujuan diizinkan oleh daftar domain yang diizinkan di lingkungan maupun aturan akses VPN.
  3. Jika layanan dapat diakses melalui alamat IP tetapi tidak melalui nama host, periksa pengaturan DNS Tailscale Anda. Untuk domain internal perusahaan, pastikan split DNS mengarah ke server DNS yang benar dan server tersebut dapat diakses melalui jaringan Tailscale Anda. Gunakan nama host lengkap layanan dan pastikan nama tersebut diresolusikan ke alamat IPv4.

Lihat Jaringan pribadi untuk penyiapan koneksi.

Lingkungan atau pembaruannya tidak tersedia untuk tugas

Periksa lingkungan di Pengaturan > Codex Cloud > Lingkungan. Jika memiliki lencana Belum dipublikasikan, selesaikan penyiapan dan pilih Publikasikan agar lingkungan tersedia untuk tugas.

Untuk perubahan pada lingkungan yang telah dipublikasikan, buka alur Edit, biarkan Codex menyiapkan dan menguji perubahan, lalu pilih Publikasikan ulang. Mulai tugas baru dari lingkungan yang diperbarui untuk menggunakan penyiapan baru. Tugas yang sudah ada mempertahankan status kerjanya sendiri.