Coverage for src/local_deep_research/llm/providers/implementations/deepseek.py: 100%

14 statements  

« prev     ^ index     » next       coverage.py v7.15.1, created at 2026-07-20 01:24 +0000

1"""DeepSeek LLM provider for Local Deep Research.""" 

2 

3from ..base import Exposure 

4from ..openai_base import OpenAICompatibleProvider 

5 

6 

7class DeepseekProvider(OpenAICompatibleProvider): 

8 """DeepSeek provider using OpenAI-compatible endpoint.""" 

9 

10 provider_name = "DeepSeek" 

11 api_key_setting = "llm.deepseek.api_key" 

12 default_base_url = "https://api.deepseek.com/v1" 

13 default_model = "deepseek-reasoner" 

14 

15 # Metadata for auto-discovery 

16 provider_key = "DEEPSEEK" 

17 company_name = "DeepSeek" 

18 is_cloud = True 

19 # Egress exposure (ADR-0007): cloud inference sink — data leaves the box. 

20 egress_exposure = Exposure.EXPOSING 

21 

22 @classmethod 

23 def requires_auth_for_models(cls): 

24 """DeepSeek requires authentication for listing models.""" 

25 return True