back
loading skill details...
通过自然语言描述自动解析并调用GSData项目API,搜索多平台新闻数据,支持情感分析和相对时间范围,结果以Markdown格式返回。
# ES搜索技能
## 功能概述
ES搜索技能是一个自然语言处理工具,帮助用户通过自然语言描述搜索需求,自动解析并调用ES搜索API,获取符合条件的新闻数据。
## 主要功能
1. **自然语言解析**:支持通过自然语言描述搜索需求,自动识别关键词、平台、时间范围、情感属性等参数
2. **配置持久化**:支持将app_key和token保存到本地配置文件,无需每次输入
3. **多平台搜索**:支持微博、抖音、微信、知乎、小红书、今日头条、快手等主流平台
4. **情感分析**:支持搜索正面、负面、中性情感的新闻
5. **API调用**:直接调用ES搜索API获取结构化数据
6. **Markdown格式输出**:默认以Markdown格式显示搜索结果,包含搜索摘要、结果数量和详细表格
7. **相对时间解析**:支持"近一天"、"近期"、"近一周"等相对时间短语,结束时间设置为当前时间减10分钟
8. **双重认证**:支持Token认证和HMAC-SHA256签名验证
## 安装方法
需要安装以下依赖库:
```bash
pip install requests
```
## 使用方法
### 1. 基础使用
#### 方式一:直接输入搜索需求
```bash
python es_search.py "帮我获取关于小米汽车近7天的微博正面文章"
```
#### 方式二:从文件读取输入
```bash
python es_search.py --file input.txt
```
### 2. 配置管理
#### 保存配置
```bash
python es_search.py --save-config your_app_key
```
#### 显示配置
```bash
python es_search.py --show-config
```
#### 清除配置
```bash
python es_search.py --clear-config
```
### 3. 参数解析模式(可选)
如果您只需要解析参数而不调用API,可以使用 `--no-call-api` 选项:
```bash
python es_search.py --no-call-api "帮我获取关于小米汽车的最新正面新闻"
```
### 4. API调用模式(默认)
如果您需要直接调用API并返回Markdown格式的结果,可以直接使用命令而不需要额外选项:
```bash
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`存储在技能目录下,格式如下:
```json
{
"app_key": "your_app_key"
}
```
## 注意事项
1. 首次使用需要输入app_key和token,可以通过`--save-config`选项保存配置
2. 配置文件以明文形式存储在本地,请注意安全
3. 搜索结果数量由API返回,工具会进行适当格式化
4. 时间格式支持YYYY-MM-DD或YYYY-MM-DD HH:MM:SS
5. 相对时间搜索的结束时间设置为当前时间减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)
- 首次发布
- 支持自然语言搜索
- 支持配置持久化
- 支持多平台搜索
- 支持情感分析
- 支持双重认证
don't have the plugin yet? install it then click "run inline in claude" again.