Providers
ds4
ds4 menyajikan DeepSeek V4 Flash dari backend
Metal lokal dengan API /v1 yang kompatibel dengan OpenAI. OpenClaw terhubung ke ds4
melalui keluarga penyedia generik openai-completions.
ds4 bukan Plugin penyedia OpenClaw bawaan. Konfigurasikan di bawah
models.providers.ds4, lalu pilih ds4/deepseek-v4-flash.
| Properti | Nilai |
|---|---|
| ID penyedia | ds4 |
| Plugin | tidak ada (hanya konfigurasi) |
| API | Chat Completions yang kompatibel dengan OpenAI (openai-completions) |
| URL dasar | http://127.0.0.1:18000/v1 (disarankan) |
| ID model | deepseek-v4-flash |
| Panggilan alat | tools / tool_calls bergaya OpenAI |
| Penalaran | thinking dan reasoning_effort bergaya DeepSeek |
Persyaratan
- macOS dengan dukungan Metal.
- Checkout ds4 yang berfungsi dengan
ds4-serverdan berkas GGUF DeepSeek V4 Flash. - Memori yang cukup untuk konteks yang Anda pilih; nilai
--ctxyang lebih besar mengalokasikan lebih banyak memori KV saat server dimulai.
Mulai cepat
Start ds4-server
Ganti <DS4_DIR> dengan jalur checkout ds4 Anda.
<DS4_DIR>/ds4-server \ --model <DS4_DIR>/ds4flash.gguf \ --host 127.0.0.1 \ --port 18000 \ --ctx 32768 \ --tokens 128Verify the OpenAI-compatible endpoint
curl http://127.0.0.1:18000/v1/modelsRespons harus menyertakan deepseek-v4-flash.
Add the OpenClaw provider config
Tambahkan konfigurasi dari Konfigurasi lengkap, lalu jalankan pemeriksaan model sekali jalan:
openclaw infer model run \ --local \ --model ds4/deepseek-v4-flash \ --thinking off \ --prompt "Reply with exactly: openclaw-ds4-ok" \ --jsonKonfigurasi lengkap
Gunakan konfigurasi ini ketika ds4 sudah berjalan di 127.0.0.1:18000.
{ agents: { defaults: { model: { primary: "ds4/deepseek-v4-flash" }, models: { "ds4/deepseek-v4-flash": { alias: "DS4 local", }, }, }, }, models: { mode: "merge", providers: { ds4: { baseUrl: "http://127.0.0.1:18000/v1", apiKey: "ds4-local", api: "openai-completions", timeoutSeconds: 300, models: [ { id: "deepseek-v4-flash", name: "DeepSeek V4 Flash (ds4)", reasoning: true, input: ["text"], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 32768, maxTokens: 128, compat: { supportsUsageInStreaming: true, supportsReasoningEffort: true, maxTokensField: "max_tokens", supportsStrictMode: false, thinkingFormat: "deepseek", supportedReasoningEfforts: ["low", "medium", "high", "xhigh"], }, }, ], }, }, },}Pertahankan contextWindow agar selaras dengan ds4-server --ctx. Pertahankan maxTokens agar selaras
dengan --tokens, kecuali Anda memang ingin OpenClaw meminta keluaran lebih sedikit
daripada nilai bawaan server.
Memulai sesuai permintaan
OpenClaw dapat memulai ds4 hanya ketika model ds4/... dipilih. Tambahkan
localService ke entri penyedia yang sama:
{ models: { providers: { ds4: { baseUrl: "http://127.0.0.1:18000/v1", apiKey: "ds4-local", api: "openai-completions", timeoutSeconds: 300, localService: { command: "<DS4_DIR>/ds4-server", args: [ "--model", "<DS4_DIR>/ds4flash.gguf", "--host", "127.0.0.1", "--port", "18000", "--ctx", "32768", "--tokens", "128", ], cwd: "<DS4_DIR>", healthUrl: "http://127.0.0.1:18000/v1/models", readyTimeoutMs: 300000, idleStopMs: 0, }, models: [ { id: "deepseek-v4-flash", name: "DeepSeek V4 Flash (ds4)", reasoning: true, input: ["text"], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 32768, maxTokens: 128, compat: { supportsUsageInStreaming: true, supportsReasoningEffort: true, maxTokensField: "max_tokens", supportsStrictMode: false, thinkingFormat: "deepseek", supportedReasoningEfforts: ["low", "medium", "high", "xhigh"], }, }, ], }, }, },}command harus berupa jalur absolut ke berkas yang dapat dieksekusi. Pencarian shell dan ekspansi ~
tidak digunakan. Lihat Layanan model lokal untuk
setiap bidang localService.
Think Max
ds4 menerapkan Think Max hanya ketika kedua kondisi berikut terpenuhi:
ds4-serverdimulai dengan--ctx 393216atau lebih tinggi.- Permintaan menggunakan
reasoning_effort: "max"(atau bidang tingkat upaya ds4 yang setara).
Jika Anda menjalankan konteks sebesar itu, perbarui flag server dan metadata model OpenClaw:
{ contextWindow: 393216, maxTokens: 384000, compat: { supportsUsageInStreaming: true, supportsReasoningEffort: true, maxTokensField: "max_tokens", supportsStrictMode: false, thinkingFormat: "deepseek", supportedReasoningEfforts: ["low", "medium", "high", "xhigh", "max"], },}Pengujian
Pemeriksaan HTTP langsung, tanpa melalui OpenClaw:
curl http://127.0.0.1:18000/v1/chat/completions \ -H 'content-type: application/json' \ -d '{"model":"deepseek-v4-flash","messages":[{"role":"user","content":"Reply with exactly: ds4-ok"}],"max_tokens":16,"stream":false,"thinking":{"type":"disabled"}}'Perutean model OpenClaw (sama seperti pemeriksaan Mulai cepat):
openclaw infer model run \ --local \ --model ds4/deepseek-v4-flash \ --thinking off \ --prompt "Reply with exactly: openclaw-ds4-ok" \ --jsonPengujian asap agen penuh dan panggilan alat, dengan konteks setidaknya 32768:
openclaw agent \ --local \ --session-id ds4-tool-smoke \ --model ds4/deepseek-v4-flash \ --thinking off \ --message "Use the shell command pwd once, then reply exactly: tool-ok <output>" \ --json \ --timeout 240Hasil yang diharapkan:
executionTrace.winnerProvideradalahds4executionTrace.winnerModeladalahdeepseek-v4-flashtoolSummary.callssetidaknya1finalAssistantVisibleTextdiawali dengantool-ok
Pemecahan masalah
curl /v1/models cannot connect
ds4 tidak berjalan atau tidak terikat ke host/port dalam baseUrl. Mulai
ds4-server, lalu coba lagi:
curl http://127.0.0.1:18000/v1/models500 prompt exceeds context
--ctx yang dikonfigurasi terlalu kecil untuk giliran OpenClaw. Tingkatkan
ds4-server --ctx, lalu perbarui models.providers.ds4.models[].contextWindow
agar sesuai. Giliran agen penuh dengan alat memerlukan konteks yang jauh lebih besar daripada
permintaan curl langsung dengan satu pesan.
Think Max does not activate
ds4 hanya menggunakan Think Max ketika --ctx setidaknya 393216 dan permintaan
meminta reasoning_effort: "max". Konteks yang lebih kecil akan kembali menggunakan
penalaran tingkat tinggi.
The first request is slow
ds4 memiliki fase awal penempatan Metal dan pemanasan model. Atur
localService.readyTimeoutMs: 300000 ketika OpenClaw memulai server sesuai
permintaan.