agentscope-ai / agentscope-ai/QwenPaw

[Bug]:Daily Paper fails silently when arxiv.org is unreachable — no proxy/endpoint config, error message hides real cause

Aperta
#7,715 3 commenti 0 reazioni 1 assegnatario Rivendicata da @jinliyl Vedi su GitHub
bug
Lingua principale
TypeScript
Stelle
35k
Fork
3.1k
Merge medio
1g 13h
PR unite (30g)
228

Descrizione

### Environment

- QwenPaw Desktop v2.2.1-beta.2 (Windows 10 x64)
- Component: ReMe Daily Paper plugin (`reme_daily_paper`)

### Problem

The Daily Paper memory cron job fails every day with a misleading "completed with no returned content" message in the inbox, while the actual error is an `httpx.ConnectError` during TLS handshake to `arxiv.org`.

### Reproduction

1. Use QwenPaw Desktop in a network environment where arxiv.org TLS connections are reset (SNI-based filtering — common in mainland China without a VPN)
2. Wait for the Daily Paper cron to fire (or trigger it manually)
3. Inbox shows: `Daily Paper completed with no returned content` (status: error)

### Error log (desktop.log)

```
Traceback (most recent call last):
File "reme\components\job\base_job.py", line 74, in __call__
File "reme\steps\base_step.py", line 148, in __call__
File "reme_daily_paper\analyze.py", line 193, in execute
File "reme_daily_paper\analyze.py", line 87, in _analyze_one
File "reme_daily_paper\arxiv.py", line 77, in download
File "contextlib.py", line 210, in __aenter__
File "httpx\_client.py", line 1583, in stream
...
httpx.ConnectError: [WinError 10054] An existing connection was forcibly closed by the remote host.
```

### Root cause

TCP connection to `arxiv.org:443` succeeds, but the TLS handshake is reset (SNI field detected and RST'd by network filtering). Browsers with ECH (Encrypted Client Hello) support can bypass this, but `httpx` does not support ECH, so the Daily Paper plugin cannot connect.

### Two improvement requests

**1. Bug — error message hides the real cause (high impact)**

The inbox message "completed with no returned content" gives users zero diagnostic information. It should surface the actual exception, e.g.:

> `Daily Paper failed: ConnectError — arxiv.org unreachable (TLS handshake reset)`

This would save users from having to dig through `desktop.log` to understand why the feature stopped working.

**2. Feature — configurable arxiv endpoint / proxy support**

QwenPaw already provides `HF_ENDPOINT` for HuggingFace mirror configuration. A similar approach for the Daily Paper plugin would allow users in restricted network environments to point to an accessible arxiv mirror or proxy:

```bash
# Example: point to a mirror or proxy
ARXIV_ENDPOINT=https://mirror.example.com/arxiv
# or respect standard proxy env vars
HTTP_PROXY=http://127.0.0.1:7890
HTTPS_PROXY=http://127.0.0.1:7890
```

This is especially relevant since QwenPaw is developed by a Chinese team (Alibaba/Qwen) and many users are in mainland China where arxiv.org connectivity is unreliable.

---

*This issue was drafted with the assistance of an AI agent (QwenPaw) and reviewed by the reporter before submission. [#4333]*

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Start with `reme_daily_paper/arxiv.py` at `download()` (from the traceback) and `reme_daily_paper/analyze.py` (`_analyze_one`/`execute`), where fetching and result messaging happen. Then trace failures through `reme/components/job/base_job.py` and `reme/steps/base_step.py` to find why the inbox shows `completed with no returned content`. Look for existing HF_ENDPOINT/env proxy handling in the repo and mirror that pattern for ARXIV endpoint/proxy config. Re-trigger the Daily Paper cron manually and finish when inbox/log output reports the real `ConnectError` and respects the configured endpoint/proxy.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
backend, networking
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Attiva
Chiarezza
Abbastanza chiara
Idoneità per principianti
50/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.