Prerequisites
- A DeepSeek Platform account
- A DeepSeek API key from platform.deepseek.com/api_keys
- A running Fabro server
Configure direct access
The directdeepseek provider is enabled in the built-in catalog. Store its key in the target Fabro server vault:
https://api.deepseek.com.
Included models
Both models support text input, tool calling, native reasoning, streaming, JSON output, and automatic prompt caching. They do not support image input. Thinking mode is enabled by default.
Agent profile
DeepSeek V4 uses Fabro’sopenai agent profile on every route. This profile is the closest match for DeepSeek’s general coding behavior: it supplies project AGENTS.md instructions, standard JSON function tools, and a JSON-compatible file editor on Chat Completions routes. The setting is model-specific, so it remains the same through direct DeepSeek, Fireworks AI, and OpenRouter.
Fabro does not use the gpt56 profile for DeepSeek. That profile has a smaller Codex-specific tool set for GPT-5.6 models.
Use DeepSeek models
workflow.fabro
Thinking and reasoning effort
DeepSeek enables thinking by default athigh effort. Fabro advertises only effort values that produce a distinct model behavior on each route:
DeepSeek currently maps a V4 Pro request for
low to high; its documentation says this mapping will change in early August 2026. Fireworks maps low and medium to high, and maps xhigh to max. OpenRouter names the Pro maximum tier xhigh.
Fabro omits temperature and top_p for these models because DeepSeek ignores sampling parameters while thinking is enabled.
To disable thinking on the direct provider, omit typed reasoning_effort and pass DeepSeek’s native toggle through provider options:
reasoning_content from an assistant tool call to appear in every later request in that tool-use turn. Fabro captures this content and replays it with the assistant message. This keeps multi-step tool calls valid and prevents DeepSeek’s HTTP 400 response for missing reasoning history.
Prompt caching and pricing
DeepSeek applies prefix caching automatically. Fabro reads DeepSeek’sprompt_cache_hit_tokens usage field and reports cache-read tokens separately from uncached input tokens.
The built-in catalog uses DeepSeek’s published prices per million tokens:
DeepSeek does not return an in-band dollar cost. Fabro calculates an estimated cost from these catalog rates and the reported token buckets.
Use a gateway
Thedeepseek-v4-flash, deepseek-v4-pro, deepseek, deepseek-v4, and deepseek-flash selectors are portable across direct DeepSeek, Fireworks AI, and OpenRouter routes. Use --provider or a provider-qualified model selector when you need a specific route.
See the Fireworks AI integration and OpenRouter integration for gateway setup and provider-specific pricing.
Troubleshooting
“No API key configured” — StoreDEEPSEEK_API_KEY on the target server with fabro provider login --provider deepseek. The server runtime resolves the key from its vault, not from process env.
Unknown model — Use deepseek-v4-flash or deepseek-v4-pro. The retired deepseek-chat and deepseek-reasoner API IDs are not in the Fabro catalog.
A tool continuation returns HTTP 400 — Keep the assistant thinking content in conversation history. Fabro does this automatically when it replays tool-call turns.
Further reading
DeepSeek API
Official authentication, endpoints, and API reference.
Models and pricing
Official limits, features, and token prices.
Thinking mode
Official thinking toggles, effort mappings, and tool-call replay rules.