| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- """
- 测试 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 环境变量")
|