OpenClaw terintegrasi dengan API asli Ollama (Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
/api/chat) untuk model cloud terhosting dan server Ollama lokal/di-host sendiri. Anda dapat menggunakan Ollama dalam tiga mode: Cloud + Local melalui host Ollama yang dapat dijangkau, Cloud only terhadap https://ollama.com, atau Local only terhadap host Ollama yang dapat dijangkau.
Konfigurasi penyedia Ollama menggunakan baseUrl sebagai kunci kanonis. OpenClaw juga menerima baseURL untuk kompatibilitas dengan contoh bergaya OpenAI SDK, tetapi konfigurasi baru sebaiknya mengutamakan baseUrl.
Aturan autentikasi
Local and LAN hosts
Local and LAN hosts
ollama-local hanya untuk URL dasar Ollama loopback, jaringan privat, .local, dan bare-hostname.Remote and Ollama Cloud hosts
Remote and Ollama Cloud hosts
https://ollama.com) memerlukan kredensial nyata melalui OLLAMA_API_KEY, profil autentikasi, atau apiKey milik penyedia.Custom provider ids
Custom provider ids
api: "ollama" mengikuti aturan yang sama. Misalnya, penyedia ollama-remote yang mengarah ke host Ollama LAN privat dapat menggunakan apiKey: "ollama-local" dan sub-agen akan menyelesaikan penanda tersebut melalui hook penyedia Ollama alih-alih memperlakukannya sebagai kredensial yang hilang. Pencarian memori juga dapat menetapkan agents.defaults.memorySearch.provider ke ID penyedia kustom tersebut agar embedding menggunakan endpoint Ollama yang sesuai.Auth profiles
Auth profiles
auth-profiles.json menyimpan kredensial untuk ID penyedia. Letakkan pengaturan endpoint (baseUrl, api, ID model, header, timeout) di models.providers.<id>. Berkas profil autentikasi datar lama seperti { "ollama-windows": { "apiKey": "ollama-local" } } bukan format runtime; jalankan openclaw doctor --fix untuk menulis ulangnya menjadi profil kunci API kanonis ollama-windows:default dengan cadangan. baseUrl dalam berkas itu adalah derau kompatibilitas dan sebaiknya dipindahkan ke konfigurasi penyedia.Memory embedding scope
Memory embedding scope
- Kunci tingkat penyedia hanya dikirim ke host Ollama milik penyedia tersebut.
agents.*.memorySearch.remote.apiKeyhanya dikirim ke host embedding jarak jauhnya.- Nilai env
OLLAMA_API_KEYmurni diperlakukan sebagai konvensi Ollama Cloud, tidak dikirim ke host lokal atau di-host sendiri secara default.
Memulai
Pilih metode dan mode penyiapan yang Anda inginkan.- Onboarding (recommended)
- Manual setup
Choose your mode
- Cloud + Local — host Ollama lokal plus model cloud yang dirutekan melalui host tersebut
- Cloud only — model Ollama terhosting melalui
https://ollama.com - Local only — hanya model lokal
Select a 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 otomatis menarik model lokal yang dipilih jika belum tersedia. Saat Ollama melaporkan tag :latest terinstal seperti gemma4:latest, penyiapan menampilkan model terinstal itu sekali, bukan menampilkan gemma4 dan gemma4:latest sekaligus atau menarik alias polos lagi. Cloud + Local juga memeriksa apakah host Ollama tersebut sudah masuk untuk akses cloud.Mode non-interaktif
Model cloud
- Cloud + Local
- Cloud only
- Local only
Cloud + Local menggunakan host Ollama yang dapat dijangkau sebagai titik kontrol untuk model lokal dan cloud. Ini adalah alur hibrida pilihan Ollama.Gunakan Cloud + Local selama penyiapan. OpenClaw meminta URL dasar Ollama, menemukan model lokal dari host tersebut, dan memeriksa apakah host sudah masuk untuk akses cloud dengan ollama signin. Saat host sudah masuk, OpenClaw juga menyarankan default cloud terhosting seperti kimi-k2.5:cloud, minimax-m2.7:cloud, dan glm-5.1:cloud.Jika host belum masuk, OpenClaw mempertahankan penyiapan hanya lokal hingga Anda menjalankan ollama signin.Penemuan model (penyedia implisit)
Saat Anda menetapkanOLLAMA_API_KEY (atau profil autentikasi) dan tidak mendefinisikan models.providers.ollama atau penyedia jarak jauh kustom lain dengan api: "ollama", OpenClaw menemukan model dari instans Ollama lokal di http://127.0.0.1:11434.
| Perilaku | Detail |
|---|---|
| Kueri katalog | Mengueri /api/tags |
| Deteksi kapabilitas | Menggunakan lookup /api/show best-effort untuk membaca contextWindow, parameter Modelfile num_ctx yang diperluas, dan kapabilitas termasuk vision/tools |
| Model vision | Model dengan kapabilitas vision yang dilaporkan oleh /api/show ditandai sebagai mampu gambar (input: ["text", "image"]), sehingga OpenClaw otomatis menyisipkan gambar ke prompt |
| Deteksi reasoning | Menggunakan kapabilitas /api/show jika tersedia, termasuk thinking; fallback ke heuristik nama model (r1, reasoning, think) saat Ollama menghilangkan kapabilitas |
| Batas token | Menetapkan maxTokens ke batas token maksimum default Ollama yang digunakan OpenClaw |
| Biaya | Menetapkan semua biaya ke 0 |
ollama/<pulled-model>:latest dalam infer model run lokal; OpenClaw menyelesaikan model terinstal itu dari katalog langsung Ollama tanpa memerlukan entri models.json yang ditulis manual.
Untuk host Ollama yang sudah masuk, beberapa model :cloud mungkin dapat digunakan melalui /api/chat
dan /api/show sebelum muncul di /api/tags. Saat Anda secara eksplisit memilih
ref lengkap ollama/<model>:cloud, OpenClaw memvalidasi model hilang yang persis itu dengan
/api/show dan menambahkannya ke katalog runtime hanya jika Ollama mengonfirmasi metadata
model. Salah ketik tetap gagal sebagai model tidak dikenal, bukan dibuat otomatis.
infer model run lokal dengan ref model Ollama lengkap:
infer model run. Ini mengirim prompt dan gambar langsung ke
model vision Ollama yang dipilih tanpa memuat alat chat, memori, atau konteks
sesi sebelumnya:
model run --file menerima berkas yang terdeteksi sebagai image/*, termasuk input PNG,
JPEG, dan WebP umum. Berkas non-gambar ditolak sebelum Ollama dipanggil.
Untuk pengenalan ucapan, gunakan openclaw infer audio transcribe sebagai gantinya.
Saat Anda mengganti percakapan dengan /model ollama/<model>, OpenClaw memperlakukan
itu sebagai pilihan pengguna yang persis. Jika baseUrl Ollama yang dikonfigurasi
tidak dapat dijangkau, balasan berikutnya gagal dengan kesalahan penyedia alih-alih diam-diam
menjawab dari model fallback lain yang dikonfigurasi.
Pekerjaan Cron terisolasi melakukan satu pemeriksaan keamanan lokal tambahan sebelum memulai giliran agen. Jika model yang dipilih terselesaikan ke penyedia Ollama lokal, jaringan privat, atau .local dan /api/tags tidak dapat dijangkau, OpenClaw mencatat eksekusi Cron tersebut sebagai skipped dengan ollama/<model> yang dipilih di teks galat. Praflight endpoint disimpan dalam cache selama 5 menit, sehingga beberapa pekerjaan Cron yang diarahkan ke daemon Ollama yang sama dan sedang berhenti tidak semuanya meluncurkan permintaan model yang gagal.
Verifikasi langsung jalur teks lokal, jalur stream native, dan embeddings terhadap Ollama lokal dengan:
models.providers.ollama secara eksplisit, atau mengonfigurasi penyedia jarak jauh khusus seperti models.providers.ollama-cloud dengan api: "ollama", penemuan otomatis dilewati dan Anda harus mendefinisikan model secara manual. Penyedia khusus loopback seperti http://127.0.0.2:11434 tetap diperlakukan sebagai lokal. Lihat bagian konfigurasi eksplisit di bawah.Vision dan deskripsi gambar
Plugin Ollama bawaan mendaftarkan Ollama sebagai penyedia pemahaman media yang mendukung gambar. Ini memungkinkan OpenClaw merutekan permintaan deskripsi gambar eksplisit dan default model gambar yang dikonfigurasi melalui model vision Ollama lokal atau ter-host. Untuk vision lokal, tarik model yang mendukung gambar:--model harus berupa ref <provider/model> lengkap. Saat ditetapkan, openclaw infer image describe menjalankan model tersebut secara langsung, alih-alih melewati deskripsi karena model mendukung vision native.
Gunakan infer image describe saat Anda menginginkan alur penyedia pemahaman gambar OpenClaw, agents.defaults.imageModel yang dikonfigurasi, dan bentuk keluaran deskripsi gambar. Gunakan infer model run --file saat Anda menginginkan probe model multimodal mentah dengan prompt khusus dan satu atau beberapa gambar.
Untuk menjadikan Ollama model pemahaman gambar default untuk media masuk, konfigurasikan agents.defaults.imageModel:
ollama/<model> lengkap. Jika model yang sama terdaftar di bawah models.providers.ollama.models dengan input: ["text", "image"] dan tidak ada penyedia gambar lain yang dikonfigurasi yang mengekspos ID model polos tersebut, OpenClaw juga menormalkan ref imageModel polos seperti qwen2.5vl:7b menjadi ollama/qwen2.5vl:7b. Jika lebih dari satu penyedia gambar yang dikonfigurasi memiliki ID polos yang sama, gunakan prefiks penyedia secara eksplisit.
Model vision lokal yang lambat dapat memerlukan timeout pemahaman gambar yang lebih panjang daripada model cloud. Model tersebut juga dapat crash atau berhenti saat Ollama mencoba mengalokasikan konteks vision penuh yang diiklankan pada perangkat keras terbatas. Tetapkan timeout kapabilitas, dan batasi num_ctx pada entri model saat Anda hanya memerlukan giliran deskripsi gambar normal:
image eksplisit yang dapat dipanggil agen selama giliran. models.providers.ollama.timeoutSeconds tingkat penyedia tetap mengontrol penjaga permintaan HTTP Ollama yang mendasarinya untuk panggilan model normal.
Verifikasi langsung tool gambar eksplisit terhadap Ollama lokal dengan:
models.providers.ollama.models secara manual, tandai model vision dengan dukungan input gambar:
/api/show melaporkan kapabilitas vision.
Konfigurasi
- Basic (implicit discovery)
- Explicit (manual models)
- Custom base URL
Resep umum
Gunakan ini sebagai titik awal dan ganti ID model dengan nama persis dariollama list atau openclaw models list --provider ollama.
Local model with auto-discovery
Local model with auto-discovery
models.providers.ollama kecuali Anda ingin mendefinisikan model secara manual.LAN Ollama host with manual models
LAN Ollama host with manual models
/v1.contextWindow adalah anggaran konteks sisi OpenClaw. params.num_ctx dikirim ke Ollama untuk permintaan. Jaga keduanya tetap selaras saat perangkat keras Anda tidak dapat menjalankan konteks penuh yang diiklankan oleh model.Ollama Cloud only
Ollama Cloud only
Cloud plus local through a signed-in daemon
Cloud plus local through a signed-in daemon
ollama signin dan harus melayani model lokal serta model :cloud.Multiple Ollama hosts
Multiple Ollama hosts
ollama-large/qwen3.5:27b mencapai Ollama sebagai qwen3.5:27b.Lean local model profile
Lean local model profile
compat.supportsTools: false hanya ketika model atau server secara andal gagal pada skema alat. Ini menukar kapabilitas agen dengan stabilitas.
localModelLean menghapus alat peramban, cron, dan pesan dari permukaan agen, tetapi tidak mengubah konteks runtime atau mode berpikir Ollama. Pasangkan dengan params.num_ctx eksplisit dan params.thinking: false untuk model berpikir kecil bergaya Qwen yang berulang atau menghabiskan anggaran responsnya untuk penalaran tersembunyi.Pemilihan model
Setelah dikonfigurasi, semua model Ollama Anda tersedia:ollama-spark/qwen3:32b, OpenClaw hanya menghapus
prefiks tersebut sebelum memanggil Ollama sehingga server menerima qwen3:32b.
Untuk model lokal yang lambat, utamakan penyetelan permintaan dalam cakupan penyedia sebelum menaikkan
timeout runtime seluruh agen:
timeoutSeconds berlaku untuk permintaan HTTP model, termasuk penyiapan koneksi,
header, streaming isi, dan total pembatalan guarded-fetch. params.keep_alive
diteruskan ke Ollama sebagai keep_alive tingkat atas pada permintaan native /api/chat;
atur per model ketika waktu muat giliran pertama menjadi hambatan.
Verifikasi cepat
127.0.0.1 dengan host yang digunakan dalam baseUrl. Jika curl berfungsi tetapi OpenClaw tidak, periksa apakah Gateway berjalan di mesin, container, atau akun layanan yang berbeda.
Ollama Web Search
OpenClaw mendukung Ollama Web Search sebagai penyediaweb_search bawaan.
| Properti | Detail |
|---|---|
| Host | Menggunakan host Ollama yang Anda konfigurasi (models.providers.ollama.baseUrl jika diatur, jika tidak http://127.0.0.1:11434); https://ollama.com menggunakan API hosted secara langsung |
| Auth | Tanpa kunci untuk host Ollama lokal yang sudah masuk; OLLAMA_API_KEY atau auth penyedia yang dikonfigurasi untuk pencarian langsung https://ollama.com atau host yang dilindungi auth |
| Persyaratan | Host lokal/self-hosted harus berjalan dan masuk dengan ollama signin; pencarian hosted langsung memerlukan baseUrl: "https://ollama.com" plus kunci API Ollama asli |
openclaw onboard atau openclaw configure --section web, atau atur:
/api/experimental/web_search milik daemon. Untuk https://ollama.com, OpenClaw memanggil endpoint hosted /api/web_search secara langsung.
Konfigurasi lanjutan
Legacy OpenAI-compatible mode
Legacy OpenAI-compatible mode
api: "openai-completions" secara eksplisit:params: { streaming: false } dalam konfigurasi model.Ketika api: "openai-completions" digunakan dengan Ollama, OpenClaw menyuntikkan options.num_ctx secara default sehingga Ollama tidak diam-diam kembali ke jendela konteks 4096. Jika proxy/upstream Anda menolak kolom options yang tidak dikenal, nonaktifkan perilaku ini:Context windows
Context windows
PARAMETER num_ctx yang lebih besar dari Modelfile kustom. Jika tidak, OpenClaw kembali ke jendela konteks default Ollama yang digunakan oleh OpenClaw.Anda dapat mengatur default contextWindow, contextTokens, dan maxTokens tingkat penyedia untuk setiap model di bawah penyedia Ollama tersebut, lalu menimpanya per model saat diperlukan. contextWindow adalah anggaran prompt dan Compaction OpenClaw. Permintaan native Ollama membiarkan options.num_ctx tidak diatur kecuali Anda secara eksplisit mengonfigurasi params.num_ctx, sehingga Ollama dapat menerapkan default berdasarkan modelnya sendiri, OLLAMA_CONTEXT_LENGTH, atau VRAM. Untuk membatasi atau memaksa konteks runtime per permintaan Ollama tanpa membangun ulang Modelfile, atur params.num_ctx; nilai tidak valid, nol, negatif, dan non-finite diabaikan. Adapter Ollama kompatibel OpenAI tetap menyuntikkan options.num_ctx secara default dari params.num_ctx atau contextWindow yang dikonfigurasi; nonaktifkan dengan injectNumCtxForOpenAICompat: false jika upstream Anda menolak options.Entri model native Ollama juga menerima opsi runtime umum Ollama di bawah params, termasuk temperature, top_p, top_k, min_p, num_predict, stop, repeat_penalty, num_batch, num_thread, dan use_mmap. OpenClaw hanya meneruskan kunci permintaan Ollama, sehingga parameter runtime OpenClaw seperti streaming tidak bocor ke Ollama. Gunakan params.think atau params.thinking untuk mengirim think Ollama tingkat atas; false menonaktifkan berpikir tingkat API untuk model berpikir bergaya Qwen.agents.defaults.models["ollama/<model>"].params.num_ctx per model juga berfungsi. Jika keduanya dikonfigurasi, entri model penyedia eksplisit menang atas default agen.Thinking control
Thinking control
think tingkat atas, bukan options.think. Model yang ditemukan otomatis dengan respons /api/show yang menyertakan kapabilitas thinking mengekspos /think low, /think medium, /think high, dan /think max; model non-berpikir hanya mengekspos /think off.params.think atau params.thinking per model dapat menonaktifkan atau memaksa berpikir API Ollama untuk model tertentu yang dikonfigurasi. OpenClaw mempertahankan parameter model eksplisit tersebut ketika proses aktif hanya memiliki default implisit off; perintah runtime non-off seperti /think medium tetap menimpa proses aktif.Reasoning models
Reasoning models
deepseek-r1, reasoning, atau think sebagai berkemampuan penalaran secara default.Model costs
Model costs
Memory embeddings
Memory embeddings
/api/embed Ollama saat ini, dan membatch
beberapa potongan memori ke dalam satu permintaan input jika memungkinkan.| Properti | Nilai |
|---|---|
| Model default | nomic-embed-text |
| Auto-pull | Ya — model embedding ditarik secara otomatis jika belum ada secara lokal |
nomic-embed-text, qwen3-embedding, dan mxbai-embed-large. Batch dokumen memori tetap mentah sehingga indeks yang ada tidak memerlukan migrasi format.Untuk memilih Ollama sebagai penyedia embedding pencarian memori:Konfigurasi streaming
Konfigurasi streaming
/api/chat) secara default, yang sepenuhnya mendukung streaming dan pemanggilan alat secara bersamaan. Tidak diperlukan konfigurasi khusus.Untuk permintaan /api/chat native, OpenClaw juga meneruskan kontrol penalaran langsung ke Ollama: /think off dan openclaw agent --thinking off mengirim think: false tingkat atas kecuali nilai model eksplisit params.think/params.thinking dikonfigurasi, sementara /think low|medium|high mengirim string upaya think tingkat atas yang sesuai. /think max dipetakan ke upaya native tertinggi Ollama, think: "high".Pemecahan Masalah
Loop crash WSL2 (reboot berulang)
Loop crash WSL2 (reboot berulang)
ollama.service dengan Restart=always. Jika layanan tersebut dimulai otomatis dan memuat model berbasis GPU saat boot WSL2, Ollama dapat menahan memori host saat model dimuat. Reklaim memori Hyper-V tidak selalu dapat mereklamasi halaman yang tertahan tersebut, sehingga Windows dapat menghentikan VM WSL2, systemd memulai Ollama lagi, dan loop berulang.Bukti umum:- reboot atau penghentian WSL2 berulang dari sisi Windows
- CPU tinggi di
app.sliceatauollama.servicesesaat setelah WSL2 dimulai - SIGTERM dari systemd, bukan peristiwa OOM-killer Linux
ollama.service diaktifkan dengan Restart=always, dan marker CUDA terlihat.Mitigasi:%USERPROFILE%\.wslconfig di sisi Windows, lalu jalankan wsl --shutdown:Ollama tidak terdeteksi
Ollama tidak terdeteksi
OLLAMA_API_KEY (atau profil auth), serta Anda tidak mendefinisikan entri models.providers.ollama 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 pada host lain.- URL menggunakan
/v1, yang memilih perilaku kompatibel OpenAI alih-alih Ollama native. - Host jarak jauh memerlukan perubahan firewall atau binding LAN di sisi Ollama.
- Model tersedia 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 ulang.Kimi atau GLM mengembalikan simbol kacau
Kimi atau GLM mengembalikan simbol kacau
Cloud + Local atau Cloud only, lalu coba sesi baru dan model fallback:Model lokal cold timeout
Model lokal cold timeout
timeoutSeconds juga memperpanjang timeout koneksi Undici yang dijaga untuk provider ini.Model konteks besar terlalu lambat atau kehabisan memori
Model konteks besar terlalu lambat atau kehabisan memori
params.num_ctx. Batasi anggaran OpenClaw dan konteks permintaan Ollama ketika Anda menginginkan latensi token pertama yang dapat diprediksi:contextWindow terlebih dahulu jika OpenClaw mengirim terlalu banyak prompt. Turunkan params.num_ctx jika Ollama memuat konteks runtime yang terlalu besar untuk mesin. Turunkan maxTokens jika generasi berjalan terlalu lama.