Skip to main content

opub

opub 是一个 Python 工具包,把视频/图文一键发布到国内主流社交媒体平台,支持定时发布。

已支持 抖音、小红书、快手、Bilibili、视频号、百家号、微博 共 7 个平台。 项目以 AI Agent 技能(skill)为核心使用形态,也可以直接作为 CLI 使用。

功能特性

平台标识 名称 视频上传 图文上传 定时发布 说明
douyin 抖音 ✅ ✅ ✅
xiaohongshu 小红书 ✅ ✅ ✅ 浏览器自动化
kuaishou 快手 ✅ ✅ ✅ 浏览器自动化
bilibili B站 ✅ ❌ ❌ 当前接口仅立即发布,自动抓取BV号
tencent 视频号 ✅ ❌ ✅ 分享短链通过 API 自动抓取
baijiahao 百家号 ✅ ❌ ✅ 浏览器自动化
weibo 微博 ✅ ✅ ✅ 单账号自动发现

所有平台通过统一入口 opub 调用,自动完成运行环境预检、账号登录校验、发布和结果汇总。

同一份素材的全部启用平台默认并发发布,无需额外参数。各平台在自己的流程中调用现有登录校验;需要扫码时分别打开登录窗口,不统一排队,一个平台等待扫码不阻塞其他平台。目录中的多份素材仍按顺序处理,每份素材的全部平台结束后再开始下一份。

安装

python -m pip install --only-binary=:all: opub
opub --repair-env

0.9.0 支持 CPython 3.11、3.12、3.13,以及 macOS arm64/x86_64、Windows x86_64、Linux x86_64。正式发行只提供编译 wheel;没有匹配 wheel 时不会回退到源码构建。

系统依赖:

# 浏览器驱动(--repair-env 会安装;也可以单独执行以下命令)
PLAYWRIGHT_CHROMIUM_DOWNLOAD_HOST="https://cdn.playwright.dev" patchright install chromium

# ffmpeg(仅"图文转视频"功能需要)
# macOS: brew install ffmpeg
# Ubuntu/Debian: sudo apt-get install ffmpeg

# B站上传程序(发布到 B站前需安装)
opub --repair-env --with-bilibili

发布和环境 / 许可命令会在当前系统用户的 ~/.opub/ 创建数据目录(cookies、许可证和发布记录等)。历史查询 --history 不创建目录或文件。同一系统用户下的所有 Agent 固定使用这一目录;源码目录和环境变量不会改变数据位置。

发布时只检查环境,不再自动安装或更新依赖。需要图文转视频时,运行 opub --repair-env --with-video,或安装 python -m pip install --only-binary=:all: "opub[video]"。发布到 B站需要本地 biliup 程序:发布与 --dry-run 只做只读检查,缺失时返回 ENV-007,用 opub --repair-env --with-bilibili 显式安装。修复命令使用 opub 当前解释器,不需要付费激活,也不会发布内容。

快速开始

opub 的新任务通过命令行参数接收全部配置,发布结果会保存到本地供恢复使用。每个平台只自动发现一个规范账号文件;未发现账号时,发布流程会引导扫码并写入对应上传器目录的 account.json。

# 视频发布(必填:--platforms + --video)
opub --platforms douyin,weibo --video videos/demo.mp4 --title "标题" --tags "标签1,标签2"

# 图文发布
opub --platforms xiaohongshu --note --images img1.jpg,img2.jpg --title "标题"

# 图文转视频(视频号/百家号等不支持图文的平台)
opub --platforms tencent --note --images img1.jpg --convert-to-video --video-duration 5

# 定时 / 从目录第 2 个视频开始 / 强制重新生成
opub --platforms weibo --video videos/ --title "标题" --schedule "2027-01-01 12:00" --start-from 2 --force

# 有头模式排查(发布默认无头不弹窗;扫码登录始终显示窗口)
opub --platforms douyin --video videos/demo.mp4 --title "标题" --no-headless

opub --version                        # 查看已安装版本
opub --help                           # 全部参数说明

Agent 可在发布命令后加 --output json:stdout 只返回一份 JSON 结果,过程日志写入 stderr。结果包含各平台成败、素材、错误码、链接及是否允许重试,详见 CLI 说明。

