X Post
実際のChromeインスタンスをChrome DevTools Protocol(CDP)経由で制御することにより、ボット検出に強い、X(Twitter)向けの自動化パブリッシングツールチェーンです。
ランタイム要件(事前確認)
スクリプトを実行する前に、環境の依存関係を確認してください → references/runtime-setup.md。
必須チェックリスト:
- Bunランタイムがインストールされていること(
bun --version) - Google ChromeまたはChromiumがインストールされていること(または
X_BROWSER_CHROME_PATHが設定されていること) - 初回実行時:開かれたChromeウィンドウでXにログイン認証すること(セッションは
~/.local/share/x-browser-profileに保存されます) - 動画翻訳機能を使用する場合:
yt-dlp、ffmpeg、whisper-cliがインストールされていること
必要なツールが不足している場合は、停止して即座にユーザーに通知してください。
機能とナビゲーションマップ
公開タスクに応じて適切なワークフローを選択してください:
| コンテンツタイプ | スクリプトパス | 詳細とリファレンス |
|---|---|---|
| テキスト&画像 | scripts/x-browser.ts | 単一/複数画像の投稿とスレッドチェーン → references/regular-posts.md |
| 動画投稿 | scripts/x-video.ts | トランスコード監視付き動画アップロード → references/video-posts.md |
| 引用ツイート | scripts/x-quote.ts | 既存ツイートを引用してコメントを追加 → references/quote-tweets.md |
| 長文記事 | scripts/x-article.ts | インライン画像付きMarkdown記事 → references/articles.md |
| 動画翻訳 | scripts/x-translate-video.ts | 字幕抽出、翻訳、焼き付け → references/video-translation.md |
| ユニバーサル配信 | bin/x-post.js | Claude、Marketplace、npx、Skills.sh および全エージェント → references/distribution.md |
| トラブルシューティング | N/A | 一般的なエラーの解決策 → references/troubleshooting.md |
1. 通常の投稿(テキスト、画像、スレッド)
最大4枚の画像とスレッド返信を含む標準的なツイートを公開します。
# プレビューモード(投稿ボックスを確認し、30秒間ウィンドウを開いたままにします)
bun scripts/x-browser.ts "Exploring agentic automation with Antigravity!" --image ./screenshot.png
# 画像付きで公開し、スレッド返信を追加
bun scripts/x-browser.ts "Announcing our new open-source release!" \
--image ./banner.png \
--reply "Check out the repo here: https://github.com/org/repo" \
--submit
- 詳細、画像仕様、マルチスレッド連鎖 →
references/regular-posts.md
2. 動画投稿
自動アップロードとトランスコードポーリング機能付きで動画(MP4、MOV、WebM)を公開します。
# 動画アップロードのプレビュー
bun scripts/x-video.ts --video ./demo.mp4 "Watch the complete architecture walkthrough"
# 動画を公開し、返信スレッドでソースを引用
bun scripts/x-video.ts --video ./demo.mp4 \
"Autonomous coding loop benchmark" \
--reply "Benchmarked on SWE-bench verified dataset." \
--submit
- 時間制限、フォーマット、アップロード状態 →
references/video-posts.md
3. 引用ツイート
既存の公開ツイートを引用し、ソース属性を保持したままカスタムコメントを追加します。
# 引用ツイートのプレビュー
bun scripts/x-quote.ts https://x.com/username/status/1234567890 "Important perspective on LLM agents!"
# 引用ツイートを直接公開
bun scripts/x-quote.ts https://x.com/username/status/1234567890 "Strongly agree with this analysis." --submit
- URL正規化とメニューセレクター →
references/quote-tweets.md
4. 長文X記事(Markdown)
見出し、リスト、引用、カバー画像、インライン画像を含むMarkdownドキュメントをX記事に変換します(X Premiumが必要です)。
# フォーマット済み記事ドラフトのプレビュー
bun scripts/x-article.ts ./article.md --cover ./cover.png
# 記事を直接公開
bun scripts/x-article.ts ./article.md --submit
- Frontmatter構文と画像プレースホルダーの仕組み →
references/articles.md
5. 動画翻訳&字幕ワークフロー
外国語の動画ツイートをダウンロードし、Whisperで音声を文字起こし、編集可能な翻訳ファイルを生成し、スタイル付き字幕を焼き付けて、ソース属性を付けて公開します。
# ステップ1: URLを取り込み、翻訳ドラフトを作成(/tmp/x-translate/<id>/translation.md)
bun scripts/x-translate-video.ts https://x.com/username/status/1234567890 --target-lang English
# ステップ2: /tmp/x-translate/<id>/translation.md を編集し、翻訳文とSRTを記述
# ステップ3: 字幕を焼き付けてプレビュー
bun scripts/x-translate-video.ts --confirm /tmp/x-translate/<id>/translation.md
# ステップ4: 字幕を焼き付けて公開
bun scripts/x-translate-video.ts --confirm /tmp/x-translate/<id>/translation.md --submit
- 完全なパイプラインとFFmpeg字幕スタイリング →
references/video-translation.md
実行原則と安全性
- 常にプレビューを先に: 開発時や手動レビュー中は
--submitなしでコマンドを実行してください。 - 永続プロファイル: すべてのスクリプトは
~/.local/share/x-browser-profileを共有するため、認証は一度だけ必要です。 - ネイティブキーストロークディスパッチ: メディアアセットには、CDPの合成イベントブロックを回避するため、ハードウェアレベルのペーストシミュレーション(
copy-to-clipboard.ts+paste-from-clipboard.ts)を使用します。 - 問題解決: ログインタイムアウト、クリップボード権限、CDP接続エラーなどについては →
references/troubleshooting.md。