Token导航 LogoToken导航

Agent Skill · 研究检索

apify-threads-replies(apify 线程回复)

apify-threads-replies 用于处理浏览器自动化、网页检查和页面信息提取,适合在 OpenClaw 中需要让 Agent 打开页面、读取网页或验证前端流程时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

apify-threads-replies 是研究检索类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为接触敏感数据;许可证为 MIT-0,第三方扫描有提醒项,按安装量在研究检索类的 73,675 个 Skill 里排第 29,811。

总安装 2,987周安装 122GitHub Stars 公开资料未说明下载 966核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
0.1.1

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:apify-threads-replies(apify 线程回复)
来源仓库:https://github.com/futurizerush/apify-threads-replies
安装命令:
openclaw skills install apify-threads-replies
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install apify-threads-replies

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

当用户要求“抓取 Threads 回复”、“获取 Threads 评论”、“从 Threads 帖子中提取回复”、“获取 T 上的评论”时,应该使用此技能。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install apify-threads-replies;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

apify-threads-replies 怎么安装?

在终端执行 openclaw skills install apify-threads-replies。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

apify-threads-replies 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

apify-threads-replies 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

apify-threads-replies 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

apify-threads-replies 用的人多吗?

公开数据是累计安装 2,987 次,近一周安装 122 次,下载 966 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

apify-threads-replies 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
apify-threads-replies

apify 线程回复 · 本页

2,987—接触敏感数据MIT-0有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
Threads Replies Scraper
description
|
version
0.1.0

Threads Replies Scraper with Apify

Extract replies and comments from public Threads posts. Each post typically yields ~20 replies. No login required.

Actor: futurizerush/threads-replies-scraper

Prerequisites

Set APIFY_API_TOKEN in environment. Get a token at console.apify.com/account/integrations.

Execution Flow

Apify runs are asynchronous. Every request follows 3 steps:

  1. Start a run -- POST to the actor API, receive a run ID and dataset ID
  2. Poll until done -- GET the run status, wait for SUCCEEDED
  3. Fetch results -- GET the dataset items (returns a JSON array)

Typical run time: 10-30 seconds per post.

Input Parameters

ParameterTypeRequiredDescription
post_urlsarray of objectsYesPost URLs in [{"url": "..."}] format (requestListSources)
max_repliesintegerNoMax replies per post. Default: 50. Min: 10, Max: 50

Important: post_urls uses requestListSources format. Each item must be an object with a url key, not a plain string.

Complete Example (Python)

import requests, os, time

TOKEN = os.environ["APIFY_API_TOKEN"]
BASE = "https://api.apify.com/v2"

# Step 1: Start the run
response = requests.post(
    f"{BASE}/acts/futurizerush~threads-replies-scraper/runs?token={TOKEN}",
    json={
        "post_urls": [
            {"url": "https://www.threads.com/@zuck/post/DIffiWcJnob"}
        ],
        "max_replies": 20,
    },
)
response.raise_for_status()
run = response.json()["data"]
run_id = run["id"]
dataset_id = run["defaultDatasetId"]

# Step 2: Poll until done
while True:
    status = requests.get(
        f"{BASE}/actor-runs/{run_id}?token={TOKEN}"
    ).json()["data"]["status"]
    if status == "SUCCEEDED":
        break
    if status in ("FAILED", "ABORTED", "TIMED-OUT"):
        raise RuntimeError(f"Run failed: {status}")
    time.sleep(5)

# Step 3: Fetch results (JSON array)
items = requests.get(
    f"{BASE}/datasets/{dataset_id}/items?token={TOKEN}"
).json()

# Separate original post from replies
for item in items:
    if item["item_type"] == "original_post":
        print(f"Original post by @{item['author_username']}: {item['text_content'][:80]}")
        print(f"  likes={item['like_count']} replies={item['reply_count']} views={item['view_count']}")
    else:
        print(f"  Reply by @{item['author_username']}: {item['text_content'][:80]}")
        print(f"    likes={item['like_count']}")

Multiple posts

requests.post(
    f"{BASE}/acts/futurizerush~threads-replies-scraper/runs?token={TOKEN}",
    json={
        "post_urls": [
            {"url": "https://www.threads.com/@zuck/post/DIffiWcJnob"},
            {"url": "https://www.threads.com/@mosseri/post/EXAMPLE123"},
        ],
        "max_replies": 50,
    },
)

Complete Example (bash)

