Octolens

Polar Sponsor
爱发电 赞助
.NET 9.0

查询和分析来自 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(数字):用于筛选的视图 ID
  • filters(对象):筛选条件(详见“提及筛选”章节)

示例响应:

{
  "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]

最佳实践

  1. 始终先索取 API 密钥,再发起请求
  2. 尽可能使用视图(views),复用预设的筛选逻辑
  3. 从简易筛选起步,再根据需要逐步增加复杂度
  4. 检查速率限制:关注响应头中的 X-RateLimit-* 字段
  5. 合理使用分页:对大量结果务必借助 cursor 参数进行分页处理
  6. 日期格式必须为 ISO 8601(例如 "2024-01-15T00:00:00Z")
  7. 使用关键词前先获取 ID:须先调用 /keywords 接口获得关键词 ID
  8. 善用排除语法(!):过滤掉不相关或低质量内容
  9. 结合 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 数据查询请求时,请按以下流程执行:

  1. 索取 API 密钥:若尚未提供,则立即询问
  2. 明确查询意图:用户具体希望获取哪类信息?
  3. 确定所需筛选条件:来源、情感倾向、时间范围等
  4. 确认是否适用已有视图:若用户提及“已保存的筛选器”,请优先调用 /views 列出选项
  5. 构建查询参数:首选简易模式;复杂逻辑再启用高级模式
  6. 执行请求:使用内置 Node.js 脚本,或直接调用 fetch API
  7. 解析响应数据:提取关键字段(作者、正文、情感、来源等)
  8. 处理分页:若需更多结果,请复用响应中的 cursor 值发起下一页请求
  9. 呈现分析结果:归纳核心发现,指出趋势与模式(如高频作者、主流平台分布、情感变化等)

示例

示例 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:先获取关键词

用户:“展示我们主产品关键词的相关提及”

操作步骤:

  1. 首先列出关键词:
node scripts/list-keywords.js YOUR_API_KEY
  1. 再使用获取到的关键词 ID 查询提及:
node scripts/query-mentions.js YOUR_API_KEY '{"keyword": [1]}'

代理(Agent)使用提示

  • 优先使用内置脚本:Node.js 脚本已自动处理 JSON 解析与错误输出
  • 缓存关键词信息:首次获取关键词后,可在当前会话中复用,避免重复请求
  • 解释筛选逻辑:使用复杂筛选时,向用户清晰说明其含义(如 “A 与 B 任一满足,且 C 必须满足”)
  • 提供结构示例:当用户不确定如何构造筛选条件时,主动展示标准 JSON 示例
  • 审慎分页:在请求下一页前,主动询问用户是否需要更多结果
  • 强调洞察而非原始数据:不只是罗列结果,还需提炼分析结论(如情感趋势、高频作者、平台占比等)

相关专题

更多
Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

0

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

0

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

0

15

Golangci-lint安装与入门教程
Golangci-lint安装与入门教程

本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。

2026.10.22

0

15

PHP2Shell高危漏洞修复教程
PHP2Shell高危漏洞修复教程

PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。

2026.10.22

0

12

剧云人物设定与关系管理教程
剧云人物设定与关系管理教程

本专题介绍剧云人物设定与关系管理,讲解角色小传、性格职业、人物目标、背景资料和关系网络的创建及维护方法。

2026.10.22

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习