← 返回
开发者工具 Key 中文

Farcaster Skill

Post, read, search, and engage on Farcaster via the Neynar API. Use when an agent needs to: (1) post casts with text, embeds, or in channels, (2) reply to or thread casts, (3) read a user's feed or a channel feed, (4) search casts by keyword, (5) look up user profiles by username or FID, (6) like or recast, (7) delete casts, (8) list or search channels. Pure bash+curl+jq — zero npm dependencies.
通过 Neynar API 在 Farcaster 发布、阅读、搜索及互动。适用于:(1) 发布含文本、嵌入或频道的 Cast,(2) 回复或串连 Cast,(3) 读取用户或频道动态,(4) 按关键词搜索 Cast,(5) 查询用户资料,(6) 点赞或转发,(7) 删除 Cast,(8) 列出或搜索频道。纯 bash+curl+jq,零 npm 依赖。
openclaw-consensus-bot
开发者工具 clawhub v1.0.1 1 版本 99929.3 Key: 需要
★ 0
Stars
📥 1,414
下载
💾 15
安装
1
版本
#latest

概述

Farcaster Skill (Neynar v2)

All scripts use the Neynar v2 REST API. Requires curl and jq.

Setup

Set these env vars (or pass --api-key / --signer flags):

export NEYNAR_API_KEY="your-api-key"
export NEYNAR_SIGNER_UUID="your-signer-uuid"   # required for write ops

Alternatively, put credentials in a JSON file and source them:

eval $(jq -r '"export NEYNAR_API_KEY=\(.apiKey)\nexport NEYNAR_SIGNER_UUID=\(.signerUuid)"' /path/to/neynar.json)

Scripts

fc_cast.sh — Post a Cast

Post text, with optional embeds, channel, or reply-to.

# Simple text cast
scripts/fc_cast.sh --text "Hello Farcaster!"

# Cast with image/video embed
scripts/fc_cast.sh --text "Check this out" --embed "https://example.com/image.png"

# Cast with two embeds (max 2)
scripts/fc_cast.sh --text "Links" --embed "https://a.com" --embed "https://b.com"

# Post to a channel
scripts/fc_cast.sh --text "gm" --channel "base"

# Reply to a cast
scripts/fc_cast.sh --text "Great point!" --parent "0xabcdef1234..."

# Quote-cast (embed another cast)
scripts/fc_cast.sh --text "This 👆" --embed-cast "0xabcdef1234..." --embed-cast-fid 12345

Output: JSON {success, hash}.

fc_feed.sh — Read Feeds

# User's casts by FID
scripts/fc_feed.sh --fid 3 --limit 10

# User's casts by username
scripts/fc_feed.sh --username "vitalik" --limit 5

# Channel feed
scripts/fc_feed.sh --channel "base" --limit 10

# Following feed (casts from people the signer follows)
scripts/fc_feed.sh --following --fid 3 --limit 10

# Cast replies/thread
scripts/fc_feed.sh --thread "0xabcdef..."

# Pagination with cursor
scripts/fc_feed.sh --fid 3 --cursor "eyJwYWdlIjoxfQ=="

Output: JSON array of casts with {hash, author, text, timestamp, embeds, reactions, replies}.

fc_user.sh — User Lookup

# By username
scripts/fc_user.sh --username "dwr"

# By FID
scripts/fc_user.sh --fid 3

# By Ethereum address (verified)
scripts/fc_user.sh --address "0x1234..."

# Bulk by FIDs
scripts/fc_user.sh --fids "3,194,6131"

Output: JSON user object(s) with {fid, username, display_name, bio, follower_count, following_count, verified_addresses}.

fc_search.sh — Search Casts

# Search by keyword
scripts/fc_search.sh --query "base chain"

# Search with author filter
scripts/fc_search.sh --query "ethereum" --author-fid 3

# Search in channel
scripts/fc_search.sh --query "gm" --channel "base"

# Limit results
scripts/fc_search.sh --query "nft" --limit 5

Output: JSON array of matching casts.

fc_react.sh — Like / Recast

# Like a cast
scripts/fc_react.sh --like "0xabcdef..."

# Unlike
scripts/fc_react.sh --like "0xabcdef..." --undo

# Recast
scripts/fc_react.sh --recast "0xabcdef..."

# Undo recast
scripts/fc_react.sh --recast "0xabcdef..." --undo

fc_delete.sh — Delete a Cast

scripts/fc_delete.sh --hash "0xabcdef..."

fc_channels.sh — List and Search Channels

# Search channels by keyword
scripts/fc_channels.sh --search "defi"

# Get channel details by ID
scripts/fc_channels.sh --id "base"

# List trending channels
scripts/fc_channels.sh --trending --limit 10

Common Patterns

Thread a multi-cast announcement

HASH1=$(scripts/fc_cast.sh --text "Thread 🧵 1/3: Big news!" --channel "base" | jq -r .hash)
HASH2=$(scripts/fc_cast.sh --text "2/3: Details here..." --parent "$HASH1" | jq -r .hash)
scripts/fc_cast.sh --text "3/3: Link below" --parent "$HASH2" --embed "https://example.com"

Monitor mentions (poll loop)

while true; do
  scripts/fc_search.sh --query "@yourusername" --limit 5
  sleep 300
done

Post with media (upload first, then embed)

# Upload to catbox/litterbox first
URL=$(curl -sS -F "reqtype=fileupload" -F "time=72h" \
  -F "fileToUpload=@/path/to/image.png" \
  https://litterbox.catbox.moe/resources/internals/api.php)

# Then embed the URL
scripts/fc_cast.sh --text "Check this out!" --embed "$URL"

Free vs Paid Tier

Not all endpoints are available on Neynar's free plan.

FeatureScriptFree?
------------------------
Post castfc_cast.sh
User casts feedfc_feed.sh --fid
User lookup (username/FID/address)fc_user.sh
Like / recastfc_react.sh
Following feedfc_feed.sh --following
Channel feedfc_feed.sh --channel❌ Paid
Cast searchfc_search.sh❌ Paid
Channel search/details/trendingfc_channels.sh❌ Paid
Delete castfc_delete.sh❌ Paid
Thread/conversationfc_feed.sh --thread

Scripts that hit paid endpoints will exit non-zero with a clear 402 PaymentRequired error.

Error Handling

All scripts exit 0 on success, non-zero on failure. Errors print to stderr as JSON:

{"error": "message", "status": 403}

Common errors:

  • 401 — Invalid API key
  • 402 — Feature requires paid Neynar plan
  • 403 — Signer not approved or not paired with API key
  • 404 — Cast/user/channel not found
  • 429 — Rate limited (Neynar free tier: 300 req/min)

API Reference

See references/neynar_endpoints.md for the full endpoint list and parameter docs.

版本历史

共 1 个版本

  • v1.0.1 当前
    2026-03-28 23:29 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

content-creation

Uniswap V4

openclaw-consensus-bot
"你好!我是Z.ai训练的GLM大语言模型。很高兴能与你交流。有什么我能帮助你的问题或者你想了解的话题吗?无论是需要信息、创意建议还是日常聊天,我都很乐意提供帮助。"
★ 1 📥 1,880
developer-tools

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 666 📥 323,786
developer-tools

Gog

steipete
Google Workspace 命令行工具,支持 Gmail、日历、云端硬盘、通讯录、表格和文档。
★ 920 📥 185,726