SSD Nodes Learn 🎉 VPS dari $5.50/bln
Panduan Matt ConnorOleh Matt Connor · Dikemas kini 2026-08-13

Cara Self-host Agentlas OS pada Linux VPS

Panduan lengkap memasang Agentlas OS v1.2.0 pada VPS. Ketahui lokasi penyimpanan state, cara integrasi dengan Ollama dan kos sebenar menjalankan hab ejen yang melahu.

Apakah sebenarnya Agentlas OS

Agentlas OS ialah runtime ejen sumber terbuka yang menyimpan ejen pakar pada cakera sebagai pakej dan memasang orkestrator sementara bagi setiap tugasan. Anda melakukan self-hosting dengan memasangnya ke dalam akaun pengguna anda sendiri pada Linux VPS. Ia bukan satu servis. Tiada daemon, tiada port yang mendengar, tiada antara muka web, dan tiada imej kontena dalam repositori.

Ayat terakhir itu menentukan segala-galanya di halaman ini. Kebanyakan sistem berbilang ejen menjalankan proses penyelia yang sentiasa aktif dan memegang ejen-ejen tersebut. Agentlas menyongsangkan perkara itu: pakar-pakar tersebut merupakan fail yang tidak aktif, dan orkestrator hanya wujud semasa tugasan dijalankan. Hasil praktikalnya ialah hab yang melahu hanya menggunakan ruang cakera anda, bukan memori.

Projek ini menamakan teras sumber terbukanya sebagai Hephaestus, dan nama itulah yang akan anda lihat dalam arahan, laluan dan pemboleh ubah persekitaran. Repositori tersebut ialah agentlas-ai/Agentlas-OS, dilesenkan di bawah Apache-2.0, dan ditulis kebanyakannya dalam Python.

Sejauh mana projek ini masih baharu, secara jujur

Repositori ini dicipta pada 4 Jun 2026. Setakat 12 Ogos 2026, projek ini berusia kira-kira sepuluh minggu, dengan lebih kurang 1,150 bintang dan 112 fork. Ini masih terlalu muda untuk sesuatu yang anda gunakan bagi tugasan sebenar.

Kekerapan release lebih penting daripada usia. Versi v1.1.103 diterbitkan pada 8 Ogos 2026, dan v1.2.0 dilancarkan pada 12 Ogos 2026. Terdapat lebih seratus release bertanda dalam siri 1.1, dengan beberapa daripadanya diterbitkan pada hari yang sama melalui automasi. Projek yang bergerak pada kelajuan ini akan mengubah kelakuan sistem anda antara hari Selasa dan Khamis.

Oleh itu, tetapkan versi (pin) release tersebut. Pemasang (installer) membaca pemboleh ubah persekitaran untuk tujuan ini, dan keseluruhan panduan di bawah menggunakannya. Pemasangan tanpa penetapan versi bagi projek yang mengeluarkan kemas kini beberapa kali sehari akan menyebabkan anda mendapat apa sahaja versi yang berada pada main pada jam tersebut.

Keperluan pada VPS

Keperluannya adalah kecil kerana tiada apa-apa yang berjalan di latar belakang.

  • Sebuah VPS Linux. Ubuntu 24.04 adalah garis dasar yang baik. Pemasang mengesan sistem pengendalian dengan uname -s dan menggunakan cawangan bukan macOS untuk Linux, jadi pelayan tanpa kepala (headless) disokong.
  • curl, tar dan git pada pelayan, serta penterjemah Python yang berfungsi.
  • HTTPS keluar ke raw.githubusercontent.com dan github.com. Pemasang memuat turun arkib keluaran dan menyemak SHA-256 miliknya, jadi pelayan tanpa capaian keluar tidak boleh memasang perisian ini.
  • Host harness, iaitu ejen pengekodan yang sebenarnya berhubung dengan model. Claude Code, Codex, opencode, goose dan Hermes adalah semua penyesuai (adapter) yang disokong.

Anda tidak memerlukan root. Pemasang hanya menulis ke direktori home anda dan ke ~/.local/bin, dan ia akan memberi amaran dan bukannya membatalkan proses apabila sesuatu laluan tidak boleh ditulis. Jika anda masih memilih pelayan itu sendiri, menjalankan ejen pengekodan pada VPS merangkumi imej asas dan persediaan capaian yang menjadi asas kepada perkara ini.

Memasang keluaran yang disemat (pinned release)

