Repository navigation
v0.3.1
Steadier tool calls for coding agents, and 30 fixes from a full review of the proxy.
- Tool calls recover instead of failing. When DeepSeek returns a broken or cut-off tool call, the proxy asks again more strictly, moves to another ready login if this one is rate-limited, and as a last step retries in a fresh chat with the full context. A tool call that only lacks its closing brackets is repaired.
- Chat-only requests get plain answers. If the model answers a request without tools with tool markup, the proxy asks again for plain text instead of returning an error.
- Each client gets its own chat. Clients that send no session id are no longer merged into one shared DeepSeek chat.
- Long answers keep streaming. The 60-second limit now counts silence, not total time, so long thinking and long code are no longer cut off. Complete long answers are no longer continued for nothing.
- Text stays intact. Emoji are no longer stripped from answers, and Cyrillic or CJK text in large requests is no longer garbled.
- Codex keeps the model's earlier tool calls in the conversation (Responses API).
- Logins.
npm run authnever replaces a working login with a failed capture, closes its Chrome window when done, and works whenDEEPSEEK_AUTH_PATHlists several files. An expired login is reported as one. - Safer by default. Account files may only load the PoW module from deepseek.com. The Cursor launcher is readable only by you and takes the key from
PROXY_API_KEY. The Agents page warns before pointing an agent at an address that is not this proxy. - Dashboard. Delete all conversations also removes a chat that is still answering, editing a message respects the send wait, Restart waits for the new version, and a malformed link or blocked storage no longer breaks the page.
- Settings such as
PORTorDEEPSEEK_FETCH_TIMEOUT_MSmust be numbers: a wrong value now stops the proxy with a clear message.
Update: Settings → Updates → Latest → Check for updates, or git fetch origin && git switch latest && git merge --ff-only origin/latest, then restart.