mindfork 0.21.0 — DeepSeek as a provider of its own
mindfork 0.21.0 is out. DeepSeek has a mode of its own, beside OpenAI, Gemini, Claude, Grok and OpenRouter, and the token counter has moved out of the status line.
Why a mode, when external already worked
0.20.0 made DeepSeek's own API work in the external mode, the one that points at
any OpenAI-compatible URL. Measuring what a mode of its own would add turned up two
defects in that route:
/continuefailed, or doubled a reply. DeepSeek does not continue a cut reply. With thinking on, the default, it refused the request with an error; with thinking off it answered with a new reply from the beginning, and the app glued it onto the part already written.deepseek-v4-prodropped images without a word. It takes a request with an image, says it sees none, and asked what colour a red square is, it answers "brown". DeepSeek's model list says the model takes text only, in a key theexternalroute does not read.
What the deepseek mode knows
Pick deepseek under Model/server → Mode, paste a key from
platform.deepseek.com, and choose deepseek-flash or deepseek-v4-pro from the
list DeepSeek publishes. The list shows each model's context window.
- The window, 1 048 576 tokens, so history compression knows when to start.
- Which model takes images. On
deepseek-v4-proan image is kept back, and the app says so, as it does for any engine without vision. - DeepSeek's own thinking switch, sent in its spelling from the first request. Titles, history compression and impersonation do not reason there.
- Only the sampling settings DeepSeek reads: temperature, top-p, the two penalties, the seed and the reply length. Fields such as top-k or min-p, which it drops without a word, are not offered.
/continue, through DeepSeek's prefix completion. It resumes a cut story mid-sentence, measured on both models. DeepSeek continues only a conversation without tool calls. In one that has them,/continuesays so, and/regenwrites the reply again.
DeepSeek has no embeddings, so a knowledge base under this mode needs another
embedder, as under Claude or Grok. The external route at
https://api.deepseek.com still works. /continue is refused there now, with a note
that points to the mode.
The token counter, on the conversation's frame
tokens: 14587 (reasoning 10 · cache 91%) was the widest item in the status line and
pushed key hints out of it for the length of every turn. It now sits at the bottom
right corner of the conversation's frame. In a window too narrow for it the notes go
first, then the counter, never a cut number. Under eight rows, where the conversation
has no frame, it stays in the status line. Settings → Interface can turn either
note off.
Your data
settings.json moves from schema 6 to 7, and the chat files from 5 to 6. Only the
version changes, so that 0.20.0 refuses settings or a chat that name the new mode as
a newer version's data. Without the step it would refuse the settings as a broken file
and leave such a chat out of its list without a word. Both were measured on the
0.20.0 binary. As with every schema change, the files are backed up before they are
stamped. Notes and backups do not change.
The full list is in the
changelog;
downloads are on the
releases page, and
cargo install mindfork builds the same version from
crates.io.