Twitter CLI:APIキー不要のX/Twitter向けターミナルファーストツール

Twitter CLI: APIキー不要のターミナルファーストX/Twitterツール

はじめに

ソーシャルメディアプラットフォームがAPIポリシーやアクセス要件を頻繁に変更する時代において、公式APIに依存しない信頼性の高いツールの価値はますます高まっています。twitter-cliは、公式APIキーを必要とせず、ターミナルから直接包括的なTwitter/X機能を提供するオープンソースのコマンドラインインターフェースです。

Pythonパッケージとして開発されたこのツールは、Twitterデータと機能へのプログラム的アクセスを必要とする開発者、コンテンツクリエイター、研究者、AIエージェントにとって実用的なソリューションを提供します。

主な機能

読み取り機能

  • タイムラインアクセス: 「For You」と「Following」フィードをカスタマイズ可能なフィルターで取得
  • ブックマーク管理: アカウントから保存されたツイートを一覧表示・管理
  • 高度な検索: キーワードでツイートを検索(Top/Latest/Photos/Videosタブ対応)
  • ツイート詳細: 個々のツイートと完全な返信スレッドを表示
  • ユーザープロフィール: ユーザー情報、ツイート、いいね、フォロワー、フォロー中のリストにアクセス
  • Twitter記事: 長文のTwitter記事を取得しMarkdownとしてエクスポート
  • リストタイムライン: 特定のTwitterリストからツイートを取得

書き込み操作

  • 投稿作成: 新しいツイートと返信を作成(最大4枚の画像添付可能)
  • 引用ツイート: コメントと画像付きでツイートを共有
  • コンテンツ管理: 自身のツイート削除、いいね/リツイート管理、ブックマーク処理
  • 構造化出力: すべての書き込み操作はスクリプティング用の明示的なJSON/YAML出力をサポート

認証と検出回避

公式APIキーに依存する従来のTwitterボットとは異なり、twitter-cliは巧妙な認証アプローチを使用します:

  1. ブラウザCookie抽出: Arc、Chrome、Edge、Firefox、BraveブラウザからTwitter Cookieを自動抽出
  2. 環境変数: TWITTER_AUTH_TOKENおよびTWITTER_CT0変数へのフォールバック
  3. 検出回避機能:
  4. curl_cffiを使用した動的ChromeバージョンマッチングによるTLSフィンガープリント偽装
  5. パターン検出を回避するリクエストタイミングジッター
  6. レート制限を緩和する書き込み操作遅延(1.5〜4秒ランダム)
  7. x-client-transaction-idヘッダー生成
  8. プロキシサポート: TWITTER_PROXY環境変数経由でHTTPまたはSOCKS5プロキシを介したリクエストルーティング

インストールとセットアップ

推奨インストール方法

# uvツールを使用(高速、分離環境)
uv tool install twitter-cli

# pipxを使用
pipx install twitter-cli

クイックスタート例

# ホームタイムライン取得(For You)
twitter feed

# Followingタイムライン取得
twitter feed -t following

# 特定コンテンツを検索
twitter search "Claude Code"
twitter search "AI agent" -t Latest --max 50

# ツイート詳細を表示
twitter tweet 1234567890
twitter tweet https://x.com/user/status/1234567890

# 新しいツイートを投稿
twitter post "twitter-cliからこんにちは!"

# 画像付きで投稿
twitter post "ギャラリー" -i a.png -i b.jpg -i c.webp

設定とカスタマイズ

作業ディレクトリにconfig.yamlファイルを作成して動作をカスタマイズ:

fetch:
  count: 50

filter:
  mode: "topN"  # "topN" | "score" | "all"
  topN: 20
  minScore: 50
  lang: []
  excludeRetweets: false
  weights:
    likes: 1.0
    retweets: 3.0
    replies: 2.0
    bookmarks: 5.0
    views_log: 0.5

rateLimit:
  requestDelay: 2.5
  maxRetries: 3
  retryBaseDelay: 5.0
  maxCount: 200

スコアリングシステムにより、エンゲージメント指標に基づいてコンテンツをフィルタリングでき、異なるインタラクションタイプに対して設定可能な重みを適用できます。

