关于 toutiao-publisher
toutiao-publisher 是通过 Chrome 准备并发布 Toutiao 文章的 Skill,支持输入校验、人工审核和经明确授权的自动发布,并检查登录状态及发布结果。
主要功能
- 01打开 Chrome 前校验文章输入
- 02填写草稿并等待人工审核
- 03经明确授权后自动发布
- 04检查和管理 Toutiao 登录状态
- 05支持 Markdown 内容和本地图片
适用场景
- 01从 Markdown 文件准备 Toutiao 文章
- 02检查已填写的草稿后再发布
- 03确认共享 Toutiao 会话是否已登录
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ guanyang/ super-publisher --skill toutiao-publisher安装后在 Claude Code 中输入/toutiao-publisher确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdrequirements.txtscripts/auth_manager.pybrowser_utils.pycli_utils.pyconfig.pymd2html.pypublisher.pyrun.pysetup_environment.pytests/test_auth_manager.pytest_browser_utils.pytest_config.pytest_md2html.pytest_publisher_cli.pytest_publisher_cover_policy.pytest_publisher_debug.pytest_run.pytest_setup_environment.py详细介绍
Toutiao Publisher
使用此 Skill 目录中的脚本。先解析此
SKILL.md 所在目录,并将其绝对路径设为 SKILL_DIR;不要假定调用方的
工作目录就是 Skill 目录。
安全规则
- 默认使用
--mode manual。保持 Chrome 打开,供用户检查并点击“发布”。 - 仅在用户明确授权最终发布时使用
--mode auto。 - 仅在用户确认所有本地 Agent 都可能失去共享的 Toutiao 会话后,才运行
clear --yes或reauth --yes。 - 不要绕过输入验证,也不要将未经确认的发布点击视为成功。
预检身份验证
在要求用户扫描二维码前,先检查 Toutiao 的受保护页面:
python3 "$SKILL_DIR/scripts/run.py" auth_manager.py status --verify --json
如果结果状态为 not_authenticated,则打开交互式登录流程:
python3 "$SKILL_DIR/scripts/run.py" auth_manager.py setup --json
默认情况下,共享配置文件位于 ~/.super-publisher/toutiao-publisher/ 下。
同一系统用户运行的 Codex、Kiro、Antigravity 和直接 CLI 运行会复用此配置文件。
设置 SUPER_PUBLISHER_DATA_DIR 可覆盖此位置;相对路径会以用户主目录为基准解析。
准备并发布文章
不打开 Chrome,验证输入:
python3 "$SKILL_DIR/scripts/run.py" publisher.py \
--mode validate \
--title "AI Trends 2026" \
--content-file "/absolute/path/article.md" \
--cover "/absolute/path/cover.jpg" \
--json
验证成功后,填写草稿并等待人工检查:
python3 "$SKILL_DIR/scripts/run.py" publisher.py \
--mode manual \
--title "AI Trends 2026" \
--content-file "/absolute/path/article.md" \
--cover "/absolute/path/cover.jpg" \
--json
仅通过 --content-text 传入直接文本。--content 仍是 --content-file 的别名;
路径不存在时会报错,而不会将其视为文章文本。
Markdown 支持标题、链接、有序和无序列表、引用块、表格、围栏代码、行内代码、强调
以及本地行内图片。相对图片路径以 Markdown 文件所在目录为基准解析。如果正文包含图片,请跳过显式封面
上传。仅当正文没有图片且未提供封面时,才使用 --no-cover。
对于已明确授权的自动发布:
python3 "$SKILL_DIR/scripts/run.py" publisher.py \
--mode auto \
--title "AI Trends 2026" \
--content-file "/absolute/path/article.md" \
--headless \
--json
只有当 Toutiao 显示可识别的成功指示时,自动发布才算成功。点击最终按钮但未获确认时,会返回 publish_unconfirmed。
结果约定
使用 --json 时,身份验证命令会向 stdout 写入一条 JSON 结果。发布器命令会写入以换行符分隔的 JSON 事件;手动模式会在等待用户操作前发出
awaiting_manual_review。
- 退出码
0:已通过身份验证、输入有效、人工检查已完成,或发布已确认。 - 退出码
1:运行时、浏览器交互、草稿、上传或发布失败。 - 退出码
2:输入无效、缺少身份验证,或需要清除确认。
将 stderr 视为面向用户的诊断信息。不要通过解析表情符号或文字来判断 是否成功。
会话管理
# Read local state only
python3 "$SKILL_DIR/scripts/run.py" auth_manager.py status --json
# Verify against Toutiao and refresh state
python3 "$SKILL_DIR/scripts/run.py" auth_manager.py validate --json
# Destructive: require explicit user confirmation first
python3 "$SKILL_DIR/scripts/run.py" auth_manager.py clear --yes --json
环境
需要 Python 3.9+、Google Chrome 和本地网络访问权限。scripts/run.py
会引导运行 scripts/setup_environment.py,验证需求指纹,
并使用 Skill 本地的 .venv Python 执行目标程序。共享状态目录
仅允许所有者访问。避免对同一个持久化 Chrome 配置文件并发启动浏览器操作。
仅在排查问题时启用 --debug-screenshots。默认情况下,截图会写入
output/toutiao-publisher-debug/。