/api/chat), bukan endpoint yang kompatibel dengan OpenAI
/v1. Tiga mode didukung:
ollama-cloud, lihat
Ollama Cloud. Gunakan referensi ollama-cloud/<model> jika
Anda ingin perutean cloud tetap terpisah dari penyedia lokal ollama.
Kunci konfigurasi kanonis adalah baseUrl. baseURL juga diterima untuk
contoh bergaya OpenAI SDK, tetapi konfigurasi baru harus menggunakan baseUrl.
Aturan autentikasi
Host lokal dan LAN
Host lokal dan LAN
.local, dan nama host polos tidak memerlukan token bearer yang sebenarnya. OpenClaw menggunakan penanda ollama-local untuk URL tersebut.Host jarak jauh dan Ollama Cloud
Host jarak jauh dan Ollama Cloud
https://ollama.com memerlukan kredensial sebenarnya: OLLAMA_API_KEY, profil autentikasi, atau apiKey milik penyedia. Untuk penggunaan terhosting langsung, utamakan penyedia ollama-cloud.Id penyedia khusus
Id penyedia khusus
api: "ollama" mengikuti aturan yang sama. Misalnya, penyedia ollama-remote yang diarahkan ke host LAN privat dapat menggunakan apiKey: "ollama-local"; subagen menyelesaikan penanda tersebut melalui hook penyedia Ollama alih-alih menganggapnya sebagai kredensial yang hilang. agents.defaults.memorySearch.provider juga dapat diarahkan ke id penyedia khusus agar embedding menggunakan endpoint Ollama tersebut.Profil autentikasi
Profil autentikasi
auth-profiles.json menyimpan kredensial untuk suatu id penyedia; tempatkan pengaturan endpoint (baseUrl, api, model, header, batas waktu) di models.providers.<id>. Berkas datar lama seperti { "ollama-windows": { "apiKey": "ollama-local" } } bukan format runtime; openclaw doctor --fix menulis ulang berkas tersebut menjadi profil kunci API ollama-windows:default yang kanonis dengan cadangan. Nilai baseUrl dalam berkas lama tersebut adalah derau dan harus dipindahkan ke konfigurasi penyedia.Cakupan embedding memori
Cakupan embedding memori
- Kunci tingkat penyedia hanya dikirim ke host penyedia tersebut.
agents.*.memorySearch.remote.apiKeyhanya dikirim ke host embedding jarak jauhnya.- Nilai env
OLLAMA_API_KEYmurni dianggap sebagai konvensi Ollama Cloud dan secara default tidak dikirim ke host lokal/yang dihosting sendiri.
Memulai
- Orientasi (direkomendasikan)
- Penyiapan manual
Jalankan orientasi
/api/show mengonfirmasi dukungan alat dan jendela konteks minimal 16K;
metadata konteks yang hilang atau lebih kecil tetap menggunakan jalur penyiapan manual. Tahapan
penyiapan CLI/macOS bersama tetap memverifikasi rute yang dipilih dengan
completion nyata sebelum menyimpannya. Pemeriksaan otomatis ini tidak pernah menarik
model; jika tidak ada model terinstal yang sesuai, orientasi berlanjut ke
pemilih Ollama normal.Pilih model
Cloud only meminta OLLAMA_API_KEY dan menyarankan default cloud terhosting. Cloud + Local dan Local only meminta URL dasar Ollama, menemukan model yang tersedia, dan secara otomatis menarik model lokal yang dipilih jika belum tersedia. Tag :latest yang terinstal seperti gemma4:latest ditampilkan sekali alih-alih menduplikasi gemma4. Cloud + Local juga memeriksa apakah host sudah masuk untuk akses cloud.Verifikasi
--custom-base-url dan --custom-model-id bersifat opsional; jika dihilangkan, host lokal default dan model yang disarankan gemma4 akan digunakan.Model cloud melalui host lokal
Cloud + Local merutekan model lokal dan :cloud melalui satu host
Ollama yang dapat dijangkau — ini adalah alur hibrida Ollama dan mode yang dipilih selama penyiapan
jika Anda menginginkan keduanya.
OpenClaw meminta URL dasar, menemukan model lokal, dan memeriksa
status ollama signin. Setelah masuk, OpenClaw menyarankan default terhosting
(kimi-k2.5:cloud, minimax-m2.7:cloud, glm-5.1:cloud, glm-5.2:cloud). Jika
belum masuk, penyiapan tetap hanya lokal sampai Anda menjalankan ollama signin.
Untuk akses khusus cloud tanpa daemon lokal, gunakan openclaw onboard --auth-choice ollama-cloud dan lihat Ollama Cloud — jalur tersebut tidak memerlukan ollama signin atau server yang sedang berjalan:
openclaw onboard diisi secara langsung dari
https://ollama.com/api/tags, dibatasi hingga 500 entri, sehingga pemilih mencerminkan
katalog terhosting saat ini. Jika ollama.com tidak dapat dijangkau atau tidak mengembalikan
model saat penyiapan, OpenClaw kembali ke daftar saran bawaan agar
orientasi tetap selesai.
Penemuan model (penyedia implisit)
KetikaOLLAMA_API_KEY (atau profil autentikasi) ditetapkan dan baik
models.providers.ollama maupun penyedia khusus lain dengan api: "ollama" tidak
didefinisikan, OpenClaw menemukan model dari http://127.0.0.1:11434:
models.providers.ollama dengan array models eksplisit, atau
penyedia khusus dengan api: "ollama" dan baseUrl non-loopback, menonaktifkan
penemuan otomatis; model kemudian harus didefinisikan secara manual (lihat
Konfigurasi). Entri models.providers.ollama yang diarahkan ke
https://ollama.com terhosting juga melewati penemuan, karena model Ollama Cloud
dikelola oleh penyedia. Penyedia khusus loopback seperti
http://127.0.0.2:11434 tetap dianggap lokal dan mempertahankan penemuan otomatis.
Anda dapat menggunakan referensi lengkap seperti ollama/<pulled-model>:latest tanpa
entri models.json yang ditulis manual; OpenClaw menyelesaikannya secara langsung. Untuk host
yang sudah masuk, memilih referensi ollama/<model>:cloud yang tidak tercantum akan memvalidasi model
tersebut secara persis dengan /api/show dan menambahkannya ke katalog runtime hanya jika Ollama
mengonfirmasi metadata — kesalahan ketik tetap gagal sebagai model yang tidak dikenal.
Uji asap
Untuk pemeriksaan teks terbatas yang melewati seluruh permukaan alat agen:--file dengan gambar untuk pemeriksaan ringkas model visi (menerima PNG/JPEG/WebP;
berkas non-gambar ditolak sebelum Ollama dipanggil — gunakan
openclaw infer audio transcribe untuk audio):
/model ollama/<model> merupakan pilihan pengguna yang pasti: jika
baseUrl yang dikonfigurasi tidak dapat dijangkau, balasan berikutnya gagal dengan error penyedia
alih-alih secara diam-diam beralih ke model lain yang dikonfigurasi.
Tugas cron terisolasi menambahkan satu pemeriksaan keamanan lokal sebelum memulai giliran agen:
jika model yang dipilih mengarah ke penyedia Ollama lokal/jaringan privat/.local
dan /api/tags tidak dapat dijangkau, OpenClaw mencatat eksekusi tersebut sebagai
skipped dengan model dalam teks error. Pemeriksaan endpoint ini disimpan dalam cache selama
5 menit per host, sehingga tugas cron berulang terhadap daemon yang berhenti tidak semuanya
meluncurkan permintaan yang akan gagal.
Verifikasi langsung:
OPENCLAW_LIVE_OLLAMA_EMBEDDINGS=1 karena
kunci cloud mungkin tidak mengizinkan /api/embed):
Inferensi lokal Node
Agen dapat mendelegasikan tugas singkat ke model Ollama pada desktop atau Node server yang telah dipasangkan. Prompt dan respons melewati koneksi Gateway/Node terautentikasi yang sudah ada; permintaan berjalan pada endpoint Ollama loopback milik Node tersebut (http://127.0.0.1:11434).
Mulai Ollama pada Node
Hubungkan host Node
ollama.models dan ollama.chat, periksa kembali openclaw nodes pending.Gunakan dari agen
node_inference. Agen memanggil
action: "discover" terlebih dahulu, lalu action: "run" dengan Node dan model dari
hasil tersebut (run dapat menghilangkan Node jika hanya ada satu Node berkemampuan
yang terhubung). Misalnya: “Temukan model Ollama pada Node saya, lalu gunakan
model termuat tercepat untuk merangkum teks ini.”/api/tags, memeriksa kemampuan /api/show, dan menggunakan
/api/ps jika tersedia untuk menempatkan model yang sudah termuat di urutan pertama. Penemuan hanya mengembalikan
model lokal yang dilaporkan Ollama mendukung percakapan (kemampuan completion) —
baris Ollama Cloud dan model khusus embedding dikecualikan. Setiap eksekusi menonaktifkan
pemikiran model dan secara default membatasi output hingga 512 token (batas mutlak 8192), kecuali
pemanggilan alat meminta maxTokens yang berbeda; beberapa model (misalnya GPT-OSS)
tidak mendukung penonaktifan pemikiran dan mungkin tetap menghasilkan token penalaran.
Agar Ollama tetap berjalan pada Node tanpa mengeksposnya kepada agen:
openclaw node restart, atau hentikan/jalankan kembali openclaw node run
untuk sesi latar depan). Node berhenti mengiklankan ollama.models dan
ollama.chat; Ollama itu sendiri dan penyedia Ollama milik Gateway tidak terpengaruh.
Atur kembali nilainya menjadi true dan mulai ulang untuk mengaktifkannya kembali; permukaan perintah yang berubah
mungkin memerlukan persetujuan openclaw nodes pending lagi setelah tersambung kembali.
Verifikasi perintah Node secara langsung, tanpa giliran agen:
--invoke-timeout membatasi berapa lama Node dapat menjalankan perintah;
--timeout membatasi keseluruhan panggilan Gateway dan harus lebih besar.
Inferensi lokal Node selalu menggunakan endpoint loopback milik Node itu sendiri — inferensi ini
tidak menggunakan kembali models.providers.ollama.baseUrl jarak jauh/cloud yang dikonfigurasi. Perintah
Node tersedia secara default pada host Node macOS, Linux, dan Windows
serta tetap tunduk pada kebijakan pemasangan/perintah Node yang normal.
Penglihatan dan deskripsi gambar
Plugin Ollama bawaan mendaftarkan Ollama sebagai penyedia pemahaman media berkemampuan gambar, sehingga OpenClaw dapat merutekan permintaan deskripsi gambar eksplisit dan default model gambar yang dikonfigurasi melalui model penglihatan Ollama lokal atau yang di-host.--model harus berupa referensi <provider/model> lengkap; ketika ditetapkan, infer image describe mencoba model tersebut terlebih dahulu alih-alih melewati deskripsi untuk model
yang sudah mendukung penglihatan native. Jika panggilan gagal, OpenClaw dapat melanjutkan
melalui agents.defaults.imageModel.fallbacks; error persiapan file/URL
menggagalkan proses sebelum fallback dicoba. Gunakan infer image describe untuk alur
pemahaman gambar OpenClaw dan imageModel yang dikonfigurasi; gunakan infer model run --file untuk probe multimodal mentah dengan prompt khusus.
Untuk menjadikan Ollama sebagai penyedia pemahaman gambar default bagi media masuk:
ollama/<model> lengkap. Referensi imageModel tanpa awalan seperti
qwen2.5vl:7b dinormalisasi menjadi ollama/qwen2.5vl:7b hanya ketika model persis tersebut
tercantum di bawah models.providers.ollama.models dengan
input: ["text", "image"] dan tidak ada penyedia gambar lain yang dikonfigurasi yang menyediakan
id tanpa awalan yang sama; jika tidak, gunakan prefiks penyedia secara eksplisit.
Model penglihatan lokal yang lambat mungkin memerlukan batas waktu pemahaman gambar yang lebih panjang daripada
model cloud, dan dapat mengalami crash pada perangkat keras terbatas jika Ollama mencoba
mengalokasikan seluruh konteks penglihatan yang diiklankan model. Tetapkan batas waktu
kemampuan dan batasi num_ctx:
image eksplisit. models.providers.ollama.timeoutSeconds tetap mengontrol
pengaman permintaan HTTP Ollama yang mendasari panggilan model normal.
Verifikasi langsung:
models.providers.ollama.models secara manual, tandai model penglihatan
secara eksplisit:
/api/show.
Konfigurasi
- Dasar (penemuan implisit)
- Eksplisit (model manual)
- URL dasar khusus
Resep umum
Ganti ID model dengan nama persis dariollama list atau
openclaw models list --provider ollama.
Model lokal dengan penemuan otomatis
Model lokal dengan penemuan otomatis
models.providers.ollama kecuali Anda memerlukan model manual.Host Ollama LAN dengan model manual
Host Ollama LAN dengan model manual
contextWindow adalah anggaran konteks OpenClaw; params.num_ctx dikirim ke
Ollama. Jaga agar keduanya selaras ketika perangkat keras tidak dapat menjalankan seluruh
konteks yang diiklankan model.Hanya Ollama Cloud
Hanya Ollama Cloud
ollama-cloud, alih-alih bentuk ini, lihat
Ollama Cloud.Cloud dan lokal melalui daemon yang telah masuk
Cloud dan lokal melalui daemon yang telah masuk
Beberapa host Ollama
Beberapa host Ollama
ollama/ biasa) sebelum memanggil Ollama, sehingga ollama-large/qwen3.5:27b
mencapai Ollama sebagai qwen3.5:27b.Profil model lokal ringan
Profil model lokal ringan
compat.supportsTools: false hanya jika model atau server terus-menerus
gagal pada skema alat — opsi ini mengorbankan kemampuan agen demi stabilitas.
localModelLean menghapus alat berat untuk peramban, cron, pesan, pembuatan media,
suara, dan PDF dari permukaan agen langsung, kecuali diwajibkan secara eksplisit,
serta menempatkan katalog yang lebih besar di balik Pencarian Alat. Opsi ini tidak mengubah
konteks runtime atau mode berpikir Ollama. Padukan dengan params.num_ctx dan
params.thinking: false untuk model berpikir kecil bergaya Qwen yang berulang tanpa henti atau
menghabiskan anggarannya untuk penalaran tersembunyi.Pemilihan model
ollama-spark/qwen3:32b, OpenClaw menghapus prefiks tersebut sebelum
memanggil Ollama dan mengirimkan qwen3:32b.
Untuk model lokal yang lambat, utamakan penyetelan dalam lingkup penyedia sebelum menaikkan batas waktu
seluruh runtime agen:
timeoutSeconds mencakup permintaan HTTP model: penyiapan koneksi, header,
streaming isi, dan penghentian guarded-fetch secara keseluruhan. params.keep_alive
diteruskan sebagai keep_alive tingkat atas pada permintaan /api/chat native; atur per
model jika waktu pemuatan giliran pertama menjadi hambatan utama.
Verifikasi cepat
127.0.0.1 dengan host baseUrl. Jika curl
berfungsi tetapi OpenClaw tidak, periksa apakah Gateway berjalan pada
mesin, kontainer, atau akun layanan yang berbeda.
Pencarian Web Ollama
OpenClaw menyertakan Pencarian Web Ollama sebagai penyediaweb_search.
openclaw onboard atau openclaw configure --section web, atau tetapkan:
/api/experimental/web_search lokal, lalu kembali menggunakan jalur /api/web_search yang dihosting pada host yang sama;
daemon lokal yang telah masuk biasanya merespons melalui proksi lokal. Panggilan
https://ollama.com langsung selalu menggunakan endpoint /api/web_search yang dihosting.
Konfigurasi lanjutan
Mode kompatibel OpenAI lama
Mode kompatibel OpenAI lama
api: "openai-completions" secara eksplisit untuk proksi di balik
/v1/chat/completions:params: { streaming: false } pada model.OpenClaw menyisipkan options.num_ctx secara bawaan dalam mode ini agar Ollama
tidak diam-diam kembali menggunakan konteks 4096 token. Jika proksi Anda menolak
bidang options yang tidak dikenal, nonaktifkan:Jendela konteks
Jendela konteks
/api/show, termasuk nilai PARAMETER num_ctx yang lebih besar dari
Modelfile khusus; jika tidak, OpenClaw kembali menggunakan jendela konteks
Ollama bawaannya.contextWindow, contextTokens, dan maxTokens tingkat penyedia menetapkan
nilai bawaan untuk setiap model di bawah penyedia tersebut dan dapat ditimpa per
model. contextWindow adalah anggaran prompt/Compaction milik OpenClaw. Permintaan
/api/chat native membiarkan options.num_ctx tidak ditetapkan kecuali Anda menetapkan
params.num_ctx secara eksplisit, sehingga Ollama menerapkan nilai bawaan berdasarkan modelnya sendiri,
OLLAMA_CONTEXT_LENGTH, atau VRAM; nilai params.num_ctx yang tidak valid, nol, negatif,
atau tidak terbatas akan diabaikan. Jika konfigurasi lama hanya menggunakan
contextWindow/maxTokens untuk memaksakan konteks permintaan native, jalankan
openclaw doctor --fix untuk menyalinnya ke params.num_ctx. Adaptor
yang kompatibel dengan OpenAI masih menyisipkan options.num_ctx secara bawaan dari
params.num_ctx atau contextWindow yang dikonfigurasi; nonaktifkan dengan
injectNumCtxForOpenAICompat: false jika upstream menolak options.Entri model native juga menerima opsi runtime Ollama umum di bawah
params, yang diteruskan sebagai /api/chat options native: num_keep, seed,
num_predict, top_k, top_p, min_p, typical_p, repeat_last_n,
temperature, repeat_penalty, presence_penalty, frequency_penalty,
stop, num_batch, num_gpu, main_gpu, use_mmap, dan num_thread.
Beberapa kunci (format, keep_alive, truncate, shift) diteruskan sebagai
bidang permintaan tingkat atas, bukan sebagai options bertingkat. OpenClaw hanya
meneruskan kunci permintaan Ollama ini, sehingga parameter khusus runtime seperti
streaming tidak pernah dikirim ke Ollama. Gunakan params.think (atau
params.thinking) untuk menetapkan think tingkat atas; false menonaktifkan
pemikiran tingkat API untuk model berpikir bergaya Qwen.agents.defaults.models["ollama/<model>"].params.num_ctx per model juga
berfungsi; entri model penyedia eksplisit akan diprioritaskan jika keduanya ditetapkan.Kontrol pemikiran
Kontrol pemikiran
think tingkat atas, bukan
options.think. Model yang ditemukan otomatis dan /api/show-nya melaporkan
kemampuan thinking menyediakan /think low, /think medium, /think high,
dan /think max; model tanpa pemikiran hanya menyediakan /think off.params.think/params.thinking per model dapat menonaktifkan atau memaksa pemikiran
API untuk model tertentu. OpenClaw mempertahankan konfigurasi eksplisit tersebut
ketika proses aktif hanya memiliki nilai default implisit off; perintah runtime
selain off seperti /think medium tetap menimpanya. Permintaan pemikiran
bernilai benar tidak pernah dikirim ke model yang secara eksplisit ditandai
reasoning: false; permintaan think: false selalu dikirim tanpa pengecualian.Model penalaran
Model penalaran
deepseek-r1, reasoning, reason, atau think secara default dianggap
mendukung penalaran — tidak memerlukan konfigurasi tambahan:Biaya model
Biaya model
0 untuk model
yang ditemukan otomatis maupun yang ditentukan secara manual.Penyematan memori
Penyematan memori
/api/embed, serta menggabungkan beberapa potongan memori ke dalam
satu permintaan input jika memungkinkan.Ketika proxy.enabled=true, permintaan penyematan ke origin loopback
lokal-host yang persis, yang diturunkan dari baseUrl terkonfigurasi, menggunakan jalur langsung
terlindungi milik OpenClaw, bukan proksi penerusan terkelola. Nama host yang dikonfigurasi
itu sendiri harus berupa localhost atau literal IP loopback — nama DNS
yang hanya me-resolve ke loopback tetap menggunakan jalur proksi terkelola. Host Ollama
di LAN, tailnet, jaringan privat, dan jaringan publik selalu tetap menggunakan
jalur proksi terkelola, dan pengalihan ke host/port lain tidak mewarisi
kepercayaan. proxy.loopbackMode: "proxy" tetap merutekan lalu lintas loopback melalui
proksi; proxy.loopbackMode: "block" menolaknya sebelum tersambung —
lihat Proksi terkelola.nomic-embed-text, qwen3-embedding, dan
mxbai-embed-large. Batch dokumen tetap mentah, sehingga indeks yang ada
tidak memerlukan migrasi format.Konfigurasi streaming
Konfigurasi streaming
/api/chat) secara default, yang mendukung
streaming dan pemanggilan alat secara bersamaan — tidak memerlukan konfigurasi khusus.Untuk permintaan native, kontrol pemikiran diteruskan secara langsung: /think off
dan openclaw agent --thinking off mengirim think: false tingkat atas kecuali
params.think/params.thinking eksplisit dikonfigurasi; /think low|medium|high mengirim string tingkat upaya yang sesuai; /think max dipetakan ke
tingkat upaya tertinggi Ollama, think: "high".Pemecahan masalah
Loop kerusakan WSL2 (boot ulang berulang)
Loop kerusakan WSL2 (boot ulang berulang)
ollama.service dengan Restart=always. Jika layanan tersebut
dimulai otomatis dan memuat model berbasis GPU saat WSL2 melakukan boot, Ollama dapat menahan
memori host selama pemuatan; pengambilan kembali memori Hyper-V tidak selalu dapat mengambil kembali
halaman-halaman tersebut, sehingga Windows dapat menghentikan VM WSL2, systemd memulai ulang
Ollama, dan siklus tersebut berulang.Bukti: boot ulang/penghentian WSL2 berulang, penggunaan CPU tinggi pada app.slice atau
ollama.service tepat setelah WSL2 dimulai, serta SIGTERM dari systemd, bukan
penghenti OOM Linux.OpenClaw mencatat peringatan saat startup ketika mendeteksi WSL2, ollama.service
diaktifkan dengan Restart=always, dan penanda CUDA terlihat.Mitigasi:%USERPROFILE%\.wslconfig, lalu jalankan
wsl --shutdown:Ollama tidak terdeteksi
Ollama tidak terdeteksi
OLLAMA_API_KEY (atau profil autentikasi) telah ditetapkan,
dan models.providers.ollama tidak ditentukan secara eksplisit:Tidak ada model yang tersedia
Tidak ada model yang tersedia
models.providers.ollama:Koneksi ditolak
Koneksi ditolak
Host jarak jauh berfungsi dengan curl tetapi tidak dengan OpenClaw
Host jarak jauh berfungsi dengan curl tetapi tidak dengan OpenClaw
baseUrlmengarah kelocalhost, tetapi Gateway berjalan di Docker atau host lain.- URL menggunakan
/v1, sehingga memilih perilaku kompatibel OpenAI, bukan Ollama native. - Host jarak jauh memerlukan perubahan firewall atau pengikatan LAN.
- Model berada di daemon laptop Anda, tetapi tidak di daemon jarak jauh.
Model menghasilkan JSON alat sebagai teks
Model menghasilkan JSON alat sebagai teks
compat.supportsTools: false pada entri model tersebut dan uji kembali.Kimi atau GLM menghasilkan simbol yang kacau
Kimi atau GLM menghasilkan simbol yang kacau
Cloud + Local atau Cloud only, lalu coba sesi baru
dan model fallback:Model lokal yang dingin mengalami batas waktu
Model lokal yang dingin mengalami batas waktu
timeoutSeconds juga
memperpanjang waktu tunggu koneksi terlindungi untuk penyedia ini.Model dengan konteks besar terlalu lambat atau kehabisan memori
Model dengan konteks besar terlalu lambat atau kehabisan memori
params.num_ctx ditetapkan. Batasi anggaran OpenClaw dan konteks permintaan
Ollama untuk mendapatkan latensi token pertama yang dapat diprediksi:contextWindow jika OpenClaw mengirim terlalu banyak prompt. Turunkan
params.num_ctx jika konteks runtime Ollama terlalu besar untuk mesin tersebut.
Turunkan maxTokens jika pembuatan keluaran berlangsung terlalu lama.Terkait
Ollama Cloud
ollama-cloud.