From 3ed8da630768019236e8e22ef719fd6f99454668 Mon Sep 17 00:00:00 2001 From: Yixing Lao Date: Mon, 4 May 2026 18:28:17 +0800 Subject: [PATCH] feat(config): default reasoning effort to max (#36) --- src/deepseek_cursor_proxy/config.py | 2 +- src/deepseek_cursor_proxy/server.py | 7 ++++--- src/deepseek_cursor_proxy/transform.py | 2 +- tests/test_transform.py | 6 +++--- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/deepseek_cursor_proxy/config.py b/src/deepseek_cursor_proxy/config.py index 8c10e22..ba2b883 100644 --- a/src/deepseek_cursor_proxy/config.py +++ b/src/deepseek_cursor_proxy/config.py @@ -20,7 +20,7 @@ DEFAULT_PORT = 9000 DEFAULT_UPSTREAM_BASE_URL = "https://api.deepseek.com" DEFAULT_UPSTREAM_MODEL = "deepseek-v4-pro" DEFAULT_THINKING = "enabled" -DEFAULT_REASONING_EFFORT = "high" +DEFAULT_REASONING_EFFORT = "max" DEFAULT_DISPLAY_REASONING = True DEFAULT_COLLAPSIBLE_REASONING = True DEFAULT_NGROK = True diff --git a/src/deepseek_cursor_proxy/server.py b/src/deepseek_cursor_proxy/server.py index cf96820..ae4181e 100644 --- a/src/deepseek_cursor_proxy/server.py +++ b/src/deepseek_cursor_proxy/server.py @@ -861,7 +861,7 @@ def build_arg_parser() -> argparse.ArgumentParser: parser.add_argument( "--reasoning-effort", choices=["low", "medium", "high", "max", "xhigh"], - help="DeepSeek reasoning effort, default from config or high", + help="DeepSeek reasoning effort, default from config or max", ) parser.add_argument( "--reasoning-content-path", @@ -997,8 +997,9 @@ def log_cursor_request( ) -> None: model = str(payload.get("model") or config.upstream_model) LOG.info( - "┌ cursor model=%s messages=%s tools=%s", + "┌ cursor model=%s effort=%s messages=%s tools=%s", model, + config.reasoning_effort, format_count(message_count(payload)), format_count(tool_count(payload)), ) @@ -1332,7 +1333,7 @@ def main(argv: list[str] | None = None) -> int: store.close() return 2 LOG.info("ngrok tunnel forwarding %s -> %s", public_url, target_url) - LOG.info("Cursor Base URL: %s/v1", public_url.rstrip("/")) + LOG.info("api base url: %s/v1", public_url.rstrip("/")) try: server.serve_forever() except KeyboardInterrupt: diff --git a/src/deepseek_cursor_proxy/transform.py b/src/deepseek_cursor_proxy/transform.py index dd576e5..40d5cdc 100644 --- a/src/deepseek_cursor_proxy/transform.py +++ b/src/deepseek_cursor_proxy/transform.py @@ -795,7 +795,7 @@ def prepare_upstream_request( thinking_disabled = config.thinking == "disabled" if thinking_enabled: prepared["reasoning_effort"] = normalize_reasoning_effort( - prepared.get("reasoning_effort") or config.reasoning_effort + config.reasoning_effort ) cache_namespace = reasoning_cache_namespace( diff --git a/tests/test_transform.py b/tests/test_transform.py index 72e4556..ef67574 100644 --- a/tests/test_transform.py +++ b/tests/test_transform.py @@ -35,7 +35,7 @@ def _default_cache_namespace() -> str: ProxyConfig(), "deepseek-v4-pro", {"type": "enabled"}, - "high", + "max", ) @@ -366,14 +366,14 @@ class CrossModeAndModelTests(unittest.TestCase): config, "deepseek-v4-pro", {"type": "enabled"}, - "high", + "max", "Bearer key-a", ) namespace_flash = reasoning_cache_namespace( config, "deepseek-v4-flash", {"type": "enabled"}, - "high", + "max", "Bearer key-a", ) self.assertEqual(namespace_pro, namespace_flash)