新增SOCKS5代理支持,更新代理配置和依赖项,优化日志信息以更清晰地显示代理使用情况。

This commit is contained in:
minecraft1024a
2025-08-13 11:49:12 +08:00
committed by Windpicker-owo
parent bda33f6279
commit fccf024208

View File

@@ -190,16 +190,21 @@ class URLParserTool(BaseTool):
proxies = None proxies = None
if enable_proxy: if enable_proxy:
socks5_proxy = self.get_config("proxy.socks5_proxy", None)
http_proxy = self.get_config("proxy.http_proxy", None) http_proxy = self.get_config("proxy.http_proxy", None)
https_proxy = self.get_config("proxy.https_proxy", None) https_proxy = self.get_config("proxy.https_proxy", None)
if http_proxy or https_proxy: # 优先使用SOCKS5代理全协议代理
if socks5_proxy:
proxies = socks5_proxy
logger.info(f"使用SOCKS5代理: {socks5_proxy}")
elif http_proxy or https_proxy:
proxies = {} proxies = {}
if http_proxy: if http_proxy:
proxies["http://"] = http_proxy proxies["http://"] = http_proxy
if https_proxy: if https_proxy:
proxies["https://"] = https_proxy proxies["https://"] = https_proxy
logger.info(f"使用代理配置: {proxies}") logger.info(f"使用HTTP/HTTPS代理配置: {proxies}")
client_kwargs = {"timeout": 15.0, "follow_redirects": True} client_kwargs = {"timeout": 15.0, "follow_redirects": True}
if proxies: if proxies:
@@ -393,7 +398,7 @@ class WEBSEARCHPLUGIN(BasePlugin):
plugin_name: str = "web_search_tool" # 内部标识符 plugin_name: str = "web_search_tool" # 内部标识符
enable_plugin: bool = True enable_plugin: bool = True
dependencies: List[str] = [] # 插件依赖列表 dependencies: List[str] = [] # 插件依赖列表
python_dependencies: List[str] = ["asyncddgs","exa_py"] # Python包依赖列表 python_dependencies: List[str] = ["asyncddgs","exa_py","httpx[socks]"] # Python包依赖列表
config_file_name: str = "config.toml" # 配置文件名 config_file_name: str = "config.toml" # 配置文件名
# 配置节描述 # 配置节描述
@@ -412,6 +417,7 @@ class WEBSEARCHPLUGIN(BasePlugin):
"proxy": { "proxy": {
"http_proxy": ConfigField(type=str, default=None, description="HTTP代理地址格式如: http://proxy.example.com:8080"), "http_proxy": ConfigField(type=str, default=None, description="HTTP代理地址格式如: http://proxy.example.com:8080"),
"https_proxy": ConfigField(type=str, default=None, description="HTTPS代理地址格式如: http://proxy.example.com:8080"), "https_proxy": ConfigField(type=str, default=None, description="HTTPS代理地址格式如: http://proxy.example.com:8080"),
"socks5_proxy": ConfigField(type=str, default=None, description="SOCKS5代理地址格式如: socks5://proxy.example.com:1080"),
"enable_proxy": ConfigField(type=bool, default=False, description="是否启用代理") "enable_proxy": ConfigField(type=bool, default=False, description="是否启用代理")
}, },
"components":{ "components":{