fix(channel): improve proxy client compatibility and cache lifecycle (#6157)

* fix(channel): improve proxy client compatibility and cache lifecycle

* test(controller): use non-fatal assertions for channel tests
This commit is contained in:
yyhhyyyyyy
2026-07-20 18:11:22 +08:00
committed by GitHub
parent 08677566f8
commit e13d4033e5
26 changed files with 537 additions and 147 deletions
+13 -5
View File
@@ -1,6 +1,6 @@
# 渠道外设置说明
# 渠道外设置说明
该配置用于设置一些额外的渠道参数,可以通过 JSON 对象进行配置。主要包含以下个设置项:
该配置用于设置一些额外的渠道参数,可以通过 JSON 对象进行配置。主要包含以下个设置项:
1. force_format
- 用于标识是否对数据进行强制格式化为 OpenAI 格式
@@ -8,7 +8,9 @@
2. proxy
- 用于配置网络代理
- 类型为字符串,填写代理地址(例如 socks5 协议的代理地址)
- 类型为字符串,支持 `http``https``socks5``socks5h` 协议
- 保存时必须包含协议和主机;仅允许空路径或根路径 `/`,不允许 query 或 fragment
- SOCKS 代理未填写端口时,运行时使用默认端口 `1080`
3. thinking_to_content
- 用于标识是否将思考内容`reasoning_content`转换为`<think>`标签拼接到内容中返回
@@ -23,11 +25,17 @@
```json
{
"force_format": true,
"thinking_to_content": true,
"proxy": "socks5://xxxxxxx"
"thinking_to_content": true,
"proxy": "socks5://proxy.example:1080"
}
```
--------------------------------------------------------------
通过调整上述 JSON 配置中的值,可以灵活控制渠道的额外行为,比如是否进行格式化以及使用特定的网络代理。
## 升级兼容性
旧版本会忽略代理地址中的 path、query 和 fragment。为避免升级后中断已有渠道流量,运行时会继续剥离这些遗留后缀,并对同一代理地址每个进程记录一次不含凭证和后缀的警告。该兼容逻辑不会改写数据库;再次保存渠道时必须按上述严格规则修正代理地址。
代理连接使用 30 秒 TCP 拨号超时和 30 秒 KeepAlive;TLS 握手超时为 10 秒。这些超时同样适用于未配置渠道代理的中转请求。