README hulu mendokumentasikan satu baris arahan yang menyalurkan skrip daripada main terus ke dalam bash. Muat turun dan baca skrip tersebut terlebih dahulu. Ia menulis ke dalam konfigurasi shell anda dan ke dalam setiap harness ejen yang ditemuinya, jadi luangkan sepuluh saat untuk menelitinya.

curl -fsSL -o install-all-runtimes.sh \
  https://raw.githubusercontent.com/agentlas-ai/Agentlas-OS/main/scripts/install-all-runtimes.sh
less install-all-runtimes.sh
HEPHAESTUS_REF=v1.2.0 bash install-all-runtimes.sh

HEPHAESTUS_REF ialah pin tersebut. Di dalam skrip, baris tersebut ialah version="${HEPHAESTUS_REF:-v1.2.0}", jadi membiarkannya tidak ditetapkan akan memberikan anda v1.2.0 hari ini dan versi lain pada minggu hadapan. Tetapkan secara eksplisit supaya binaan semula anda pada bulan Oktober memasang versi yang anda uji pada bulan Ogos.

Satu had yang perlu diketahui: URL skrip di atas menjejaki main, manakala HEPHAESTUS_REF menyemat payload runtime yang dimuat turun oleh skrip tersebut. Kedua-duanya adalah perkara yang berbeza. Untuk menyemat kedua-duanya, ambil skrip daripada tag dan bukannya daripada main dengan menggantikan main dengan v1.2.0 dalam URL tersebut.

Larian yang berjaya akan mencetak laluan yang ditulisnya, termasuk dua baris ini:

Installed runner: /home/you/.agentlas/runtime/current/bin/hephaestus
Installed shell commands in /home/you/.local/bin (add ~/.local/bin to PATH to use them)

Baris kedua itu sering diabaikan oleh pengguna. Pada mesin Ubuntu yang baharu, ~/.local/bin sering tiada dalam PATH, jadi setiap arahan hep-* akan gagal dengan command not found walaupun pemasangan telah berjaya. Betulkan dan sahkan:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
hep-global status

hep-global status melaporkan perkara yang dipasang oleh penghala global dan harness yang dikesannya. Jika ia berjalan, maka PATH anda adalah betul.

Lokasi penyimpanan state

Segala-galanya adalah fail di bawah direktori home anda, yang menjadikan proses sandaran dan migrasi mudah.

  • ~/.agentlas/runtime/v1.2.0/ menyimpan runtime itu sendiri, dengan ~/.agentlas/runtime/current/ sebagai symlink kepada versi yang aktif. Dua versi yang dipin (pinned) boleh diletakkan bersebelahan.
  • ~/.local/bin/ menyimpan shell wrapper: hephaestus, hep-build, hep-network, hep-search, hep-storm, hep-cloud dan hep-upload.
  • ~/.agentlas/networking/memory/ menyimpan memori yang tahan lama (durable memory): playbook-registry.json, playbook-candidates.jsonl dan memory-events.jsonl.
  • ~/.agentlas/networking/hub-agents/<slug>/memory/experience.sqlite menyimpan pengalaman bagi setiap ejen, yang dilingkupi oleh pemilik.
  • <project>/.agentlas/ontology-runtime.sqlite menyimpan state bagi setiap projek, supaya ia bergerak bersama repositori dan bukannya terikat pada mesin tersebut.
  • ~/.cache/agentlas/python menyimpan cache Python pada Linux. macOS menggunakan laluan yang berbeza, iaitu cawangan yang dipilih oleh pemasang dengan uname.

Dokumentasi memori menyatakan dengan jelas bahawa rahsia, kelayakan (credentials) mentah dan transkrip penuh tidak boleh dimasukkan ke dalam mana-mana skop memori. Nilai kelayakan kekal dalam fail tempatan yang diabaikan oleh git, dan rekod memori hanya menyimpan nama serta laluan. Lakukan sandaran pada ~/.agentlas dan direktori .agentlas projek anda, dan anda boleh membina semula sistem pada VPS baharu.

Model backend yang boleh dihubungkan

Berikut adalah perincian yang mengubah perspektif keseluruhan persediaan ini: Agentlas tidak memanggil API model. Sebaliknya, host harness yang melakukannya.

