test_search_posts.py 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. """
  2. 测试 search_posts 工具
  3. """
  4. import asyncio
  5. import sys
  6. import os
  7. from pathlib import Path
  8. # 添加项目根目录到路径
  9. sys.path.insert(0, str(Path(__file__).parent.parent.parent))
  10. # 测试1: 不设置NO_PROXY
  11. print("="*60)
  12. print("测试 1: 不设置 NO_PROXY (应该失败)")
  13. print("="*60)
  14. from agent.tools.builtin.search import search_posts
  15. async def test_without_fix():
  16. result = await search_posts(keyword="多模态特征", channel="xhs", max_count=3)
  17. print(f"标题: {result.title}")
  18. print(f"输出长度: {len(result.output)}")
  19. if result.error:
  20. print(f"错误: {result.error}")
  21. return result.error is None
  22. result1 = asyncio.run(test_without_fix())
  23. print(f"结果: {'✅ 成功' if result1 else '❌ 失败'}")
  24. # 测试2: 设置NO_PROXY
  25. print("\n" + "="*60)
  26. print("测试 2: 设置 NO_PROXY (应该成功)")
  27. print("="*60)
  28. os.environ['NO_PROXY'] = '*'
  29. os.environ['no_proxy'] = '*'
  30. # 重新导入以应用环境变量
  31. import importlib
  32. import agent.tools.builtin.search
  33. importlib.reload(agent.tools.builtin.search)
  34. from agent.tools.builtin.search import search_posts as search_posts_fixed
  35. async def test_with_fix():
  36. result = await search_posts_fixed(keyword="多模态特征", channel="xhs", max_count=3)
  37. print(f"标题: {result.title}")
  38. print(f"输出长度: {len(result.output)}")
  39. if result.error:
  40. print(f"错误: {result.error}")
  41. else:
  42. print(f"前100字符: {result.output[:100]}")
  43. return result.error is None
  44. result2 = asyncio.run(test_with_fix())
  45. print(f"结果: {'✅ 成功' if result2 else '❌ 失败'}")
  46. # 总结
  47. print("\n" + "="*60)
  48. print("总结")
  49. print("="*60)
  50. print(f"不设置 NO_PROXY: {'✅ 成功' if result1 else '❌ 失败'}")
  51. print(f"设置 NO_PROXY: {'✅ 成功' if result2 else '❌ 失败'}")
  52. if not result1 and result2:
  53. print("\n💡 确认:search_posts 工具也受代理环境变量影响")
  54. print("解决方案:在 run.py 开头设置 NO_PROXY 环境变量")