尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
social-auto-upload 小红书上传运行前提:安装 sau CLI、patchright Chromium 与无头/有头调用方式详解
social-auto-upload 小红书上传运行前提安装 sau CLI、patchright Chromium 与无头/有头调用方式详解【免费下载链接】social-auto-upload自动化上传视频到社交媒体抖音、小红书、视频号、tiktok、youtube、bilibili项目地址: https://gitcode.com/GitHub_Trending/so/social-auto-upload本文基于skills/xiaohongshu-uploadskill 中的运行前提文档runtime-requirements.md完整讲解在 Agent 工作流中使用sau xiaohongshu ...系列命令前需要满足的三项运行前提、推荐安装步骤、patchright Chromium 浏览器安装方式以及无头/有头两种浏览器运行模式下的二维码登录处理规范。读完之后你可以从零搭建一个可登录、可校验 cookie、可执行小红书视频与图文上传的命令行环境并理解每个前提在源码中的落点。一、运行前提总览三项默认假设xiaohongshu-upload skill 的核心思想是“优先把sau作为主接口不要一开始就去读uploader/源码”。要让这套命令式工作流成立环境默认必须已经具备三个前提已安装social-auto-upload即可执行sau命令或至少有等效调用方式已为patchright安装 Chromium 浏览器内核当前 shell 能实际调用到sau命令——这一点看似显然但在“虚拟环境未激活”“未安装入口脚本”等场景下最容易出问题因此 skill 单独列出了多种回退调用方式。为什么是patchright而不是原生 Playwright从 uploader/xiaohongshu_uploader/main.py 可以看到小红书 uploader 全部基于patchright.async_apiPage、Playwright、async_playwright并且通过playwright.chromium.launch(channelchromium)启动浏览器登录流程xiaohongshu_cookie_gen和 cookie 校验cookie_auth都依赖这个已安装的 Chromium。如果只pip install了 Python 包而没装浏览器内核所有登录/上传命令都会在启动浏览器这一步失败。二、推荐安装方式uv pip install -e .运行前提文档给出的推荐安装方式是在项目根目录执行uv pip install -e .这条命令之所以能生成sau命令来自 pyproject.toml 中的配置[project.scripts]声明了入口sau sau_cli:main安装后会自动在当前虚拟环境生成sauUnix或sau.exeWindows可执行入口[tool.uv]中package true表明该项目支持uv pip install -e .的可编辑安装[project]中 Python 版本要求为3.10,3.13核心依赖锁定为patchright1.58.2、loguru0.7.3、opencv-python、qrcode、requests、segno等见 pyproject.toml。也就是说sau并不是一个独立的二进制它只是 sau_cli.py 的main()函数入口入口函数定义。docs/CLI.md 也明确说明sau.exe是安装后在 Windows 虚拟环境里自动生成的命令入口本质上还是调用sau_cli.py。安装完成后的第一件验证事是运行一次帮助命令确认 CLI 可被解析sau xiaohongshu --help三、安装 patchright 浏览器含国内镜像uv pip install -e .只安装了 Python 包Chromium 内核需要单独通过patchright install chromium下载。运行前提文档给出了按操作系统区分的两条命令统一使用 npmmirror 镜像以加速下载Windows PowerShell$env:PLAYWRIGHT_DOWNLOAD_HOSThttps://npmmirror.com/mirrors/playwright; patchright install chromiumLinux / macOSbash / zshPLAYWRIGHT_DOWNLOAD_HOSThttps://npmmirror.com/mirrors/playwright patchright install chromium两条命令的差异只是环境变量写法PowerShell 中用$env:前缀bash/zsh 中把变量前缀放在同一条命令前。补充两点源码层面的事实uploader 在 cookie_auth 中保留了分支如果conf中配置了LOCAL_CHROME_PATH会改用本地 Chrome 可执行文件启动executable_pathLOCAL_CHROME_PATH否则使用channelchromium即 patchright 管理的 Chromium。因此“已为 patchright 安装 Chromium”是默认路径本地 Chrome 只是可选替代小红书创作者后台地址默认是https://creator.xiaohongshu.com并可通过环境变量SAU_XHS_CREATOR_BASE_URL覆盖见 模块常量 与 _build_xhs_creator_urldocs/CLI.md 提到海外环境可用SAU_XHS_CREATOR_BASE_URLhttps://creator.rednote.com切换 RedNote 域名该设置同时作用于登录、cookie 校验、视频发布和图文发布。四、常见调用方式四种拿到sau命令的姿势“环境能调用sau”有多种达成路径。运行前提文档按常见场景列出了四类方式故障排查文档 在“找不到sau命令”一节也给出了同样的回退顺序1.sau已在 PATH 中sau xiaohongshu --help这是最理想的状态uv pip install -e .之后激活了对应虚拟环境且该环境的 bin/Scripts 目录已加入 PATH。2. 虚拟环境存在但尚未激活PowerShell.\.venv\Scripts\Activate.ps1 sau xiaohongshu --help激活后 PATH 中就会出现.venv\Scriptssau.exe随即可用。3. 直接调用可执行文件PowerShell.\.venv\Scripts\sau.exe xiaohongshu --help绕过 PATH 与激活步骤直接指定入口文件。适合写批处理脚本或 agent 在不确定 PATH 状态时的保守调用。4. 使用 uv 运行uv run sau xiaohongshu --helpuv run会自动解析项目环境并在其中执行sau等价于“临时激活 执行”适合不想手动管理 venv 的场景。这四种方式对底层是等价的——最终都执行 sau_cli.py 的main()其中小红书子命令由 build_parser 注册的xiaohongshu解析器处理动作包括login、check、upload-video、upload-note四个。五、无头与有头模式--headless与--headed运行前提文档的最后一节约定了浏览器窗口策略这里结合源码展开。CLI 将两个维度拆开见 docs/CLI.md 的“运行时参数”一节与 add_runtime_flags--headless无头模式运行不显示浏览器窗口--headed有头模式运行显示浏览器窗口适合人工观察页面两者互斥add_mutually_exclusive_group都不传时默认headlessTrueparser.set_defaults(headlessTrue)。这两个 flag 目前挂在login和两个upload-*子命令上check子命令本身固定以无头方式做校验——从 cookie_auth 可以看到它始终launch(headlessTrue)并打开创作者后台视频发布页判断是否被重定向到/login若是则视为 cookie 失效。无头登录时的二维码处理规范无头模式下扫码登录是 Agent 场景的核心痛点。运行前提文档给出两条约束如果用户明确要求无头登录要预期 CLI 会通过控制台输出或临时图片路径提供二维码相关提示如果登录过程中已生成本地二维码图片agent 应优先直接把图片展示/发送给用户扫码而不是只告诉用户图片路径。这两条约束在源码中完全对得上。小红书登录流程xiaohongshu_cookie_gen的无头分支会打开创作者后台/login页找到“扫一扫”面板中的二维码图片通过 _save_xhs_qrcode 把二维码保存为本地 PNG路径由 build_login_qrcode_path 生成命名为cookies/目录下{账号文件stem}_xhs_login_qrcode_{时间戳}.png若二维码src是data:image/内联格式则直接解码保存save_data_url_image否则对元素截图尝试用 OpenCV 解码二维码并在终端打印 ASCII 二维码print_terminal_qrcode 调用链解码失败时降级为 warning提示“请打开图片路径扫码”轮询等待扫码完成默认每 3 秒检查一次、最多 100 次成功后通过context.storage_state(pathaccount_file)把登录态写入账号文件随后自动再跑一次cookie_auth复核无论成败finally中清理临时二维码文件remove_qrcode_file。也就是说终端能完整渲染 ASCII 二维码时用户可直接扫终端渲染不完整时唯一的可靠通道就是那张临时 PNG——这正是“agent 必须直接把图片发出去”的原因。SKILL.md 的“执行前检查”小节重复强调同一点二维码图片本身就是给用户扫码的只回传路径会阻塞整个登录流程。六、前提落实后的最小验证链当三项运行前提全部满足后可以用最短的命令链验证环境这也是 xiaohongshu_commands.sh 模板脚本的执行顺序sau xiaohongshu login --account $account --headless sau xiaohongshu check --account $account从 dispatch 可以确认两条命令的可观察行为login成功时打印Xiaohongshu login flow completed: account_file并返回退出码 0失败会抛出带具体原因的 RuntimeError 并以退出码 1 结束check只输出valid或invalid二选一退出码分别为 0 或 1非常适合脚本判断账号文件由 resolve_account_file 统一解析为cookies/xiaohongshu_account_name.json一个account_name对应一个独立账号文件天然支持多账号隔离与并发任务上传类命令在正式上传前会再跑一次 cookie 校验upload_xiaohongshu_video 等失效时直接报错并提示先执行sau xiaohongshu login --account name上传完成后还会把刷新过的storage_state写回账号文件见 upload 方法 中的cookie 更新完毕日志。后续要执行真正的视频/图文上传、定时发布--schedule YYYY-MM-DD HH:MM发布时间需晚于当前时间至少 2 小时见 validate_publish_date、标签上限CLI 层最多 10 个见 dispatch等参数细节应继续阅读 cli-contract.md命令失败时的排查顺序找不到sau、cookie 失效、无头二维码、参数缺失则见 troubleshooting.md。单元测试 tests/test_xiaohongshu_uploader.py 使用 FakeLocator/RecordingPage 等 mock 对象覆盖了标题、描述、话题填充与二维码链路可作为理解各步骤行为的佐证。小结运行前提文档看似简短实际勾勒出整条小红书自动化链路的“地基”uv pip install -e .提供sau入口由pyproject.toml的[project.scripts]生成patchright install chromium建议配 npmmirror 镜像提供浏览器内核uploader 通过channelchromium消费四种调用方式覆盖 PATH/venv/直调 exe/uv 四类环境而--headless/--headed默认无头的约定配合“二维码图片优先直接展示”的规则保证了 Agent 在无人值守终端下也能完成扫码登录。把这一节的前提逐项核对后再进入 cli-contract.md 的命令契约就是 skill 推荐的完整工作路径。【免费下载链接】social-auto-upload自动化上传视频到社交媒体抖音、小红书、视频号、tiktok、youtube、bilibili项目地址: https://gitcode.com/GitHub_Trending/so/social-auto-upload创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

