🧪 Skills
gsdata-data-search
通过自然语言描述自动解析并调用GSData项目API,搜索多平台新闻数据,支持情感分析和相对时间范围,结果以Markdown格式返回。
v1.0.2
Description
ES搜索技能
功能概述
ES搜索技能是一个自然语言处理工具,帮助用户通过自然语言描述搜索需求,自动解析并调用ES搜索API,获取符合条件的新闻数据。
主要功能
- 自然语言解析:支持通过自然语言描述搜索需求,自动识别关键词、平台、时间范围、情感属性等参数
- 配置持久化:支持将app_key和token保存到本地配置文件,无需每次输入
- 多平台搜索:支持微博、抖音、微信、知乎、小红书、今日头条、快手等主流平台
- 情感分析:支持搜索正面、负面、中性情感的新闻
- API调用:直接调用ES搜索API获取结构化数据
- Markdown格式输出:默认以Markdown格式显示搜索结果,包含搜索摘要、结果数量和详细表格
- 相对时间解析:支持"近一天"、"近期"、"近一周"等相对时间短语,结束时间设置为当前时间减10分钟
- 双重认证:支持Token认证和HMAC-SHA256签名验证
安装方法
需要安装以下依赖库:
pip install requests
使用方法
1. 基础使用
方式一:直接输入搜索需求
python es_search.py "帮我获取关于小米汽车近7天的微博正面文章"
方式二:从文件读取输入
python es_search.py --file input.txt
2. 配置管理
保存配置
python es_search.py --save-config your_app_key
显示配置
python es_search.py --show-config
清除配置
python es_search.py --clear-config
3. 参数解析模式(可选)
如果您只需要解析参数而不调用API,可以使用 --no-call-api 选项:
python es_search.py --no-call-api "帮我获取关于小米汽车的最新正面新闻"
4. API调用模式(默认)
如果您需要直接调用API并返回Markdown格式的结果,可以直接使用命令而不需要额外选项:
python es_search.py "帮我获取关于新能源汽车近一周的负面新闻"
搜索语法示例
基础搜索
"帮我获取关于小米汽车的最新新闻"
指定平台
"帮我获取关于比亚迪的微博或抖音新闻"
指定情感属性
"帮我获取5篇关于特斯拉的负面新闻"
指定时间范围
"帮我获取2026-03-10到2026-03-12关于华为的新闻"
相对时间搜索
"帮我获取关于人工智能近一天的新闻"
"帮我获取10篇关于新能源汽车近期的新闻"
"帮我获取8篇关于比亚迪近一周的新闻"
"帮我获取3篇关于华为近一个月的新闻"
完整示例
"帮我获取8篇关于小米手机 微博或者小红书的 2026-03-10到2026-03-12的正面新闻"
相对时间支持
工具支持以下相对时间短语:
| 时间短语 | 对应时间范围 |
|---|---|
| 近一天、最近一天、过去一天 | 过去24小时 |
| 近3天、最近3天、过去3天、近三天、最近三天、过去三天 | 过去3天 |
| 近一周、最近一周、过去一周、近7天、最近7天 | 过去7天 |
| 近两周、最近两周、过去两周、近14天、最近14天 | 过去14天 |
| 近一个月、最近一个月、过去一个月、近30天、最近30天 | 过去30天 |
| 近三个月、最近三个月、过去三个月、近90天、最近90天 | 过去90天 |
| 近期、最近、最新 | 过去7天(默认) |
API参数说明
请求参数
| 参数名称 | 描述 | 必填 |
|---|---|---|
| keywords_include | 关键词 | 是 |
| media_name | 账号名称 | 否 |
| platform_name | 平台名称 | 否 |
| posttime_start | 发布开始时间 | 否 |
| posttime_end | 发布结束时间 | 否 |
| news_emotion | 情感属性 | 否 |
| match_type | 匹配类型 | 否 |
| media_id | 媒体账号ID | 否 |
| keywords_exclude | 排除关键词 | 否 |
返回字段
| 字段名称 | 描述 |
|---|---|
| platform_name | 平台名称 |
| media_name | 账号名称 |
| news_url | 新闻链接 |
| news_title | 新闻标题 |
| news_posttime | 发布时间 |
| news_author | 作者 |
| news_emotion | 情感属性 |
| news_uuid | 新闻唯一标识 |
| media_id | 媒体账号ID |
| platform | 平台标识 |
配置文件
配置文件config.json存储在技能目录下,格式如下:
{
"app_key": "your_app_key"
}
注意事项
- 首次使用需要输入app_key和token,可以通过
--save-config选项保存配置 - 配置文件以明文形式存储在本地,请注意安全
- 搜索结果数量由API返回,工具会进行适当格式化
- 时间格式支持YYYY-MM-DD或YYYY-MM-DD HH:MM:SS
- 相对时间搜索的结束时间设置为当前时间减10分钟,避免搜索到未完全处理的最新数据
更新日志
v1.3.0(2026-03-03)
- 优化网络请求配置,增加超时时间到60秒
- 改进错误处理机制,提供更详细的错误信息和解决建议
- 增强网络请求的容错处理,添加重试机制
- 改进API响应处理,支持更详细的错误状态码解析
- 优化搜索参数解析逻辑,增强对关键词和数量的提取能力
- 改进配置管理系统,支持同时保存app_key和token
- 添加默认返回结果数量配置(默认20条)
- 增强对"最新"、"近期"等时间关键词的解析
v1.2.0(2026-03-03)
- 移除API请求时的Authorization header
- 简化配置文件,只保留app_key
- 更新--save-config命令为接受一个参数
- 更新错误提示信息
v1.1.0(2026-03-03)
- 改进参数解析方式,不再使用正则表达式
- 采用大模型的自然语言理解能力解析搜索参数
- 优化了关键词、平台、情感属性的提取逻辑
- 保持了所有原有功能,包括配置持久化和API调用
v1.0.0(2026-03-03)
- 首次发布
- 支持自然语言搜索
- 支持配置持久化
- 支持多平台搜索
- 支持情感分析
- 支持双重认证
Reviews (0)
Sign in to write a review.
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!