feat: cmhub shared Session + connection pool + proxy handling (T-546)

- app/ai.py: 模块级共享 requests.Session + HTTPAdapter 连接池
  (CMHUB_HTTP_POOL_SIZE=32);_apply_cmhub_proxy() 切换 trust_env;
  生成/下载/models/balance 统一复用该 Session。
- app/appconfig.py: ai.cmhub.use_system_proxy 默认 false(绕过系统代理)。
- tests/test_ai.py: 补 Session 复用/代理/连接池测试;原 18 处 cmhub mock
  从模块级 requests 改到共享 Session。
- docs: troubleshooting 加「图片下载很慢」排障节;06-tasks 标 T-546 DONE。

附带:把 app/ai.py 行尾从 CRLF 归一为 LF;并一并纳入工作区中此前未提交、
已在运行构建里的 cmhub 下载诊断代码(调试图片 URL 日志、下载重试事件),
无法与 T-546 在同一文件内拆分单独提交。243 单测全绿。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
chengma
2026-07-08 00:15:43 +08:00
co-authored by Claude Opus 4.8
parent b257fb5c83
commit 5a09c6662e
5 changed files with 412 additions and 23 deletions
+1
View File
@@ -78,6 +78,7 @@ DEFAULT_CONFIG = {
"title_alias": "",
"image_alias": "",
"connect_timeout": 10,
"use_system_proxy": False,
"check_balance_before_batch": False,
},
"title_concurrency": 4,