OpenHands: Alternatif AI Devin Sumber Terbuka

Ardianto Nugroho

Ardianto Nugroho

25 April 2025

OpenHands: Alternatif AI Devin Sumber Terbuka

Dunia pengembangan perangkat lunak sedang mengalami pergeseran besar, didorong oleh kemajuan pesat dalam kecerdasan buatan. Kami telah melihat alat AI berkembang dari bantuan penyelesaian kode sederhana menjadi sistem canggih yang mampu memahami persyaratan kompleks dan menghasilkan aplikasi fungsional. Dalam lanskap yang menarik ini, pemain baru telah muncul, menangkap imajinasi pengembang di seluruh dunia: OpenHands. Dikenal sebagai alternatif sumber terbuka yang kuat untuk pengembang AI proprietary seperti Devin AI, OpenHands menawarkan platform di mana agen AI dapat melakukan tugas yang sebelumnya eksklusif untuk pengembang manusia.

Dikembangkan oleh All-Hands-AI, OpenHands (sebelumnya dikenal sebagai OpenDevin) bukan sekadar asisten pengkodean lainnya. Ini dirancang sebagai platform serbaguna untuk agen AI yang dirancang untuk menangani seluruh spektrum tugas pengembangan perangkat lunak. Bayangkan AI yang tidak hanya dapat menulis kode tetapi juga memodifikasi basis kode yang ada, menjalankan perintah terminal, menjelajahi web untuk informasi (ya, bahkan mencari solusi di Stack Overflow), berinteraksi dengan API, dan mengelola alur kerja pengembangan yang kompleks. Ini adalah janji OpenHands – untuk "Mengode Lebih Sedikit, Membuat Lebih Banyak."

Apa yang benar-benar membedakan OpenHands adalah komitmennya terhadap sumber terbuka. Dibangun di bawah Lisensi MIT yang permisif, ini mengundang kolaborasi, transparansi, dan inovasi yang didorong oleh komunitas. Ini sangat kontras dengan model tertutup, menawarkan pengembang kontrol, kustomisasi, dan wawasan yang tiada bandingnya ke dalam cara kerja mitra pengembangan AI mereka. Untuk tim dan individu yang waspada terhadap kunci vendor atau yang ingin menyesuaikan kemampuan AI dengan kebutuhan tertentu, OpenHands menawarkan proposisi yang menarik.

💡
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 maksimal?

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

Apa yang Dilakukan OpenHands (Dahulu Open Devin)?

Memahami fungsi inti OpenHands adalah kunci untuk menghargai potensinya sebagai platform pengembangan AI. Ini memberikan agen AI dengan seperangkat kemampuan yang komprehensif:

Modifikasi Kode Cerdas

Agen OpenHands memiliki kemampuan untuk membaca, memahami, dan mengubah kode dalam konteks proyek yang ada. Dengan memanfaatkan Large Language Model (LLM) yang dipilih, agen menganalisis basis kode, memahami saling ketergantungan antara file dan fungsi, dan menerapkan modifikasi yang ditargetkan berdasarkan permintaan pengguna. Ini mencakup tugas-tugas seperti merestrukturisasi fungsi untuk kejelasan, menambahkan endpoint API baru, atau memperbarui ketergantungan proyek sesuai instruksi.

Eksekusi Perintah yang Aman

Salah satu pilar OpenHands adalah kapasitasnya untuk menjalankan perintah shell (seperti npm install, python manage.py runserver, git commit, ls, grep, dan lainnya) dalam lingkungan sandbox yang terlindungi dan terisolasi. Sandbox ini, biasanya diimplementasikan sebagai kontainer Docker, mengisolasi tindakan agen, mencegah dampak yang tidak diinginkan pada sistem host. Ini memungkinkan agen untuk melakukan operasi pengembangan penting seperti menyiapkan lingkungan proyek, menjalankan suite pengujian, menginstal pustaka yang diperlukan, menjalankan skrip build, dan mengelola kontrol versi.

Penjelajahan Web Terintegrasi

Pengembangan perangkat lunak yang efektif sering kali memerlukan pengumpulan informasi eksternal, seperti berkonsultasi dengan dokumentasi, mencari solusi di platform seperti Stack Overflow, atau meneliti pustaka. Agen OpenHands dilengkapi untuk menjelajahi web secara otonom, mengambil informasi yang diperlukan untuk menyelesaikan tugas yang ditugaskan. Kemampuan ini memungkinkan mereka untuk tetap terkini dengan praktik terbaik dan merumuskan solusi untuk masalah baru tanpa hanya mengandalkan informasi yang telah diberikan sebelumnya.

