微信搜索
微信公众号文章搜索技能(systemcmd API版本)
技能描述
此技能通过systemcmd API调用Node.js脚本,实现微信公众号文章搜索功能。该技能基于search_wechat.js脚本,通过系统命令执行搜索,获取微信公众号文章列表,包括标题、摘要、发布时间、公众号名称和可访问链接。
适用场景
- 用户说“帮我搜某个关键词的公众号文章/最近文章”
- 需要快速拿到:标题、摘要、发布时间、公众号名称、可访问链接
- 整理参考资料或批量获取微信公众号文章信息
触发条件
当用户明确要求搜索微信公众号文章时触发。例如:
- “帮我搜索关于‘AI’的公众号文章”
- “查找最近关于‘人工智能’的微信文章”
- “搜一下‘browser-use’相关的公众号推文”
API端点
| HTTP方法 | 路由路径 | 描述 | 请求参数 | 响应格式 |
|---|---|---|---|---|
| POST | /systemcmd/run-sync |
执行微信公众号文章搜索命令 | cmd: node命令字符串cwd: 工作目录ostype: 操作系统类型timeout: 超时时间(毫秒,默认30000) |
{ret: boolean, msg: string, data: {output: string, error: string, exitCode: number, success: boolean}} |
执行流程
步骤1:无须执行此步骤
步骤2:确认搜索参数
与用户确认以下参数:
- 关键词(必填):要搜索的微信公众号文章关键词
- 返回数量(可选):默认10条,最大50条
- 是否解析真实链接(可选):默认不解析,如需获取真实文章链接可开启
- 是否保存结果到文件(可选):如需保存可指定输出文件路径
步骤3:执行搜索命令
基础搜索命令
{
"cmd": "node /home/agents/search_wechat.js \"关键词\"",
"cwd": "/home/agents",
"ostype": "linux",
"timeout": 30000
}
带数量限制的搜索
{
"cmd": "node /home/agents/search_wechat.js \"关键词\" -n 15",
"cwd": "/home/agents",
"ostype": "linux",
"timeout": 30000
}
解析真实链接的搜索
{
"cmd": "node /home/agents/search_wechat.js \"关键词\" -n 5 -r",
"cwd": "/home/agents",
"ostype": "linux",
"timeout": 60000
}
保存结果到文件
{
"cmd": "node /home/agents/search_wechat.js \"关键词\" -n 20 -o result.json",
"cwd": "/home/agents",
"ostype": "linux",
"timeout": 30000
}
组合参数示例
{
"cmd": "node /home/agents/search_wechat.js \"人工智能\" -n 10 -r -o ai_articles.json",
"cwd": "/home/agents",
"ostype": "linux",
"timeout": 60000
}
步骤4:解析并返回结果
脚本执行后会输出JSON格式的搜索结果,包含以下字段:
- 文章标题
- 文章地址(或中间链接)
- 文章概要
- 发布时间
- 来源公众号名称
将结果解析后以清晰、易读的格式返回给用户。
参数说明
| 参数 | 简写 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| query | - | string | 是 | - | 搜索关键词 |
| --num | -n | number | 否 | 10 | 返回文章数量,最大50 |
| --output | -o | string | 否 | - | 输出JSON文件路径 |
| --resolve-url | -r | boolean | 否 | false | 是否解析真实链接 |
响应格式说明
成功响应格式
{
"ret": true,
"msg": "success",
"data": {
"output": "{\"status\":\"success\",\"message\":\"搜索完成\",\"data\":{\"keyword\":\"browser-use\",\"total\":5,\"articles\":[...]}}",
"error": "",
"exitCode": 0,
"success": true
}
}
失败响应格式
{
"ret": false,
"msg": "搜索失败:命令执行错误",
"data": {
"output": "",
"error": "错误详细信息",
"exitCode": 非零值,
"success": false
}
}
完整示例流程
以搜索关键词browser-use,返回5篇文章为例:
1. 执行搜索命令
{
"cmd": "node /home/agents/search_wechat.js \"browser-use\" -n 5",
"cwd": "/home/agents",
"ostype": "linux",
"timeout": 30000
}
3. 命令输出示例
{
"status": "success",
"message": "搜索完成",
"data": {
"keyword": "browser-use",
"total": 5,
"articles": [
{
"title": "Browser Use:让AI像人一样操控浏览器的革命性工具",
"url": "https://mp.weixin.qq.com/s/xxx",
"summary": "Browser Use是一款专为大语言模型设计的浏览器自动化工具...",
"publishTime": "2024-01-15",
"source": "AI前沿"
},
{
"title": "深度解析:Browser-Use如何赋能AI Agent",
"url": "https://mp.weixin.qq.com/s/yyy",
"summary": "本文深入探讨Browser-Use的技术原理和应用场景...",
"publishTime": "2024-01-10",
"source": "技术洞察"
}
]
}
}
4. 格式化返回结果
将搜索结果以清晰格式呈现给用户:
为您找到关于“browser-use”的5篇微信公众号文章:
1. 【Browser Use:让AI像人一样操控浏览器的革命性工具】
来源:AI前沿
时间:2024-01-15
概要:Browser Use是一款专为大语言模型设计的浏览器自动化工具...
链接:https://mp.weixin.qq.com/s/xxx
2. 【深度解析:Browser-Use如何赋能AI Agent】
来源:技术洞察
时间:2024-01-10
概要:本文深入探讨Browser-Use的技术原理和应用场景...
链接:https://mp.weixin.qq.com/s/yyy
错误处理
| 错误场景 | 处理方式 |
|---|---|
| Node.js未安装 | 返回错误信息“Node.js环境未安装,请先安装Node.js” |
| cheerio未安装 | 提示执行安装命令或自动尝试安装 |
| 脚本文件不存在 | 检查/home/agents/search_wechat.js是否存在 |
| 命令执行超时 | 增加timeout时间或减少返回数量 |
| 搜索结果为空 | 返回“未找到相关微信公众号文章,请尝试其他关键词” |
| 解析真实链接失败 | 正常返回中间链接,提示用户可手动打开 |
超时时间建议
| 操作类型 | 建议超时时间 |
|---|---|
| 基础搜索(n≤10) | 30000ms (30秒) |
| 大量搜索(n>10) | 45000ms (45秒) |
| 解析真实链接(-r) | 60000ms (60秒) |
| 安装依赖 | 60000ms (60秒) |
注意事项
- 工作目录:确保
cwd设置为包含search_wechat.js脚本的目录 - 脚本路径:确认
/home/agents/search_wechat.js路径正确 - 网络环境:搜索功能需要网络连接,确保服务器可访问互联网
- 反爬限制:微信搜索可能存在反爬机制,结果为空时可稍后重试
- 频率限制:避免频繁调用,可能导致IP被封禁
- 真实链接解析:启用
-r参数会增加请求次数和时间,建议仅在必要时使用 - 隐私合规:本工具仅用于学习和研究目的,请勿用于商业用途或大规模爬取
与其他技能的配合使用
- 联网搜索技能:可结合使用,先通过微信公众号文章搜索获取微信生态内容,再通过联网搜索获取更广泛的互联网信息
- Android设备控制技能:可将搜索结果通过设备控制技能在手机上打开或分享