AIエージェント統合

twitter-cliの注目すべき機能の1つは、AIエージェントワークフローへの優れたサポートです:

構造化出力フォーマット

# YAML出力(AIエージェントに推奨)
twitter feed --yaml

# JSON出力
twitter feed --json

# 処理用にファイルへエクスポート
twitter feed --output tweets.json

スキル統合

# AIエージェントスキルとしてインストール
npx skills add jackwener/twitter-cli

このツールは、自動化ワークフローにTwitter機能を組み込むために特別に設計されたSKILL.mdファイルを同梱しています。

安全な使用のためのベストプラクティス

アカウント制限や停止を避けるため、以下のガイドラインに従ってください:

  1. プロキシを使用: 直接IP露出を避けるためTWITTER_PROXYを設定
  2. リクエスト量を制御: --max 500ではなく--max 20を使用
  3. 頻繁な再起動を避ける: 起動ごとにx.comをフェッチして検出回避ヘッダーを初期化
  4. ブラウザCookie抽出を使用: より自然なトラフィックパターンのための完全なCookieフィンガープリントを提供
  5. 住宅IPを優先: データセンターIPはレート制限を引き起こしやすい

一般的な問題のトラブルシューティング

認証問題

  • Twitter Cookieが見つかりません: サポート対象ブラウザでx.comにログインしていることを確認
  • Cookieが期限切れまたは無効: x.comに再ログインして再試行
  • macOSキーチェーン問題: キーチェーンを解除するか、ターミナルアプリのアクセス制御を変更

APIエラー

  • Twitter APIエラー404: 通常はGraphQLクエリIDのローテーションを示します—コマンドを再試行するだけ
  • レート制限: ツールには指数バックオフ付き自動リトライが含まれます

Windows固有の問題

  • パイプ/サブプロセス出力キャプチャ: これはWindows TerminalのConPTY問題です。ターミナル設定で"windowsEnableConpty": falseを設定したGit Bashを使用

プロジェクト構造と開発

コードベースは整理されており、積極的にメンテナンスされています:

twitter_cli/
├── cli.py           # メインコマンドラインインターフェース
├── client.py        # 検出回避機能付きHTTPクライアント
├── graphql.py       # GraphQLクエリ処理
├── parser.py        # データ解析ロジック
├── auth.py          # 認証管理
├── config.py        # 設定処理
├── filter.py        # コンテンツフィルタリングアルゴリズム
└── models.py        # データモデル

貢献または変更するには:

# リポジトリをクローン
git clone [email protected]:jackwener/twitter-cli.git
cd twitter-cli

# 開発依存関係をインストール
uv sync --extra dev

# テストを実行
uv run pytest -q

関連ツール

開発者は他のプラットフォーム向けにいくつかの類似CLIツールをメンテナンスしています:

  • bilibili-cli: Bilibili動画、ユーザー、検索、フィード
  • discord-cli: Discordローカルファースト同期、検索、エクスポート
  • tg-cli: Telegramローカルファースト同期、検索、エクスポート
  • xiaohongshu-cli: 小紅書(小红书)ノートとアカウントワークフロー

結論

twitter-cliは、公式APIの制限を回避しながら堅牢な機能を維持するTwitter自動化の洗練されたアプローチを表しています。そのターミナルファースト設計は、以下に理想的です:

  • プログラム的Twitterアクセスを必要とする開発者
  • ソーシャルメディアデータを収集する研究者
  • 複数アカウントを管理するコンテンツクリエイター
  • 構造化Twitterデータを必要とするAIエージェント
  • ターミナルワークフローを好むパワーユーザー

オープンソースの性質、積極的なメンテナンス、検出回避対策を考慮した設計により、twitter-cliは公式APIプログラムの制約なしにTwitter/X機能への信頼性が高く柔軟なアクセスを必要とするすべての人々に貴重なツールを提供します。

リポジトリ: https://github.com/jackwener/twitter-cli ライセンス: Apache-2.0 スター数: 2.4k+ 最終更新: 2026年4月

オリジナル記事: オリジナルを表示

この記事を共有