Providers
ds4
ds4 sirve DeepSeek V4 Flash desde un backend
Metal local con una API /v1 compatible con OpenAI. OpenClaw se conecta a ds4
mediante la familia de proveedores genérica openai-completions.
ds4 no es un plugin de proveedor incluido con OpenClaw. Configúrelo en
models.providers.ds4 y, a continuación, seleccione ds4/deepseek-v4-flash.
| Propiedad | Valor |
|---|---|
| Id. del proveedor | ds4 |
| Plugin | ninguno (solo configuración) |
| API | Chat Completions compatible con OpenAI (openai-completions) |
| URL base | http://127.0.0.1:18000/v1 (sugerida) |
| Id. del modelo | deepseek-v4-flash |
| Llamadas a herramientas | tools / tool_calls al estilo de OpenAI |
| Razonamiento | thinking y reasoning_effort al estilo de DeepSeek |
Requisitos
- macOS con compatibilidad con Metal.
- Una copia de trabajo de ds4 con
ds4-servery el archivo GGUF de DeepSeek V4 Flash. - Memoria suficiente para el contexto elegido; los valores de
--ctxmás grandes asignan más memoria KV al iniciar el servidor.
Inicio rápido
Iniciar ds4-server
Sustituya <DS4_DIR> por la ruta de la copia de trabajo de ds4.
<DS4_DIR>/ds4-server \ --model <DS4_DIR>/ds4flash.gguf \ --host 127.0.0.1 \ --port 18000 \ --ctx 32768 \ --tokens 128Verificar el endpoint compatible con OpenAI
curl http://127.0.0.1:18000/v1/modelsLa respuesta debe incluir deepseek-v4-flash.
Añadir la configuración del proveedor de OpenClaw
Añada la configuración de Configuración completa y, a continuación, ejecute una comprobación puntual del modelo:
openclaw infer model run \ --local \ --model ds4/deepseek-v4-flash \ --thinking off \ --prompt "Responde exactamente con: openclaw-ds4-ok" \ --jsonConfiguración completa
Use esta configuración cuando ds4 ya se esté ejecutando en 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"], }, }, ], }, }, },}Mantenga contextWindow alineado con ds4-server --ctx. Mantenga maxTokens alineado
con --tokens, salvo que se quiera que OpenClaw solicite intencionadamente menos salida
que el valor predeterminado del servidor.
Inicio bajo demanda
OpenClaw puede iniciar ds4 solo cuando se selecciona un modelo ds4/.... Añada
localService a la misma entrada del proveedor:
{ 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 debe ser una ruta absoluta a un ejecutable. No se utilizan la búsqueda del shell ni la expansión de
~. Consulte Servicios de modelos locales para conocer
todos los campos de localService.
Think Max
ds4 aplica Think Max solo cuando se cumplen ambas condiciones:
ds4-servercomienza con--ctx 393216o un valor superior.- La solicitud usa
reasoning_effort: "max"(o el campo de esfuerzo equivalente de ds4).
Si se ejecuta ese contexto de gran tamaño, actualice tanto las opciones del servidor como los metadatos del modelo de OpenClaw:
{ contextWindow: 393216, maxTokens: 384000, compat: { supportsUsageInStreaming: true, supportsReasoningEffort: true, maxTokensField: "max_tokens", supportsStrictMode: false, thinkingFormat: "deepseek", supportedReasoningEfforts: ["low", "medium", "high", "xhigh", "max"], },}Prueba
Comprobación HTTP directa, sin pasar por 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":"Responde exactamente con: ds4-ok"}],"max_tokens":16,"stream":false,"thinking":{"type":"disabled"}}'Enrutamiento del modelo de OpenClaw (igual que la comprobación del inicio rápido):
openclaw infer model run \ --local \ --model ds4/deepseek-v4-flash \ --thinking off \ --prompt "Responde exactamente con: openclaw-ds4-ok" \ --jsonPrueba de humo completa del agente y de las llamadas a herramientas, con un contexto de al menos 32768:
openclaw agent \ --local \ --session-id ds4-tool-smoke \ --model ds4/deepseek-v4-flash \ --thinking off \ --message "Usa una vez el comando de shell pwd y luego responde exactamente con: tool-ok <output>" \ --json \ --timeout 240Resultado esperado:
executionTrace.winnerProvideresds4executionTrace.winnerModelesdeepseek-v4-flashtoolSummary.callses al menos1finalAssistantVisibleTextcomienza contool-ok
Solución de problemas
curl /v1/models no puede conectarse
ds4 no se está ejecutando o no está vinculado al host/puerto de baseUrl. Inicie
ds4-server y vuelva a intentarlo:
curl http://127.0.0.1:18000/v1/models500: el prompt supera el contexto
El valor configurado de --ctx es demasiado pequeño para el turno de OpenClaw. Aumente
ds4-server --ctx y, a continuación, actualice models.providers.ds4.models[].contextWindow
para que coincida. Los turnos completos del agente con herramientas necesitan bastante más contexto que una
solicitud directa de curl con un solo mensaje.
Think Max no se activa
ds4 solo usa Think Max cuando --ctx es al menos 393216 y la solicitud
pide reasoning_effort: "max". Los contextos más pequeños recurren al razonamiento
alto.
La primera solicitud es lenta
ds4 tiene una fase inicial de carga en Metal y calentamiento del modelo. Configure
localService.readyTimeoutMs: 300000 cuando OpenClaw inicie el servidor
bajo demanda.
Relacionado
Inicie servidores de modelos locales bajo demanda antes de las solicitudes al modelo.
Elija y opere backends de modelos locales.
Configure referencias de proveedores, autenticación y conmutación por error.
Comportamiento nativo del proveedor DeepSeek y controles de pensamiento.