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.
- Id penyedia:
ds4 - Plugin: tidak ada
- API: Chat Completions yang kompatibel dengan OpenAI (
openai-completions) - URL dasar yang disarankan:
http://127.0.0.1:18000/v1 - Id model:
deepseek-v4-flash - Panggilan alat: didukung melalui
toolsdantool_callsbergaya OpenAI - Penalaran:
thinkingdanreasoning_effortbergaya 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 path 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 saat 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"], }, }, ], }, }, },}Jaga contextWindow tetap selaras dengan nilai ds4-server --ctx. Jaga maxTokens
tetap selaras dengan --tokens kecuali Anda sengaja ingin OpenClaw meminta output yang lebih sedikit
daripada default server.
Startup sesuai kebutuhan
OpenClaw dapat memulai ds4 hanya saat 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 path executable absolut. Lookup shell dan ekspansi ~
tidak digunakan. Lihat Layanan model lokal untuk setiap kolom
localService.
Think Max
ds4 menerapkan Think Max hanya saat kedua kondisi benar:
ds4-serverdimulai dengan--ctx 393216atau lebih tinggi.- Permintaan menggunakan
reasoning_effort: "max"atau kolom 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"], },}Uji
Mulai dengan pemeriksaan HTTP langsung:
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"}}'Lalu uji perutean model OpenClaw:
openclaw infer model run \ --local \ --model ds4/deepseek-v4-flash \ --thinking off \ --prompt "Reply with exactly: openclaw-ds4-ok" \ --jsonUntuk smoke penuh agen dan panggilan alat, gunakan 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.callssetidaknya1finalAssistantVisibleTextdimulai dengantool-ok
Pemecahan masalah
curl /v1/models cannot connect
ds4 tidak berjalan atau tidak terikat ke host dan 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. Naikkan
ds4-server --ctx, lalu perbarui models.providers.ds4.models[].contextWindow
agar cocok. Giliran agen penuh dengan alat membutuhkan konteks yang jauh lebih banyak daripada
permintaan curl langsung dengan satu pesan.
Think Max does not activate
ds4 hanya menggunakan Think Max saat --ctx setidaknya 393216 dan permintaan
meminta reasoning_effort: "max". Konteks yang lebih kecil kembali ke penalaran tinggi.
The first request is slow
ds4 memiliki fase residensi Metal dingin dan pemanasan model. Gunakan
localService.readyTimeoutMs: 300000 saat OpenClaw memulai server sesuai kebutuhan.