Interaksi API

Arsitektur perangkat lunak modern sering melibatkan integrasi beberapa layanan melalui API. Agen OpenHands dapat diarahkan untuk berinteraksi dengan API eksternal ini. Ini mungkin melibatkan pengambilan data dari sumber pihak ketiga, mengirim pembaruan ke sistem lain, atau mengoordinasikan alur kerja yang melintasi berbagai alat, sehingga mengotomatiskan proses pengembangan yang lebih kompleks.

Manajemen Sistem Berkas

Agen memerlukan kemampuan untuk berinteraksi dengan file proyek. OpenHands memberikan mereka izin untuk membuat, membaca, menulis, dan menghapus file dan direktori dalam ruang kerja yang ditentukan (biasanya volume yang dipetakan dari sistem lokal ke dalam sandbox agen). Ini memungkinkan mereka untuk menyusun proyek secara logis, menambahkan modul atau komponen baru, mengelola file konfigurasi, dan menyimpan hasil keluaran.

Kemampuan beragam ini, diorkestrasi oleh backend LLM yang dipilih pengguna, memberdayakan agen OpenHands untuk menangani tugas pengembangan yang rumit dan multi-langkah secara otonom, bergerak jauh melampaui generasi kode dasar menuju dukungan rekayasa perangkat lunak yang didorong oleh AI yang sebenarnya.

Cara Menginstal OpenHands di Mac, Linux, Windows

Menggunakan Docker adalah metode yang disarankan dan paling kuat untuk menjalankan OpenHands secara lokal. Ini memastikan konsistensi lingkungan dan menyediakan isolasi yang diperlukan untuk operasi agen. Di bawah ini adalah panduan terperinci untuk menginstal OpenHands di berbagai sistem operasi.

Persyaratan Sistem

Pastikan sistem Anda memenuhi prasyarat berikut:

Langkah-Langkah Instalasi Prasyarat

Ikuti langkah-langkah ini dengan hati-hati untuk menyiapkan prasyarat yang diperlukan.

Langkah 1: Instal Docker Desktop