《道德经》第二章的辩证智慧与现代应用

《道德经》第二章的辩证智慧与现代应用

1. 解读《道德经》第二章的核心思想《道德经》第二章开篇便道出"天下皆知美之为美,斯恶已;皆知善之为善,斯不善已"的辩证观点。这句话揭示了老子思想中最为核心的相对论哲学——世间万物都是相互依存、对立统一的。当人们定义了&qu…

📅 2026/9/14 7:20:44
C++ STL集合算法全解析:有序区间上的并集、交集与差集

C++ STL集合算法全解析:有序区间上的并集、交集与差集

每天一个STL知识点&#xff0c;今天轮到集合算法。说到“集合算法”&#xff0c;很多人第一反应是 std::set 的几个成员函数&#xff0c;其实STL里真正的集合运算是一组泛型算法&#xff0c;它们并不属于 set 类&#xff0c;而是藏在 <algorithm> 头文件里&#xf…

📅 2026/9/14 7:20:44
SpringBoot+Vue医院食堂订餐系统开发实践

SpringBoot+Vue医院食堂订餐系统开发实践

1. 项目概述医院食堂订餐系统是一个基于SpringBootVue技术栈的Web应用&#xff0c;旨在解决医院内部餐饮服务的数字化管理问题。这个系统将传统的线下订餐流程转移到线上&#xff0c;为医护人员、患者及家属提供便捷的订餐服务&#xff0c;同时优化医院食堂的后台管理流程。在医…

