Bluesky 发布技能
使用 Publora MCP 服务器创建和安排发布到 Bluesky 的帖子。支持带有自动检测的话题标签和 URL 的文本帖子、图片和视频。
前提条件
方案: 免费 Starter 计划即可使用。当前限制和定价:publora.com/pricing。
开始使用
- 创建账户 在 publora.com/register(免费)
- 生成应用密码 在 Bluesky 设置 > 应用密码(不是您的主密码)
- 连接 Bluesky 在 Publora Dashboard 中使用您的句柄 + 应用密码
- 获取 API 密钥 在 app.publora.com/dashboard/api
- 将您的 AI 代理连接到 MCP 服务器,地址为
https://mcp.publora.com,使用Authorization: Bearer sk_YOUR_API_KEY进行身份验证。在 Claude Code 中:
claude mcp add publora --transport http https://mcp.publora.com \
--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):
# 获取您已连接的平台
curl -X GET "https://api.publora.com/api/v1/platform-connections" \
-H "x-publora-key: sk_your_api_key"
# 创建帖子
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": "您的帖子内容",
"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 设置(见下文) |
视频大小分级
| 时长 | 最大大小 |
|---|---|
| 60 秒以下 | 50 MB |
| 60 秒 - 3 分钟 | 100 MB |
富文本 Facets
Bluesky 使用独特的富文本系统。Publora 自动处理其复杂性:
- 话题标签:
#hashtag自动检测并使其可点击 - URL:任何 URL 自动检测并使其可点击
- 字节偏移量:为多字节字符(表情符号、中日韩文字)正确计算
无需特殊格式——只需自然地书写即可。
可用工具
create_post
创建新的 Bluesky 帖子。
参数:
platforms:包含您的 Bluesky 连接 ID 的数组(例如["bluesky-did:plc:abc123xyz"])content:帖子文本(最多 300 字符)scheduledTime:ISO 8601 UTC 日期时间。可选:省略则将帖子创建为草稿。发送未来时间则可安排发布。如果时间在过去五分钟或更久,将返回SCHEDULED_TIME_IN_PAST错误,因此要立即发布请使用当前时间加一分钟。mediaUrls:最多 10 个公开的 https 图片或视频 URL。Publora 会在服务器端下载它们并在验证之前附加,因此媒体和日程安排可在一个调用中完成。这是“先草稿然后get_upload_url再complete_media”流程的一次性替代方案。摄取速率限制为每小时 60 个 URL。
get_upload_url
获取用于媒体上传的预签名 URL。
参数:
postGroupId:要附加媒体的帖子 IDfileName:文件名(例如 "photo.jpg")contentType:image/jpeg、image/png、video/mp4type:"image"或"video"
complete_media
在预签名 PUT 成功后,最终确定通过 get_upload_url 上传的文件。可选,因为日程安排也会最终确定待处理的媒体,但提前调用可以在发布前暴露格式和探测错误。对于使用 mediaUrls 附加的媒体则不需要。
参数:
mediaId:由get_upload_url返回的 ID
list_connections
列出您已连接的账户及其平台 ID。请先调用此方法并逐字复制 ID;它们永远无法猜测。
post_stats
已发布的 Bluesky 帖子的互动计数器:反应、评论、转帖、引用和收藏。在请求时实时获取,缓存大约两小时。
参数:
platform:blueskyplatformId:您的 Bluesky 连接 IDpostedIds:要查找的已发布帖子 ID
profile_stats
已连接账户的关注者、关注数和帖子计数。
参数:
platform:blueskyplatformId:您的 Bluesky 连接 ID
list_posts / get_post / update_post / delete_post
管理已安排和草稿帖子。update_post 还可以修补草稿或已安排帖子的 content 和 platforms,因此修复拼写错误或重新定位不再需要删除并重新创建。delete_media 和 prune_media_reference 用于清理已上传的文件。
示例
带话题标签的简单帖子
将此发布到 Bluesky:
"我们刚刚发布了新的 API 文档!请查看 https://docs.example.com #devtools #api"
话题标签和 URL 会自动变为可点击。
带图片的帖子
将此及其仪表板截图发布到 Bluesky:
"我们的新分析视图已上线!#buildinpublic"
多张图片
创建一个 Bluesky 帖子,包含前后对比图片:
"办公室翻新完成!真是巨大的变化。"
注意:每篇帖子最多允许 4 张图片。
视频帖子
将此 60 秒演示视频发布到 Bluesky:
"我们新移动应用功能的快速导览"
安排帖子
安排此帖子在明天上午 10 点发布:
"早上好!这里为您提供每日生产力技巧..."
重要限制
-
无法通过 API 设置替代文本。 Bluesky 发布者会读取媒体上的
alt属性,但没有内容会持久化它:预签名上传流程和mediaUrls都不会存储它,发送给create-post的altTexts值也会被静默忽略。platformSettings也没有帮助,因为 Bluesky 在那里被拒绝并返回400 PLATFORM_SETTING_UNKNOWN。请先发布图片,然后在 Bluesky 应用中添加替代文本。不要告诉用户他们的替代文本已发布。 -
需要应用密码:您必须使用 Bluesky 应用密码,而不是您的主账户密码。在设置 > 应用密码中生成。
-
所有图片转换为 JPEG:无论输入格式如何(PNG、WebP、GIF),所有图片在上传前都会转换为 JPEG。
-
严格的 2,000,000 字节图片限制:AT Protocol 强制执行精确的十进制字节上限,而不是舍入的 2 MiB。请压缩到 80-85% JPEG 质量并检查字节数。
-
基于 DID 的平台 ID:与其他使用数字 ID 的平台不同,Bluesky 使用
did:plc:xxx格式。 -
视频需要电子邮件验证:您必须先验证 Bluesky 中的电子邮件才能上传视频。
-
每日 25 个视频上限:每天最多 25 个视频或 10 GB。
最佳实践
内容
- 简洁的帖子:300 字符比 Twitter 还短——要一针见血
- 自然的话题标签:1-2 个相关的话题标签效果最佳
- 替代文本:值得添加,但您必须在发布后在 Bluesky 应用中手动完成;API 无法携带它
- URL 有效:链接可点击(不同于某些平台)
时机
- 成长中的平台:比 X 用户密度低,更容易获得关注
- 技术受众:以开发者和早期采用者为主
- 频率:每天 1-3 篇帖子
互动
- Bluesky 青睐真实的对话
- 回复评论以建立社区
- 关注相关用户以扩展人脉
故障排除
| 错误 | 原因 | 解决方案 |
|---|---|---|
| "Invalid credentials" | 密码类型错误 | 使用应用密码,而非主密码 |
| "Image too large" | 超过 2,000,000 字节 | 压缩到 80-85% JPEG 质量 |
| "Content too long" | 超过 300 字符 | 缩短内容(无自动线程) |
| "Video daily limit" | 达到 25 个视频 | 等待 24 小时 |
| "Email not verified" | 尝试上传视频 | 在 Bluesky 设置中验证电子邮件 |