Gunakan perintah seperti list, connect, exec, serta upload/download untuk mengkueri instance ECS, login tanpa password, menjalankan perintah jarak jauh, dan mentransfer file. Output JSON terstruktur dan penerusan kode keluar perintah mendukung konsumsi oleh skrip serta diagnosis mandiri yang cepat terhadap kegagalan.
Prasyarat
Workbench CLI telah diinstal di komputer Anda, dan kredensial serta izin RAM minimum telah dikonfigurasi. Untuk informasi lebih lanjut, lihat Install Workbench CLI and configure credentials.
Instance ECS target adalah Linux instance dalam status Running, dan Cloud Assistant agent telah diinstal dan berjalan.
Komputer Anda harus dapat mengakses
*.aliyuncs.comdan titik akhir WebSocket backend Workbench. Perintahuploaddandownloadjuga memerlukan agar instance dapat mengakses titik akhir internal OSS di wilayah yang sesuai.
Workbench CLI saat ini hanya mendukung koneksi ke Linux instance. Untuk menghubungkan ke Windows instance, gunakan Connect to an instance by using Workbench.
Parameter global
Tiga parameter global berikut berlaku untuk semua subperintah workbench.
Parameter |
Nilai default |
Deskripsi |
|---|---|---|
|
|
Format output. Nilai yang valid: |
|
Disimpulkan secara otomatis |
ID wilayah Alibaba Cloud, seperti |
|
Profil aktif |
Menentukan profil kredensial yang digunakan untuk perintah ini, menggantikan profil aktif. Gunakan ini untuk beralih antar beberapa akun atau set kredensial. |
Wilayah ditentukan dalam urutan berikut: pemetaan awalan ID instans → lookup sesi aktif di daemon → error yang meminta Anda menentukan --region secara manual. Saat pertama kali menggunakan suatu instance, disarankan untuk menjalankan workbench list ecs -r <region> terlebih dahulu guna mengonfirmasi ID instans.
Kueri daftar instance (workbench list ecs)
Gunakan perintah ini untuk mengkueri instance ECS berdasarkan wilayah, status, tag, dan kondisi lainnya agar Anda dapat dengan cepat menemukan ID instance target. Secara default, workbench list setara dengan workbench list ecs. Berikut beberapa contoh umum:
# Kueri semua instance di wilayah tertentu
workbench list ecs -r cn-hangzhou
# Kueri hanya instance yang sedang berjalan
workbench list ecs -r cn-hangzhou --status Running
# Filter berdasarkan tag (beberapa opsi --tag menggunakan semantik AND)
workbench list ecs -r cn-hangzhou --tag env=prod --tag app=web
# Filter berdasarkan tipe instans, nama, VPC, dan kondisi lainnya
workbench list ecs -r cn-hangzhou --instance-type ecs.g7.large --instance-name "web-*"
# Output JSON untuk konsumsi oleh skrip atau AI agent
workbench list ecs -r cn-hangzhou --output json
Parameter:
Parameter |
Wajib |
Deskripsi |
|---|---|---|
|
Ya |
ID wilayah Alibaba Cloud. |
|
Tidak |
Filter berdasarkan status. Nilai yang valid: |
|
Tidak |
Filter berdasarkan tag dalam format |
|
Tidak |
Filter berdasarkan tipe instans, misalnya |
|
Tidak |
Filter berdasarkan nama instance. Karakter wildcard |
|
Tidak |
Filter berdasarkan ID image. |
|
Tidak |
Filter berdasarkan ID VPC. |
|
Tidak |
Filter berdasarkan ID zona. |
|
Tidak |
Filter berdasarkan ID vSwitch. |
|
Tidak |
Filter berdasarkan alamat IP pribadi. Pisahkan beberapa alamat dengan koma. |
|
Tidak |
Jumlah maksimum instance yang dikembalikan per halaman. Nilai yang valid: 1 hingga 100. Default: 50. |
|
Tidak |
Token pagination yang diperoleh dari respons sebelumnya, digunakan untuk mengambil halaman berikutnya. |
Struktur respons dari --output json adalah sebagai berikut:
{
"instances": [
{
"instance_id": "i-bp1xxxxx",
"instance_name": "web-prod-01",
"instance_type": "ecs.g7.large",
"region_id": "cn-hangzhou",
"status": "Running",
"private_ip": "172.16.0.10",
"public_ip": "",
"os_type": "linux",
"image_id": "aliyun_3_x64_20G_alibase_20230727.vhd",
"tags": {"env": "prod"}
}
]
}
Koneksi interaktif (workbench connect)
workbench connect membuka sesi PTY interaktif dan merupakan perintah inti CLI Workbench. Berikut contoh umumnya:
# Autentikasi default tanpa password (login tanpa password Workbench)
workbench connect -i i-bp1a2b3c4d5e6f
# Autentikasi password (masukkan password secara interaktif; input tidak ditampilkan)
workbench connect -i i-bp1a2b3c4d5e6f --auth-type password
# Autentikasi sertifikat (masukkan path file kunci secara interaktif, seperti ~/.ssh/id_rsa)
workbench connect -i i-bp1a2b3c4d5e6f --auth-type certificate
# Tentukan user dan port login
workbench connect -i i-bp1a2b3c4d5e6f -u admin -p 2222
# Paksa sesi baru (jangan gunakan kembali sesi yang sudah ada)
workbench connect -i i-bp1a2b3c4d5e6f --new
Parameter:
Parameter |
Wajib |
Nilai default |
Deskripsi |
|---|---|---|---|
|
Ya* |
— |
ID instance ECS. |
|
Tidak |
Disimpulkan secara otomatis |
ID wilayah Alibaba Cloud. Biasanya Anda tidak perlu menentukannya. |
|
Tidak |
|
Username login remote. |
|
Tidak |
|
Metode autentikasi. Nilai yang valid: |
|
Tidak |
|
Port SSH remote. |
|
Tidak |
|
Memaksa sesi baru dan tidak menggunakan kembali sesi yang sudah ada. |
|
Ya* |
— |
Menghubungkan langsung ke ID sesi tertentu (penggunaan lanjutan). |
* Tentukan salah satu dari -i atau --session-id. Jika keduanya ditentukan, --session-id memiliki prioritas lebih tinggi.
Metode Autentikasi
Metode autentikasi |
Perilaku |
Skenario |
|---|---|---|
|
Membuat sesi langsung melalui saluran login tanpa password Workbench, tanpa perlu mengatur password atau kunci di instance sebelumnya. |
O&M harian tanpa overhead manajemen kunci SSH. |
|
Meminta Anda memasukkan password secara interaktif setelah terhubung. Input tidak ditampilkan. |
Skenario di mana instance telah mengaktifkan login password dan memerlukan autentikasi password SSH. |
|
Meminta Anda memasukkan path file kunci secara interaktif setelah terhubung (misalnya |
Skenario di mana tim mewajibkan login berbasis kunci dan auditing harus dapat dilacak kembali ke sidik jari kunci. |
Perintah Interaktif dan Tombol Pintasan
Setelah Anda memasuki sesi workbench connect, tekan Tab di awal baris untuk membuka panel perintah slash.
Perintah |
Fungsi |
|---|---|
|
Masuk ke mode percakapan AI agent dalam sesi (lihat bagian berikutnya). |
|
Mengunggah file lokal ke instance (membuka pemilih file interaktif). |
|
Mengunduh file dari instance ke komputer lokal (membuka pemilih file interaktif). |
|
Melepaskan sesi (sesi tetap aktif di latar belakang, dan Anda dapat mengaitkannya kembali nanti dengan menjalankan |
|
Keluar dan menutup sesi. |
|
Membersihkan layar. |
|
Menampilkan informasi bantuan. |
Tombol pintasan umum:
Kunci |
Fungsi |
|---|---|
|
Membuka panel perintah slash. |
|
Masuk atau keluar dari mode AI agent. |
|
Keluar dari sesi (setara dengan |
|
Menginterupsi perintah remote saat ini tanpa memutus sesi. |
Gunakan Asisten AI Agent dalam Sesi
Dalam sesi workbench connect, Anda dapat langsung memanggil asisten AI agent bawaan untuk menjalankan operasi pada instance saat ini menggunakan bahasa alami. Pemicuan dapat dilakukan dengan tiga cara berikut:
Masukkan
/agentdi awal baris, lalu tekan Enter.Tekan tombol pintasan
Ctrl+A.Tekan
Tabuntuk membuka panel perintah slash, lalu pilih/agent.
Setelah memasuki mode agent, prompt perintah berubah menjadi prompt khusus mode agent. Masukkan bahasa alami langsung setelah prompt ini, dan agent akan mengembalikan respons sebagai aliran. Perintah slash dalam mode agent:
Perintah |
Fungsi |
|---|---|
|
Keluar dari mode agent dan kembali ke shell biasa (Ctrl+A juga keluar). |
|
Memulai percakapan agent baru dan menghapus konteks. |
|
Membersihkan layar. |
|
Memicu unggah atau unduh file langsung dalam mode agent. |
|
Menampilkan bantuan. |
|
Keluar dan menutup sesi. |
Contoh percakapan khas:
Agent> Tampilkan proses dengan penggunaan CPU tertinggi
┌─ Menjalankan perintah ──────────
│ ps aux --sort=-%cpu | head -10
└────────────────────────
Menunggu konfirmasi (Y/n): y
[Dieksekusi]
... (agent melanjutkan analisis dan memberikan kesimpulan)
Konfirmasi Human-in-the-loop (HITL): Sebelum menjalankan perintah apa pun pada instance, agen akan menampilkan perintah yang akan dijalankan dan menunggu konfirmasi Anda melalui Y/n. Operasi API Cloud—seperti membuat Snapshot—juga memerlukan konfirmasi. Mekanisme ini merupakan perlindungan utama untuk mencegah tindakan tidak disengaja oleh AI. Jangan nonaktifkannya.
Agen menyimpan konteks percakapan dalam sesi yang sama. Anda dapat menggunakan /new untuk mengatur ulang konteks tersebut. Respons dikirimkan sebagai aliran, dan Anda dapat menekan Ctrl+C untuk menginterupsi proses generasi saat ini.
Bagian ini menjelaskan cara langsung memanggil asisten AI bawaan dalam sesi connect. Jika Anda ingin agent dalam tool pemrograman AI eksternal (Wukong atau opencode) memanggil perintah workbench, lihat Operate ECS instances by using Workbench CLI in AI agents.
Eksekusi perintah remote (workbench exec)
workbench exec menjalankan satu perintah pada instance dan mengembalikan hasilnya. Berbeda dengan shell persisten connect, setiap panggilan exec berjalan dalam lingkungan yang independen. Meskipun demikian, beberapa panggilan ke instance yang sama menggunakan kembali saluran koneksi dasar, sehingga tidak memerlukan pengaturan koneksi berulang. Contoh umum:
# Jalankan perintah
workbench exec -i i-bp1a2b3c4d5e6f -c "df -h"
# Gabungkan perintah: cd + variabel lingkungan + jalankan
workbench exec -i i-bp1a2b3c4d5e6f -c "cd /opt/app && ./deploy.sh"
# Atur timeout
workbench exec -i i-bp1a2b3c4d5e6f -c "sleep 30" --timeout 10
# Output JSON untuk konsumsi oleh skrip atau AI agent
workbench exec -i i-bp1a2b3c4d5e6f -c "df -h" --output json
Parameter:
Parameter |
Wajib |
Nilai default |
Deskripsi |
|---|---|---|---|
|
Ya |
— |
ID instance ECS. |
|
Ya |
— |
Perintah yang akan dijalankan. |
|
Tidak |
|
Periode timeout, dalam detik. |
Setiap panggilan exec berjalan dalam lingkungan shell yang independen dan tidak mewarisi direktori saat ini, variabel lingkungan, atau status shell dari panggilan sebelumnya. Jika Anda memerlukan kontinuitas konteks (misalnya, menjalankan perintah cd diikuti perintah lain), gabungkan perintah-perintah tersebut dengan && atau ; dalam parameter -c yang sama.
Struktur respons dari --output json adalah sebagai berikut:
{
"output": "Filesystem ...\n",
"stderr": "",
"exit_code": 0
}
Dalam struktur ini, output adalah standar output perintah, stderr adalah standar error, dan exit_code adalah kode keluar perintah jarak jauh (berupa bilangan bulat).
Transfer file (workbench upload / download)
Jika Anda tidak memiliki alamat IP publik atau saluran SCP, gunakan workbench upload / workbench download untuk mentransfer file. Proses unggah menampilkan bilah progres secara real-time.
Contoh unggah:
workbench upload ./app.jar /opt/app/app.jar -i i-bp1a2b3c4d5e6f
Contoh unduh:
# Unduh ke direktori saat ini
workbench download /var/log/app.log ./ -i i-bp1a2b3c4d5e6f
# Unduh dan ganti nama
workbench download /var/log/app.log ./local-copy.log -i i-bp1a2b3c4d5e6f
Parameter:
Parameter |
Wajib |
Nilai default |
Deskripsi |
|---|---|---|---|
|
Ya |
— |
ID instance ECS. |
File ditransfer melalui OSS secara transparan bagi Anda, tanpa memerlukan izin OSS atau konfigurasi bucket. Instance harus dapat mengakses titik akhir internal OSS di wilayah yang sesuai (oss-<region>-internal.aliyuncs.com).
Manajemen sesi (workbench session)
Sesi biasanya dibuat, digunakan kembali, dan dibersihkan secara otomatis oleh CLI, dan tidak memerlukan intervensi dalam penggunaan sehari-hari. Perintah dalam bagian ini digunakan untuk diagnosis dan pembersihan manual.
Perintah umum:
# Lihat semua sesi aktif
workbench session list
workbench session list --output json
# Tutup sesi tertentu
workbench session close <session-id>
# Tutup semua sesi
workbench session close --all
Transisi status sesi:
OPEN: Sesi telah dibuat dan dapat dibaca maupun ditulis secara normal.RECONNECTING: WebSocket dasar telah terputus dan sedang mencoba menyambung kembali.BROKEN: Koneksi ulang gagal dan sesi tidak tersedia.CLOSED: Sesi telah ditutup (oleh pengguna, karena habis waktu, atau mencapai batas TTL).
Beberapa operasi connect, exec, upload, dan download pada instance yang sama berbagi sesi yang sama. Sesinya ditangani secara transparan oleh daemon, sehingga Anda tidak perlu khawatir tentang ID sesi. Hanya satu terminal (TTY) yang dapat dikaitkan ke sesi tersebut dalam satu waktu. Jika terminal sudah terkait, Anda dapat menggunakan --new untuk membuat sesi baru atau menutup koneksi yang ada terlebih dahulu.
Manajemen daemon (workbench daemon)
Workbench CLI bergantung pada daemon latar belakang ruang pengguna untuk mempertahankan koneksi WebSocket dan melakukan multiplexing sesi. Siklus hidup daemon sepenuhnya otomatis dan biasanya tidak memerlukan manajemen manual.
# Lihat status daemon
workbench daemon status
# Hentikan daemon (menutup semua sesi)
workbench daemon stop
Startup otomatis: Daemon akan dimulai secara otomatis saat Anda menjalankan perintah
workbenchuntuk pertama kalinya.Keluar otomatis: Daemon keluar secara otomatis 60 detik setelah sesi terakhir ditutup.
Instans tunggal: Hanya satu instans daemon yang diizinkan per pengguna sistem operasi (diberlakukan oleh kunci file PID).
Saluran IPC: CLI dan daemon berkomunikasi melalui
~/.workbench/run/daemon.sock(socket Unix) menggunakan protokol JSON-RPC.
Skenario khas
Skenario 1: Penerapan Aplikasi
Unggah paket penyebaran → jalankan skrip penyebaran secara remote → verifikasi kesehatan layanan pada instance.
workbench upload ./app-2.0.tar.gz /opt/deploy/ -i i-bp1a2b3c4d5e6f
workbench exec -i i-bp1a2b3c4d5e6f -c "cd /opt/deploy && tar xzf app-2.0.tar.gz && ./deploy.sh"
workbench exec -i i-bp1a2b3c4d5e6f -c "curl -s http://localhost:8080/health"
Skenario 2: Eksekusi Batch Perintah Diagnostik
Gunakan exec --output json untuk mendapatkan hasil terstruktur yang dapat diuraikan lebih lanjut oleh skrip atau difilter menggunakan jq.
workbench exec -i i-bp1a2b3c4d5e6f -c "df -h && free -m" --output json | jq '.output'
workbench exec -i i-bp1a2b3c4d5e6f -c "systemctl status nginx" --output json | jq '.exit_code'
Skenario 3: Mengaitkan Ulang ke Sesi Setelah Melepaskan
Untuk tugas berjalan lama (seperti tail log atau kompilasi), Anda dapat menjalankan /detach lalu menutup terminal lokal. Saat menjalankan connect kembali nanti, Anda akan secara otomatis mengaitkan ulang ke sesi asli.
workbench connect -i i-bp1a2b3c4d5e6f
# Jalankan tail -f atau tugas berjalan lama dalam sesi
# Lalu masukkan /detach untuk melepaskan
# Mengaitkan ulang ke sesi asli nanti
workbench connect -i i-bp1a2b3c4d5e6f
Kode keluar
workbench exec meneruskan kode keluar perintah remote: CLI akan keluar dengan kode keluar yang sama dengan yang dikembalikan oleh perintah remote, konsisten dengan perilaku SSH. Dengan demikian, skrip dapat langsung menentukan keberhasilan perintah remote berdasarkan kode keluar workbench exec.
Sebagai contoh, perintah berikut menjalankan exit 42 pada instance, dan CLI juga keluar dengan kode 42:
workbench exec -i i-bp1a2b3c4d5e6f -c "exit 42"
echo $? # Menghasilkan 42
Jika perintah gagal karena alasan seperti parameter tidak valid, autentikasi gagal, masalah jaringan, atau instance tidak ditemukan, penggunaan --output json akan menghasilkan detail kesalahan dalam format berikut:
{
"code": 1,
"message": "session resolve: login instance: ... InvalidParameter.InstanceId ..."
}
Dalam struktur ini, code adalah pengidentifikasi error bukan nol, sedangkan message berisi deskripsi error yang dapat dibaca (biasanya mencakup kode error dan RequestId dari API dasar) yang dapat Anda gunakan untuk melokalisasi masalah.
Pemecahan Masalah
Gejala umum dan tindakan pertama yang harus diambil:
Gejala / pesan error |
Tindakan pertama |
|---|---|
Autentikasi gagal: | Periksa apakah ID AccessKey dan Rahasia AccessKey di |
Error yang menunjukkan instance tidak ada / | Pastikan ID instance dan wilayahnya benar. Anda dapat menjalankan |
Login tanpa kata sandi gagal / | Secara default, login tanpa kata sandi (saat |
| Periksa kebenaran nama profil. Jalankan |
Timeout koneksi / error WebSocket | Periksa apakah komputer Anda dapat mengakses |
Koneksi sedang digunakan (sesi sudah dikaitkan oleh terminal lain) | Gunakan |
Tidak dapat terhubung ke daemon | Jalankan |
Error izin file konfigurasi | Jalankan |
Token STS kedaluwarsa | Dalam mode RamRoleArn, CLI melakukan refresh secara otomatis. Jika Anda menggunakan token STS statis, perbarui token tersebut. |
Perintah debugging:
# Lihat status daemon
workbench daemon status
# Output error JSON untuk penguraian mudah oleh skrip
workbench exec -i i-bp1a2b3c4d5e6f -c "echo test" --output json
Log daemon disimpan di ~/.workbench/log/daemon.log.
Referensi
Connect to an instance by using Workbench CLI: topik induk, yang mencakup posisi tool dan quick start.
Install Workbench CLI and configure credentials: instalasi CLI dan konfigurasi kredensial/izin.
Operate ECS instances by using Workbench CLI in AI agents: agent memanggil perintah workbench di Wukong atau opencode.
Install the Cloud Assistant agent: Workbench CLI bergantung pada Cloud Assistant agent.