查询和分析来自 Octolens API 的品牌提及。当用户需要获取提及、追踪关键词、按来源平台(Twitter、Reddit、GitHub、LinkedIn 等)筛选、进行情感分析或分析社交媒体互动时使用。支持通过 AND/OR 逻辑、日期范围、粉丝数和书签进行复杂筛选。
Octollens API 技能
功能概述
Octollens API 技能是一项面向实际任务的技能,主要用于何时使用此技能;当用户需要时使用此技能;
核心要点
- 社交媒体和其他平台的Fetch品牌提及;
- Filter 引用源代码( Twitter, Reddit, GitHub, Li)。
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
使用与执行
使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
结果检查与注意事项
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
Octolens API 技能
何时使用此技能
当用户需要执行以下操作时,请使用此技能:
- 从社交媒体及其他平台抓取品牌提及(mentions)
- 按来源筛选提及(Twitter、Reddit、GitHub、LinkedIn、YouTube、HackerNews、DevTO、StackOverflow、Bluesky、新闻简报、播客)
- 分析情感倾向(正面、中性、负面)
- 按作者粉丝数或互动量进行筛选
- 搜索特定关键词或标签
- 按日期范围查询提及
- 列出可用的关键词或已保存的视图(saved views)
- 应用包含 AND/OR 条件的复杂筛选逻辑
API 认证
Octolens API 使用 Bearer Token 进行身份验证。用户应提供其 API 密钥,你需将其放入 Authorization 请求头中:
Authorization: Bearer YOUR_API_KEY
重要提示:在发起任何 API 调用前,务必先向用户索取其 API 密钥,并将该密钥存入变量以供后续请求复用。
基础 URL
所有 API 接口均基于以下基础地址:https://app.octolens.com/api/v1
速率限制
- 限制:每小时最多 500 次请求
- 查看方式:响应头中的
X-RateLimit-*字段可反映当前使用情况
可用接口
1. POST /mentions
根据关键词获取匹配的提及内容,并支持可选的筛选条件。返回结果按时间戳倒序排列(最新优先)。
关键参数:
limit(数字,取值范围 1–100):返回结果的最大数量(默认为 20)cursor(字符串):上一次响应中提供的分页游标(pagination cursor)includeAll(布尔值):是否包含低相关性内容(默认为 false)view(数字):用于筛选的视图 IDfilters(对象):筛选条件(详见“提及筛选”章节)
示例响应:
{
"data": [
{
"id": "abc123",
"url": "https://twitter.com/user/status/123",
"body": "Just discovered @YourProduct - this is exactly what I needed!",
"source": "twitter",
"timestamp": "2024-01-15T10:30:00Z",
"author": "user123",
"authorName": "John Doe",
"authorFollowers": 5420,
"relevance": "relevant",
"sentiment": "positive",
"language": "en",
"tags": ["feature-request"],
"keywords": [{ "id": 1, "keyword": "YourProduct" }],
"bookmarked": false,
"engaged": false
}
],
"cursor": "eyJsYXN0SWQiOiAiYWJjMTIzIn0="
}
2. GET /keywords
列出组织内配置的所有关键词。
示例响应:
{
"data": [
{
"id": 1,
"keyword": "YourProduct",
"platforms": ["twitter", "reddit", "github"],
"color": "#6366f1",
"paused": false,
"context": "Our main product name"
}
]
}
3. GET /views
列出所有已保存的视图(即预配置的筛选器)。
示例响应:
{
"data": [
{
"id": 1,
"name": "High Priority",
"icon": "star",
"filters": {
"sentiment": ["positive", "negative"],
"source": ["twitter"]
},
"createdAt": "2024-01-01T00:00:00Z"
}
]
}
提及筛选
/mentions 接口支持两种模式的强大筛选能力:
简易模式(隐式 AND)
将筛选字段直接置于 filters 对象中,所有条件自动按逻辑与(AND)组合。
{
"filters": {
"source": ["twitter", "linkedin"],
"sentiment": ["positive"],
"minXFollowers": 1000
}
}
→ 等价于:source IN (twitter, linkedin) AND sentiment = positive AND followers ≥ 1000
排除项(Exclusions)
对任意数组型字段添加前缀 ! 即可实现排除语义:
{
"filters": {
"source": ["twitter"],
"!keyword": [5, 6]
}
}
→ 等价于:source = twitter AND keyword NOT IN (5, 6)
高级模式(AND/OR 分组)
通过 operator 和 groups 字段构建嵌套逻辑表达式:
{
"filters": {
"operator": "AND",
"groups": [
{
"operator": "OR",
"conditions": [
{ "source": ["twitter"] },
{ "source": ["linkedin"] }
]
},
{
"operator": "AND",
"conditions": [
{ "sentiment": ["positive"] },
{ "!tag": ["spam"] }
]
}
]
}
}
→ 等价于:(source = twitter OR source = linkedin) AND (sentiment = positive AND tag ≠ spam)
可用筛选字段
| 字段 | 类型 | 说明 |
|---|---|---|
source |
string[] | 平台列表:twitter、reddit、github、linkedin、youtube、hackernews、devto、stackoverflow、bluesky、newsletter、podcast |
sentiment |
string[] | 取值:positive、neutral、negative |
keyword |
string[] | 关键词 ID(需通过 /keywords 接口获取) |
language |
string[] | ISO 639-1 语言代码:en、es、fr、de、pt、it、nl、ja、ko、zh |
tag |
string[] | 标签名称 |
bookmarked |
boolean | 筛选已收藏(true)或未收藏(false)的内容 |
engaged |
boolean | 筛选已互动(true)或未互动(false)的内容 |
minXFollowers |
number | Twitter 平台作者最小粉丝数 |
maxXFollowers |
number | Twitter 平台作者最大粉丝数 |
startDate |
string | ISO 8601 格式(例如 "2024-01-15T00:00:00Z") |
endDate |
string | ISO 8601 格式 |
使用内置脚本
本技能附带若干辅助脚本,用于快速完成常见操作。可通过它们便捷地调用 API:
获取提及内容
node scripts/fetch-mentions.js YOUR_API_KEY [limit] [includeAll]
列出关键词
node scripts/list-keywords.js YOUR_API_KEY
列出视图
node scripts/list-views.js YOUR_API_KEY
自定义筛选查询
node scripts/query-mentions.js YOUR_API_KEY '{"source": ["twitter"], "sentiment": ["positive"]}' [limit]
高级查询
node scripts/advanced-query.js YOUR_API_KEY [limit]
最佳实践
- 始终先索取 API 密钥,再发起请求
- 尽可能使用视图(views),复用预设的筛选逻辑
- 从简易筛选起步,再根据需要逐步增加复杂度
- 检查速率限制:关注响应头中的
X-RateLimit-*字段 - 合理使用分页:对大量结果务必借助
cursor参数进行分页处理 - 日期格式必须为 ISO 8601(例如
"2024-01-15T00:00:00Z") - 使用关键词前先获取 ID:须先调用
/keywords接口获得关键词 ID - 善用排除语法(!):过滤掉不相关或低质量内容
- 结合
includeAll=false与相关性筛选,提升结果质量
典型使用场景
查找粉丝数高且情感为正面的 Twitter 提及
{
"limit": 20,
"filters": {
"source": ["twitter"],
"sentiment": ["positive"],
"minXFollowers": 1000
}
}
排除含 spam 标签的内容,并获取 Reddit 与 GitHub 提及
{
"limit": 50,
"filters": {
"source": ["reddit", "github"],
"!tag": ["spam", "irrelevant"]
}
}
复杂查询:(Twitter OR LinkedIn) AND 正面情感,近 7 天
{
"limit": 30,
"filters": {
"operator": "AND",
"groups": [
{
"operator": "OR",
"conditions": [
{ "source": ["twitter"] },
{ "source": ["linkedin"] }
]
},
{
"operator": "AND",
"conditions": [
{ "sentiment": ["positive"] },
{ "startDate": "2024-01-20T00:00:00Z" }
]
}
]
}
}
错误处理
| 状态码 | 错误码 | 说明 |
|---|---|---|
| 401 | unauthorized | 缺失或无效的 API 密钥 |
| 403 | forbidden | 密钥有效但无访问权限 |
| 404 | not_found | 资源不存在(如指定的 view ID 无效) |
| 429 | rate_limit_exceeded | 请求超频 |
| 400 | invalid_request | 请求体格式错误 |
| 500 | internal_error | 服务端内部错误,请稍后重试 |
分步工作流
当用户提出 Octolens 数据查询请求时,请按以下流程执行:
- 索取 API 密钥:若尚未提供,则立即询问
- 明确查询意图:用户具体希望获取哪类信息?
- 确定所需筛选条件:来源、情感倾向、时间范围等
- 确认是否适用已有视图:若用户提及“已保存的筛选器”,请优先调用
/views列出选项 - 构建查询参数:首选简易模式;复杂逻辑再启用高级模式
- 执行请求:使用内置 Node.js 脚本,或直接调用 fetch API
- 解析响应数据:提取关键字段(作者、正文、情感、来源等)
- 处理分页:若需更多结果,请复用响应中的
cursor值发起下一页请求 - 呈现分析结果:归纳核心发现,指出趋势与模式(如高频作者、主流平台分布、情感变化等)
示例
示例 1:简易查询
用户:“展示最近 7 天内来自 Twitter 的正面提及”
操作(使用内置脚本):
node scripts/query-mentions.js YOUR_API_KEY '{"source": ["twitter"], "sentiment": ["positive"], "startDate": "2024-01-20T00:00:00Z"}'
替代方案(直接调用 fetch API):
const response = await fetch('https://app.octolens.com/api/v1/mentions', {
method: 'POST',
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
limit: 20,
filters: {
source: ['twitter'],
sentiment: ['positive'],
startDate: '2024-01-20T00:00:00Z',
},
}),
});
const data = await response.json();
示例 2:高级查询
用户:“查找来自 Reddit 或 GitHub 的提及,排除带 spam 标签的内容,且情感为正面或中性”
操作(使用内置脚本):
node scripts/query-mentions.js YOUR_API_KEY '{"operator": "AND", "groups": [{"operator": "OR", "conditions": [{"source": ["reddit"]}, {"source": ["github"]}]}, {"operator": "OR", "conditions": [{"sentiment": ["positive"]}, {"sentiment": ["neutral"]}]}, {"operator": "AND", "conditions": [{"!tag": ["spam"]}]}]}'
替代方案(直接调用 fetch API):
const response = await fetch('https://app.octolens.com/api/v1/mentions', {
method: 'POST',
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
limit: 30,
filters: {
operator: 'AND',
groups: [
{
operator: 'OR',
conditions: [
{ source: ['reddit'] },
{ source: ['github'] },
],
},
{
operator: 'OR',
conditions: [
{ sentiment: ['positive'] },
{ sentiment: ['neutral'] },
],
},
{
operator: 'AND',
conditions: [
{ '!tag': ['spam'] },
],
},
],
},
}),
});
const data = await response.json();
示例 3:先获取关键词
用户:“展示我们主产品关键词的相关提及”
操作步骤:
- 首先列出关键词:
node scripts/list-keywords.js YOUR_API_KEY
- 再使用获取到的关键词 ID 查询提及:
node scripts/query-mentions.js YOUR_API_KEY '{"keyword": [1]}'
代理(Agent)使用提示
- 优先使用内置脚本:Node.js 脚本已自动处理 JSON 解析与错误输出
- 缓存关键词信息:首次获取关键词后,可在当前会话中复用,避免重复请求
- 解释筛选逻辑:使用复杂筛选时,向用户清晰说明其含义(如 “A 与 B 任一满足,且 C 必须满足”)
- 提供结构示例:当用户不确定如何构造筛选条件时,主动展示标准 JSON 示例
- 审慎分页:在请求下一页前,主动询问用户是否需要更多结果
- 强调洞察而非原始数据:不只是罗列结果,还需提炼分析结论(如情感趋势、高频作者、平台占比等)
热门AI工具
相关专题
本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。
0
2026.10.22
本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。
0
2026.10.22
本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。
0
2026.10.22
本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。
0
2026.10.22
本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。
0
2026.10.22
本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。
0
2026.10.22
本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。
0
2026.10.22
PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。
0
2026.10.22
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.5万人学习
共6课时 | 54.7万人学习
最新文章
