""" 测试 search_posts 工具 """ import asyncio import sys import os from pathlib import Path # 添加项目根目录到路径 sys.path.insert(0, str(Path(__file__).parent.parent.parent)) # 测试1: 不设置NO_PROXY print("="*60) print("测试 1: 不设置 NO_PROXY (应该失败)") print("="*60) from agent.tools.builtin.search import search_posts async def test_without_fix(): result = await search_posts(keyword="多模态特征", channel="xhs", max_count=3) print(f"标题: {result.title}") print(f"输出长度: {len(result.output)}") if result.error: print(f"错误: {result.error}") return result.error is None result1 = asyncio.run(test_without_fix()) print(f"结果: {'✅ 成功' if result1 else '❌ 失败'}") # 测试2: 设置NO_PROXY print("\n" + "="*60) print("测试 2: 设置 NO_PROXY (应该成功)") print("="*60) os.environ['NO_PROXY'] = '*' os.environ['no_proxy'] = '*' # 重新导入以应用环境变量 import importlib import agent.tools.builtin.search importlib.reload(agent.tools.builtin.search) from agent.tools.builtin.search import search_posts as search_posts_fixed async def test_with_fix(): result = await search_posts_fixed(keyword="多模态特征", channel="xhs", max_count=3) print(f"标题: {result.title}") print(f"输出长度: {len(result.output)}") if result.error: print(f"错误: {result.error}") else: print(f"前100字符: {result.output[:100]}") return result.error is None result2 = asyncio.run(test_with_fix()) print(f"结果: {'✅ 成功' if result2 else '❌ 失败'}") # 总结 print("\n" + "="*60) print("总结") print("="*60) print(f"不设置 NO_PROXY: {'✅ 成功' if result1 else '❌ 失败'}") print(f"设置 NO_PROXY: {'✅ 成功' if result2 else '❌ 失败'}") if not result1 and result2: print("\n💡 确认:search_posts 工具也受代理环境变量影响") print("解决方案:在 run.py 开头设置 NO_PROXY 环境变量")