关于 neynar
neynar 是通过 Neynar API 与 Farcaster 交互的命令行技能,适用于需要检索和管理社交内容的场景。它可读取动态和搜索内容,也支持需配置 signer 的发帖、互动与关注操作。
主要功能
- 01查询 Farcaster 用户
- 02读取用户、频道和热门动态
- 03搜索帖子与用户
- 04发布帖子和回复
- 05互动及关注用户
适用场景
- 01查看 Farcaster 频道动态
- 02按关键词查找用户或帖子
- 03发布帖子或回复内容
- 04点赞、转发或管理关注
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ bankrbot/ skills --skill neynar安装后在 Claude Code 中输入/neynar确认已加载。
附带文件catalog.jsonscripts/neynar.sh
详细介绍
Neynar(Farcaster API)
通过 Neynar 的 API 与 Farcaster 去中心化社交协议交互。
快速开始
设置
- 从 dev.neynar.com 获取 API 密钥
- 创建配置:
mkdir -p ~/.clawdbot/skills/neynar
cat > ~/.clawdbot/skills/neynar/config.json << 'EOF'
{
"apiKey": "YOUR_NEYNAR_API_KEY",
"signerUuid": "YOUR_SIGNER_UUID"
}
EOF
注意:只有在发布 cast 时才需要 signerUuid。可通过 Neynar 的签名者管理功能获取。
验证设置
scripts/neynar.sh user dwr.eth
核心概念
- FID — Farcaster ID,即每位用户的永久数字标识符
- Cast — Farcaster 上的帖子(类似推文)
- 频道 — 基于主题的信息流(类似 subreddit)
- Frame — 嵌入 cast 中的交互式迷你应用
用法
查找用户
# By username
scripts/neynar.sh user vitalik.eth
# By FID
scripts/neynar.sh user --fid 5650
# Multiple users
scripts/neynar.sh users dwr.eth,v,jessepollak
阅读信息流
# User's casts
scripts/neynar.sh feed --user dwr.eth
# Channel feed
scripts/neynar.sh feed --channel base
# Trending feed
scripts/neynar.sh feed --trending
# Following feed (requires signer)
scripts/neynar.sh feed --following
搜索
# Search casts
scripts/neynar.sh search "ethereum"
# Search users
scripts/neynar.sh search-users "vitalik"
# Search in channel
scripts/neynar.sh search "onchain summer" --channel base
获取 cast
# By hash
scripts/neynar.sh cast 0x1234abcd...
# By URL
scripts/neynar.sh cast "https://warpcast.com/dwr.eth/0x1234"
发布 cast(需要签名者)
# Simple cast
scripts/neynar.sh post "gm farcaster"
# Reply to cast
scripts/neynar.sh post "great point!" --reply-to 0x1234abcd
# Cast in channel
scripts/neynar.sh post "hello base" --channel base
# Cast with embed
scripts/neynar.sh post "check this out" --embed "https://example.com"
反应
# Like a cast
scripts/neynar.sh like 0x1234abcd
# Recast
scripts/neynar.sh recast 0x1234abcd
关注/取消关注
scripts/neynar.sh follow dwr.eth
scripts/neynar.sh unfollow dwr.eth
API 参考
使用的端点
| 操作 | 端点 | 身份验证 |
|---|---|---|
| 查找用户 | GET /v2/farcaster/user/by_username | API key |
| 按 FID 查找用户 | GET /v2/farcaster/user/bulk | API key |
| 用户信息流 | GET /v2/farcaster/feed/user/casts | API key |
| 频道信息流 | GET /v2/farcaster/feed/channels | API key |
| 趋势内容 | GET /v2/farcaster/feed/trending | API key |
| 搜索 cast | GET /v2/farcaster/cast/search | API key |
| 获取 cast | GET /v2/farcaster/cast | API key |
| 发布 cast | POST /v2/farcaster/cast | API key + Signer |
| 反应 | POST /v2/farcaster/reaction | API key + Signer |
| 关注 | POST /v2/farcaster/user/follow | API key + Signer |
响应格式
所有响应均为 JSON。脚本会提取关键字段,以便阅读:
{
"user": {
"fid": 3,
"username": "dwr.eth",
"display_name": "Dan Romero",
"follower_count": 450000,
"following_count": 2800,
"verified_addresses": ["0x..."]
}
}
常见模式
监控频道
# Get latest casts from /base channel
scripts/neynar.sh feed --channel base --limit 20
查找活跃用户
# Search for users by keyword
scripts/neynar.sh search-users "ethereum developer"
从 Twitter 交叉发布
# Post same content to Farcaster
scripts/neynar.sh post "gm, just shipped a new feature 🚀"
回复提及
# Get your notifications (requires signer)
scripts/neynar.sh notifications
# Reply to specific cast
scripts/neynar.sh post "thanks!" --reply-to 0xabc123
错误处理
| 错误 | 原因 | 解决方法 |
|---|---|---|
| 401 Unauthorized | API 密钥无效 | 检查 config.json |
| 403 Forbidden | 需要签名者 | 为写入操作设置签名者 |
| 404 Not Found | 用户/cast 不存在 | 验证用户名/哈希值 |
| 429 Rate Limited | 请求过多 | 等待后重试 |
签名者设置
执行写入操作(发布、点赞、关注)需要签名者:
- 前往 dev.neynar.com
- 创建新的签名者,或使用托管签名者
- 将
signerUuid添加到配置中
托管签名者最简单 — Neynar 会处理密钥托管。
速率限制
- 免费套餐:每分钟 300 个请求
- 付费套餐:可使用更高限额
- 查看
X-RateLimit-Remaining标头
最佳实践
- 缓存用户查询 — FID 不会变化,用户名也很少变化
- 使用频道 — 比随机发帖更容易获得关注
- 真诚互动 — Farcaster 文化重视真实性
- 批量请求 — 尽可能使用批量端点
- 处理速率限制 — 实现退避机制
资源
- Neynar 文档:https://docs.neynar.com
- API 参考:https://docs.neynar.com/reference
- 开发者门户:https://dev.neynar.com
- Farcaster 文档:https://docs.farcaster.xyz
故障排除
API 密钥无法使用
# Verify key works
curl -H "x-api-key: YOUR_KEY" \
"https://api.neynar.com/v2/farcaster/user/bulk?fids=1"
签名者问题
- 确保签名者已获批准且处于活跃状态
- 检查签名者权限是否与您的 FID 匹配
- 托管签名者比可自托管的签名者更简单
Cast 未显示
- Cast 会在几秒内传播,但索引可能需要更长时间
- 检查响应中的 cast 哈希值
- 直接在 warpcast.com 上验证
评论
支持 Markdown