add DeepSeek AI provider

This commit is contained in:
Marco0300
2026-09-10 09:02:02 +02:00
parent 9db943d5df
commit a2320ecdc8
5 changed files with 63 additions and 24 deletions
+20
View File
@@ -123,6 +123,26 @@ class BrowserOnlyAppTests(unittest.TestCase):
self.assertTrue(body["ok"])
self.assertEqual(http_json.call_args.args[0:2], ("POST", "https://inference-api.nousresearch.com/v1/chat/completions"))
def test_deepseek_provider_uses_fixed_endpoint_and_default_models(self):
status, body = self.request("GET", "/api/ai/models?provider=deepseek")
self.assertEqual(status, 200)
self.assertEqual(body["base_url"], "https://api.deepseek.com/v1")
self.assertEqual([item["id"] for item in body["models"]], ["deepseek-chat", "deepseek-reasoner"])
status, body = self.request("POST", "/api/settings", {"ai": {"AI_PROVIDER": "deepseek", "AI_API_KEY": "deepseek-test-key"}})
self.assertEqual(status, 200)
self.assertEqual(body["ai"]["base_url"], "https://api.deepseek.com/v1")
self.assertEqual(body["ai"]["model"], "deepseek-chat")
self.assertTrue(body["ai"]["configured"])
status, body = self.request("GET", "/api/config")
self.assertEqual(status, 200)
self.assertEqual(body["ai_provider"], "deepseek")
self.assertNotIn("deepseek-test-key", json.dumps(body))
with patch("api.server.http_json", return_value={"choices": [{"message": {"content": "OK"}}]}) as http_json:
status, body = self.request("POST", "/api/ai/test", {})
self.assertEqual(status, 200)
self.assertTrue(body["ok"])
self.assertEqual(http_json.call_args.args[0:2], ("POST", "https://api.deepseek.com/v1/chat/completions"))
def test_provider_errors_are_not_mislabelled_as_maps_errors(self):
class CloudflareResponse:
def read(self):