diff --git a/aider/args.py b/aider/args.py index 2b18fb6a0..2091a39cd 100644 --- a/aider/args.py +++ b/aider/args.py @@ -117,6 +117,12 @@ def get_parser(default_config_files, git_root): const=deepseek_model, help=f"Use {deepseek_model} model for the main chat", ) + group.add_argument( + "--deepseek-beta", + action="store_true", + help="Uses DeepSeek Coder via the beta API endpoint", + default=False, + ) ########## group = parser.add_argument_group("Model Settings") diff --git a/aider/sendchat.py b/aider/sendchat.py index 5c0977c1d..06505910c 100644 --- a/aider/sendchat.py +++ b/aider/sendchat.py @@ -59,8 +59,11 @@ def send_completion( stream=stream, ) - if model_name.startswith("deepseek/") and "DEEPSEEK_API_BASE" in os.environ: - kwargs["base_url"] = os.environ["DEEPSEEK_API_BASE"] + if model_name.startswith("deepseek/"): + if "DEEPSEEK_API_BASE" in os.environ: + kwargs["base_url"] = os.environ["DEEPSEEK_API_BASE"] + elif getattr(kwargs.get('extra_headers', {}), 'deepseek_beta', False): + kwargs["base_url"] = "https://api.deepseek.com/v1" if functions is not None: kwargs["functions"] = functions if extra_headers is not None: