chore(deps): httpx 全面迁移到 httpx2,SOCKS5 改用原生代理,升级 LLM SDK 大版本

- 依赖 httpx[socks] 换为 httpx2[socks]>=2.15,移除 httpx-socks / python-socks 及其 mypy 覆盖
- backend/src、ab_sdk、e2e 与单元测试统一使用 httpx2(异常类与 httpx 不通用)
- request_url 与 LLM 客户端工厂合并为 proxy_url(),SOCKS5 走 httpx2 原生代理(主机名由代理解析)
- 保留 #1104 过期连接池替换:httpcore2 2.15.1 的 start_tls 失败路径仍会泄漏隧道
- 日志同时压低 httpx2 与 httpx(google-genai、mcp 仍依赖旧 httpx)
- openai 3.35.1 / anthropic 1.15.0 / google-genai 2.31.0;结构化解析改用 chat.completions.parse
- ab_sdk 升到 0.6.0,客户端类型改为 httpx2.AsyncClient,同步插件文档
This commit is contained in:
Estrella Pan
2026-10-20 10:56:32 +02:00
parent 2ea56c50c6
commit ca7fcdf058
49 changed files with 459 additions and 440 deletions

View File

@@ -11,7 +11,7 @@
1. 安装 SDK 与命令行。轮子随每个 4.0 beta / 正式版发布在 [GitHub Releases](https://github.com/EstrellaXD/Auto_Bangumi/releases) 的附件中(文件名 `autobangumi_sdk-<SDK 版本>-py3-none-any.whl`),不发布到 PyPI。详见 [获取 SDK](/dev/plugins/sdk)。
```bash
uv tool install ./autobangumi_sdk-0.5.0-py3-none-any.whl
uv tool install ./autobangumi_sdk-0.6.0-py3-none-any.whl
```
2. 生成骨架并测试。骨架的 `pyproject.toml` 依赖 `autobangumi-sdk`,而 PyPI 上没有这个包,所以先用 `uv add` 让它指向下载的轮子:
@@ -19,7 +19,7 @@
```bash
ab-plugin new my-rename --kind rename # 也可选 notifier、search
cd my-rename
uv add ../autobangumi_sdk-0.5.0-py3-none-any.whl # 换成轮子的实际路径
uv add ../autobangumi_sdk-0.6.0-py3-none-any.whl # 换成轮子的实际路径
uv run pytest # 骨架自带契约测试
```