← 返回
未分类 Key

Twitter Article

Sync Notion articles to Twitter/X Articles with support for Premium+ long posts, images, cover, and publishing via CLI commands.
将 Notion 文章同步至 Twitter/X,支持 Premium+ 长文、图片、封面及 CLI 命令发布。
sit-in
未分类 clawhub v1.0.0 1 版本 100000 Key: 需要
★ 0
Stars
📥 284
下载
💾 0
安装
1
版本
#latest

概述

Twitter Article Skill

Notion 文章一键同步到 Twitter/X Article(Premium+ 长文,图文混排)。

快速使用

# 环境变量(必须)
export AUTH_TOKEN="<twitter auth_token cookie>"
export CT0="<twitter ct0 cookie>"
export HTTPS_PROXY="http://127.0.0.1:7897"

# Notion 文章 → Twitter 草稿(一条命令搞定)
node twitter-article.js notion-to-article --notion-key <key> --page-id <id>

# 或者分步操作
node twitter-article.js upload-media --file image.png        # 上传图片
node twitter-article.js create --title "标题" --file a.md     # 创建含内容的草稿
node twitter-article.js update-content --id <id> --file a.md  # 更新已有草稿内容
node twitter-article.js update-cover --id <id> --media-id <m> # 设封面
node twitter-article.js publish --id <id>                     # 发布

命令一览

命令说明
------------
list列出所有草稿
create-draft --title "xxx"创建空草稿
create --title "xxx" --file a.md创建并写入内容
update-content --id --file a.md更新内容(.md 或 .json)
update-title --id --title "xxx"更新标题
update-cover --id --media-id 设封面
upload-media --file image.png上传图片 → media_id
get --id 查看文章详情
publish --id 发布
delete --id 删除

前提条件

  • Twitter Premium+ 账号(Article 功能需要)
  • Cookies 认证:AUTH_TOKEN + CT0(从浏览器获取)
  • 代理:HTTPS_PROXY(国内需要)

内容格式(核心)

Twitter Article 使用修改版 Draft.js 格式。发送用 snake_case,返回用 camelCase。

Block

{
  "data": {},
  "text": "段落文字",
  "key": "a1b2c",
  "type": "unstyled",
  "entity_ranges": [],
  "inline_style_ranges": []
}

支持的 type:unstyled header-one header-two blockquote unordered-list-item ordered-list-item atomic

不支持header-three header-four code-block(服务端 500)

内嵌图片

Atomic block + MEDIA entity:

// entity_map 条目
{
  "key": "0",
  "value": {
    "type": "MEDIA",
    "mutability": "Immutable",
    "data": {
      "entity_key": "<uuid-v4>",
      "media_items": [{
        "local_media_id": 1,
        "media_category": "DraftTweetImage",
        "media_id": "<media_id_string>"
      }]
    }
  }
}

// 对应的 atomic block
{
  "data": {},
  "text": " ",
  "key": "xxx",
  "type": "atomic",
  "entity_ranges": [{"key": 0, "offset": 0, "length": 1}],
  "inline_style_ranges": []
}

API 变量名速查

Mutation文章ID变量名其他关键变量
------------------------------------
DraftCreate(无)content_state, title, plaintext, word_count
UpdateContentarticle_entitycontent_state, plaintext, word_count
UpdateTitlearticleEntityIdtitle
UpdateCoverMediaarticleEntityIdcoverMedia: {media_id, media_category}
Delete/PublisharticleEntityId(无)

⚠️ UpdateContent 用 article_entity,其他用 articleEntityId

⚠️ 关键注意事项

  1. media_id 必须用字符串 — JS Number 对 19 位数字丢精度,用 media_id_string
  2. 第一个 # 标题自动跳过 — 作为 title 参数传递,不重复写入正文
  3. h3/h4 → h2 — Twitter 不支持三级以下标题
  4. code → blockquote — code-block 类型会报错
  5. QueryID 可能变 — Twitter 前端更新后需要重新抓取
  6. 封面图格式coverMedia: {media_id, media_category: "DraftTweetImage"},不是平铺的 media_id

文件结构

skills/twitter-article/
├── SKILL.md              # 本文档
└── twitter-article.js    # CLI 工具(所有功能)

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-05-12 05:51 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

ai-intelligence

self-improving agent

pskoett
捕获经验教训、错误和纠正,以实现持续改进。使用时机:(1)命令或操作意外失败;(2)用户纠正……
★ 4,055 📥 795,905
developer-tools

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 666 📥 323,791
ai-intelligence

Self-Improving + Proactive Agent

ivangdavila
自我反思+自我批评+自我学习+自组织记忆。智能体评估自身工作、发现错误并持续改进。
★ 1,349 📥 317,697