发布前可添加 --dry-run 检查素材、标题、平台能力、时间和环境,不需要激活,不登录、不发布或生成素材。批量任务会先检查全部素材和标题,再开始发布。

每次实际发布输出任务编号;失败或中断后使用 opub --resume RUN_ID 恢复,已成功的平台保留原链接。恢复会在上传前核验原账号身份,同账号正常刷新登录态可以继续;换号或无法核验当前身份返回 AUTH-003。旧任务或未保存原身份的条目返回 RUN-006,先在原账号核对,不能用当前账号补证。结果不明的提交仍阻止重发。--start-from 仅选择新任务的目录起始序号,不保护已成功的平台。

使用 opub --history 查看最近 20 个任务,opub --history RUN_ID 查看原素材 / 文案、逐平台状态、记录链接、原账号绑定和恢复条件。列表可加 --limit 5(1–200),两种查询都支持 --output json,无需许可或浏览器。查询只读本地历史,不读取当前素材或账号、不登录或投稿、不改写未知结果;记录链接的公开访问 / 播放仍需独立核对。详见 只读查询与核对步骤。

AI Agent 技能

Agent 的完整接口契约由公开的 opub Skill 提供,安装、配置、调用、读取结果所需信息全部包含在 Skill 中。

付费许可

opub 0.x 创始版售价 ¥9.90,在爱发电商品页购买:https://afdian.com/item/69bf71f0a9f511f1bc065254001e7c00。opub 自身不设账号。购买时无需提前注册爱发电;请使用你自己的手机号或邮箱完成验证,首次购买时爱发电会自动生成账号。付款后复制爱发电发放的激活码;请勿向 Agent 提供验证码或账号密码。激活码首次兑换后绑定一个设备;许可不迁移、不解绑、不提供换机重置,新电脑重新购买。该许可覆盖 0.x,已安装的 0.x 版本可永久离线使用;未来大版本需要单独购买。支付方式由用户在爱发电页面选择。公开 Python 包是诚实用户门禁,属于非强 DRM。

opub --license-status
opub --activate
opub --activate --code OPUB0-ABCDE-FGHJK-MNPQR-STVWX-YZ234-56789

交互运行 opub --activate 会打开购买页并提示输入激活码;Agent 应保留已经确认的发布输入,激活成功后自动继续同一个发布任务,不重复问参数。不要在输出或 internal log 中展示完整激活码或设备 hash。

错误码 含义 建议
LIC-001 尚未激活 执行激活命令
LIC-002 损坏签名 联系支持并提供错误码
LIC-003 许可属于其他设备 新电脑重新购买
LIC-004 稳定设备标识不可用 联系支持并提供错误码
LIC-011 服务不可用 稍后重试
LIC-013 激活码无效 检查激活码后重新激活
LIC-014 激活码已绑定其他设备 当前电脑重新购买
LIC-015 当前客户端版本不适用 升级或切换到 opub 0.x 后重试

完整 CLI 说明见 docs/CLI.md。

技能与运行时分发相互独立:Agent 平台安装技能时即获得 SKILL.md,运行时依赖由 Agent 按 SKILL.md 指引自行动 pip install opub 安装。

致谢

代码许可证

0.9.0 的新增私有运行时部分采用 opub 商业代码许可证;继承的 MIT 代码和随包资源保留原授权,详见 第三方声明。这不会撤销 0.8.21 及更早版本已经授予的 MIT 权利。

自动检查

私有发行流程在 Python 3.11 / 3.12 / 3.13 上检查依赖锁文件,运行客户端与许可服务测试,构建并审计 macOS universal2、Windows x86_64 和 Linux x86_64 编译 wheel,再在独立环境安装验证 CLI。正式发行不构建源码包。测试不需要真实账号或发布内容。

uv sync --locked
uv pip install "pytest>=8,<9" pip build "setuptools>=77.0.3" wheel -r license_server/requirements.txt
.venv/bin/python -m pytest tests license_server/tests -q

Metadata

Release files for opub 0.9.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for opub 0.9.11
File
opub-0.9.11-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
opub-0.9.11-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
opub-0.9.11-cp313-cp313-macosx_10_13_universal2.whl CPython 3.13 CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) Details
opub-0.9.11-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
opub-0.9.11-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
opub-0.9.11-cp312-cp312-macosx_10_13_universal2.whl CPython 3.12 CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) Details
opub-0.9.11-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
opub-0.9.11-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
opub-0.9.11-cp311-cp311-macosx_10_9_universal2.whl CPython 3.11 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) Details

