源码运行需 Python 3.12 及以上版本;未配置 Cookie 时视频只能下载低分辨率文件;Docker 模式不支持命令行调用与剪贴板相关功能;macOS 可执行文件首次运行需先执行 xattr -cr 移除安全标记

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
python main.py 硬件要求按 README 说明
README 未说明显存或 GPU 要求,属于网络下载类工具;可执行文件支持 macOS 与 Windows 10 及以上,也可用 Docker 运行
有 Docker 镜像
小红书作品链接提取与采集下载工具,支持图文、视频、livePhoto 批量保存
从小红书链接中提取作品信息并批量采集下载,支持 Docker 部署和 API 调用,方便做内容归档或数据分析。
核心能力
- 采集作品信息并提取下载地址
- 下载视频封面与 livePhoto 文件
- 自动跳过已下载作品并校验文件完整性
- 后台监听剪贴板自动下载作品
- 提供 API、MCP 与命令行调用模式
容易踩的坑
内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README
- 2.8XHS-Downloader V2.8最新正式版2026-09-12 · 2026-09-12 14:00 UTC
项目更新内容:
- 修复 ParserError 导致应用崩溃的问题
- 参数
headers重构为impersonate - 使用
curl_cffi替代httpx - 修复模式切换后状态显示异常的问题
- 修复 CLI 模式 KeyError 异常
- 修复控制字符导致程序报错的问题
- 修复部分分享链接提取失败的问题
- 图文/图集作品支持下载指定文件
- 修复动态图片无法下载的问题
- 下载文件默认不使用网络代理
- 优化用户脚本与程序联动功能
- 优化视频下载链接提取逻辑
- 新增单独保存作品信息功能
- 重构项目内置请求延时机制
- 增加文件下载缓冲机制
- 新增对 RedNote 的支持
- 支持图形用户交互界面
⚠️ 升级提醒:本次升级请将旧版本程序文件夹下的 _internal\Volume 文件夹,复制到新版本程序所在的文件夹内(与主程序在同一目录)
用户脚本更新内容:
版本号:2.4.3
- 修复部分视频下载失败的问题
- 优化多次点击重复下载的问题
- 优化视频下载链接提取逻辑
- 优化显示位置,避免遮挡内容
- 支持自定义文件名称格式
- 脚本图标支持移动位置
- 新增对 RedNote 的支持
- 调整图标显示位置
- 2.7XHS-Downloader V2.72026-02-09 · 2026-02-09 06:40 UTC
查看更新说明
项目更新内容:
- 修复 MCP 模式无法下载文件的问题
- 新增
script_server配置参数 - 移除
从浏览器读取 Cookie功能 - 新增连接用户脚本下载作品功能
- 优化 Cookie 处理逻辑
- 修复视频作品下载功能
- 新增视频下载偏好设置
- 新增作品处理统计功能
- 重构数据处理逻辑
- 调整内置延时机制
用户脚本更新内容:
版本号:2.3.1
- 新增链接提取/图片下载选择模式开关
- 修复合辑作品链接提取失败的问题
- 链接提取选择界面添加序号显示
- 新增推送下载任务至服务器功能
- 新增图文作品文件下载格式设置
- 修复视频作品下载功能
- 优化用户脚本兼容性
- 新增英语语言支持
- 重构数据处理逻辑
- 2.6XHS-Downloader V2.62025-08-11 · 2025-08-11 05:05 UTC
查看更新说明
项目更新内容:
- 修复作品类型判断失败时异常退出的问题
- 修改服务器模式请求路径为
/xhs/detail - 修改服务器模式默认端口为
5556 - 命令行模式支持传递多个作品链接
- 新增
folder_name参数检查 - 服务器模式新增 MCP 模式
- 配置与文件归集到单文件夹
- 优化配置文件参数容错机制
- 优化提取链接的正则表达式
- 修改服务器模式启动命令
- 支持更多作品链接格式
- 支持音乐图集作品下载
- 其他细节优化
用户脚本更新内容:
版本号:2.1.10
- 修复单张图片的作品下载后文件损坏问题
- 添加未登录状态下无法提取作品链接的提示
- 修复提取搜索结果作品链接失败的问题
- 脚本设置新增
菜单始终显示配置项 - 修复用户脚本 CSS 样式冲突问题
- 优化运行弹窗提示的交互界面样式
- 新增支持仅提取勾选的作品链接
- 优化提取作品 ID 的正则表达式
- 优化图文作品复选弹窗交互效果
- 优化图文作品复选弹窗显示效果
- 优化用户脚本运行状态提示
- 2.5XHS-Downloader V2.52025-04-20 · 2025-04-20 13:05 UTC
查看更新说明
项目更新内容:
- 增加对
JPEG和HEIC图片格式的支持 - 新增启动
监听剪贴板模式时清空剪贴板内容 - 修复
监听剪贴板模式可能丢失链接的问题 - 支持以发布时间作为文件修改时间
- 支持按作者归档保存作品文件
- 支持 API 模式设置临时代理
- 新增自动更新作者昵称功能
- 优化
headers处理逻辑 - 优化语言代码获取逻辑
- 支持
SOCKS代理 - 支持设置作者别名
注意:
用户脚本更新内容:
版本号:2.0.0
- 重构用户脚本交互界面
- 重构用户脚本交互效果
- 新增选择图片下载功能
- 重构用户脚本设置面板
- 更新用户脚本功能说明
- 增加对
- 2.4XHS-Downloader V2.42025-01-05 · 2025-01-05 03:50 UTC
查看更新说明
项目更新内容:
- 修复命令行模式语言不生效的问题
- 修复删除下载记录无效的问题
- 优化文件名称非法字符处理
- 支持 API 模式传入 Cookie
- 优化删除下载记录功能
- 适配新版本 HTTPX 库
- 适配新版本 Textual 库
- 更新程序交互界面
- 重构项目翻译模块
- 更正英语语言代码
- 优化文件下载功能
- 降低内置延时机制
- 其他细节优化
用户脚本更新内容:
版本号:1.8.6
- 重构自动滚动页面功能
- 新增文件名称长度限制
- 优化文件名称过滤规则
- 新增文件打包下载功能
- 优化作品文件下载速度
- 新增下载失败重试机制
- 优化文件下载功能
用户点评
登录用户的真实使用记录,可按版本和硬件筛选共 0 条
还没有人点评。第一个说出真实体验的人最有价值。
本指南将引导您通过 Fork 本仓库并执行 GitHub Actions 自动完成基于最新源码的程序构建和打包!
使用步骤
1. Fork 本仓库
- 点击项目仓库右上角的 Fork 按钮,将本仓库 Fork 到您的个人 GitHub 账户中
- 您的 Fork 仓库地址将类似于:
https://github.com/your-username/this-repo
2. 启用 GitHub Actions
- 前往您 Fork 的仓库页面
- 点击顶部的 Settings 选项卡
- 点击右侧的 Actions 选项卡
- 点击 General 选项
- 在 Actions permissions 下,选择 Allow all actions and reusable workflows 选项,点击 Save 按钮
3. 手动触发打包流程
- 在您 Fork 的仓库中,点击顶部的 Actions 选项卡
- 找到名为 构建可执行文件 的工作流
- 点击右侧的 Run workflow 按钮:
- 选择 master 或者 develop 分支
- 点击 Run workflow
4. 查看打包进度
- 在 Actions 页面中,您可以看到触发的工作流运行记录
- 点击运行记录,查看详细的日志以了解打包进度和状态
5. 下载打包结果
- 打包完成后,进入对应的运行记录页面
- 在页面底部的 Artifacts 部分,您将看到打包的结果文件
- 点击下载并保存到本地,即可获得打包好的程序
注意事项
-
资源使用:
- Actions 的运行环境由 GitHub 免费提供,普通用户每月有一定的免费使用额度(2000 分钟)
-
代码修改:
- 您可以自由修改 Fork 仓库中的代码以定制程序打包流程
- 修改后重新触发打包流程,您将得到自定义的构建版本
-
与主仓库保持同步:
- 如果主仓库更新了代码或工作流,建议您定期同步 Fork 仓库以获取最新功能和修复
Actions 常见问题
Q1: 为什么我无法触发工作流?
A: 请确认您已按照步骤 启用 Actions,否则 GitHub 会禁止运行工作流
Q2: 打包流程失败怎么办?
A:
- 检查运行日志,了解失败原因
- 确保代码没有语法错误或依赖问题
- 如果问题仍未解决,可以在本仓库的 Issues 页面 提出问题
Q3: 我可以直接使用主仓库的 Actions 吗?
A: 由于权限限制,您无法直接触发主仓库的 Actions。请通过 Fork 仓库的方式执行打包流程
💝 项目赞助
DartNode
💡 项目参考
- https://github.com/lexiforest/curl_cffi
- https://github.com/tiangolo/fastapi
- https://github.com/textualize/textual/
- https://github.com/marcelotduarte/cx_Freeze/
- https://github.com/jlowin/fastmcp
- https://github.com/omnilib/aiosqlite
- https://github.com/carpedm20/emoji/
- https://github.com/asweigart/pyperclip
- https://github.com/lxml/lxml
- https://github.com/pallets/click/
- https://github.com/encode/uvicorn
- https://github.com/Tinche/aiofiles
