mcpField
T
toutiao-publisher

toutiao-publisher

github.com/guanyang营销与增长331.1k 次安装2 周前更新
代码仓库

关于 toutiao-publisher

toutiao-publisher 是通过 Chrome 准备并发布 Toutiao 文章的 Skill,支持输入校验、人工审核和经明确授权的自动发布,并检查登录状态及发布结果。

主要功能

  1. 01打开 Chrome 前校验文章输入
  2. 02填写草稿并等待人工审核
  3. 03经明确授权后自动发布
  4. 04检查和管理 Toutiao 登录状态
  5. 05支持 Markdown 内容和本地图片

适用场景

  1. 01从 Markdown 文件准备 Toutiao 文章
  2. 02检查已填写的草稿后再发布
  3. 03确认共享 Toutiao 会话是否已登录

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/guanyang/super-publisher --skill toutiao-publisher

安装后在 Claude Code 中输入/toutiao-publisher确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
requirements.txt
scripts/
auth_manager.py
browser_utils.py
cli_utils.py
config.py
md2html.py
publisher.py
run.py
setup_environment.py
tests/
test_auth_manager.py
test_browser_utils.py
test_config.py
test_md2html.py
test_publisher_cli.py
test_publisher_cover_policy.py
test_publisher_debug.py
test_run.py
test_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/。

评论

支持 Markdown