# Step 1: Start the run
RUN_RESPONSE=$(curl -s -X POST \
  "https://api.apify.com/v2/acts/futurizerush~threads-replies-scraper/runs?token=$APIFY_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"post_urls": [{"url": "https://www.threads.com/@zuck/post/DIffiWcJnob"}], "max_replies": 20}')

RUN_ID=$(echo "$RUN_RESPONSE" | jq -r '.data.id')
DATASET_ID=$(echo "$RUN_RESPONSE" | jq -r '.data.defaultDatasetId')

# Step 2: Poll until done
while true; do
  STATUS=$(curl -s "https://api.apify.com/v2/actor-runs/$RUN_ID?token=$APIFY_API_TOKEN" \
    | jq -r '.data.status')
  [ "$STATUS" = "SUCCEEDED" ] && break
  [ "$STATUS" = "FAILED" ] || [ "$STATUS" = "ABORTED" ] && echo "Failed: $STATUS" && exit 1
  sleep 5
done

# Step 3: Fetch results
curl -s "https://api.apify.com/v2/datasets/$DATASET_ID/items?token=$APIFY_API_TOKEN" | jq '.'

Output Format

Results include two item types: original_post and reply.

Original post item (field names verified from real API output on 2026-04-11):

{
  "post_code": "DS3sTIYAFaj",
  "post_url": "https://www.threads.com/@futurizerush/post/DS3sTIYAFaj",
  "author_username": "futurizerush",
  "author_display_name": "Rush in the loop|AI 自動化",
  "author_is_verified": false,
  "author_profile_pic_url": "https://scontent-iad3-2.cdninstagram.com/...",
  "author_profile_url": "https://www.threads.com/@futurizerush",
  "text_content": "Post text here...",
  "like_count": 529,
  "reply_count": 10,
  "repost_count": 24,
  "quote_count": 0,
  "view_count": 42507,
  "created_at": "2025-12-30T02:05:14.000Z",
  "scraped_at": "2026-04-11T06:07:37.970849Z",
  "item_type": "original_post",
  "source_post_url": "https://www.threads.com/@futurizerush/post/DS3sTIYAFaj"
}

Reply item (additional fields):

{
  "reply_id": "DS3sVeegK8h",
  "author_username": "futurizerush",
  "author_display_name": "Rush in the loop|AI 自動化",
  "author_is_verified": false,
  "author_profile_pic_url": "https://scontent-iad3-2.cdninstagram.com/...",
  "author_profile_url": "https://www.threads.com/@futurizerush",
  "text_content": "Reply text here...",
  "created_at": "2025-12-30T02:05:35.000Z",
  "created_at_timestamp": 1767060335,
  "like_count": 14,
  "reply_count": 0,
  "repost_count": 1,
  "quote_count": 0,
  "is_liked_by_author": false,
  "reply_to_username": "futurizerush",
  "media_type": 1,
  "has_audio": false,
  "mentions": [],
  "hashtags": [],
  "reply_url": "https://www.threads.com/@futurizerush/post/DS3sVeegK8h",
  "scraped_at": "2026-04-11T06:07:40.030190Z",
  "item_type": "reply",
  "source_post_url": "https://www.threads.com/@futurizerush/post/DS3sTIYAFaj"
}

Note: All field names use snake_case. Distinguish between original_post and reply using the item_type field. Reply items have extra fields: reply_id, reply_to_username, is_liked_by_author, reply_url, has_audio, media_type, mentions, hashtags.

Error Handling

ErrorCauseFix
401 UnauthorizedInvalid or missing API tokenCheck APIFY_API_TOKEN
invalid-input: "do not contain valid URLs"Wrong URL format -- must use [{"url": "..."}] not ["..."]Use requestListSources format
invalid-input: "must be >= 10"max_replies below minimumSet max_replies to at least 10
FAILED: "post(s) appear unavailable or private"Post doesn't exist or is privateVerify the post URL is public

Tips

  • Results include the original post as the first item (item_type: "original_post"), followed by replies (item_type: "reply").
  • Use reply_to_username to identify who the reply is directed at.
  • Use is_liked_by_author to find replies the post author engaged with.
  • source_post_url links each reply back to its parent post (useful when scraping multiple posts).
  • Threads typically provides ~20 replies per post.
  • No login or session ID required.
  • All field names use snake_case (e.g. text_content, like_count, reply_count).

Related Skills

  • For scraping a user's timeline or searching posts by keyword, use the Threads Scraper actor (futurizerush/meta-threads-scraper).

Links

平台分布

OpenClaw

74.98%
按下载量换算724

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills