🚀 快速安装
复制以下命令并运行,立即安装此 Skill:
npx @anthropic-ai/skills install jimliu/baoyu-skills/baoyu-post-to-x
💡 提示:需要 Node.js 和 NPM
发布到 X (Twitter)
通过真实的 Chrome 浏览器发布文本、图片、视频和长文到 X(绕过反机器人检测)。
脚本目录
重要提示:所有脚本都位于此技能的 scripts/ 子目录中。
代理执行说明:
- 确定此 SKILL.md 文件的目录路径为
{baseDir} - 脚本路径 =
{baseDir}/scripts/<脚本名称>.ts - 将本文档中的所有
{baseDir}替换为实际路径 - 解析
${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 前置元数据中的 title 和 cover_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 原始英文文档,方便对照翻译。

评论(0)