Dokumen seni bina menerangkan penyesuai masa jalan (runtime adapters) yang menterjemahkan satu teras ke dalam setiap harness, dan menyatakan bahawa runtime hos memegang kelayakan model. Agentlas menyumbangkan dua permukaan yang diambil oleh harness: fail AgentSkills dan pelayan MCP (model context protocol) yang berkomunikasi melalui stdio. Jadi, persoalan "model manakah yang disokong oleh Agentlas" sebenarnya bermaksud "model manakah yang disokong oleh harness anda", dan jawapannya ialah apa sahaja yang boleh dicapai oleh Claude Code, Codex, opencode, goose atau Hermes.

Mendaftarkan pelayan MCP kelihatan seperti ini dalam konfigurasi TOML gaya Codex:

[mcp_servers.hephaestus-network]
command = "~/.agentlas/runtime/current/bin/hephaestus"
args = ["mcp", "serve"]

Pelayan yang sama didaftarkan ke dalam ~/.cursor/mcp.json, ~/.config/goose/config.yaml dan konfigurasi harness lain secara automatik semasa pemasangan. Jika anda menyambungkan beberapa daripadanya ke dalam satu kotak, menjalankan pelayan MCP pada VPS merangkumi model stdio dan proses dengan lebih mendalam.

Halakan ia ke endpoint Ollama yang dihoskan sendiri

Oleh kerana harness mengawal sambungan model, menghalakan Agentlas ke model tempatan bermakna anda perlu menghalakan harness anda ke Ollama. Ollama menambah subperintah launch dalam v0.15 untuk tujuan ini, dan ia masih disertakan dalam v0.32.9 setakat 11 Ogos 2026. Ia mengkonfigurasi harness sedia ada untuk menggunakan model tempatan tanpa perlu menetapkan sebarang pemboleh ubah persekitaran:

ollama pull qwen3-coder:30b
ollama launch opencode

Gantikan opencode dengan claude, codex atau droid bergantung pada harness yang anda pasang. Kemudian, halakan permintaan melalui runtime tempatan:

~/.agentlas/runtime/current/bin/hephaestus route "summarise the failing tests" --runtime ollama

Penghalaan yang berjaya akan mengembalikan keputusan JSON yang menamakan ejen atau pasukan yang dipilih, berserta receipt_id. Jika ia tidak mengembalikan hasil yang berguna, punca biasanya adalah panjang konteks (context length). Dokumentasi Agentlas memerlukan model dengan sekurang-kurangnya 64k konteks untuk sesi yang banyak melakukan penghalaan, dan menamakan qwen3-coder, gemma3 serta deepseek-r1 sebagai contoh. Panduan Ollama sendiri untuk alatan pengekodan juga menetapkan had minimum 64k yang sama. Keputusan penghalaan membawa inventori ejen dalam prompt, jadi model dengan konteks 8k atau 32k akan memotong inventori tersebut dan membuat pilihan yang tidak tepat.

Satu peringatan yang tidak dinyatakan dalam tagline. Ollama, Gemma dan DeepSeek tidak mempunyai sistem pemalam atau perintah sendiri, jadi perintah slash /agentlas tidak wujud di sana. Dalam persediaan model tempatan, anda mengendalikan sistem melalui pelayan MCP dan perintah hephaestus route sebagai gantinya. Ini merupakan pengurangan fungsi yang nyata, dan ia adalah pertukaran yang jujur untuk menyimpan weight model pada pelayan anda sendiri.

Kos RAM bagi hab pakar melahu

Tiada. Itu jawapan keseluruhannya, dan anda boleh membuktikannya sendiri daripada sekadar mempercayainya.

Pakar hab yang dipinjam tiba sebagai artifak pakej, bukan proses. Seseorang pakar terdiri daripada agent.md berserta direktori .agentlas/ yang mengandungi JSON: routing-card.json untuk pencetus dan keupayaan, memory-map.json untuk sempadan penulisan, mode-map.json untuk menentukan sama ada ia berjalan secara solo atau berkumpulan. Hephaestus Network digambarkan sebagai penjadual dalam proses (in-process) tanpa perkhidmatan latar belakang. Antara tugasan, semak sendiri:

pgrep -af hephaestus
systemctl --user list-units --type=service | grep -i agentlas
du -sh ~/.agentlas

Dua arahan pertama tidak mencetak apa-apa pada mesin yang melahu, kerana tiada apa-apa yang residen. Arahan ketiga mencetak satu-satunya kos yang dikenakan oleh hab yang diparkir ke atas anda, iaitu cakera, dan ia berkembang mengikut bilangan pakar yang anda simpan berserta model pembenaman (embedding model) yang disertakan dalam runtime tersebut.

