Repository navigation
Commit 3cd5a6f
committed
feat(provider): 按渠道出站代理,支持 HTTP/SOCKS5(P1-6)
PROVIDER_PROXIES(启动期项,默认 "" 直连,行为不变)为每个渠道单独指定
出站代理:格式 `渠道=代理URL;渠道2=代理URL2`,渠道取 KNOWN_PROVIDERS,
协议 http/https/socks5/socks5h(SOCKS 由 httpx[socks] → socksio 提供)。
- provider/proxy.py:严格解析 parse_provider_proxies(未知渠道/非法协议/
缺 = 一律 ValueError 启动失败,只容忍空段)+ build_client 工厂
(trust_env=False,不吃环境代理,只经显式 proxy= 生效)
- 6 个 provider client + 3 个 OAuth 流增 proxy 参数,惰性构造 httpx 时透传;
main.build_app / _upstream_auth 在装配处按渠道注入
- 覆盖该渠道全部出站请求:聊天、额度/模型拉取、后台任务(CB 子客户端复用
_short 自动跟随)、OAuth 登录
- 为什么启动期:代理作用于连接池,热更需重建在途连接池,风险/测试量大;
与上游端点同类
测试:tests/test_provider_proxy.py 30 例;后端 2103 passed / 100% 行分支。
文档(README/README.en/PROPOSAL/TECHNICAL)与 compose 同步。1 parent 09e3d76 commit 3cd5a6f
20 files changed
Lines changed: 459 additions & 39 deletions
File tree
- src
- provider
- codearts
- codebuddy
- kilo
- qoder
- trae
- zen
- tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
| 72 | + | |
72 | 73 | | |
73 | 74 | | |
74 | 75 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
| 43 | + | |
43 | 44 | | |
44 | 45 | | |
45 | 46 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
190 | 190 | | |
191 | 191 | | |
192 | 192 | | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
193 | 207 | | |
194 | 208 | | |
195 | 209 | | |
| |||
379 | 393 | | |
380 | 394 | | |
381 | 395 | | |
| 396 | + | |
382 | 397 | | |
383 | 398 | | |
384 | 399 | | |
| |||
526 | 541 | | |
527 | 542 | | |
528 | 543 | | |
| 544 | + | |
529 | 545 | | |
530 | 546 | | |
531 | 547 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
| 15 | + | |
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| |||
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
| 60 | + | |
60 | 61 | | |
61 | 62 | | |
62 | 63 | | |
| |||
455 | 456 | | |
456 | 457 | | |
457 | 458 | | |
458 | | - | |
| 459 | + | |
459 | 460 | | |
460 | 461 | | |
461 | 462 | | |
| |||
810 | 811 | | |
811 | 812 | | |
812 | 813 | | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
813 | 830 | | |
814 | 831 | | |
815 | 832 | | |
| |||
0 commit comments