Unduh dan instal Docker Desktop yang disesuaikan untuk sistem operasi Anda langsung dari situs web resmi Docker (https://www.docker.com/products/docker-desktop/). Ikuti panduan instalasi yang disediakan oleh Docker. Setelah instalasi, pastikan bahwa daemon Docker aktif; ikonnya harus terlihat di area sistem tray atau bilah menu Anda.

Langkah 2: Konfigurasi Docker Berdasarkan OS

Konfigurasi khusus diperlukan tergantung pada sistem operasi Anda.

Konfigurasi macOS
  1. Jalankan Docker Desktop.
  2. Akses Pengaturan (biasanya melalui ikon roda gigi).
  3. Navigasikan ke bagian lanjutan.
  4. Verifikasi bahwa opsi Izinkan soket Docker default digunakan dicentang (diaktifkan). Izin ini penting agar kontainer OpenHands dapat mengelola kontainer Docker lainnya (seperti sandbox).
Konfigurasi Linux
  1. Instal Docker Desktop untuk Linux dengan mengikuti dokumentasi resmi Docker.
  2. Pastikan layanan Docker berjalan setelah instalasi.
    (Catatan: Meskipun diuji di Ubuntu 22.04, kompatibilitas dengan distribusi Linux lainnya diharapkan tetapi tidak dijamin.)
Konfigurasi Windows
  1. Instal WSL (Windows Subsystem for Linux): Jika WSL 2 belum diinstal, buka PowerShell sebagai Administrator dan jalankan wsl --install. Perintah ini menginstal WSL dan distribusi Linux default (sering kali Ubuntu). Restart sistem mungkin diperlukan.
  2. Verifikasi Versi WSL: Buka jendela PowerShell atau Command Prompt standar dan ketik wsl --version. Pastikan keluaran menunjukkan versi WSL 2 atau lebih tinggi. Jika versi 1 yang ditampilkan, perbarui WSL atau set versi 2 sebagai default menggunakan wsl --set-default-version 2.
  3. Instal Docker Desktop untuk Windows: Lanjutkan dengan instalasi Docker Desktop jika belum dilakukan.
  4. Konfigurasi Integrasi Docker Desktop WSL: Luncurkan Docker Desktop, pergi ke Pengaturan. Di bawah Umum, pastikan Gunakan mesin berbasis WSL 2 di aktifkan. Di bawah Sumber Daya > Integrasi WSL, konfirmasi Aktifkan integrasi dengan distro WSL default saya di aktifkan. Terapkan perubahan dan restart Docker jika diminta.
  5. Catatan Penting: Untuk pengguna Windows, semua perintah docker selanjutnya terkait dengan OpenHands harus dieksekusi dari dalam lingkungan terminal WSL (misalnya, terminal Ubuntu), bukan langsung dari PowerShell atau Command Prompt.

Memulai Aplikasi OpenHands

Dengan prasyarat terpenuhi, Anda sekarang dapat memulai aplikasi OpenHands.

Langkah 1: Buka Terminal Anda
Langkah 2: Tarik Gambar Runtime (Opsional)

OpenHands menggunakan gambar Docker terpisah untuk lingkungan eksekusi sandboxed agen. Menarik gambar ini sebelumnya dapat mempercepat proses startup awal. Gunakan tag yang disarankan dalam dokumentasi resmi:

docker pull docker.all-hands.dev/all-hands-ai/runtime:0.34-nikolaik

(Selalu verifikasi tag terbaru yang disarankan dari repositori GitHub OpenHands atau dokumentasi resmi, karena tag dapat berubah.)

Langkah 3: Jalankan Kontainer OpenHands

Eksekusi perintah komprehensif berikut dalam terminal Anda (gunakan terminal WSL di Windows):

docker run -it --rm --pull=always \
    -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.34-nikolaik \
    -e LOG_ALL_EVENTS=true \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v ~/.openhands-state:/.openhands-state \
    -p 3000:3000 \
    --add-host host.docker.internal:host-gateway \
    --name openhands-app \
    docker.all-hands.dev/all-hands-ai/openhands:0.34
Langkah 4: Akses Antarmuka Pengguna Web

Setelah perintah docker run dieksekusi, pantau keluaran log di terminal Anda. Ketika urutan startup aplikasi selesai, buka browser web favorit Anda dan navigasikan ke http://localhost:3000.

Dengan langkah-langkah ini selesai, OpenHands berhasil diinstal dan berjalan secara lokal. Langkah selanjutnya adalah mengonfigurasi Large Language Model untuk memberdayakan agen.

Memulai dengan Open Hands

Dengan OpenHands beroperasi, tahap vital berikutnya adalah menghubungkannya ke LLM, yang berfungsi sebagai mesin kognitif agen. Setelah pengaturan LLM, Anda dapat mulai menetapkan tugas pengembangan. Bagian ini merinci konfigurasi awal dan memberikan contoh interaksi ilustratif.

Konfigurasi LLM Awal

Ini adalah langkah wajib pertama saat meluncurkan UI.

(Instruksi terperinci untuk mengonfigurasi penyedia LLM tertentu disediakan di bagian selanjutnya.)

Interaksi Pertama Anda: Tugas "Hello World"

Inisiasi interaksi dengan tugas dasar untuk mengamati proses agen.

Langkah 1: Beri Tahu Agen

Masukkan instruksi berikut ke dalam bidang input chat dan tekan Enter:

Write a bash script hello.sh that prints "hello world!"
Langkah 2: Amati Fase Perencanaan

OpenHands meneruskan permintaan ke LLM yang telah dikonfigurasi, yang kemudian merumuskan rencana strategis. Biasanya, agen akan menguraikan tindakan yang dimaksudkan dalam UI, seperti:

  1. Buat file baru bernama hello.sh.
  2. Masukkan perintah bash echo "hello world!" ke dalam file ini.
  3. Beri izin eksekusi pada skrip menggunakan chmod +x hello.sh.
  4. Eksekusi skrip melalui ./hello.sh untuk memastikan keluaran sesuai harapan.
Langkah 3: Amati Fase Eksekusi

Agen melanjutkan untuk mengeksekusi langkah-langkah yang direncanakan dalam lingkungan eksekusi Docker sandboxed-nya. Log UI akan menampilkan perintah yang sedang dijalankan dan mencerminkan modifikasi sistem berkas saat terjadi.

Langkah 4: Verifikasi Hasil

Setelah selesai dengan sukses, agen harus melaporkan hasil eksekusi, termasuk keluaran yang diharapkan: "hello world!".

Langkah 5: Penyempurnaan Iteratif

Sekarang, mari kita modifikasi skrip dengan instruksi lanjut:

Modify hello.sh so that it accepts a name as the first argument, but defaults to "world"
Langkah 6: Amati Proses Modifikasi

Agen akan kembali merumuskan dan mengeksekusi rencana:

  1. Baca konten yang ada dari hello.sh.
  2. Perbarui kode skrip untuk memasukkan penanganan argumen, mungkin menggunakan ekspansi parameter bash seperti echo "hello ${1:-world}!".
  3. Opsional, jalankan pengujian dengan dan tanpa argumen (misalnya, ./hello.sh dan ./hello.sh Developer) untuk memvalidasi perubahan.
Langkah 7: Tugas Konversi Bahasa

Demonstrasikan fleksibilitas agen dengan meminta perubahan bahasa:

Please convert hello.sh to a Ruby script, and run it
Langkah 8: Amati Adaptasi Lingkungan

Jika lingkungan sandbox tidak memiliki interpreter Ruby yang diperlukan, agen mungkin terlebih dahulu merencanakan dan mengeksekusi perintah instalasi (misalnya, apt-get update && apt-get install -y ruby). Selanjutnya, agen akan menerjemahkan logika ke dalam kode Ruby (misalnya, puts "hello #{ARGV[0] || 'world'}!"), menyimpannya ke hello.rb, menjadikannya dapat dieksekusi, dan menjalankan skrip baru tersebut.

Contoh pengantar ini menyoroti alur kerja inti agen: memahami instruksi, merencanakan langkah eksekusi, berinteraksi dengan sistem berkas dan shell dalam sandbox, dan beradaptasi berdasarkan permintaan iteratif.

Membangun dari Awal: Contoh Aplikasi TODO

Agen sering menunjukkan kinerja yang kuat pada proyek "greenfield", di mana mereka dapat membangun struktur tanpa memerlukan konteks yang luas dari basis kode kompleks yang sudah ada.

Langkah 1: Berikan Permintaan Proyek Awal

Jadilah tepat mengenai fitur yang diinginkan dan tumpukan teknologi:

Build a frontend-only TODO app in React. All state should be stored in localStorage. Implement basic functionality to add new tasks and display the current list of tasks.
Langkah 2: Pantau Perencanaan dan Pembangunan

Agen mungkin merencanakan sebagai berikut:

  1. Gunakan create-react-app (jika tersedia/diperintahkan) atau secara manual membuat kerangka dasar file HTML, CSS, dan JavaScript/JSX.
  2. Kembangkan komponen React untuk formulir input tugas dan tampilan daftar tugas.
  3. Implementasikan manajemen status aplikasi menggunakan hooks React seperti useState dan useEffect.
  4. Integrasikan localStorage.setItem() dan localStorage.getItem() untuk persistensi data antara sesi.
  5. Tulis struktur HTML yang diperlukan dan terapkan penataan dasar dengan CSS.
Langkah 3: Minta Peningkatan Fitur

Setelah aplikasi dasar berfungsi, minta fitur tambahan:

Allow adding an optional due date to each task. Display this due date alongside the task description in the list.
Langkah 4: Amati Pengembangan Iteratif

Agen akan memodifikasi komponen React yang ada untuk menyertakan elemen input tanggal, memperbarui struktur status aplikasi untuk mengakomodasi informasi tanggal jatuh tempo, dan menyesuaikan logika rendering untuk menampilkan tanggal dengan tepat di daftar tugas.

Langkah 5: Terapkan Kontrol Versi (Praktik Terbaik)

Simpan kemajuan agen secara teratur menggunakan kontrol versi, seperti yang Anda lakukan dalam pengembangan manual. Anda bahkan dapat menginstruksikan agen untuk menangani komit:

Commit the current changes with the commit message "feat: Add due date functionality to tasks" and push the commit to a new branch named "feature/due-dates" on the origin remote repository.

(Catatan: Eksekusi perintah Git yang berhasil, terutama mendorong ke remote, memerlukan Git diinstal dan mungkin dikonfigurasi dengan kredensial otentikasi dalam lingkungan kerja/sandbox agen.)

Menambahkan Kode Baru ke Proyek yang Ada

OpenHands mampu mengintegrasikan kode dan fitur baru ke dalam basis kode yang sudah ada.

Contoh 1: Menambahkan Alur Kerja GitHub Action
Add a GitHub Action workflow to this repository that lints JavaScript code using ESLint whenever code is pushed to the main branch.
Contoh 2: Menambahkan Rute Backend (Konteks adalah Kunci)
Modify the Express.js application file located at './backend/api/routes.js'. Add a new GET endpoint at '/api/tasks' that retrieves and returns all tasks by calling the asynchronous function 'getAllTasks' found in './db/queries.js'.

Refactoring Kode

Manfaatkan OpenHands untuk upaya refactoring kode yang terfokus.

Contoh 1: Mengganti Nama Variabel untuk Kejelasan
Contoh 2: Memecah Fungsi Besar
Contoh 3: Meningkatkan Struktur File

Memperbaiki Bug

Sementara memperbaiki bug bisa rumit, OpenHands dapat membantu, terutama ketika masalah didefinisikan dengan baik.

Contoh 1: Memperbaiki Logika Tertentu
Contoh 2: Memodifikasi Perilaku
Contoh 3: Menggunakan Pendekatan Berbasis Pengujian
  1. Permintaan untuk Pembuatan Pengujian: The 'calculate_discount' function in 'pricing.js' crashes when the input quantity is zero. Write a new test case using Jest in the 'pricing.test.js' file that specifically reproduces this bug.
  2. Amati Eksekusi Pengujian: Agen menghasilkan kode pengujian, mengeksekusi suite pengujian (misalnya, melalui npm test), dan melaporkan kegagalan yang diharapkan.
  3. Permintaan untuk Memperbaiki Kode: Now, modify the 'calculate_discount' function in 'pricing.js' to correctly handle the zero quantity case, ensuring the previously written test passes.
  4. Amati Perbaikan dan Validasi: Agen menyesuaikan logika fungsi (mungkin menambahkan pemeriksaan kondisional untuk jumlah nol) dan menjalankan kembali suite pengujian, melaporkan hasil yang berhasil.

Strategi Penggunaan Inti: Mulailah dengan permintaan yang sederhana dan spesifik. Berikan konteks yang diperlukan seperti jalur file dan nama fungsi. Pecah tujuan kompleks menjadi langkah-langkah yang lebih kecil dan iteratif. Komit perubahan secara teratur menggunakan kontrol versi.

Cara Mengonfigurasi OpenHands dengan LLM (OpenAI, OpenRouter, Google Gemini, Lokal)

Menjalin koneksi antara OpenHands dan LLM yang mampu adalah hal yang sangat penting. Konfigurasi ini dikelola melalui antarmuka pengguna web OpenHands.

Mengakses Pengaturan Konfigurasi LLM

Prosedur Konfigurasi LLM Umum

  1. Pilih Penyedia LLM: Pilih layanan yang diinginkan (misalnya, "OpenAI", "Anthropic", "Google", "OpenRouter", "Ollama") dari menu dropdown yang tersedia.
  2. Masukkan Kunci API: Tempelkan dengan hati-hati kunci API yang terkait dengan penyedia yang Anda pilih ke dalam bidang input yang ditentukan. Kunci API harus diperlakukan dengan keamanan yang sama seperti kata sandi.
  3. Tentukan Model LLM: Pilih model spesifik yang Anda maksudkan untuk digunakan dari penyedia yang dipilih (misalnya, gpt-4o, claude-3-5-sonnet-20240620, gemini-1.5-pro-latest). Model yang tersedia mungkin terisi secara dinamis berdasarkan penyedia yang dipilih, atau Anda mungkin perlu memasukkan nama model secara manual.
  4. Jelajahi Opsi Lanjutan (Opsional): Alihkan pengaturan lanjutan untuk mengungkap kemungkinan konfigurasi lebih lanjut:

5. Simpan Konfigurasi: Terapkan dan simpan pengaturan yang Anda pilih.

Langkah-Langkah Konfigurasi Khusus Penyedia

Ikuti langkah-langkah terperinci ini untuk penyedia LLM populer:

Konfigurasi OpenAI
  1. Kunjungi https://platform.openai.com/.
  2. Masuk atau buat akun baru.
  3. Navigasikan ke bagian Kunci API dan buat kunci rahasia baru. Salin kunci ini segera karena mungkin tidak ditampilkan lagi.
  4. Pastikan informasi penagihan diatur dengan benar di bawah pengaturan Penagihan untuk mengaktifkan penggunaan API.
  5. Di dalam pengaturan UI OpenHands:
Konfigurasi Anthropic (Claude)
  1. Kunjungi https://console.anthropic.com/.
  2. Masuk atau daftar untuk akun.
  3. Akses Pengaturan Akun > Kunci API dan buat kunci API baru. Salin kunci yang dihasilkan.
  4. Konfigurasikan penagihan di bawah Rencana & Penagihan. Pertimbangkan untuk mengatur batas penggunaan untuk mengelola biaya secara efektif.
  5. Di pengaturan UI OpenHands:
Konfigurasi Google Gemini
  1. Dapatkan kunci API melalui salah satu dari:

2. Jika menggunakan Google Cloud, pastikan API Vertex AI yang diperlukan diaktifkan dan penagihan dikonfigurasi untuk proyek Anda.

3. Di pengaturan UI OpenHands:

Konfigurasi OpenRouter
  1. Navigasikan ke https://openrouter.ai/.
  2. Masuk atau buat akun.
  3. Masuk ke bagian Kunci dan buat kunci API baru. Salin.
  4. Tambahkan kredit ke akun Anda melalui bagian Penagihan untuk mengaktifkan penggunaan.
  5. Di pengaturan UI OpenHands:
Konfigurasi LLM Lokal (misalnya, melalui Ollama)
  1. Instal Ollama: Ikuti panduan instalasi di https://ollama.com/.
  2. Unduh Model: Gunakan CLI Ollama untuk mengunduh model yang diinginkan, misalnya, ollama pull llama3 (atau model lain seperti codellama, mistral).
  3. Jalankan Server Ollama: Pastikan server latar belakang Ollama berjalan (biasanya dimulai secara otomatis setelah instalasi).
  4. Di pengaturan UI OpenHands:

Cara Mengonfigurasi Runtime Docker OpenHands

Istilah "runtime" dalam OpenHands menunjuk pada lingkungan kontainer Docker terisolasi di mana agen mengeksekusi perintah dan berinteraksi dengan sistem berkas. Konfigurasi terutama melibatkan penentuan gambar runtime mana yang akan digunakan saat memulai kontainer aplikasi OpenHands utama.

Tujuan Lingkungan Runtime

Konfigurasi melalui Perintah docker run

Metode utama untuk mengonfigurasi runtime adalah melalui flag -e (variabel lingkungan) dalam perintah docker run yang digunakan untuk meluncurkan aplikasi OpenHands:

-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.34-nikolaik

Variabel lingkungan ini memberi tahu aplikasi OpenHands tentang tag gambar Docker spesifik yang harus digunakan setiap kali ia perlu menyediakan kontainer sandbox baru untuk menangani eksekusi tugas agen.

Mengubah atau Memperbarui Runtime

docker run ... -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.35-newfeature ... docker.all-hands.dev/all-hands-ai/openhands:<corresponding_app_version>

(Catatan: Umumnya disarankan untuk memperbarui tag gambar aplikasi openhands utama secara bersamaan untuk memastikan kompatibilitas antara aplikasi dan lingkungan runtime.)

-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:main

Intinya, mengelola runtime Docker terutama melibatkan pemilihan dan penentuan tag gambar runtime yang tepat dalam perintah docker run Anda, menyeimbangkan kebutuhan stabilitas dengan kebutuhan untuk fitur atau pembaruan tertentu.

Prompt OpenHands Terbaik

Efektivitas agen OpenHands sangat dipengaruhi oleh kualitas prompt yang diberikan. Merancang prompt yang jelas, spesifik, dan sesuai ruang lingkup sangat penting untuk mencapai hasil yang akurat dan berguna.

Karakteristik Prompt yang Efektif

Prompt yang baik umumnya menunjukkan kualitas berikut:

Mengembangkan API dengan Apidog

Apidog adalah alat pengembangan API yang membantu Anda mengembangkan API dengan lebih mudah dan efisien.