返回 Social Auto Upload
README.md
根目录 / README.md
1 # social-auto-upload
2
3 `social-auto-upload` 是一个强大的自动化工具,旨在帮助内容创作者和运营者高效地将视频内容一键发布到多个国内外主流社交媒体平台。
4 项目实现了对 `抖音`、`Bilibili`、`小红书`、`快手`、`视频号`、`百家号`、`支付宝生活号`、`微博`、`虎扑`、`TikTok` 以及 `YouTube` 等平台的视频上传、定时发布等功能。
5 结合各平台 `uploader` 模块,您可以轻松配置和扩展支持的平台,并通过示例脚本快速上手。
6
7 <img src="media/show/tkupload.gif" alt="tiktok show" width="800"/>
8
9 ## 💎 赞助商
10
11 <table width="100%">
12 <tr>
13 <td width="25%" align="center" valign="middle">
14 <a href="https://chilltion.com/?ref=1y5k5k">
15 <img src="static/DolOffer.png" alt="DolOffer Sponsor" width="180">
16 </a>
17 </td>
18 <td width="75%" align="left" valign="middle">
19 感谢 <a href="https://doloffer.com/" target="_blank">DolOffer</a> 对本项目的支持!对于做内容矩阵、多平台分发和 AI 自动化运营的创作者来说,ChatGPT、Claude、YouTube Premium、Spotify、Apple Music、Notion、Office 等数字工具往往是长期成本。DolOffer 提供 AI、视频、音乐和效率工具相关的订阅与充值服务,帮助用户更低成本地配置常用数字产品。更多说明可查看 <a href="https://github.com/Doloffer-g/guide" target="_blank">DolOffer Guide</a>。使用优惠码 <code>AI8888</code> 可额外享受 9 折优惠,具体价格和服务规则以官网为准。
20 </td>
21 </tr>
22 <tr>
23 <td width="25%" align="center" valign="middle">
24 <a href="https://chilltion.com/?ref=1y5k5k">
25 <img src="static/chilltion.png" alt="chilltion Sponsor" width="180">
26 </a>
27 </td>
28 <td width="75%" align="left" valign="middle">
29 轻视AI:一句话生产MG动画,适合知识,科普,讲解,教程,介绍等类型视频的低成本制作,视频矩阵,养号等,成本只有seedance等1%。现在<a href="https://chilltion.com/?ref=1y5k5k">注册</a>送1500积分
30 </td>
31 </tr>
32 <tr>
33 <td width="25%" align="center" valign="middle">
34 <a href="http://t.clawpower.vip/1005">
35 <img src="static/clawpower.png" alt="ClawPower Sponsor" width="180">
36 </a>
37 </td>
38 <td width="75%" align="left" valign="middle">
39 ClawPower 是一家稳定可靠 AI 大模型中转服务商,提供 Claude、GPT、Gemini 60+ 大模型接入。无论是 OpenClaw、Hermes 智能体自动化场景,Claude Code、Codex 编程工具接入,还是公众号、小红书内容创作;都能获得稳定、顺滑、可长期使用的模型服务体验。低至官方价格的 30%,点击<a href="http://t.clawpower.vip/1005">免费领取 5 刀现金</a>体验券
40 </td>
41 </tr>
42 <tr>
43 <td width="25%" align="center" valign="middle">
44 <img src="static/wechat.png" alt="Sponsor Contact" width="150">
45 </td>
46 <td width="75%" align="left" valign="middle">
47 <strong>成为赞助商</strong><br>
48 如果您有意赞助本项目,请扫描左侧微信二维码(添加时请注明来意:<strong>赞助</strong>)。
49 </td>
50 </tr>
51 </table>
52
53 ---
54
55
56 ## 目录
57
58 - [💡 功能特性](#功能特性)
59 - [💾 安装指南](#安装指南)
60 - [🤖 AI Agent](#agent)
61 - [🏁 快速开始](#快速开始)
62 - [🗂️ 重构计划](#%EF%B8%8F重构计划)
63 - [📣 近况说明](#近况说明)
64 - [🐇 项目背景](#项目背景)
65 - [📃 详细文档](#详细文档)
66 - [🐾 交流与支持](#交流与支持)
67 - [🤝 贡献指南](#贡献指南)
68 - [📜 许可证](#许可证)
69 - [⭐ Star History](#star-history)
70
71 ## 💡功能特性
72
73 | 平台 | 登录/账号准备 | 视频上传 | 图文上传 | 定时发布 | CLI | Skill | 说明 |
74 | --- | --- | --- | --- | --- | --- | --- | --- |
75 | 抖音 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | 当前主线重构最完整 |
76 | Bilibili | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | 运行时自动准备 `biliup` |
77 | 小红书(浏览器版) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | 浏览器自动化,CLI/Skill 已接入 |
78 | 快手 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | 浏览器自动化,CLI/Skill 初版已接入 |
79 | 视频号 | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | 浏览器自动化,对应 `tencent_uploader` |
80 | 百家号 | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | 浏览器自动化 |
81 | 支付宝生活号 | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | 浏览器自动化,支持生活号视频 |
82 | 微博 | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | 浏览器自动化,标题最多 30 字 |
83 | 虎扑 | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | 浏览器自动化,标题 4–40 字 |
84 | TikTok | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | 当前示例走 Chrome 版实现 |
85 | YouTube | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | 浏览器自动化(Studio),支持加入播放列表/可见性 |
86
87 ### AI这么强,为什么还需要这个项目
88 在你使用AI的能力,browser agent等等,每次都让 agent 重新解析网页、截图理解, 临场判断
89 该项目经过大量验证,上传这种 高频,重复,无聊的工作交给脚本和程序去执行
90
91
92 ## 💾安装指南
93
94 ### 自己上手使用
95 如果你只是普通用户,不准备借助 agent 客户端,直接看
96
97 安装、更新、环境准备已经统一收敛到文档:
98
99 - [安装说明](./docs/install.md)
100 - [更新说明](./docs/update.md)
101
102
103 ### AGENT
104
105 ```
106 AI的发展毋庸置疑,希望你遇到这种安装和使用,不要再怯场,而是交给各种AI Agent来协助你
107 ```
108
109 如果你准备把这个仓库直接交给 `OpenClaw`、`Codex`、`Claude Code` 来安装和使用
110
111 先把仓库给 agent,再把这份启动提示词一起发给它:
112
113 - [Agent Bootstrap Prompt](./docs/agent-bootstrap.md)
114
115 这份提示词会引导 agent:
116
117 - 优先按当前主线安装项目
118 - 优先使用 `uv`、`sau` CLI 和 `skills/`
119 - 先验证 `bilibili`、`douyin`、`kuaishou`、`xiaohongshu` 四个平台入口是否可用
120
121
122 ### 补充说明:
123
124 - CLI 使用请看:[CLI 使用说明](./docs/CLI.md)
125 - 如果你准备在 `OpenClaw`、`Codex`、`Claude Code / cc` 里使用本项目,先看:[Agent Bootstrap Prompt](./docs/agent-bootstrap.md)
126 - agent / skill 请看:[Douyin Upload Skill](./skills/douyin-upload/SKILL.md)
127 - agent / skill 请看:[Kuaishou Upload Skill](./skills/kuaishou-upload/SKILL.md)
128 - agent / skill 请看:[Xiaohongshu Upload Skill](./skills/xiaohongshu-upload/SKILL.md)
129 - agent / skill 请看:[Bilibili Upload Skill](./skills/bilibili-upload/SKILL.md)
130 - 历史 Web 说明请看:[历史 Web 版本说明](./docs/legacy-web.md)
131 - 其他单平台 skill 与整合型 skill 仍在开发中
132 - `requirements.txt` 目前主要用于历史兼容路径,普通用户不需要优先使用它
133
134
135 ## 📣近况说明
136
137 `2026.03.24`
138
139 最近我的重心一直都在创业上,而且手里还有一些项目没完全跑通,所以这个仓库前面有很长一段时间,我确实没有办法投入特别多精力去持续维护。
140
141 这个项目不知不觉已经 `9k+ star` 了,社群里也已经有 `2000+` 小伙伴了。看到它真的在持续帮到大家,我心里还是挺开心的,也是真的很感谢大家一直以来的支持、反馈。
142
143 所以我想,决定先停一下,抽一段时间出来,把这个项目好好重构和优化一轮。
144
145 接下来这段时间,这个仓库应该会进入一个相对密集更新的阶段。我现在最想先做的事情主要有这几件:
146
147 1. 使用更隐蔽、更稳定的自动化方案,尽量降低平台检测风险
148 2. 补齐一些常用平台的图文能力,并逐步完成 CLI 化、Skill 化
149 3. 陆续测试并上架到更多 skill 平台,让大家的龙虾、螃蟹、毛毛虫都能打通 AI 自媒体的最后一道关
150
151 所以如果你之前觉得这个项目更新有点慢,哈哈哈,后面大概率会快很多。也欢迎大家继续关注,最近应该会是一段持续修、持续更、持续重构的阶段。
152
153 ## 🗂️重构计划
154
155 项目正在进行一轮整体重构,当前重构重点是:
156
157 - 各平台 uploader 的结构收敛
158 - CLI 统一接入
159 - 面向 OpenClaw、Codex、 Claude Code 等工具的 skill 化
160 - 更换为 `patchright` 驱动,提升兼容性与隐蔽性
161 - 主线优先围绕无头模式推进
162
163 “无头模式(headless)”,指的是浏览器在后台运行,不弹出可见窗口,但自动化流程仍然会照常执行。这样更适合 CLI、服务端、自动任务和 agent 场景。
164
165 Web 端相关代码仍然保留,但已经不是当前主线,不保证可直接运行,也不保证与当前 uploader/CLI 完全同步。
166
167
168 ## 🏁快速开始
169
170 ### 方式 1:使用 CLI
171
172 当前抖音、快手、小红书、Bilibili、视频号、百家号、支付宝生活号、微博和虎扑已经接入 CLI:
173
174 ```bash
175 sau douyin login --account <account_name>
176 sau douyin check --account <account_name>
177 sau douyin upload-video --account <account_name> --file videos/demo.mp4 --title "示例标题" --desc "示例简介"
178 sau douyin upload-note --account <account_name> --images videos/1.png videos/2.png --title "图文标题" --note "图文正文"
179
180 sau kuaishou login --account <account_name>
181 sau kuaishou check --account <account_name>
182 sau kuaishou upload-video --account <account_name> --file videos/demo.mp4 --title "示例标题" --desc "示例简介"
183 sau kuaishou upload-note --account <account_name> --images videos/1.png videos/2.png videos/3.png --title "图文标题" --note "图文正文"
184
185 sau xiaohongshu login --account <account_name>
186 sau xiaohongshu check --account <account_name>
187 sau xiaohongshu upload-video --account <account_name> --file videos/demo.mp4 --title "示例标题" --desc "示例简介"
188 sau xiaohongshu upload-note --account <account_name> --images videos/1.png videos/2.png videos/3.png --title "图文标题" --note "图文正文"
189
190 sau bilibili login --account <account_name>
191 sau bilibili check --account <account_name>
192 sau bilibili upload-video --account <account_name> --file videos/demo.mp4 --title "示例标题" --desc "示例简介" --tid 249
193
194 sau tencent login --account <account_name>
195 sau tencent check --account <account_name>
196 sau tencent upload-video --account <account_name> --file videos/demo.mp4 --title "示例标题" --desc "示例简介" --tags tag1,tag2
197
198 sau baijiahao login --account <account_name>
199 sau baijiahao check --account <account_name>
200 sau baijiahao upload-video --account <account_name> --file videos/demo.mp4 --title "示例标题" --desc "示例简介" --tags tag1,tag2
201
202 sau alipay login --account <account_name>
203 sau alipay check --account <account_name>
204 sau alipay upload-video --account <account_name> --file videos/demo.mp4 --title "示例标题" --desc "示例简介" --tags tag1,tag2
205
206 sau weibo login --account <account_name>
207 sau weibo check --account <account_name>
208 sau weibo upload-video --account <account_name> --file videos/demo.mp4 --title "示例标题" --desc "示例简介" --tags tag1,tag2
209
210 sau hupu login --account <account_name>
211 sau hupu check --account <account_name>
212 sau hupu upload-video --account <account_name> --file videos/demo.mp4 --title "示例标题" --desc "示例简介" --tags tag1,tag2
213
214 sau youtube login --account <account_name>
215 sau youtube check --account <account_name>
216 sau youtube upload-video --account <account_name> --file videos/demo.mp4 --title "示例标题" --desc "示例简介" --tags tag1,tag2 --playlist "我的系列" --visibility public
217 ```
218
219 > YouTube 说明:登录是交互式的(Google 账号,浏览器里完成,无二维码)。这里走浏览器自动化而不是官方 API,
220 > 是因为**未通过 Google 合规审核的 API 项目上传的视频会被强制锁为私享、无法改公开**,对个人/单频道不实用;
221 > 浏览器自动化没有此限制,可直接发布公开视频,也与本项目其它平台的 cookie 方案一致。
222 > `--playlist` 适合连载/系列追更;`--visibility` 可选 `public`/`unlisted`/`private`。
223 > 上传会**等进度到 100% 再点发布**(浏览器上传靠窗口开着传,传一半就发布会被掐断卡在中途)。
224 > youtube.com 被墙的地区:在 `conf.py` 设 `YT_PROXY = "http://127.0.0.1:7890"`(chromium 不吃系统代理,需显式指定)。
225
226 补充说明:
227
228 - `creator` 之类的名字只是示例值,真正含义是 `account_name`
229 - 一个 `account_name` 对应一个账号文件,可以准备多个账号,也可以按账号名并发执行任务
230 - 抖音视频发布若触发短信二次验证,程序会优先读取项目根目录下的 `verify_code.txt`;如果你是在本地交互式终端手动运行 CLI,也可以直接按终端提示输入验证码
231 - 浏览器平台统一约定:
232 - 视频使用 `title + desc + tags`
233 - 图文使用 `title + note + tags`
234 - Bilibili CLI 不要求用户手动安装 `biliup`
235 - 首次运行相关命令时,程序会自动下载 `biliup`
236 - 后续运行会自动检查上游 release 并更新
237 - Bilibili 登录建议由用户自己在本地真实终端里执行;如果终端二维码显示不完整,可以直接打开当前目录下的 `qrcode.png` 扫码
238
239 ### 方式 2:使用 examples
240
241 `examples/` 目录里同时存在两类脚本:
242
243 - 当前主线 CLI 包装示例
244 - 历史直连 uploader 示例
245
246 对抖音、快手、小红书、Bilibili 来说,当前主线优先使用上面的 `sau ...` CLI。
247 下面这些脚本主要是历史直连 uploader 示例或调试入口:
248
249 - `examples/upload_to_douyin.py`
250 - `examples/upload_video_to_bilibili.py`
251 - `examples/upload_to_kuaishou.py`
252 - `examples/upload_video_to_tencent.py`
253 - `examples/upload_video_to_baijiahao.py`
254 - `examples/get_alipay_cookie.py`
255 - `examples/test_alipay_upload.py`
256 - `examples/upload_video_to_tiktok.py`
257 - `examples/upload_video_to_xiaohongshu.py`
258
259 ## 🐇项目背景
260
261 该项目最初是我个人用于自动化管理社交媒体视频发布的工具。我的主要发布策略是提前一天设置定时发布,因此项目中很多定时发布相关的逻辑是基于“第二天”的时间进行计算的。
262
263 如果您需要立即发布或其他定制化的发布策略,欢迎研究源码或在社区提问。
264
265 ## 📃详细文档
266
267 已落后,目前在快速重构该项目,当下,你需要做的是把这个仓库,发给你的AI agent:qwen code,codex cc,openclaw等等,让他们帮你安装和使用
268
269 更详细的文档和说明,请查看:[social-auto-upload 官方文档](https://sap-doc.nasdaddy.com/)
270
271 ## 🐾交流与支持
272
273 [☕ Donate as u like](https://www.buymeacoffee.com/hysn2001m) - 如果您觉得这个项目对您有帮助,可以考虑赞助。
274
275 如果您也是独立开发者、技术爱好者,对 #技术变现 #AI创业 #跨境电商 #自动化工具 #视频创作 等话题感兴趣,欢迎加入社群交流。
276
277 ### Creator
278
279 <table>
280 <td align="center">
281 <a href="https://sap-doc.nasdaddy.com/">
282 <img src="media/mp.jpg" width="200px" alt="NasDaddy公众号"/>
283 <br />
284 <sub><b>微信公众号</b></sub>
285 </a>
286 <br />
287 <a href="https://github.com/dreammis/social-auto-upload/commits?author=dreammis" title="Code">💻</a>
288 <br />
289 关注公众号,后台回复 `上传` 获取加群方式
290 </td>
291 <td align="center">
292 <a href="https://sap-doc.nasdaddy.com/">
293 <img src="media/QR.png" width="200px" alt="赞赏码/入群引导"/>
294 <br />
295 <sub><b>交流群 (通过公众号获取)</b></sub>
296 </a>
297 <br />
298 <a href="https://sap-doc.nasdaddy.com/" title="Documentation">📖</a>
299 <br />
300 如果您觉得项目有用,可以考虑打赏支持一下
301 </td>
302 </table>
303
304
305
306
307 ## 🤝贡献指南
308
309 欢迎各种形式的贡献,包括但不限于:
310
311 - 提交 Bug报告 和 Feature请求。
312 - 改进代码、文档。
313 - 分享使用经验和教程。
314
315 如果您希望贡献代码,请遵循以下步骤:
316
317 1. Fork 本仓库。
318 2. 创建一个新的分支 (`git checkout -b feature/YourFeature` 或 `bugfix/YourBugfix`)。
319 3. 提交您的更改 (`git commit -m 'Add some feature'`)。
320 4. Push到您的分支 (`git push origin feature/YourFeature`)。
321 5. 创建一个 Pull Request。
322
323 提交代码或文档前,请确认您有权提交相关内容,并同意这些贡献按照本项目的 MIT License 发布。提交第三方代码时,请同时说明来源及其适用的许可证。
324
325 ## 主要贡献者
326
327 <a href="https://github.com/dreammis/social-auto-upload/graphs/contributors">
328 <img src="https://contrib.rocks/image?repo=dreammis/social-auto-upload" />
329 </a>
330
331
332 ## 🙏致谢
333
334 本项目的 Bilibili 上传能力基于开源项目 `biliup` 的能力进行接入与封装。
335 感谢 `biliup` 项目及其贡献者提供的基础能力:
336
337 - https://github.com/biliup/biliup
338
339 本项目依赖的第三方组件和运行时工具仍受其各自许可证约束。下游发行或集成本项目时,请同时检查并保留相关第三方组件要求的版权、许可证和 NOTICE 声明。
340
341 ## 📜许可证
342
343 本项目采用 [MIT License](LICENSE) 开源许可证。除第三方组件外,本项目代码可以在遵守该许可证条款的前提下用于商业软件,包括闭源软件。
344
345 ## ⭐Star-History
346
347 > 如果这个项目对您有帮助,请给一个 ⭐ Star 以表示支持!
348
349
350
351
352 [![Star History Chart](https://star-history.dera.page/svg?repos=dreammis/social-auto-upload&type=Date)](https://star-history.dera.page/#dreammis/social-auto-upload&Date)
353
353 lines MARKDOWN