Skip to content

Windows desktop: DeepSeek intermittent connection failure with Python/OpenSSL TLS 1.3 #44365

@pollmer

Description

@pollmer

中文

Hermes Windows 桌面端在调用 DeepSeek 官方 API 时经常出现间歇性连接失败。

当前配置为:

  • provider: deepseek
  • base_url: https://api.deepseek.com
  • models: deepseek-v4-prodeepseek-v4-flash
  • proxy: 未使用代理

Hermes 日志中反复出现:

APIConnectionError
Streaming failed before delivery: Connection error.
provider=deepseek base_url=https://api.deepseek.com

失败通常发生在请求发起约 15 秒后,并且还没有收到任何 streaming response。

本机 curl / PowerShell 可以正常访问 https://api.deepseek.com 并返回 HTTP 401,说明 TCP 和普通 HTTPS 访问是通的。但使用 Hermes 自带 Python/venv 测试时,默认 TLS 连接会失败:

OpenSSL 3.5.6
httpx 0.28.1
ConnectError after ~15s
[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol

进一步测试 TLS 版本后发现:

TLS1.2 only -> 成功,约 0.33 秒返回 HTTP 401
TLS1.3 only -> 失败,约 15 秒后 UNEXPECTED_EOF_WHILE_READING

因此怀疑 Hermes Windows 打包版中的 Python/OpenSSL 与 DeepSeek CDN 的 TLS1.3 握手存在兼容性问题。希望官方可以考虑为 DeepSeek provider 增加 TLS1.2 fallback,或提供 provider-level 的 TLS 版本配置项。

English

Hermes Windows Desktop frequently encounters intermittent connection failures when calling the official DeepSeek API.

Current configuration:

  • provider: deepseek
  • base_url: https://api.deepseek.com
  • models: deepseek-v4-pro, deepseek-v4-flash
  • proxy: no proxy

Hermes logs repeatedly show:

APIConnectionError
Streaming failed before delivery: Connection error.
provider=deepseek base_url=https://api.deepseek.com

The failure usually happens about 15 seconds after the request starts, before any streaming response is received.

On the same machine, curl / PowerShell can reach https://api.deepseek.com and receive HTTP 401, so TCP and normal HTTPS connectivity are working. However, using Hermes' bundled Python/venv, the default TLS connection fails:

OpenSSL 3.5.6
httpx 0.28.1
ConnectError after ~15s
[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol

Further TLS version testing shows:

TLS1.2 only -> succeeds, returns HTTP 401 in about 0.33s
TLS1.3 only -> fails after about 15s with UNEXPECTED_EOF_WHILE_READING

This suggests a compatibility issue between the Python/OpenSSL stack bundled in Hermes Windows Desktop and DeepSeek CDN's TLS1.3 handshake. It would be helpful if Hermes could add a TLS1.2 fallback for the DeepSeek provider, or expose a provider-level TLS version option.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Medium — degraded but workaround existscomp/agentCore agent loop, run_agent.py, prompt builderprovider/deepseekDeepSeek APItype/bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions