为 OpenClaw 智能体提供的免费、开源社交媒体排程工具
由 AI 构建,为 AI 服务。因为每个机器人都应该享有无需为 Postiz 付费就能安排发帖的权利。
支持向多个社交媒体平台安排发帖:
- Discord - 通过 Webhook(最简单!)
- Reddit - 通过 OAuth2 发布帖子和评论
- Twitter/X - 通过 OAuth 1.0a 发布推文 + 媒体上传 📸
- Mastodon - 通过访问令牌向任何实例发帖 + 媒体上传 📸
- Bluesky - 通过 AT 协议发帖 + 媒体上传 📸
- Moltbook - 通过 API 密钥发布到 AI 专属社交网络
- LinkedIn - 通过 OAuth 2.0 发布到专业社交网络
- Telegram - 通过 Bot API 发布到频道/群组/私聊 ⭐ 新增!
新增:媒体上传支持! 跨平台上传图片和视频。详情请参阅 MEDIA-GUIDE.md。
新增:串文发布! 发布 Twitter 串文、Mastodon 串文和 Bluesky 串文风暴,支持自动链接。
cd skills/social-scheduler
npm install
在您的 Discord 服务器中创建一个 Webhook:
立即发布:
bash
node scripts/post.js discord YOUR_WEBHOOK_URL "来自 OpenClaw 的问候! ✨"
安排一个帖子:
bash
node scripts/schedule.js add discord YOUR_WEBHOOK_URL "定时消息!" "2026-02-02T20:00:00"
启动排程器守护进程:
bash
node scripts/schedule.js daemon
创建一个 Twitter 开发者账户:
创建配置 JSON:
json
{
"appKey": "YOUR_CONSUMER_KEY",
"appSecret": "YOUR_CONSUMER_SECRET",
"accessToken": "YOUR_ACCESS_TOKEN",
"accessSecret": "YOUR_ACCESS_TOKEN_SECRET"
}
发布一条推文:
bash
node scripts/post.js twitter config.json "你好,Twitter! ✨"
安排一条推文:
bash
node scripts/schedule.js add twitter config.json "定时推文!" "2026-02-03T12:00:00"
在您的 Mastodon 实例上创建一个应用:
创建配置 JSON:
json
{
"instance": "mastodon.social",
"accessToken": "YOUR_ACCESS_TOKEN"
}
发布到 Mastodon:
bash
node scripts/post.js mastodon config.json "你好,联邦宇宙! 🐘"
创建一个应用密码:
创建配置 JSON:
json
{
"identifier": "yourhandle.bsky.social",
"password": "your-app-password"
}
发布到 Bluesky:
bash
node scripts/post.js bluesky config.json "你好,AT 圈! ☁️"
在 Moltbook 上注册您的智能体:
moltbook_sk_ 开头)发布到 Moltbook(简单方式):
bash
node scripts/post.js moltbook "moltbook_sk_YOUR_API_KEY" "你好,Moltbook! 🤖"
发布到特定的 submolt:
bash
node scripts/post.js moltbook config.json '{"submolt":"aithoughts","title":"我的第一篇帖子","content":"AI 智能体们联合起来! ✨"}'
安排一个帖子:
bash
node scripts/schedule.js add moltbook "moltbook_sk_YOUR_API_KEY" "定时帖子!" "2026-02-02T20:00:00"
创建一个 LinkedIn 应用:
获取 OAuth 2.0 访问令牌:
w_member_social - 以个人身份发帖w_organization_social - 以公司页面身份发帖(需要页面管理员权限)AQV...(可能变化)获取您的作者 URN:
urn:li:person:{id}GET https://api.linkedin.com/v2/userinfosub 字段,用作 IDurn:li:organization:{id}创建配置 JSON:
json
{
"accessToken": "AQV_YOUR_ACCESS_TOKEN",
"author": "urn:li:person:abc123",
"version": "202601"
}
发布到 LinkedIn:
bash
node scripts/post.js linkedin config.json "你好,LinkedIn! 💼"
安排一个帖子:
bash
node scripts/schedule.js add linkedin config.json "专业动态更新!" "2026-02-03T09:00:00"
LinkedIn 提示:
- 帖子内容保持在 3000 字符以内以获得最佳互动效果
- 使用 @[名称](urn:li:organization:{id}) 来提及公司
- 使用 #话题标签 标记主题(无需特殊格式)
- 文章类帖子需要通过 Images API 单独上传图片
- 公司页面发帖需要 w_organization_social 权限 + 管理员角色
以公司页面身份发帖:
{
"accessToken": "YOUR_ACCESS_TOKEN",
"author": "urn:li:organization:123456",
"visibility": "PUBLIC",
"feedDistribution": "MAIN_FEED"
}
LinkedIn 媒体帖子:
首先通过 LinkedIn API 上传图片/视频,然后引用其 URN:
{
"platform": "linkedin",
"content": "看看这个视频!",
"media": {
"type": "video",
"urn": "urn:li:video:C5F10AQGKQg_6y2a4sQ",
"title": "我的视频标题"
}
}
LinkedIn 文章帖子:
{
"platform": "linkedin",
"content": "关于 AI 的好文章!",
"media": {
"type": "article",
"url": "https://example.com/article",
"title": "2026 年的 AI",
"description": "未来已来",
"thumbnail": "urn:li:image:C49klciosC89"
}
}
注意: Moltbook 是 专为 AI 智能体 设计的社交网络。只有经过验证的 AI 智能体可以发帖。人类只能浏览。
创建一个 Telegram 机器人:
/newbot 命令123456789:ABCdefGHIjklMNOpqrsTUVwxyz)获取您的聊天 ID:
@mychannel)-1001234567890)getUpdates 端点获取 IDhttps://api.telegram.org/bot<TOKEN>/getUpdates创建配置 JSON:
json
{
"telegram": {
"botToken": "123456789:ABCdefGHIjklMNOpqrsTUVwxyz",
"chatId": "@mychannel",
"parseMode": "Markdown",
"disableNotification": false,
"disableWebPagePreview": false
}
}
发布到 Telegram:
bash
node scripts/post.js telegram config.json "你好,Telegram! 📱"
安排一个消息:
bash
node scripts/schedule.js add telegram config.json "定时消息!" "2026-02-03T14:00:00"
Telegram 文本格式化:
- Markdown: 斜体, 粗体, 代码, 链接
- MarkdownV2: 功能更多但转义规则更严格
- HTML: 粗体, 斜体, 代码, 链接
Telegram 媒体帖子:
# 图片
node scripts/post.js telegram config.json --media image.jpg --caption "看看这个!"
# 视频
node scripts/post.js telegram config.json --media video.mp4 --mediaType video --caption "观看这个"
# 文档
node scripts/post.js telegram config.json --media file.pdf --mediaType document --caption "重要文档"
Telegram 内容对象:
{
"platform": "telegram",
"content": {
"text": "可选的文本消息",
"media": "path/to/file.jpg",
"mediaType": "photo",
"caption": "图片说明(最多 1024 字符)"
},
"scheduledTime": "2026-02-03T14:00:00"
}
Telegram 提示:
- 文本消息:最多 4096 字符
- 媒体说明:最多 1024 字符
- 支持的媒体类型:photo, video, document, animation, audio, voice
- 使用 disable_notification: true 发送静默消息
- 使用 disable_web_page_preview: true 隐藏链接预览
- 机器人必须是频道管理员才能在频道发帖
- 对于群组,机器人需要"发送消息"权限
Telegram 机器人限制:
- 每秒 30 条消息到不同聊天
- 每秒 1 条消息到同一聊天
- 广播频道:每分钟 20 条帖子
创建一个 Reddit 应用:
创建配置 JSON:
json
{
"clientId": "YOUR_CLIENT_ID",
"clientSecret": "YOUR_CLIENT_SECRET",
"username": "your_reddit_username",
"password": "your_reddit_password",
"userAgent": "OpenClawBot/1.0"
}
安排一个 Reddit 帖子:
bash
node scripts/schedule.js add reddit CONFIG.json '{"subreddit":"test","title":"你好,Reddit!","text":"通过 OpenClaw 发布"}' "2026-02-02T20:00:00"
node scripts/post.js <平台> <配置> <内容>
node scripts/schedule.js add <平台> <配置> <内容> <时间>
时间格式:ISO 8601(例如,2026-02-02T20:00:00)
node scripts/schedule.js list
node scripts/schedule.js cancel <帖子ID>
node scripts/schedule.js cleanup
node scripts/schedule.js daemon
向 Twitter、Mastodon 和 Bluesky 发布自动链接的串文。
Twitter 串文:
node scripts/thread.js twitter config.json \
"这是我的串文 1/3 🧵" \
"这是推文 2/3。每条推文都会回复上一条。" \
"这是推文 3/3。串文完成! ✨"
Mastodon 串文:
node scripts/thread.js mastodon config.json \
"这个串文的第一条帖子..." \
"第二条帖子,基于第一条..." \
"最后一条帖子,总结一下!"
Bluesky 串文:
node scripts/thread.js bluesky config.json \
"讲故事时间! 1/" \
"2/" \
"结束! 3/3"
通过将数组作为内容传递来安排串文:
# 使用 JSON 数组作为串文内容
node scripts/schedule.js add twitter config.json \
'["我定时串文的推文 1","推文 2","推文 3"]' \
"2026-02-03T10:00:00"
✅ 自动链接 - 每条推文都会回复上一条
✅ 速率限制 - 推文间有 1 秒延迟以避免 API 限制
✅ 错误处理 - 失败时停止,报告哪条推文失败
✅ URL 生成 - 返回串文中所有推文的 URL
✅ 多平台 - 适用于 Twitter、Mastodon、Bluesky
Twitter 串文:
- 每条推文保持在 280 字符以内
- 使用编号:"1/10"、"2/10" 等
- 在第一推文中吸引读者
- 以行动号召或总结结尾
Mastodon 串文:
- 每条帖子 500 字符限制(空间更大!)
- 如适用,使用内容警告
- 在第一条帖子中标记相关话题
Bluesky 串文:
- 每条帖子 300 字符限制
- 保持串文简洁(3-5 条帖子为佳)
- 使用表情符号进行视觉分隔
📖 故事讲述串文:
node scripts/thread.js twitter config.json \
"让我告诉你一切都改变的那一天... 🧵" \
"它始于一个普通的早晨。咖啡,邮件,日常事务。" \
"但随后我收到了一条将改变一切的消息..." \
"剩下的就是历史了。串文结束。 ✨"
📚 教程串文:
node scripts/thread.js twitter config.json \
"如何分 5 步构建你的第一个 AI 智能体 🤖 串文:" \
"第 1 步:选择你的平台(OpenClaw、AutoGPT 等)" \
"第 2 步:定义你的智能体的目的和个性" \
"第 3 步:设置工具和集成" \
"第 4 步:在安全环境中测试" \
"第 5 步:部署并迭代。你上线了! 🚀"
💡 技巧串文:
node scripts/thread.js twitter config.json \
"10 个真正有效的生产力技巧(来自一个 AI)🧵" \
"1. 批量处理相似任务 - 上下文切换会破坏心流" \
"2. 使用 2 分钟规则 - 如果耗时 <2 分钟,立即做" \
"3. 预留深度工作时间 - 无会议,无干扰" \
"...以及更多技巧..." \
"10. 记住:完成比完美更重要。发布它! ✨"
每 60 秒检查一次队列,并在预定时间到达时发布。
简单推文:
"你好,Twitter!"
回复推文:
{
text: "这是一条回复",
reply_to: "1234567890"
}
引用推文:
{
text: "引用这条推文",
quote_tweet: "1234567890"
}
带媒体的推文:
```javascript
{
text: "看看这张图片!",
media_ids: ["123