From 3727105b65e67153cb2359e747cad96654bf7fff Mon Sep 17 00:00:00 2001 From: Yixing Lao Date: Sun, 26 Apr 2026 18:20:29 +0800 Subject: [PATCH] docs(global): update logo assets, center header, and simplify documentation (#16) --- README.md | 25 +++++++++------------- assets/logo.png | Bin 26183 -> 19449 bytes assets/logo.svg | 54 ++++++++++++++++++++++++++---------------------- 3 files changed, 39 insertions(+), 40 deletions(-) diff --git a/README.md b/README.md index ede44bb..f66a502 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,9 @@ -

deepseek-cursor-proxy logo deepseek-cursor-proxy

+ +

deepseek-cursor-proxy logo
DeepSeek Cursor Proxy

A compatibility proxy that connects Cursor to DeepSeek thinking models (`deepseek-v4-pro` and `deepseek-v4-flash`) by properly handling the `reasoning_content` field for DeepSeek tool-call reasoning API requests. -This proxy can also help _other applications and coding agents_ beyond Cursor that run into the same missing `reasoning_content` issue with DeepSeek's thinking-mode API. Just point their API base URL at the proxy. +This proxy can also help **other applications and coding agents** beyond Cursor that run into the same missing `reasoning_content` issue with DeepSeek's thinking-mode API. Just point their API base URL at the proxy. ## What It Does @@ -34,12 +35,10 @@ Provider returned error: ### Step 1: Set Up ngrok -Cursor blocks non-public API URLs such as `localhost`, so the proxy needs a public HTTPS URL. [ngrok](https://ngrok.com/) can expose the local proxy to Cursor without opening router ports. Alternatively, you may use [Cloudflare Tunnel](https://developers.cloudflare.com/tunnel/setup/). +Cursor blocks non-public API URLs such as `localhost`, so the proxy needs a public HTTPS URL. [ngrok](https://ngrok.com/) can expose the local proxy to Cursor without opening router ports. Alternatively, you may use [Cloudflare Tunnel](https://developers.cloudflare.com/tunnel/setup/). Create an ngrok account and visit [ngrok's dashboard](https://dashboard.ngrok.com). You will find the authtoken and public URL there. If you're using this proxy with another application that allows localhost API endpoints, you can skip this step entirely by setting `ngrok: false` in `~/.deepseek-cursor-proxy/config.yaml`, or by starting the proxy with `--no-ngrok`. -Create an ngrok account, then visit ngrok's dashboard: https://dashboard.ngrok.com - ngrok dashboard Then, install and authenticate ngrok once: @@ -59,10 +58,10 @@ In Cursor, add the DeepSeek custom model and point it at this proxy: The proxy respects the DeepSeek model name Cursor sends, such as `deepseek-v4-pro` or `deepseek-v4-flash`. The `model` field in `config.yaml` is used as a fallback only when a request does not include a model. -For example, if ngrok dashboard shows `https://example.ngrok-free.app`, use: +For example, if ngrok dashboard shows `https://example.ngrok-free.dev`, use: ```text -https://example.ngrok-free.app/v1 +https://example.ngrok-free.dev/v1 ``` Cursor settings for DeepSeek through the proxy @@ -121,12 +120,10 @@ Select `deepseek-v4-pro` in Cursor and use chat or agent mode as usual. ## How It Works -DeepSeek's [thinking mode](https://api-docs.deepseek.com/guides/thinking_mode#tool-calls) requires `reasoning_content` from assistant messages in tool-call sequences to be passed back in later requests. Cursor may omit this field, causing DeepSeek to return a 400 error. This proxy sits between Cursor and DeepSeek (`Cursor → ngrok → proxy → DeepSeek API`) and repairs requests when it has the exact original reasoning cached. - -- **Core fix:** every DeepSeek response, streaming or non-streaming, has its `reasoning_content` stored in a local SQLite cache keyed by message signature, tool-call ID, and tool-call function signature. On outgoing thinking-mode requests, the proxy restores missing `reasoning_content` for tool-call-related assistant messages and sends the complete history to DeepSeek. If the cache is cold, such as after a proxy restart or model switch, the default recovery mode omits older unrecoverable tool-call history, continues from the latest user request, logs the recovery, and prefixes the next Cursor response with a small notice. -- **Multi-conversation isolation:** cache keys are scoped by a SHA-256 hash of the canonical conversation prefix (roles, content, tool calls, excluding `reasoning_content`) plus the upstream model/configuration and an API-key hash. Concurrent or interleaved threads with different histories get different scopes, so reused tool-call IDs do not collide. Byte-identical cloned histories are indistinguishable unless Cursor sends a differentiating history. -- **DeepSeek [context caching](https://api-docs.deepseek.com/guides/kv_cache) compatibility:** the proxy does not inject synthetic thread IDs, timestamps, or cache-control messages into the prompt. When it restores cached reasoning, it restores the exact original string, preserving repeated prefixes for DeepSeek's automatic best-effort context cache. -- **Additional compatibility fixes:** the proxy converts legacy `functions`/`function_call` fields to `tools`/`tool_choice`, preserves required and named tool-choice semantics, normalizes `reasoning_effort` aliases per DeepSeek docs, strips mirrored `` blocks from assistant content, converts multi-part content arrays to plain text, logs DeepSeek prompt-cache usage when available, and mirrors `reasoning_content` into Cursor-visible `...` blocks for thinking display. +- **Core fix:** DeepSeek's [thinking mode](https://api-docs.deepseek.com/guides/thinking_mode#tool-calls) requires `reasoning_content` from assistant tool-call messages to be passed back in subsequent requests, but Cursor omits this field, causing a 400 error. The proxy (`Cursor → ngrok → proxy → DeepSeek API`) stores `reasoning_content` from every DeepSeek response in a local SQLite cache, keyed by message signature, tool-call ID, and tool-call function signature, and patches outgoing requests with missing `reasoning_content` before they reach DeepSeek. On a cold cache (proxy restart, model switch), it logs and drops unrecoverable history, continues from the latest user request, and prefixes the next Cursor response with a notice. +- **Multi-conversation isolation:** To avoid collisions across concurrent conversations, the proxy scopes cache keys by a SHA-256 hash of the canonical conversation prefix (roles, content, and tool calls, excluding `reasoning_content`) plus the upstream model, configuration, and an API-key hash. Different threads get different scopes, so reused tool-call IDs do not collide. Byte-identical cloned histories produce identical scopes. +- **Context caching compatibility:** The proxy preserves compatibility by never injecting synthetic thread IDs, timestamps, or cache-control messages. It restores `reasoning_content` as the exact original string, so repeated prefixes remain intact for [DeepSeek context cache](https://api-docs.deepseek.com/guides/kv_cache). Cache hit rates are logged in the terminal output. +- **Additional compatibility fixes:** Beyond reasoning repair, the proxy converts legacy `functions`/`function_call` fields to `tools`/`tool_choice`, preserves required and named tool-choice semantics, normalizes `reasoning_effort` aliases, strips mirrored `` blocks from assistant content, flattens multi-part content arrays to plain text, and mirrors `reasoning_content` into Cursor-visible `...` blocks. ## Development @@ -145,8 +142,6 @@ uv run pre-commit run --all-files ## Debugging -Normal logs avoid request/response bodies but still print compact request and usage statistics. `rounds` is the number of user turns in the forwarded history, `reasoning` is the number and character size of `reasoning_content` fields sent to DeepSeek, and `cache=hit/miss` comes from DeepSeek's `usage.prompt_cache_hit_tokens` / `prompt_cache_miss_tokens`. - Run with verbose output: ```bash diff --git a/assets/logo.png b/assets/logo.png index 4129eafac262e38e312f60e2b20c6cece5750696..5bf9a7be7a1b9d9aca44f19f7d0ded81faf1ecf0 100644 GIT binary patch literal 19449 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 literal 26183 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 TZkGeU21}u>u8*p?Z4>oB(t7Tx diff --git a/assets/logo.svg b/assets/logo.svg index 5cf44cb..8d280ee 100644 --- a/assets/logo.svg +++ b/assets/logo.svg @@ -1,8 +1,8 @@ - - - - + + + + + + + transform="matrix(0,2.0096137,-0.90113763,0,656.63776,-208.45992)">