Perbaiki Error Instalasi dan Versi DeepSeek Harness
Semua build DeepSeek Harness masih prerelease. Gunakan versi dsh yang tepat, hapus cache npx, dan periksa npm yang benar-benar dijalankan.
Instalasi DeepSeek Harness sebenarnya
Instalasi DeepSeek Harness hanya terdiri atas satu perintah: npx @deepseek-ai/dsh web. Tidak ada installer dan tidak ada service yang perlu dikonfigurasi. Sebagian besar masalah yang dihadapi pengguna sebenarnya bukan masalah instalasi. Masalahnya adalah resolusi versi: build @deepseek-ai/dsh mana yang dipilih dan dijalankan oleh npx hari ini, serta apakah versi Node.js Anda dapat menjalankannya. Saat berhasil start, alamat yang ditampilkan terikat ke localhost. Alasan Web UI hanya merespons pada 127.0.0.1:3080 merupakan masalah yang terpisah dari masalah yang dibahas di halaman ini.
Dua fakta menjadi dasar seluruh pembahasan berikut. Pertama, setiap versi @deepseek-ai/dsh yang sejauh ini dipublikasikan ke npm merupakan prerelease. Sebagian besar adalah release candidate (-rc.N), dan sejak 30 August 2026 juga tersedia alpha build (-alpha.N). Tag latest mengarah ke release candidate. Per 10 October 2026, versi tersebut adalah 0.2.0-rc.2, yang dipublikasikan pada 29 September 2026. Kedua, README proyek menyatakan bahwa harness masih dalam developer preview, mengalami perubahan dengan cepat, dan akan mengalami perubahan yang dapat memutus kompatibilitas. Flag yang berfungsi minggu lalu dapat dihapus minggu ini. Tetapkan versi sebelum membangun apa pun di atasnya.
Berikut beberapa istilah yang perlu dipahami. dsh adalah alat baris perintah DeepSeek Harness. Node.js adalah runtime JavaScript yang dibutuhkannya. npx adalah package runner yang disertakan bersama npm (node package manager). npx mengambil package saat diperlukan, bukan memasangnya secara permanen. Jika istilah harness dalam kalimat tersebut belum familiar, agent harness adalah program yang membungkus model, menjalankan loop, tools, permission, dan session state. Karena itu, nomor versi yang tidak Anda pilih dapat mengubah perilaku agent Anda.
Versi Node.js berapa yang diperlukan dsh?
Root repository package.json mendeklarasikan "engines": {"node": "^22.19.0 || >=24.0.0"}, berdasarkan pembacaan pada 10 October 2026, ketika repository berada pada versi 0.2.1-alpha.2. Jadi, gunakan Node 22.19.0 atau yang lebih baru dalam lini 22, atau Node 24 dan yang lebih baru. Node 20 tidak didukung.
Periksa versi yang tersedia sebelum melakukan hal lain.
node -v
npm -vBerikut bagian yang sering mengejutkan pengguna. Paket @deepseek-ai/dsh yang dipublikasikan tidak memiliki field engines sendiri. Hanya root monorepo yang mendeklarasikannya, dan file root tersebut tidak pernah dipublikasikan ke npm. Karena itu, npm tidak memiliki apa pun untuk diperiksa. npm tidak menampilkan peringatan EBADENGINE dan tidak menolak instalasi. Pada Node 20, instalasi terlihat berhasil, tetapi kegagalan baru terjadi kemudian, saat kode yang dimuat menggunakan sintaks atau API yang tidak tersedia pada runtime Anda. Tidak ada satu string error yang konsisten untuk dicari, karena baris yang pertama kali gagal bergantung pada modul yang dimuat terlebih dahulu. Baca node -v, bukan hanya pesan crash.
Jika Node Anda terlalu lama, nvm (node version manager) adalah solusi dengan perubahan paling kecil pada VPS. nvm diinstal di direktori home Anda dan tidak mengubah Node sistem.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.6/install.sh | bash
exec $SHELL -l
nvm install 24
nvm use 24
node -vnode -v sekarang seharusnya menampilkan versi yang diawali dengan v24.. Jika shell masih melaporkan versi lama, jalankan which node. Path di luar ~/.nvm biasanya disebabkan oleh 2 hal. Fungsi shell nvm belum dimuat. Buka login shell baru, lalu coba lagi. Atau, ada baris dalam profil shell yang mengubah PATH setelah baris yang memuat nvm dan menempatkan Node lain di urutan terdepan. Pindahkan baris tersebut ke atas baris nvm. Node 24 merupakan lini LTS (long term support) aktif per 10 October 2026, dan rilis terbarunya pada tanggal tersebut adalah 24.21.0. Kondisi ini berubah pada bulan tersebut: Node 24 beralih ke maintenance pada 20 October 2026, dan Node 26, yang juga diizinkan oleh rentang >=24.0.0, menjadi lini LTS aktif pada 28 October 2026. Keduanya merupakan target yang lebih baik daripada Node 22 karena alasan kedua yang dibahas di bawah ini.
Mengapa npx menjalankan versi yang berbeda setiap hari?
npx @deepseek-ai/dsh web tidak menyebutkan versi. Kecuali project di direktori saat ini sudah memasang @deepseek-ai/dsh. Dalam kondisi tersebut, npx menjalankan salinan itu. Jika tidak, npx meminta registry mengembalikan versi yang ditunjuk oleh tag latest. Tag tersebut sering berubah. 0.1.0-rc.8 dirilis pada 19 August 2026, dua hari setelah 0.1.0-rc.7. Pada 10 October 2026, latest menunjuk ke 0.2.0-rc.2. Setiap kali tag berubah, perintah dalam catatan Anda mulai menjalankan kode yang berbeda. Tidak ada konfirmasi dan tidak ada changelog yang ditampilkan.
Anda dapat memeriksa setiap bagian yang berubah dari command line.
npm view @deepseek-ai/dsh dist-tags
npm view @deepseek-ai/dsh versions --json
npm view @deepseek-ai/dsh time --jsondist-tags menampilkan tujuan latest saat ini. Pada 10 October 2026, latest dan next sama-sama menunjuk ke 0.2.0-rc.2. Tag ketiga, alpha, menunjuk ke 0.2.1-alpha.2, yang dipublikasikan sehari sebelumnya. Tidak satu pun dari tag tersebut merupakan channel stabil yang dapat digunakan. Daftar versions lebih menarik karena memiliki celah. Pada 10 October 2026, daftar tersebut berisi 31 versi, dari 0.0.1-rc.1 hingga 0.2.1-alpha.2. Rangkaian 0.0.1 melompat dari -rc.2 ke -rc.5. Rangkaian 0.1.0 melompat dari -rc.3 ke -rc.6. Build alpha dimulai pada 0.1.2-alpha.2 dan 0.1.3-alpha.2. Tidak ada 0.1.4 sama sekali. Beberapa nomor tidak ada karena build tersebut tidak pernah dipublikasikan. Selain itu, build alpha dan release candidate disusun berselang-seling dalam daftar yang sama. Menebak -rc.N berikutnya dalam deploy script akan gagal. Karena itu, baca daftarnya, jangan menghitung nomor secara berurutan.
Mengapa npx terus menjalankan versi lama?
Ini adalah keluhan yang berlawanan. Keduanya dapat benar, bergantung pada npm yang Anda jalankan.
npx memiliki direktori paket sendiri, terpisah dari cache tarball, di folder bernama _npx di dalam cache npm. Tampilkan path tersebut dan periksa isinya.
npm config get cache
ls "$(npm config get cache)/_npx"Selama bertahun-tahun, npx menggunakan apa pun yang ditemukan di sana untuk nama paket tanpa spesifikasi dan tidak pernah meminta data terbaru ke registry. npm 11.2.0 mengubah perilaku ini. Jika spesifikasinya berupa nama tanpa spesifikasi versi atau rentang versi dan paket tersebut belum terpasang di project saat ini, npx sekarang mengambil manifest dan menggunakan salinan cache di _npx hanya jika tarball yang ditentukan cocok dengan hasil yang baru dikembalikan registry. Nama tanpa spesifikasi versi tetap cocok dengan versi yang terpasang di project saat ini, tanpa memeriksa registry.
Perilaku yang Anda dapatkan ditentukan oleh npm yang benar-benar Anda jalankan. Kecuali Anda telah memutakhirkan npm secara terpisah dengan npm install -g npm, npm tersebut adalah npm yang dibundel dalam rilis Node Anda:
- Node 20.20.2 membundel npm 10.8.2.
- Node 22.19.0 membundel npm 10.9.3.
- Node 22.23.3, rilis 22 terbaru per 10 October 2026, membundel npm 10.9.9.
- Node 24.19.0 membundel npm 11.17.0.
- Node 24.21.0, rilis 24 terbaru per 10 October 2026, membundel npm 11.19.0.
Jadi, seluruh lini Node 22, yang didukung secara resmi oleh harness, menyertakan npm yang lebih lama daripada 11.2.0. Pada Node 22 dengan npm bawaannya, npx @deepseek-ai/dsh web tanpa spesifikasi versi akan terus menjalankan release candidate yang disimpan dalam cache beberapa minggu lalu. Perintah yang sama pada Node 24 akan menentukan ulang paket melalui registry setiap kali dijalankan, kecuali direktori tempat Anda menjalankannya adalah project yang memiliki salinan dsh sendiri. Satu perintah dapat menghasilkan dua perilaku, dan tidak ada yang memberi peringatan. Tanyakan identitas tool tersebut:
npx @deepseek-ai/dsh --versionMenghapus cache npx
Pada npm 11.2.0 dan versi yang lebih baru, tersedia subperintah khusus.
npm cache npx ls
npm cache npx rm --forceTanpa --force, npm menolak menghapus semuanya dan mencetak Please use --force to remove entire npx cache. Gunakan npm cache npx ls terlebih dahulu jika Anda ingin menghapus satu entri berdasarkan kunci, bukan seluruh entri.
Pada npm 10, subperintah tersebut belum tersedia, sehingga Anda harus menghapus direktorinya sendiri.
rm -rf "$(npm config get cache)/_npx"npm cache clean --force tidak membantu dalam kasus ini. Perintah tersebut menghapus _cacache, yaitu penyimpanan tarball, tetapi membiarkan _npx. Pemisahan tersebut menjadi alasan npm kemudian menambahkan subperintah npm cache npx. Menghapus _npx juga tidak menimbulkan dampak permanen: direktori tersebut menyimpan paket yang diunduh, sedangkan status harness Anda berada di bawah $DSH_HOME/profiles/<name> dan tidak tersentuh.
Bagaimana cara menetapkan release candidate yang tepat?
Tuliskan string versi lengkap, termasuk bagian -rc.N.
npx --yes @deepseek-ai/dsh@0.1.0-rc.7 webContoh pada halaman ini menggunakan 0.1.0-rc.7. Ganti dengan build yang benar-benar telah Anda uji. Pada 10 October 2026, tag latest menunjuk ke 0.2.0-rc.2.
--yes penting dalam script karena npx biasanya menampilkan prompt sebelum menginstal package yang belum pernah ditemukannya, lalu menunggu jawaban yang tidak pernah diberikan.
Versi yang tepat juga merupakan cara tercepat. npx menentukan direktori cache berdasarkan spec string yang Anda ketik. Untuk versi yang tepat, npx membandingkan string tersebut dengan package id yang sudah terinstal di sana, lalu menjalankannya tanpa melakukan permintaan ke registry. Pada npm 11.2.0 dan yang lebih baru, menjalankan nama tanpa versi di luar project yang menginstal dsh menyebabkan manifest diambil pada setiap kali start.
Global install menggunakan penetapan versi yang sama dan menyediakan perintah yang lebih singkat.
npm install -g @deepseek-ai/dsh@0.1.0-rc.7
dsh --versionTidak ditemukan versi yang cocok untuk @deepseek-ai/dsh@^0.1.0
Rentang caret atau tilde biasa gagal untuk package ini. npm install -g @deepseek-ai/dsh@^0.1.0 mengembalikan kode error ETARGET dan baris No matching version found for @deepseek-ai/dsh@^0.1.0. Registry tidak bermasalah. Ini merupakan aturan semver: rentang versi tidak cocok dengan versi prerelease, kecuali salah satu comparator dalam rentang tersebut menyebut prerelease dengan angka major, minor, dan patch yang sama. Setiap build yang diterbitkan untuk package ini merupakan prerelease, yaitu -rc.N atau -alpha.N, sedangkan ^0.1.0 tidak menyebut prerelease apa pun sehingga tidak cocok dengan versi mana pun. Tuliskan versi yang tepat.
Aturan ini berlaku dalam dua arah. Rentang biasa tidak akan berpindah ke release candidate baru, tetapi rentang yang menyebut prerelease dapat melakukannya. ^0.1.0-rc.7 berarti >=0.1.0-rc.7 <0.2.0-0, sehingga rentang tersebut menerima 0.1.0-rc.8 dan juga akan menerima 0.1.0 final, sedangkan 0.1.1-rc.1 tetap tidak cocok karena angkanya berbeda. Ini adalah kondisi yang hanya menetapkan sebagian, di antara versi yang tepat dan tag yang terus berubah. Kondisi tersebut dapat mengubah apa yang dijalankan tanpa perubahan dari Anda. Jika Anda menginginkan build yang telah diuji dan tidak ada yang lain, tuliskan versi yang tepat.
Haruskah saya menggunakan npx atau menginstal dsh secara global?
Gunakan npx untuk pemeriksaan awal karena tidak ada yang tertinggal selain direktori cache yang kini sudah Anda ketahui cara menghapusnya. Gunakan instalasi global dengan versi yang dipatok untuk apa pun yang harus tetap berfungsi setelah reboot, seperti coding agent yang tetap Anda jalankan pada VPS.
Keduanya dapat memberikan hasil berbeda pada server yang pernah menggunakan keduanya. Karena itu, bandingkan hasilnya.
which dsh
dsh --version
npx @deepseek-ai/dsh --versionwhich dsh tidak menemukan apa pun segera setelah instalasi global berhasil hampir selalu berarti direktori bin global npm tidak ada dalam PATH Anda. Jalankan npm prefix -g untuk mencetak root, lalu binary berada di folder bin di bawahnya.
Satu catatan keamanan. npx mengambil dan mengeksekusi kode dari registry setiap kali menemukan sesuatu yang baru. Pada server, ini merupakan paparan nyata, bukan sekadar risiko teoretis. Mematok versi adalah salah satu solusinya. Solusi lainnya dijelaskan dalam cara serangan supply chain npm mencapai server.
Apa arti developer preview bagi reproduktibilitas
0.1.0-rc.6 dipublikasikan pada 13 Agustus 2026 dan 0.1.0-rc.7 pada 17 Agustus 2026. Jaraknya empat hari. Sejak itu, lajunya tidak melambat: 24 versi lain dipublikasikan antara 19 Agustus dan 9 Oktober 2026, termasuk 0.2.0-rc.1 pada 28 September dan 0.2.0-rc.2 pada hari berikutnya. Dengan laju tersebut, instruksi yang ditulis sebulan lalu dapat menjelaskan command line yang sudah tidak ada, termasuk halaman ini. Cantumkan tanggal pada setiap klaim versi yang Anda catat, termasuk catatan Anda sendiri.
Dua kebiasaan membuat preview ini tetap dapat digunakan. Tetapkan versi yang persis dalam setiap command dan script agar proses rebuild server menghasilkan harness yang sama. Kemudian, baca output help dari build yang versinya telah ditetapkan, bukan dari panduan mana pun.
npx @deepseek-ai/dsh@0.1.0-rc.7 --help
npx @deepseek-ai/dsh@0.1.0-rc.7 web --dump-configBagian kedua dari reproduktibilitas adalah profile. dsh --profile <name> melakukan boot menggunakan profile yang disimpan di $DSH_HOME/profiles/<name>, sedangkan profile web dan headless dibuat dari template yang disertakan saat pertama kali digunakan. Direktori tersebut juga merupakan tempat harness membaca API key, model, dan pengaturan endpoint-nya, sehingga versi yang ditetapkan dan konfigurasi yang berfungsi adalah dua hal terpisah yang harus disiapkan dengan benar. Bundle bawaan di-resolve dari instalasi dsh yang sedang berjalan, sehingga perubahan versi yang ditetapkan juga mengubah bundle tersebut. Plugin out-of-tree berperilaku berbeda. Plugin tersebut berada di direktori profile, dan dsh plugin --profile <name> add <package> meneruskan argumennya ke pnpm untuk memasangnya. Karena itu, pnpm harus berada di PATH, dan dsh menjelaskannya secara langsung jika tidak tersedia. Setiap plugin yang Anda tambahkan berjalan dengan permission yang sama seperti agent Anda. Karena itu, periksa hal-hal yang dapat diakses plugin sebelum memasangnya. package.json milik profile digunakan untuk menetapkan versi plugin tersebut, sehingga penetapan versi yang lengkap mencakup dua file, bukan satu.
Pemisahan ini akan terasa familiar jika Anda pernah menyimpan tool Python dalam environment terisolasi di server: tool dan hal-hal yang Anda tambahkan ke dalamnya ditetapkan versinya di tempat yang terpisah. Setelah harness berjalan, pertanyaan berikutnya biasanya berkaitan dengan jaringan, bukan versi. Pada tahap ini, mengakses Web UI dsh pada VPS jarak jauh dan panduan yang lebih panjang dalam menginstal DeepSeek Harness pada VPS dapat digunakan.
Kesalahan argumen yang akan Anda lihat
Kesalahan ini berasal dari parser CLI itu sendiri, dan masing-masing menyebutkan masalah yang tepat. Redaksinya sebagian besar tetap sama di berbagai build, tetapi tidak sepenuhnya. Karena itu, pesan di bawah ini diperiksa terhadap 0.2.0-rc.2 pada 6 October 2026.
error: --profile <name> is required
Anda menjalankan npx @deepseek-ai/dsh tanpa subcommand dan tanpa profile. Perintah tanpa argumen tersebut menjalankan sebuah profile, sehingga memerlukan nama. dsh web dapat dijalankan tanpa --profile karena parser membaca kata pertama tanpa opsi sebagai nama profile, lalu menjalankan profile web yang disertakan.
error: --patch needs a path
--patch diberikan tanpa nilai setelahnya. Flag ini dapat digunakan berulang kali, dan setiap kemunculannya memerlukan satu path file.
error: --dump-config and --dump-default-config are mutually exclusive
Pilih salah satu. Pada 0.2.0-rc.2, yaitu build yang ditunjuk oleh latest pada 6 October 2026, pesan tersebut menyebutkan flag ketiga dan berbunyi error: --dump-config, --dump-default-config, and --dump-config-schema are mutually exclusive, karena --dump-config-schema, yang mencetak JSON Schema untuk entri profile dan patch, telah ditambahkan ke dua opsi lainnya. --dump-default-config mencetak layer bundle yang disertakan dan tidak menerima --patch. --dump-config mencetak konfigurasi gabungan untuk sebuah profile. Semua opsi tersebut mencetak hasil lalu keluar tanpa menjalankan harness. Dengan demikian, opsi-opsi tersebut merupakan cara yang aman untuk melihat perubahan yang dibuat oleh release candidate baru pada konfigurasi Anda.
error: plugin needs pnpm arguments to forward (e.g. add <package>)
dsh plugin --profile <name> diberikan tanpa argumen untuk diteruskan. Jika subcommand tidak memiliki profile, subcommand tersebut menginisialisasi profile, lalu meneruskan sisa command line ke pnpm. Karena itu, subcommand tersebut memerlukan argumen seperti add @scope/dsh-plugin-example.
FAQ
Versi Node.js mana yang diperlukan DeepSeek Harness?
Repositori tersebut mendeklarasikan ^22.19.0 || >=24.0.0 di package.json pada root-nya, berdasarkan pembacaan pada 10 October 2026, saat versi repositori adalah 0.2.1-alpha.2. Jadi, gunakan Node 22.19.0 atau yang lebih baru pada lini 22, atau Node 24 dan versi yang lebih baru. Node 20 tidak akan berfungsi. Paket npm yang dipublikasikan tidak memiliki field engines sendiri, sehingga npm tidak pernah menampilkan peringatan atau memblokir instalasi. Kegagalan baru muncul saat runtime. Periksa node -v terlebih dahulu. Node 24 tetap merupakan pilihan yang lebih baik karena menyertakan npm 11, yang memperbaiki penggunaan ulang versi oleh npx.
Bagaimana cara memaksa npx menggunakan dsh terbaru, bukan versi yang tersimpan di cache?
Pada npm 11.2.0 dan versi yang lebih baru, npx @deepseek-ai/dsh sudah memeriksa ulang registry untuk nama paket tanpa versi pada setiap eksekusi. Namun, jika direktori saat ini merupakan project yang memasang dsh, npx akan menjalankan salinan lokal tersebut. Pada npm 10, yang disertakan oleh setiap rilis Node 22, perilaku ini tidak berlaku. Hapus cache npx dengan npm cache npx rm --force pada npm 11, atau hapus folder tersebut dengan rm -rf "$(npm config get cache)/_npx" pada npm 10. Kemudian, konfirmasikan dengan npx @deepseek-ai/dsh --version. Perhatikan bahwa npm cache clean --force menghapus direktori yang berbeda dan tidak akan memperbaiki masalah ini.
Mengapa instalasi @deepseek-ai/dsh@^0.1.0 gagal?
npm mengembalikan kode error ETARGET dengan baris No matching version found for @deepseek-ai/dsh@^0.1.0.. Setiap build yang dipublikasikan merupakan prerelease, seperti 0.2.0-rc.2 atau 0.2.1-alpha.2. Rentang semver tidak mencocokkan versi prerelease kecuali rentang tersebut menyebutkan prerelease dengan nomor major, minor, dan patch yang sama. Instal string versi yang tepat, termasuk suffix-nya. Jalankan npm view @deepseek-ai/dsh versions --json untuk melihat versi yang tersedia karena urutannya memiliki jeda ketika build tidak pernah dipublikasikan.
Sebaiknya saya memasang dsh secara global atau menjalankannya melalui npx?
npx sesuai untuk percobaan awal karena tidak ada yang disimpan secara permanen selain direktori cache. Instalasi global dengan versi yang dipatok, seperti npm install -g @deepseek-ai/dsh@0.1.0-rc.7, sesuai untuk penggunaan yang harus tetap berjalan karena versinya hanya berubah saat Anda mengubahnya. Jika perintah dsh tidak ditemukan setelah instalasi global, direktori global bin npm tidak tercantum dalam PATH Anda. npm prefix -g menampilkan root tempat direktori tersebut berada.
Apakah DeepSeek Harness cukup stabil untuk dijadikan dasar pengembangan?
Belum, menurut deskripsinya sendiri. README menyatakan bahwa project ini berada dalam developer preview, mengalami iterasi cepat, dan akan mengalami perubahan yang dapat memutus kompatibilitas. Release candidate 0.1.0-rc.6 dan 0.1.0-rc.7 dipublikasikan dengan selang empat hari pada August 2026. Release candidate 0.2.0-rc.1 dan 0.2.0-rc.2 dipublikasikan dengan selang satu hari pada September 2026. Tetapkan versi yang tepat dan baca --help dari build yang telah dipatok tersebut, bukan dari panduan mana pun. Beri tanggal pada catatan Anda sendiri agar Anda dapat mengetahui seberapa usang catatan tersebut.