mcpField
C
canghe-post-to-x

canghe-post-to-x

github.com/freestylefly营销与增长470484 次安装20 周前更新
代码仓库

关于 canghe-post-to-x

面向 skills 兼容 Agent 的 X 发帖工具,借助真实 Chrome 浏览器预填文字、媒体和长文内容;发布前由用户检查并手动提交。

主要功能

  1. 01发布文字和最多 4 张图片
  2. 02发布视频
  3. 03引用推文并添加评论
  4. 04发布 Markdown 长文
  5. 05支持自定义 Chrome 配置文件

适用场景

  1. 01准备带图片的 X 日常帖子
  2. 02将视频内容提交到 X
  3. 03引用现有推文并附上评论
  4. 04将 Markdown 文章整理为 X 长文

安装

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

$npx skills add https://github.com/freestylefly/canghe-skills --skill canghe-post-to-x

安装后在 Claude Code 中输入/canghe-post-to-x确认已加载。

包含的文件

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

references/
articles.md
regular-posts.md
scripts/
bun.lock
check-paste-permissions.ts
copy-to-clipboard.ts
md-to-html.ts
package.json
paste-from-clipboard.ts
x-article.ts
x-browser.ts
x-quote.ts
x-utils.ts
x-video.ts

详细介绍

发布到 X(Twitter)

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

脚本目录

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

Agent 执行说明:

  1. 确定此 SKILL.md 文件所在的目录路径,并将其设为 SKILL_DIR
  2. 脚本路径 = ${SKILL_DIR}/scripts/<script-name>.ts
  3. 将本文档中的所有 ${SKILL_DIR} 替换为实际路径

脚本参考:

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

偏好设置(EXTEND.md)

使用 Bash 按优先级顺序检查 EXTEND.md 是否存在:

# Check project-level first
test -f .canghe-skills/canghe-post-to-x/EXTEND.md && echo "project"

# Then user-level (cross-platform: $HOME works on macOS/Linux/WSL)
test -f "$HOME/.canghe-skills/canghe-post-to-x/EXTEND.md" && echo "user"

┌──────────────────────────────────────────────────┬───────────────────┐ │ 路径 │ 位置 │ ├──────────────────────────────────────────────────┼───────────────────┤ │ .canghe-skills/canghe-post-to-x/EXTEND.md │ 项目目录 │ ├──────────────────────────────────────────────────┼───────────────────┤ │ $HOME/.canghe-skills/canghe-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 命令行工具: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 <path>图片文件(可重复指定,最多 4 张)
--profile <dir>自定义 Chrome 配置文件

注意:脚本会打开浏览器并填入内容。用户检查后手动发布。


视频帖子

文本 + 视频文件。

npx -y bun ${SKILL_DIR}/scripts/x-video.ts "Check this out!" --video ./clip.mp4

参数:

参数描述
<text>帖子内容(位置参数)
--video <path>视频文件(MP4、MOV、WebM)
--profile <dir>自定义 Chrome 配置文件目录

注意:脚本会打开浏览器并填入内容。用户需自行审核并发布。

限制:普通用户最长 140 秒,Premium 用户最长 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 <dir>自定义 Chrome 配置文件目录

注意:脚本会打开浏览器并填入内容。用户需自行审核并发布。


X 文章

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

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 <path>封面图片
--title <text>覆盖标题

Frontmatter:支持 YAML front matter 中的 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 进行自定义配置。路径和支持的选项请参阅 Preferences 部分。

评论

支持 Markdown