Oleh itu, persoalan mengenai memori adalah sepenuhnya persoalan mengenai lonjakan (burst), dan lonjakan tersebut adalah harness anda berserta backend model anda. Jika harness berhubung dengan API yang dihoskan, kos residen adalah satu proses yang memakan beberapa ratus megabait. Jika anda menghoskan sendiri pemberat (weights), pemberat itulah kosnya:

ChartModel weights resident on the VPS, published Ollama download sizes, August 2026
The data behind this chart
[
  {
    "label": "Hosted API model",
    "weights_gb": 0
  },
  {
    "label": "gemma3:4b",
    "weights_gb": 3.3
  },
  {
    "label": "gemma3:12b",
    "weights_gb": 8.1
  },
  {
    "label": "gemma3:27b",
    "weights_gb": 17
  },
  {
    "label": "qwen3-coder:30b",
    "weights_gb": 19
  }
]

Itu adalah saiz muat turun yang diterbitkan daripada pustaka model Ollama, bukan ukuran daripada larian penanda aras, dan cache KV untuk konteks 64k terletak di atas setiap angka yang lebih besar daripada sifar. Model yang dinamakan pertama dalam dokumentasi Agentlas, qwen3-coder:30b, memerlukan 19 GB pemberat sebelum konteks, malah varian 27B Gemma memerlukan 17 GB. Berbanding angka-angka tersebut, lapisan Agentlas itu sendiri tidak muncul dalam belanjawan memori.

Perbandingan dengan menjalankan satu harness

Jalankan satu harness terhadap API yang dihoskan dan VPS anda hanya membawa satu proses. Tambahkan Agentlas dan ia membawa proses yang sama, ditambah dengan fail. Orchestrator bukanlah program tambahan yang berjalan lama, ia adalah prompt lebih besar yang dipasang daripada pakej pada cakera dan kemudian dibuang.

Kos yang berubah ialah konteks, bukan memori. Orchestrator yang menarik beberapa kad pakar dan metadata penghalaannya menggunakan lebih banyak token bagi setiap tugas berbanding harness biasa, dan pada API yang dihoskan, ini melibatkan wang dan bukannya RAM. Pada pemberat (weights) tempatan, ia melibatkan masa, kerana prompt yang lebih panjang bermakna prefill yang lebih lama pada CPU atau GPU yang lebih sibuk.

Inilah sebabnya nasihat saiz untuk pelayan seperti ini mengikut keputusan model dan bukan rangka kerja ejen. Menentukan saiz RAM dan CPU untuk VPS ejen pengekodan membincangkan perkara itu secara terperinci, dan kesimpulannya tetap sama di sini: pilih pelan untuk backend yang anda ingin jalankan, kemudian tambahkan beberapa gigabait ruang kepala untuk harness tersebut. Jika anda mahukan reka bentuk penyelia yang sentiasa aktif sebagai perbandingan, harness berbilang ejen Omnigent mengekalkan penyelarasnya dalam memori, yang merupakan pertukaran bertentangan dan kelihatan secara langsung dalam memori melahu.

Mod kegagalan dan rentetan yang akan anda lihat

hep-build: command not found sejurus selepas pemasangan bersih. Pemasang menulis ke ~/.local/bin, yang tidak berada pada PATH dalam imej Ubuntu lalai. Ia menyatakan perkara ini pada baris terakhirnya dan baris tersebut telah tatal melepasi skrin. Tambahkan export yang ditunjukkan di atas.

Perubahan kelakuan selepas anda membina semula kotak. Anda tidak menetapkan HEPHAESTUS_REF, jadi pemasang menggunakan tag yang semasa pada hari tersebut secara lalai. Tetapkan (pin) tag tersebut, dan rekodkan pin itu bersebelahan dengan nombor versi anda yang lain.

Penghalaan memilih pakar yang salah pada model tempatan. Tetingkap konteks model terlalu kecil untuk inventori ejen. Beralih kepada model dengan 64k atau lebih dan tetapkan panjang konteks Ollama agar sepadan, kerana nilai lalai adalah lebih rendah daripada yang diperlukan oleh alat pengekodan.

ollama launch tidak dikenali. Subperintah ini tiba dalam Ollama v0.15. Pakej lama daripada repositori pengedaran adalah lebih awal daripada versi tersebut, jadi pasang Ollama yang terkini.

