mcpField
B
bluesky-post

bluesky-post

github.com/publora营销与增长61196 次安装1 天前更新
代码仓库

关于 bluesky-post

bluesky-post 是通过已连接 Agent 使用 Publora 创建和安排 Bluesky 帖子的技能,支持文本、图片和视频,并自动将标签与 URL 处理为可点击内容。

主要功能

  1. 01创建和安排帖子
  2. 02附加图片和视频
  3. 03自动识别可点击标签与 URL
  4. 04管理草稿和定时帖子
  5. 05查看帖子与个人资料统计

适用场景

  1. 01安排发布 Bluesky 公告
  2. 02发布带媒体的帖子
  3. 03查看已发布帖子的互动数据

MCP 相关

通过 Publora 的 MCP 服务创建、安排和管理 Bluesky 帖子及已连接账户。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/publora/skills --skill bluesky-post

安装后在 Claude Code 中输入/bluesky-post确认已加载。

详细介绍

Bluesky 帖子

使用 Publora MCP 服务创建和安排 Bluesky 帖子。支持包含自动检测的标签和 URL 的文本帖子,以及图片和视频。

前提条件

套餐: 免费 Starter 套餐即可使用。当前限额和定价:publora.com/pricing。

开始使用
  1. 创建账户:publora.com/register(免费)
  2. 生成应用密码:在 Bluesky 设置 > 应用密码中生成(不要使用主密码)
  3. 连接 Bluesky:在 Publora Dashboard 中使用你的账号句柄和应用密码进行连接
  4. 获取 API 密钥:前往 app.publora.com/dashboard/api;仅当你的 Agent 无法通过 OAuth 登录,或你要使用下方的 REST API 备用方案时才需要
  5. 将 Agent 连接到 MCP 服务 https://mcp.publora.com/mcp:
    • 升级不带 /mcp 的手动连接: Claude 会将 https://mcp.publora.com 视为与捆绑连接不同的服务。在当前作用域中,将现有连接改为 https://mcp.publora.com/mcp,并保留其身份验证和选定的账户;如果系统提示,请重新登录。或者,先确认捆绑连接使用的是预期账户,然后只移除旧的手动条目。不要添加第二个条目,也不要自动删除凭据。
    • 已可使用 Publora 工具(publora-skills 插件或 Claude 中的 Publora 连接器):无需进行任何设置。Claude 首次运行工具时会提示你登录 Publora。
    • 支持 OAuth 的 Agent(Claude Code、Cursor,以及 Claude 和 ChatGPT 应用):按 URL 添加服务并登录,无需 API 密钥。在 Claude Code 中,添加服务后运行 /mcp 登录:
claude mcp add --transport http --scope user publora https://mcp.publora.com/mcp
  • **不支持 OAuth 的 Agent:**将 API 密钥作为 Authorization: Bearer sk_YOUR_API_KEY 发送:
claude mcp add --transport http --scope user publora https://mcp.publora.com/mcp \
  --header "Authorization: Bearer sk_YOUR_API_KEY"

Claude Desktop、Cursor、Codex、OpenClaw 和 claude.ai 连接器各自需要不同的配置文件或流程:具体路径和代码片段请参阅客户端设置。

REST API 备用方案

如果 MCP 服务不可用或返回错误,请直接使用 REST API:

基础 URL: https://api.publora.com/api/v1

**身份验证:**使用 x-publora-key 标头(不要使用 Authorization: Bearer):

# Get your connected platforms
curl -X GET "https://api.publora.com/api/v1/platform-connections" \
  -H "x-publora-key: sk_your_api_key"

# Create a post
curl -X POST "https://api.publora.com/api/v1/create-post" \
  -H "x-publora-key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "platforms": ["bluesky-did:plc:abc123xyz"],
    "content": "Your post content here",
    "scheduledTime": "2026-03-25T10:00:00Z"
  }'

平台 ID 格式:bluesky-{did},其中 {did} 来自 /platform-connections 响应。

ID 示例:bluesky-did:plc:abc123xyz、bluesky-did:plc:def456uvw

📖 完整 API 文档:docs.publora.com

平台限制

功能限制
字符数300
图片每篇帖子最多 4 张
图片大小恰好 2,000,000 字节(十进制,不是 2 MiB)
视频时长3 分钟
视频大小50-100 MB(视时长而定)
每日视频数25
替代文本Bluesky 本身支持 2,000 个字符,但无法通过此 API 设置(见下文)
视频大小档位
时长最大大小
不足 60s50 MB
60s - 3min100 MB

富文本 Facet

Bluesky 使用独特的富文本系统。Publora 会自动处理其复杂性:

  • **标签:**自动检测 #hashtag 并使其可点击
  • **URL:**自动检测任何 URL 并使其可点击
  • **字节偏移量:**针对多字节字符(表情符号、CJK 字符)正确计算

无需特殊格式,按自然方式撰写即可。

可用工具

create_post

创建一条新的 Bluesky 帖子。