📅 2026/9/14 7:20:44
MORE NEWS

更多资讯

📰

基于深度学习的3D MRI分类:从数据集预处理到模型训练与评估

简介&#xff1a;本项目是一套面向医学影像分析入门者与深度学习初学者的3D MRI分类演示代码包&#xff0c;聚焦将对比学习中的InfoNCE损失扩展至弱监督场景&#xff0c;利用受试者年龄、性别等辅助信息改进数据表示。压缩包共12个文件&#xff0c;涵盖Python源码、图解图片与说…

📰

降AI率工具实测:10款AI写作改写助手效果对比与避坑指南

去年有个学弟来找我&#xff0c;说他毕业论文第二部分被导师圈了一整页&#xff0c;旁边批了四个字&#xff1a;“很像AI写的”。他觉得很冤&#xff0c;因为他确实没有拿AI整段生成&#xff0c;只是让AI帮忙扩了提纲&#xff0c;又自己改了两遍。我拿过来一看&#xff0c;问题…

📰

AI Agent记忆系统设计实战:分层、存储与召回

1. 定制记忆机制&#xff1a;Agent 为什么必须“记住你” 如果你玩过几款对话式 AI 工具&#xff0c;大概会有一种很典型的感觉&#xff1a;刚聊完一个复杂需求&#xff0c;换个会话再问&#xff0c;它就像失忆了一样&#xff0c;又得从头交代背景。最开始我以为是产品设计缺陷…

📰

混合路由架构:RAG知识库与NL2SQL统一智能问答方案

最近在整理企业数据助手项目时&#xff0c;我发现自己陷入了一个不算新、但特别典型的困境&#xff1a;业务方对“知识”的需求和对“数据”的需求&#xff0c;原本是两套系统分别在满足&#xff0c;可我越做越觉得哪里不对劲。我们当时给公司搭了一个基于RAG知识库的智能问答机…

📰

Wasp 如何为自定义 API 添加 Swagger UI 文档页并在线测试端点

Wasp 如何为自定义 API 添加 Swagger UI 文档页并在线测试端点 【免费下载链接】wasp The batteries-included full-stack framework for the AI era. Develop JS/TS web apps (React, Node.js, and Prisma) using declarative code that abstracts away complex full-stack fe…

📰

2026 AI应用与智能体开发:Java+Python双栈实战课程全拆解

2026年了&#xff0c;AI应用开发和智能体开发已经不是要不要学的问题&#xff0c;而是怎么学才不踩坑的问题。我做了几年线下实战课程&#xff0c;最大的感受是&#xff1a;网上教程很多&#xff0c;但从“看懂”到“能上线”之间&#xff0c;隔着一整条沟。就拿最常见的困惑来…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