Pemasangan menulis ke dalam harness yang tidak anda jangka. Skrip ini mengesan dan mengkonfigurasi setiap harness yang ditemuinya, menulis ke ~/.claude/, ~/.codex/, ~/.gemini/, ~/.cursor/ dan banyak lagi. Pada kotak binaan yang dikongsi, baca skrip tersebut sebelum menjalankannya dan ketahui direktori mana yang penting bagi anda.

Patutkah anda menjalankannya sekarang

Projek yang berusia sepuluh minggu dengan keluaran automatik beberapa kali sehari bukanlah sesuatu yang sesuai untuk beban kerja pengeluaran. Seni binanya benar-benar menarik, lesennya ialah Apache-2.0, dan reka bentuk berasaskan fail bermakna penyahpasangan hanya memerlukan pemadaman dua direktori. Fakta-fakta ini menjadikannya murah untuk dicuba tetapi mahal untuk dijadikan sandaran.

Pendirian yang wajar buat masa ini: tetapkan versi kepada v1.2.0, jalankannya pada mesin yang boleh anda bina semula, pastikan ~/.agentlas ada dalam sandaran anda, dan baca semula log perubahan sebelum anda menukar versi tersebut. Untuk tinjauan yang lebih luas tentang apa lagi yang ada dalam ruang ini dan sejauh mana kematangan setiap pilihan, ringkasan ejen AI yang dihoskan sendiri adalah titik permulaan yang lebih baik, dan mengehoskan sendiri ejen Hermes pada VPS merangkumi salah satu rangka kerja yang disesuaikan oleh Agentlas.

FAQ

Adakah Agentlas OS berjalan sebagai pelayan pada VPS saya?

Tidak. Tiada daemon, tiada port yang mendengar (listening port) dan tiada imej kontena dalam repositori. Pemasang menulis runtime di bawah ~/.agentlas/runtime/ dan pembungkus arahan (command wrappers) ke dalam ~/.local/bin, manakala Hephaestus Network ialah penjadual dalam proses (in-process scheduler) dan bukannya servis latar belakang. Anda boleh mengesahkan perkara ini pada mesin yang melahu: pgrep -af hephaestus tidak mencetak apa-apa, dan tiada unit systemd untuk diaktifkan. Self-hosting di sini bermaksud kod dan keadaan (state) berada pada mesin anda, bukan bermaksud terdapat servis yang sedang mendengar.

Berapa banyak RAM yang digunakan oleh hab pakar yang melahu?

Tiada, kerana pakar yang melahu bukanlah proses. Seorang pakar ialah fail agent.md ditambah direktori .agentlas/ yang menyimpan routing-card.json, memory-map.json dan metadata yang serupa, jadi hab yang diletakkan (parked) hanya menggunakan ruang cakera. Ukur ia dengan du -sh ~/.agentlas. Memori hanya digunakan semasa tugas dijalankan, dan apa yang menggunakannya ialah proses harness anda dan backend model anda, bukan lapisan Agentlas.

Model manakah yang boleh saya gunakan, dan bolehkah saya menghalakannya ke Ollama saya sendiri?

Agentlas tidak memanggil API model dengan sendirinya. Harness hos memiliki kelayakan dan sambungan, jadi model yang disokong adalah apa sahaja yang disokong oleh harness anda. Untuk pemberat (weights) tempatan, jalankan ollama launch opencode (dengan menggantikan claude, codex atau droid), yang mengkonfigurasi harness terhadap pelayan Ollama anda tanpa pemboleh ubah persekitaran. Gunakan model dengan sekurang-kurangnya 64k konteks, seperti qwen3-coder atau gemma3, kerana prompt penghalaan membawa inventori ejen dan akan terpotong dengan teruk pada tetingkap yang lebih kecil.

Versi manakah yang perlu saya pasang, dan mengapa pinning penting di sini?

Pasang v1.2.0, keluaran bertanda (tagged release) semasa pada 12 Ogos 2026, dengan menetapkan HEPHAESTUS_REF=v1.2.0 sebelum menjalankan pemasang. Lalai skrip itu sendiri ialah version="${HEPHAESTUS_REF:-v1.2.0}", yang menjejaki apa sahaja yang ditanda oleh penyelenggara seterusnya. Pinning lebih penting daripada biasa kerana projek ini menerbitkan lebih seratus keluaran dalam siri 1.1, beberapa daripadanya pada hari yang sama, jadi binaan semula yang tidak dipin (unpinned) beberapa minggu kemudian tidak akan memberikan anda sistem yang telah anda uji.