返回 Social Auto Upload
install.md
根目录 / docs / install.md
1 # 安装说明
2
3 这个文档分成两部分:
4
5 - `For Humans`:给正常使用仓库的开发者、创作者、CLI 用户看
6 - `For AI Agents`:给 OpenClaw、Codex、Claude Code 一类 agent 看
7
8 如果你是“正在使用 agent 客户端的人”,想先给 agent 一段启动提示词,而不是直接阅读下面的执行细节,先看:
9
10 - [Agent Bootstrap Prompt](./agent-bootstrap.md)
11
12 ## For Humans
13
14 ### 1. 克隆项目
15
16 ```bash
17 git clone https://github.com/dreammis/social-auto-upload.git
18 cd social-auto-upload
19 ```
20
21 ### 2. 创建虚拟环境
22
23 推荐使用 `uv`:
24
25 Windows PowerShell:
26
27 ```powershell
28 uv venv
29 .venv\Scripts\activate
30 ```
31
32 Linux / macOS:
33
34 ```bash
35 uv venv
36 source .venv/bin/activate
37 ```
38
39 ### 3. 安装主线依赖
40
41 当前主线依赖已经放到 `pyproject.toml`,推荐直接执行:
42
43 ```bash
44 uv pip install -e .
45 ```
46
47 安装完成后,会注册 `sau` 命令。
48
49 ### 4. 安装 patchright Chromium
50
51 当前主线使用 `patchright` 驱动浏览器。
52
53 国内用户推荐先指定镜像,再安装 Chromium。
54
55 Windows PowerShell:
56
57 ```powershell
58 $env:PLAYWRIGHT_DOWNLOAD_HOST="https://npmmirror.com/mirrors/playwright"; patchright install chromium
59 ```
60
61 Linux / macOS:
62
63 ```bash
64 PLAYWRIGHT_DOWNLOAD_HOST="https://npmmirror.com/mirrors/playwright" patchright install chromium
65 ```
66
67 ### 5. 配置 conf.py
68
69 复制一份配置:
70
71 ```bash
72 cp conf.example.py conf.py
73 ```
74
75 Windows 也可以直接手动复制并重命名。
76
77 当前通常还会用到这些配置项:
78
79 - `LOCAL_CHROME_PATH`
80 - `LOCAL_CHROME_HEADLESS`
81 - `DEBUG_MODE`
82
83 `XHS_SERVER` 目前只和小红书旧流程相关。
84
85 ### 6. 验证 CLI 是否可用
86
87 ```bash
88 sau --help
89 sau douyin --help
90 sau kuaishou --help
91 sau xiaohongshu --help
92 sau bilibili --help
93 ```
94
95 如果命令找不到,优先确认:
96
97 - 当前虚拟环境是否已激活
98 - 是否执行过 `uv pip install -e .`
99
100 ### 7. 抖音主线示例
101
102 ```bash
103 sau douyin login --account <account_name>
104 sau douyin check --account <account_name>
105 sau douyin upload-video --account <account_name> --file videos/demo.mp4 --title "示例标题" --desc "示例简介"
106 图文正文1:
107 $noteText = @"图文正文"@
108 sau douyin upload-note --account <account_name> --images videos/demo1.png videos/demo2.png --title "图文标题" --note $noteText --tags 'tag1,tag2'
109 图文正文2:
110 sau douyin upload-note --account <account_name> --images videos/demo1.png videos/demo2.png --title "图文标题" --notef '图文文件路径' --tags 'tag1,tag2'
111 添加 BGM(可选):
112 sau douyin upload-note --account <account_name> --images videos/demo1.png videos/demo2.png --title "图文标题" --note $noteText --tags 'tag1,tag2' --bgm '音乐名称'
113 ```
114
115 抖音短信验证码补充说明:
116
117 - 视频发布过程中如果触发短信二次验证,程序会优先读取项目根目录下的 `verify_code.txt`
118 - 如果当前是你手动运行的交互式终端,没提供 `verify_code.txt` 时,CLI 会直接提示你在终端输入验证码
119 - 如果是 agent 或自动化桥接场景,仍然可以继续通过写入 `verify_code.txt` 来提供验证码
120 - 验证通过后,程序会自动删除 `verify_code.txt`
121
122 抖音卡login手动获取cookie:
123
124 - 目标服务器使用vnc
125 - 浏览器登录抖音创作者中心https://creator.douyin.com/
126 - 执行`bash export_douyin_cookie.sh --account <account_name>`
127 - 检查cookie可用性,执行`sau douyin check --account <account_name>`
128
129 ### 8. 快手主线示例
130
131 ```bash
132 sau kuaishou login --account <account_name>
133 sau kuaishou check --account <account_name>
134 sau kuaishou upload-video --account <account_name> --file videos/demo.mp4 --title "示例标题" --desc "示例简介"
135 sau kuaishou upload-note --account <account_name> --images videos/demo1.png videos/demo2.png videos/demo.png --title "图文标题" --note "图文正文"
136 ```
137
138 ### 9. 小红书主线示例
139
140 ```bash
141 sau xiaohongshu login --account <account_name>
142 sau xiaohongshu check --account <account_name>
143 sau xiaohongshu upload-video --account <account_name> --file videos/demo.mp4 --title "示例标题" --desc "示例简介"
144 sau xiaohongshu upload-note --account <account_name> --images videos/demo1.png videos/demo2.png videos/demo.png --title "图文标题" --note "图文正文"
145 ```
146
147 ### 10. Bilibili 主线示例
148
149 ```bash
150 sau bilibili login --account <account_name>
151 sau bilibili check --account <account_name>
152 sau bilibili upload-video --account <account_name> --file videos/demo.mp4 --title "示例标题" --desc "示例简介" --tid 249
153 ```
154
155 补充说明:
156
157 - `creator` 之类的名字只是示例值,真正传的是用户自定义的 `account_name`
158 - 一个 `account_name` 对应一个账号文件,可以准备多个账号并发使用
159 - 浏览器平台统一元数据约定:
160 - 视频使用 `title + desc + tags`
161 - 图文使用 `title + note + tags`
162 - 用户不需要手动安装 `biliup`
163 - 首次运行 Bilibili 相关命令时,程序会自动下载 `biliup`
164 - 后续运行会自动检查上游 release 并自动更新
165 - Bilibili 登录建议由用户自己在本地真实终端里执行;如果终端里的二维码显示不完整,可直接打开当前目录下的 `qrcode.png` 扫码
166 - 如果国内网络访问 GitHub Release 较慢,可先用 `https://gh-proxy.com/` 或 `https://gh-proxy.org/` 辅助访问对应 release 地址排障
167 - 示例:
168 - `https://gh-proxy.org/https://github.com/biliup/biliup/releases/download/v1.1.29/biliupR-v1.1.29-aarch64-linux.tar.xz`
169
170 ## For AI Agents
171
172 如果你是一个可执行命令的 agent,请优先按下面顺序处理:
173
174 1. 先假设仓库根目录就是当前工作目录
175 2. 优先使用 `uv` 管理环境,不要默认回退到旧的 `requirements.txt`
176 3. 安装命令优先使用:
177
178 ```bash
179 uv pip install -e .
180 ```
181
182 4. 如需浏览器驱动,优先使用:
183
184 Windows PowerShell:
185
186 ```powershell
187 $env:PLAYWRIGHT_DOWNLOAD_HOST="https://npmmirror.com/mirrors/playwright"; patchright install chromium
188 ```
189
190 Linux / macOS:
191
192 ```bash
193 PLAYWRIGHT_DOWNLOAD_HOST="https://npmmirror.com/mirrors/playwright" patchright install chromium
194 ```
195
196 5. 安装完成后,优先检查:
197
198 ```bash
199 sau --help
200 sau douyin --help
201 sau kuaishou --help
202 sau xiaohongshu --help
203 sau bilibili --help
204 ```
205
206 6. 如果用户的目标是抖音或快手的登录、cookie 校验、视频上传、图文上传,优先走 CLI:
207
208 ```bash
209 sau douyin login
210 sau douyin check
211 sau douyin upload-video
212 sau douyin upload-note
213
214 sau kuaishou login
215 sau kuaishou check
216 sau kuaishou upload-video
217 sau kuaishou upload-note
218
219 sau xiaohongshu login
220 sau xiaohongshu check
221 sau xiaohongshu upload-video
222 sau xiaohongshu upload-note
223
224 sau bilibili login
225 sau bilibili check
226 sau bilibili upload-video
227 ```
228
229 7. 如果用户明确在使用 skill 系统,再引导其阅读:
230
231 - `skills/douyin-upload/SKILL.md`
232 - `skills/douyin-upload/references/cli-contract.md`
233 - `skills/kuaishou-upload/SKILL.md`
234 - `skills/kuaishou-upload/references/cli-contract.md`
235 - `skills/xiaohongshu-upload/SKILL.md`
236 - `skills/xiaohongshu-upload/references/cli-contract.md`
237 - `skills/bilibili-upload/SKILL.md`
238 - `skills/bilibili-upload/references/cli-contract.md`
239
240 ### 对 agent 的额外说明
241
242 - 当登录流程生成本地二维码图片时,不要只把图片路径发给用户
243 - 这类二维码图片本身就是给用户扫码的,agent 应优先直接展示/发送本地图片给用户扫码
244 - 如果环境支持查看本地图片,优先用查看图片能力把二维码展示出来;路径只作为补充信息
245 - Bilibili 登录当前不建议 agent 在非交互环境里直接代跑
246 - 正确做法是让用户自己在本地终端执行 `sau bilibili login --account <name>`;如果二维码显示不完整,再提示用户打开 `qrcode.png`
247 - `requirements.txt` 目前是历史兼容文件,不是主安装入口
248 - `uploader/` 是核心实现目录
249 - `sau_cli.py` 是当前 CLI 主入口
250 - `docs/legacy-web.md` 是历史 Web 版本说明,不保证当前可用
251 - Bilibili 首次运行时可能自动下载 `biliup`
252
252 lines MARKDOWN