关于 bluesky-post
bluesky-post 是通过已连接 Agent 使用 Publora 创建和安排 Bluesky 帖子的技能,支持文本、图片和视频,并自动将标签与 URL 处理为可点击内容。
主要功能
- 01创建和安排帖子
- 02附加图片和视频
- 03自动识别可点击标签与 URL
- 04管理草稿和定时帖子
- 05查看帖子与个人资料统计
适用场景
- 01安排发布 Bluesky 公告
- 02发布带媒体的帖子
- 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。
开始使用
- 创建账户:publora.com/register(免费)
- 生成应用密码:在 Bluesky 设置 > 应用密码中生成(不要使用主密码)
- 连接 Bluesky:在 Publora Dashboard 中使用你的账号句柄和应用密码进行连接
- 获取 API 密钥:前往 app.publora.com/dashboard/api;仅当你的 Agent 无法通过 OAuth 登录,或你要使用下方的 REST API 备用方案时才需要
- 将 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 设置(见下文) |
视频大小档位
| 时长 | 最大大小 |
|---|---|
| 不足 60s | 50 MB |
| 60s - 3min | 100 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:要附加媒体的帖子 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;这些 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 可清理已上传的文件。
示例
带主题标签的简单帖子
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..."
重要限制
-
无法通过 API 设置替代文本。 Bluesky 发布器会读取媒体上的
alt属性,但不会保存该属性:预签名上传流程和mediaUrls都不会保存它,而且发送给create-post的altTexts值会被静默 忽略。platformSettings也无济于事,因为 Bluesky 会在该处被拒绝,并返回400 PLATFORM_SETTING_UNKNOWN。发布图片后,请在 Bluesky 应用中添加替代文本。 不要告知用户替代文本已发布。 -
必须使用应用密码:必须使用 Bluesky 应用密码,不能使用主账号密码。请前往 Settings > App Passwords 生成应用密码。
-
所有图片都会转换为 JPEG:无论输入格式为何(PNG、WebP、GIF),上传前所有图片都会转换为 JPEG。
-
图片大小硬性限制为 2,000,000 字节:AT Protocol 执行的是精确的十进制字节上限,而不是四舍五入后的 2 MiB。请将 JPEG 质量压缩至 80-85%,并检查字节数。
-
基于 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 字节 | 将 JPEG 质量压缩至 80-85% |
| "Content too long" | 超过 300 个字符 | 缩短内容(不会自动拆分成串文) |
| "Video daily limit" | 已达到 25 个视频的限制 | 等待 24 小时 |
| "Email not verified" | 尝试上传视频 | 在 Bluesky 设置中验证邮箱 |