Total release size: 50.3 MB

Release files / opub-0.9.11-cp313-cp313-win_amd64.whl

Download URL opub-0.9.11-cp313-cp313-win_amd64.whl
Size 3.1 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
da7c6fc69e090ce163cf9a656dad5d1c9a3b716f48014731bbb09b3acd4fed6b
BLAKE2b-256 checksum
How to use checksums
fa1ff4a95a60804a8bc73fdaab749e0ec0700f2b13a552cf15a1a5f782cdf388
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / opub-0.9.11-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL opub-0.9.11-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 5.1 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
65054707ec475c05de585dfddf8bf3ee8517d67ae7fec9de85b8f5636eab7aca
BLAKE2b-256 checksum
How to use checksums
a1abc9dc77b06f87f0554940aece9989571b967a53ff58dade31b1870f14cad7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / opub-0.9.11-cp313-cp313-macosx_10_13_universal2.whl

Download URL opub-0.9.11-cp313-cp313-macosx_10_13_universal2.whl
Size 8.9 MB
Tags CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
da0516247495b509a769f08c39a29278df3cb4baa051d2d406c8eb1fa7fa2e17
BLAKE2b-256 checksum
How to use checksums
e1448002dfac3664308f079003f29e94debdfe94d130ae51790cb8f7fb4306fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / opub-0.9.11-cp312-cp312-win_amd64.whl

Download URL opub-0.9.11-cp312-cp312-win_amd64.whl
Size 3.1 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
eecd05f08860ce33b63da27dd6e7a1041a881c331027f7b3f58d46ccecf9bbae
BLAKE2b-256 checksum
How to use checksums
ac441901f42cf60ced78b55d42305c370fdfb2622ce6b89c02d5031bd2de2ce8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / opub-0.9.11-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL opub-0.9.11-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 5.2 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4d190885c0e8b00c65e062eefd24565ddaebde0680681922421c2eb2c4a9de26
BLAKE2b-256 checksum
How to use checksums
744be0f2fb6d9e01b97b9e67011b81fe84bb5c18d88f3ad1d884f68c34b0398e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / opub-0.9.11-cp312-cp312-macosx_10_13_universal2.whl

Download URL opub-0.9.11-cp312-cp312-macosx_10_13_universal2.whl
Size 8.9 MB
Tags CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
d956570ddba6779d606a8a6a91a1a60036ad0e3887f30dd7defe137a20a01956
BLAKE2b-256 checksum
How to use checksums
7b8924e362591822a52c087d6fd085e9fad5f0960f9f90e3d9403ed61a81393d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / opub-0.9.11-cp311-cp311-win_amd64.whl

Download URL opub-0.9.11-cp311-cp311-win_amd64.whl
Size 3.3 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
262c1f7cb7442940b77e8fdce034e365d07bca4f09ab6355477c9ceb2cb8636b
BLAKE2b-256 checksum
How to use checksums
cbf7aad96ce39771139514201af700958c6368f411f04525f7409ff1549aa762
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / opub-0.9.11-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL opub-0.9.11-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 4.6 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
19d96926b03f507138fb971a392fc0884456165ed2f89c6bac58da4495ee15a2
BLAKE2b-256 checksum
How to use checksums
35eeea83900633af5f7eaab5f3d8071e01924d821a51e9278c722862e9fc77e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / opub-0.9.11-cp311-cp311-macosx_10_9_universal2.whl

Download URL opub-0.9.11-cp311-cp311-macosx_10_9_universal2.whl
Size 8.0 MB
Tags CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
ca2ccfb35a6255b9ac4b8da81efd5e936c954c11dd0d0e1577222cea23b55d2f
BLAKE2b-256 checksum
How to use checksums
c2c6ed32e17cccb358f8843a939bf3f1822c431f09fd07a98a28c2f5e7f9bfaa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.9.11 This release

9 release files

0.9.10

9 release files

0.9.9

9 release files

0.9.8

9 release files

0.9.7

9 release files

0.9.6

9 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page