媒体库搜索工具技能,用于通过 search.py 脚本搜索媒体内容。
bash
python3 search.py --json-input '{"keywords": "搜索关键词", "limit": 10}' [--output-file results.json] [--output-console]
--json-input: JSON格式的搜索参数参数名类型默认值可选值/格式必填说明keywordsstring无多个关键词用空格分隔是用户输入的搜索主题(如“乡村振兴 最新政策”),系统会自动拆分关键词提升召回率keyword_positionstring标题或正文``仅标题、 仅正文、 标题或正文否指定关键词匹配位置publish_time_startstring (datetime)见规则yyyy-MM-dd HH:mm:ss否发布时间开始时间,支持模糊时间词(见下)publish_time_endstring (datetime)当前时间yyyy-MM-dd HH:mm:ss否发布时间结束时间data_typestring全部news,app,weibo,wechat,wemedia,epaper(逗号分隔)否数据来源类型source_namestring全部信源任意信源名称否指定媒体来源(支持模糊匹配) 如“人民日报”、“新华社”、“澎湃新闻”limitinteger101 ~ 50否返回结果数量
用于对用户输入的 keywords 进行智能拆分与规范化处理,以提升检索召回率与相关性。
乡村振兴 最新政策["乡村振兴", "最新政策"]AI Policy → ai policy)人工智能发展["人工智能", "发展"]AI发展趋势["ai", "发展", "趋势"]5G产业["5g", "产业"]系统可过滤无意义词:的、了、和、是、在、与、及、以及、相关、方面、情况
用于从用户输入(关键词 / 对话文本)中识别时间表达,并转换为标准时间范围( publish_time_start / publish_time_end)。
关键词转换规则最新 / 实时当前时间 - 24 小时近期 / 最近当前时间 - 3 天
表达转换规则最近1天 / 过去1天当前时间 - 1 天最近3天当前时间 - 3 天最近7天 / 最近一周当前时间 - 7 天最近1个月当前时间 - 30 天最近3个月当前时间 - 90 天
表达转换规则今天当天 00:00:00 ~ 当前时间昨天昨天 00:00:00 ~ 23:59:59前天前天 00:00:00 ~ 23:59:59本周本周一 00:00:00 ~ 当前时间上周上周一 00:00:00 ~ 上周日 23:59:59本月本月1号 00:00:00 ~ 当前时间上月上月1号 00:00:00 ~ 上月最后一天 23:59:59今年当年 01-01 00:00:00 ~ 当前时间去年去年 01-01 00:00:00 ~ 12-31 23:59:59
当用户 未提供任何时间信息 时: publish_time_start = 当前时间 - 90 天 publish_time_end = 当前时间
now)--output-file (string, optional): 将结果保存到指定JSON文件--output-console (flag, optional): 强制输出到控制台当指定 --output-file 时保存为JSON格式:
json
{
"total": 100,
"fallback_to_web": false,
"items": [
{
"title": "文章标题",
"summary": "文章摘要",
"source_name": "信源名称",
"data_type": "news",
"url": "https://example.com"
}
]
}
格式化文本输出到控制台,包含:
默认情况下,所有生成的文件保存在当前SKILL目录下:
sources/result.json生成的JSON文件应根据情况删除:
示例清理流程:
bash
# 生成结果到指定目录
python3 search.py --json-input '{"keywords": "test"}' --output-file sources/result.json
# 使用结果后,如不再需要则清理
rm sources/result.json # 删除临时JSON文件
bash
python3 search.py --json-input '{"keywords": "人工智能 政策", "limit": 20}'
bash
python3 search.py --json-input '{"keywords": "乡村振兴", "limit": 10}'
bash
python3 search.py --json-input '{
"keywords": "人民日报 一带一路",
"source_name": "人民日报",
"publish_time_start": "2026-03-25 00:00:00",
"publish_time_end": "2026-04-01 17:02:28"
}'
bash
python3 search.py --json-input '{"keywords": "经济 发展"}' --output-file results.json
bash
python3 search.py --json-input '{"keywords": "科技创新"}' --output-console
需要配置API密钥环境变量:
NEWS_BIGDATA_API_KEY: API密钥NEWS_BIGDATA_API_SECRET: API密钥密钥当运行 search.py 脚本发生异常时:
常见异常情况:
scripts/media_search.py: 核心搜索引擎scripts/SearchParameters: 搜索参数模型scripts/MediaSearchEngine: 媒体搜索引擎类bash
# 1. Search and view results in console
python3 search.py --json-input '{"keywords": "关键词"}' --output-console
# 2. Search and save to file
python3 search.py --json-input '{"keywords": "关键词"}' --output-file results.json
# 3. Search with filters
python3 search.py --json-input '{
"keywords": "关键词",
"limit": 20
}'
bash
# Search with multiple criteria
python3 search.py --json-input '{
"keywords": "人工智能 机器学习",
"keyword_position": "标题或正文",
"source_name": "科技日报",
"limit": 30
}' --output-file ai_research.json
NEWS_BIGDATA_API_KEY 和 NEWS_BIGDATA_API_SECRET