Update agent.go

This commit is contained in:
公明
2025-11-10 03:14:09 +08:00
committed by GitHub
parent df531e6910
commit dbdd447278

View File

@@ -6,6 +6,7 @@ import (
"encoding/json"
"fmt"
"io"
"net"
"net/http"
"strings"
"time"
@@ -30,8 +31,28 @@ func NewAgent(cfg *config.OpenAIConfig, mcpServer *mcp.Server, logger *zap.Logge
if maxIterations <= 0 {
maxIterations = 30
}
// 配置HTTP Transport优化连接管理和超时设置
transport := &http.Transport{
DialContext: (&net.Dialer{
Timeout: 30 * time.Second,
KeepAlive: 30 * time.Second,
}).DialContext,
MaxIdleConns: 100,
MaxIdleConnsPerHost: 10,
IdleConnTimeout: 90 * time.Second,
TLSHandshakeTimeout: 10 * time.Second,
ResponseHeaderTimeout: 5 * time.Minute, // 响应头超时
DisableKeepAlives: false, // 启用连接复用
}
// 增加超时时间到30分钟以支持长时间运行的AI推理
// 特别是当使用流式响应或处理复杂任务时
return &Agent{
openAIClient: &http.Client{Timeout: 5 * time.Minute},
openAIClient: &http.Client{
Timeout: 30 * time.Minute, // 从5分钟增加到30分钟
Transport: transport,
},
config: cfg,
mcpServer: mcpServer,
logger: logger,