name: baoyu-post-to-x description: 发布内容和文章到X(Twitter)。支持带图片/视频的常规帖子和X文章(长格式Markdown)。使用真实Chrome与CDP绕过反自动化。当用户要求“发布到X”、“推文”、“发布到Twitter”或“在X上分享”时使用。
发布到X(Twitter)
通过真实Chrome浏览器发布文本、图片、视频和长篇文章到X(绕过反机器人检测)。
脚本目录
重要:所有脚本都位于此技能的scripts/子目录中。
代理执行指令:
- 确定此SKILL.md文件的目录路径为
SKILL_DIR - 脚本路径 =
${SKILL_DIR}/scripts/<script-name>.ts - 在此文档中用实际路径替换所有
${SKILL_DIR}
脚本参考:
| 脚本 | 用途 |
|---|---|
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)
使用Bash检查EXTEND.md的存在(优先级顺序):
# 首先检查项目级别
test -f .baoyu-skills/baoyu-post-to-x/EXTEND.md && echo "project"
# 然后用户级别(跨平台:$HOME在macOS/Linux/WSL上工作)
test -f "$HOME/.baoyu-skills/baoyu-post-to-x/EXTEND.md" && echo "user"
┌──────────────────────────────────────────────────┬───────────────────┐ │ 路径 │ 位置 │ ├──────────────────────────────────────────────────┼───────────────────┤ │ .baoyu-skills/baoyu-post-to-x/EXTEND.md │ 项目目录 │ ├──────────────────────────────────────────────────┼───────────────────┤ │ $HOME/.baoyu-skills/baoyu-post-to-x/EXTEND.md │ 用户主目录 │ └──────────────────────────────────────────────────┴───────────────────┘
┌───────────┬───────────────────────────────────────────────────────────────────────────┐ │ 结果 │ 操作 │ ├───────────┼───────────────────────────────────────────────────────────────────────────┤ │ 找到 │ 读取、解析、应用设置 │ ├───────────┼───────────────────────────────────────────────────────────────────────────┤ │ 未找到 │ 使用默认值 │ └───────────┴───────────────────────────────────────────────────────────────────────────┘
EXTEND.md支持:默认Chrome配置文件
先决条件
- Google Chrome或Chromium
bun运行时- 首次运行:手动登录X(会话保存)
预检检查(可选)
在首次使用前,建议运行环境检查。用户可以选择跳过。
npx -y bun ${SKILL_DIR}/scripts/check-paste-permissions.ts
检查:Chrome、配置文件隔离、Bun、辅助功能、剪贴板、粘贴按键、Chrome冲突。
如果任何检查失败,提供每个项目的修复指导:
| 检查 | 修复 |
|---|---|
| Chrome | 安装Chrome或设置X_BROWSER_CHROME_PATH环境变量 |
| 配置文件目录 | 确保~/.local/share/x-browser-profile可写 |
| Bun运行时 | curl -fsSL https://bun.sh/install | bash |
| 辅助功能(macOS) | 系统设置 → 隐私与安全 → 辅助功能 → 启用终端应用 |
| 剪贴板复制 | 确保Swift/AppKit可用(macOS Xcode CLI工具:xcode-select --install) |
| 粘贴按键(macOS) | 同上辅助功能修复 |
| 粘贴按键(Linux) | 安装xdotool(X11)或ydotool(Wayland) |
参考
- 常规帖子:参见
references/regular-posts.md获取手动工作流程、故障排除和技术细节 - X文章:参见
references/articles.md获取长篇文章发布指南
常规帖子
文本 + 最多4张图片。
npx -y bun ${SKILL_DIR}/scripts/x-browser.ts "Hello!" --image ./photo.png
参数:
| 参数 | 描述 |
|---|---|
<text> |
帖子内容(位置参数) |
--image <路径> |
图片文件(可重复,最多4个) |
--profile <目录> |
自定义Chrome配置文件 |
注意:脚本打开浏览器并填充内容。用户审查并手动发布。
视频帖子
文本 + 视频文件。
npx -y bun ${SKILL_DIR}/scripts/x-video.ts "Check this out!" --video ./clip.mp4
参数:
| 参数 | 描述 |
|---|---|
<text> |
帖子内容(位置参数) |
--video <路径> |
视频文件(MP4, MOV, WebM) |
--profile <目录> |
自定义Chrome配置文件 |
注意:脚本打开浏览器并填充内容。用户审查并手动发布。
限制:常规140秒最大,高级60分钟。处理:30-60秒。
引用推文
引用现有推文带评论。
npx -y bun ${SKILL_DIR}/scripts/x-quote.ts https://x.com/user/status/123 "Great insight!"
参数:
| 参数 | 描述 |
|---|---|
<tweet-url> |
要引用的URL(位置参数) |
<comment> |
评论文本(位置参数,可选) |
--profile <目录> |
自定义Chrome配置文件 |
注意:脚本打开浏览器并填充内容。用户审查并手动发布。
X文章
长格式Markdown文章(需要X高级版)。
npx -y bun ${SKILL_DIR}/scripts/x-article.ts article.md
npx -y bun ${SKILL_DIR}/scripts/x-article.ts article.md --cover ./cover.jpg
参数:
| 参数 | 描述 |
|---|---|
<markdown> |
Markdown文件(位置参数) |
--cover <路径> |
封面图片 |
--title <文本> |
覆盖标题 |
前言:YAML前言中支持title、cover_image。
注意:脚本打开浏览器并填充文章。用户审查并手动发布。
故障排除
Chrome调试端口未就绪
如果脚本失败并显示Chrome debug port not ready或Unable to connect,首先杀死现有的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自定义配置。参见偏好设置部分获取路径和支持的选项。