参数:

  • platforms:包含你的 Bluesky 连接 ID 的数组(例如,["bluesky-did:plc:abc123xyz"])
  • content:帖子文本(最多 300 个字符)
  • scheduledTime:ISO 8601 UTC 日期时间。可选:省略此参数即可将帖子创建为草稿。发送未来时间即可安排发布。早于当前时间 5 分钟或更久的时间会被拒绝,并返回 SCHEDULED_TIME_IN_PAST;因此,如需立即发布,请使用当前时间加 1 分钟。
  • mediaUrls:最多 10 个公开的 https 图片或视频 URL。Publora 会在服务端下载这些内容,并在验证前附加,因此媒体处理和定时发布可在一次调用中完成。这是“先创建草稿,再调用 get_upload_url,然后调用 complete_media”流程的一步式替代方案。每小时最多接收 60 个 URL。
get_upload_url

获取媒体上传的预签名 URL。

参数:

  • postGroupId:要附加媒体的帖子 ID
  • fileName:文件名(例如,“photo.jpg”)
  • contentType:image/jpeg、image/png、video/mp4
  • type:"image" 或 "video"
complete_media

在预签名 PUT 成功后,完成通过 get_upload_url 上传的文件。此操作为可选,因为安排发布时也会完成待处理媒体,但提前调用可以在发布前显示格式和探测错误。通过 mediaUrls 附加的媒体无需调用此操作。

参数:

  • mediaId:get_upload_url 返回的 ID
list_connections

列出已连接的账号及其平台 ID。请先调用此工具并原样复制 ID;这些 ID 无法猜测。

post_stats

已发布 Bluesky 帖子的互动计数:回应、评论、转发、引用和书签。数据在请求时实时获取,缓存时间约为两小时。

参数:

  • platform:bluesky
  • platformId:你的 Bluesky 连接 ID
  • postedIds:要查询的已发布帖子 ID
profile_stats

已连接账号的关注者数、正在关注数和帖子数。

参数:

  • platform:bluesky
  • platformId:你的 Bluesky 连接 ID
list_posts / get_post / update_post / delete_post

管理已安排发布的帖子和草稿。update_post 还可以修改草稿或已安排发布的帖子的 content 和 platforms,因此修正错字或更改发布目标不再需要先删除再重新创建。delete_media 和 prune_media_reference 可清理已上传的文件。

示例

带主题标签的简单帖子
Post this to Bluesky:
"Just launched our new API documentation! Check it out at https://docs.example.com #devtools #api"

主题标签和 URL 会自动变为可点击链接。

带图片的帖子
Post this to Bluesky with a dashboard screenshot:
"Our new analytics view is live! #buildinpublic"
多张图片
Create a Bluesky post with before/after comparison images:
"Office renovation complete! What a transformation."

注意:每条帖子最多允许 4 张图片。

视频帖子
Post this 60-second demo video to Bluesky:
"Quick tour of our new mobile app features"
定时发布的帖子
Schedule this for tomorrow at 10 AM:
"Good morning! Here's your daily productivity tip..."

重要限制

  1. 无法通过 API 设置替代文本。 Bluesky 发布器会读取媒体上的 alt 属性,但不会保存该属性:预签名上传流程和 mediaUrls 都不会保存它,而且发送给 create-post 的 altTexts 值会被静默 忽略。platformSettings 也无济于事,因为 Bluesky 会在该处被拒绝,并返回 400 PLATFORM_SETTING_UNKNOWN。发布图片后,请在 Bluesky 应用中添加替代文本。 不要告知用户替代文本已发布。

  2. 必须使用应用密码:必须使用 Bluesky 应用密码,不能使用主账号密码。请前往 Settings > App Passwords 生成应用密码。

  3. 所有图片都会转换为 JPEG:无论输入格式为何(PNG、WebP、GIF),上传前所有图片都会转换为 JPEG。

  4. 图片大小硬性限制为 2,000,000 字节:AT Protocol 执行的是精确的十进制字节上限,而不是四舍五入后的 2 MiB。请将 JPEG 质量压缩至 80-85%,并检查字节数。

  5. 基于 DID 的平台 ID:与使用数字 ID 的其他平台不同,Bluesky 使用 did:plc:xxx 格式。

  6. 视频需要验证邮箱:上传视频前,必须先在 Bluesky 中验证邮箱。

  7. 每天最多上传 25 个视频:每天最多上传 25 个视频,或总计 10 GB。

最佳实践

内容
  1. 简洁帖子:300 个字符比 Twitter 还短——要简明有力
  2. 自然添加话题标签:添加 1-2 个相关话题标签效果不错
  3. 替代文本:值得添加,但必须在发布后通过 Bluesky 应用添加;API 无法携带替代文本
  4. URL 可用:链接可以点击(不像某些平台)
发布时间
  • 平台正在成长:比 X 更不拥挤,更容易获得关注
  • 精通技术的受众:开发者和早期采用者居多
  • 发布频率:每天 1-3 条帖子
互动
  • Bluesky 倾向于真实的对话
  • 回复评论,打造社群
  • 关注相关用户,拓展人脉

故障排除

错误原因解决方案
"Invalid credentials"密码类型错误使用应用密码,而不是主密码
"Image too large"超过 2,000,000 字节将 JPEG 质量压缩至 80-85%
"Content too long"超过 300 个字符缩短内容(不会自动拆分成串文)
"Video daily limit"已达到 25 个视频的限制等待 24 小时
"Email not verified"尝试上传视频在 Bluesky 设置中验证邮箱

评论

支持 Markdown