🚀 快速安装

复制以下命令并运行,立即安装此 Skill:

npx @anthropic-ai/skills install jimliu/baoyu-skills/baoyu-post-to-x

💡 提示:需要 Node.js 和 NPM

发布到 X (Twitter)

通过真实的 Chrome 浏览器发布文本、图片、视频和长文到 X(绕过反机器人检测)。

脚本目录

重要提示:所有脚本都位于此技能的 scripts/ 子目录中。

代理执行说明

  1. 确定此 SKILL.md 文件的目录路径为 {baseDir}
  2. 脚本路径 = {baseDir}/scripts/<脚本名称>.ts
  3. 将本文档中的所有 {baseDir} 替换为实际路径
  4. 解析 ${BUN_X} 运行时:如果已安装 bun → 使用 bun;如果 npx 可用 → 使用 npx -y bun;否则建议安装 bun

脚本参考

脚本 用途
scripts/x-browser.ts 常规帖子(文本 + 图片)
scripts/x-video.ts 视频帖子(文本 + 视频)
scripts/x-quote.ts 带评论的引用推文
scripts/x-article.ts 长文发布(Markdown)
scripts/md-to-html.ts Markdown → HTML 转换
scripts/copy-to-clipboard.ts 复制内容到剪贴板
scripts/paste-from-clipboard.ts 发送真实的粘贴按键
scripts/check-paste-permissions.ts 验证环境与权限

偏好设置 (EXTEND.md)

检查 EXTEND.md 是否存在(优先级顺序):

# macOS, Linux, WSL, Git Bash
test -f .baoyu-skills/baoyu-post-to-x/EXTEND.md && echo "project"
test -f "${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-post-to-x/EXTEND.md" && echo "xdg"
test -f "$HOME/.baoyu-skills/baoyu-post-to-x/EXTEND.md" && echo "user"
# PowerShell (Windows)
if (Test-Path .baoyu-skills/baoyu-post-to-x/EXTEND.md) { "project" }
$xdg = if ($env:XDG_CONFIG_HOME) { $env:XDG_CONFIG_HOME } else { "$HOME/.config" }
if (Test-Path "$xdg/baoyu-skills/baoyu-post-to-x/EXTEND.md") { "xdg" }
if (Test-Path "$HOME/.baoyu-skills/baoyu-post-to-x/EXTEND.md") { "user" }

┌──────────────────────────────────────────────────┬───────────────────┐
│ 路径 │ 位置 │
├──────────────────────────────────────────────────┼───────────────────┤
│ .baoyu-skills/baoyu-post-to-x/EXTEND.md │ 项目目录 │
├──────────────────────────────────────────────────┼───────────────────┤
│ $HOME/.baoyu-skills/baoyu-post-to-x/EXTEND.md │ 用户主目录 │
└──────────────────────────────────────────────────┴───────────────────┘

┌───────────┬───────────────────────────────────────────────────────────────────────────┐
│ 结果 │ 操作 │
├───────────┼───────────────────────────────────────────────────────────────────────────┤
│ 找到 │ 读取、解析、应用设置 │
├───────────┼───────────────────────────────────────────────────────────────────────────┤
│ 未找到 │ 使用默认设置 │
└───────────┴───────────────────────────────────────────────────────────────────────────┘

EXTEND.md 支持:默认 Chrome 用户配置文件

前提条件

  • 谷歌 Chrome 或 Chromium 浏览器
  • bun 运行时
  • 首次运行:手动登录 X(会话将被保存)

运行前检查(可选)

在首次使用前,建议运行环境检查。如果用户愿意,可以跳过。

${BUN_X} {baseDir}/scripts/check-paste-permissions.ts

检查项包括:Chrome、配置文件隔离、Bun、辅助功能、剪贴板、粘贴按键、Chrome 冲突。

如果任何检查失败,针对每个项目提供修复指南:

检查项 修复方法
Chrome 安装 Chrome 或设置 X_BROWSER_CHROME_PATH 环境变量
配置文件目录 共享配置文件位于 baoyu-skills/chrome-profile(参见 CLAUDE.md 中的 Chrome 配置文件部分)
Bun 运行时 brew install oven-sh/bun/bun (macOS) 或 npm install -g bun
辅助功能 (macOS) 系统设置 → 隐私与安全性 → 辅助功能 → 启用终端应用
剪贴板复制 确保 Swift/AppKit 可用(macOS Xcode 命令行工具:xcode-select --install
粘贴按键 (macOS) 同上方的辅助功能修复
粘贴按键 (Linux) 安装 xdotool (X11) 或 ydotool (Wayland)

参考文档

  • 常规帖子:参见 references/regular-posts.md 了解手动操作流程、故障排除和技术细节
  • X 文章:参见 references/articles.md 获取长篇发布指南

帖子类型选择

除非用户明确指定帖子类型:

  • 纯文本 + 长度在 10,000 字符以内 → 常规帖子(Premium 会员支持最多 10,000 字符,非 Premium 会员为 280 字符)
  • Markdown 文件 (.md) → X 文章

常规帖子

${BUN_X} {baseDir}/scripts/x-browser.ts "你好!" --image ./photo.png

参数

参数 描述
<文本> 帖子内容(位置参数)
--image <路径> 图片文件(可重复,最多 4 张)
--profile <目录> 自定义 Chrome 用户配置文件

注意:脚本会打开浏览器并填充好内容。用户需手动审核并发布。


视频帖子

文本 + 视频文件。

${BUN_X} {baseDir}/scripts/x-video.ts "看看这个!" --video ./clip.mp4

参数

参数 描述
<文本> 帖子内容(位置参数)
--video <路径> 视频文件(MP4, MOV, WebM)
--profile <目录> 自定义 Chrome 用户配置文件

注意:脚本会打开浏览器并填充好内容。用户需手动审核并发布。

限制:普通用户最长 140 秒,Premium 用户最长 60 分钟。处理时间:30-60 秒。


引用推文

引用现有推文并添加评论。

${BUN_X} {baseDir}/scripts/x-quote.ts https://x.com/user/status/123 "很棒的见解!"

参数

参数 描述
<推文-url> 要引用的推文 URL(位置参数)
<评论> 评论文本(位置参数,可选)
--profile <目录> 自定义 Chrome 用户配置文件

注意:脚本会打开浏览器并填充好内容。用户需手动审核并发布。


X 文章

长篇 Markdown 文章(需要 X Premium 订阅)。

${BUN_X} {baseDir}/scripts/x-article.ts article.md
${BUN_X} {baseDir}/scripts/x-article.ts article.md --cover ./cover.jpg

参数

参数 描述
<markdown> Markdown 文件(位置参数)
--cover <路径> 封面图片
--title <文本> 覆盖原标题

前置元数据:支持 YAML 前置元数据中的 titlecover_image

注意:脚本会打开浏览器并填充好文章内容。用户需手动审核并发布。

发布前完整性检查:在所有图片插入后,脚本会自动验证:

  • 编辑器中是否还有剩余的 XIMGPH_ 占位符
  • 预期图片数量与实际图片数量是否一致

如果检查失败(输出中有警告),请在用户发布前提醒他们具体问题。


故障排除

Chrome 调试端口未就绪

如果脚本失败并显示 Chrome 调试端口未就绪无法连接,请先终止现有的 Chrome CDP 实例,然后重试:

pkill -f "Chrome.*remote-debugging-port" 2>/dev/null; pkill -f "Chromium.*remote-debugging-port" 2>/dev/null; sleep 2

重要提示:这应该自动完成——当遇到此错误时,应终止 Chrome CDP 实例并重试命令,无需询问用户。

备注

  • 首次运行:需要手动登录(会话会持久保存)
  • 所有脚本仅负责在浏览器中填充内容,用户必须手动审核并发布
  • 跨平台支持:macOS、Linux、Windows

扩展支持

通过 EXTEND.md 进行自定义配置。参见偏好设置部分了解路径和支持的选项。

📄 原始文档

完整文档(英文):

https://skills.sh/jimliu/baoyu-skills/baoyu-post-to-x

💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。