postall
AI搭載のマルチプラットフォーム型SNSコンテンツ生成・自動配信ツールです。Twitter、LinkedIn、Instagram、Pinterest、Threads、小红书(Xiaohongshu)など複数のSNSプラットフォームにおいて、コンテンツの生成、レビュー、公開を自動化できます。
description の原文を見る
AI-powered multi-platform social media content generation and publishing automation. Generate, review, and publish content across Twitter, LinkedIn, Instagram, Pinterest, Threads, and Xiaohongshu.
SKILL.md 本文
PostAll - AIエージェント統合
AI駆動のマルチプラットフォームコンテンツ自動化。単一の設定からすべてのソーシャルプラットフォームでコンテンツを生成、レビュー、公開できます。
スキルファイル
| ファイル | URL |
|---|---|
| SKILL.md (このファイル) | https://postall.live/skill.md |
| skill.json (メタデータ) | https://postall.live/skill.json |
エージェント用クイックインストール:
curl -s https://postall.live/skill.md > ~/.postall/SKILL.md
curl -s https://postall.live/skill.json > ~/.postall/skill.json
PostAllの機能
- コンテンツ生成 - AIがブランドガイドラインから各プラットフォーム最適化投稿を作成
- ディレクターレビュー - 2番目のAIが品質、ブランド一貫性、事実正確性をレビュー
- 画像生成 - プラットフォーム別の正しい寸法でマッチングビジュアルを自動生成
- マルチプラットフォーム公開 - Twitter、LinkedIn、Instagram、Pinterest、Threads、Xiaohongshuに公開
- RLHFラーニング - フィードバックから時間とともにシステムが改善
- スケジューリング - プラットフォーム別の最適投稿時刻
クイックスタート
オプション1: Docker (推奨)
# クローンとセットアップ
git clone https://github.com/qingxuantang/postall.git
cd postall
cp .env.example .env
# .env内でAPIキーを設定
# ANTHROPIC_API_KEY=your_key (または OPENAI_API_KEY または GEMINI_API_KEY)
# 開始
docker-compose up -d
オプション2: ローカルインストール
git clone https://github.com/qingxuantang/postall.git
cd postall
pip install -e .
cp .env.example .env
# .env をAPIキーで編集
コアCLIコマンド
すべてのコマンドは以下の形式です: python -m postall.cli <command> --project <path/to/project.yaml>
コンテンツ生成
# すべてのプラットフォーム向けコンテンツを生成
python -m postall.cli generate --project projects/example/project.yaml
# 特定プラットフォーム向けに生成
python -m postall.cli generate --project projects/example/project.yaml --platform twitter
# 特定のAIモデルで生成
python -m postall.cli generate --project projects/example/project.yaml --model claude
コンテンツ公開
# すべての待機中コンテンツを公開
python -m postall.cli publish --project projects/example/project.yaml
# 特定プラットフォームに公開
python -m postall.cli publish --project projects/example/project.yaml --platform linkedin
デーモンとして実行
# 継続実行 - 自動生成と公開
python -m postall.cli daemon --project projects/example/project.yaml
ステータス確認
# システムステータスを表示
python -m postall.cli status --project projects/example/project.yaml
# 生成されたコンテンツをレビュー
python -m postall.cli review --project projects/example/project.yaml
Dockerコマンド
# PostAllを開始
docker-compose up -d
# ログを表示
docker-compose logs -f postall
# 停止
docker-compose down
# 再起動
docker-compose restart
# コンテナ内でCLIを実行
docker exec postall python -m postall.cli status --project /app/projects/example/project.yaml
Telegram Bot統合
PostAllにはTelegram botが含まれており、監視とコントロールが可能です。各プロジェクトが独自のbotを持ちます。
Bot コマンド (Telegram内)
| コマンド | 説明 |
|---|---|
/start | botを初期化 |
/status | 現在のシステムステータスを表示 |
/upcoming | 次の24時間でスケジュール済みの投稿 |
/schedule | 本日の投稿スケジュール |
/stats | 最近の公開統計 |
/generate | 来週のコンテンツ生成をトリガー |
/publish | 手動で公開をトリガー |
/help | すべてのコマンドを表示 |
Botメニューボタン
- Upcoming - 次の24時間の投稿を表示
- Schedule - 本日のスケジュール済み投稿
- Stats - プラットフォーム別の公開統計
- Content Status - 来週のコンテンツステータス
- Generate - コンテンツ生成を開始
Telegram Bot設定
- @BotFather経由でbotを作成
- botトークンを取得
.envに追加:TELEGRAM_BOT_ENABLED=true TELEGRAM_BOT_TOKEN=your_bot_token TELEGRAM_CHAT_ID=your_chat_id
プロジェクト設定
ブランドとコンテンツ戦略を定義するproject.yamlファイルを作成します:
project_name: "My Brand"
brand:
name: "My Brand"
tagline: "Your Tagline"
website: "mybrand.com"
colors:
primary: "#3498DB"
secondary: "#2ECC71"
accent: "#E74C3C"
voice:
tone: "professional yet friendly"
characteristics:
- "clear and concise"
- "helpful and educational"
- "trustworthy and authentic"
avoid:
- "aggressive sales language"
- "overpromising or hype"
- "technical jargon"
content_strategy:
pillars:
product_education: 35
industry_insights: 25
tips_productivity: 20
customer_stories: 10
behind_scenes: 5
lead_magnet: 5
themes:
- "Getting Started"
- "Best Practices"
- "Common Mistakes"
- "Success Stories"
platforms:
twitter:
enabled: true
language: "en"
linkedin:
enabled: true
language: "en"
instagram:
enabled: false
pinterest:
enabled: false
timezone: "America/Los_Angeles"
generation_schedule:
day: "saturday"
time: "09:00"
posting_times:
twitter: ["08:00", "12:00", "18:00"]
linkedin: ["07:30", "12:00"]
環境変数
# AIプロバイダー (最低1つは必須)
ANTHROPIC_API_KEY= # Claude API
OPENAI_API_KEY= # GPT-4 API
GEMINI_API_KEY= # Gemini API
# Twitter/X
TWITTER_ENABLED=true
TWITTER_API_KEY=
TWITTER_API_SECRET=
TWITTER_ACCESS_TOKEN=
TWITTER_ACCESS_SECRET=
# LinkedIn
LINKEDIN_ENABLED=true
LINKEDIN_ACCESS_TOKEN=
LINKEDIN_CLIENT_ID=
LINKEDIN_CLIENT_SECRET=
LINKEDIN_PERSON_URN=
# Instagram (Meta)
INSTAGRAM_ENABLED=false
INSTAGRAM_ACCESS_TOKEN=
INSTAGRAM_BUSINESS_ACCOUNT_ID=
# Pinterest
PINTEREST_ENABLED=false
PINTEREST_ACCESS_TOKEN=
# Telegram Bot
TELEGRAM_BOT_ENABLED=false
TELEGRAM_BOT_TOKEN=
TELEGRAM_CHAT_ID=
コンテンツ生成フロー
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Brand Config │────▶│ AI Generation │────▶│ Director Review │
│ (project.yaml) │ │ (Claude/GPT/ │ │ (Quality Check) │
│ │ │ Gemini) │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Publishing │◀────│ Human Review │◀────│ Content Ready │
│ (Platforms) │ │ (Optional) │ │ (Approved) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
▼
┌─────────────────┐
│ RLHF Learning │
│ (Improvement) │
└─────────────────┘
ディレクターレビューシステム
ディレクターは以下をチェックする2番目のAIです:
- ブランド一貫性 - あなたのボイスとトーンに合致していますか?
- 品質基準 - よく書かれ、魅力的ですか?
- プラットフォーム適合性 - ターゲットプラットフォーム向けに最適化されていますか?
- 事実正確性 - 架空の統計やクレームはありませんか?
- コンプライアンス - 問題のあるコンテンツはありませんか?
投稿はスコアを受け取ります。低スコアの投稿は自動的に再生成できます。
サポートプラットフォーム
| プラットフォーム | 公開 | 画像対応 | 注釈 |
|---|---|---|---|
| Twitter/X | ✅ | ✅ | スレッド対応 |
| ✅ | ✅ | 個人およびカンパニーページ | |
| ✅ | ✅ | Meta Business必須 | |
| ✅ | ✅ | ピン作成 | |
| Threads | ✅ | ✅ | Meta Threads API |
| Xiaohongshu | ✅ | ✅ | カード生成+公開 |
| ✅ | ✅ | 記事公開 |
画像生成
PostAllは各プラットフォーム向けに最適化された画像を自動生成します:
- Twitter: 1200x675 (16:9)
- LinkedIn: 1200x627 (1.91:1)
- Instagram: 1080x1080 (1:1)
- Pinterest: 1000x1500 (2:3)
推奨: 画像生成にはGemini Proを使用してください (最高品質)。
RLHFラーニング
システムはフィードバックから学習します:
- コンテンツをレーティング - 投稿を良い、悪い、または改善が必要としてマーク
- カスタムフィードバック - 変更内容に関する具体的なメモを提供
- 自動学習 - システムがパターンに基づいて将来の生成を調整
エージェント統合パターン
パターン1: スケジュール生成
自動公開付きの週間コンテンツ生成をセットアップ:
# エージェントのスケジュール済みタスク内
import subprocess
def weekly_content_generation():
# コンテンツを生成
subprocess.run([
"python", "-m", "postall.cli", "generate",
"--project", "projects/mybrand/project.yaml"
])
# 承認済みコンテンツを公開
subprocess.run([
"python", "-m", "postall.cli", "publish",
"--project", "projects/mybrand/project.yaml"
])
パターン2: オンデマンド生成
エージェントによってトリガーされたときにコンテンツを生成:
# 特定トピック向けの単一投稿を生成
python -m postall.cli generate \
--project projects/mybrand/project.yaml \
--topic "New product feature announcement" \
--platform twitter
パターン3: Telegramで監視
エージェントがTelegram botを介してステータス更新を受け取り、結果に基づいてアクションを実行します。
ファイル構成
postall/
├── postall/ # コアライブラリ
│ ├── cli.py # コマンドラインインターフェース
│ ├── config.py # 設定管理
│ ├── cloud/ # クラウドサービス
│ │ ├── daemon.py # バックグラウンドデーモン
│ │ ├── generation_controller.py
│ │ └── telegram_bot.py
│ ├── director/ # AIレビューシステム
│ │ └── director.py
│ ├── executors/ # AIモデルエグゼキューター
│ │ ├── claude_api_executor.py
│ │ ├── gemini_api_executor.py
│ │ └── gemini_image_executor.py
│ ├── publishers/ # プラットフォームパブリッシャー
│ │ ├── twitter_publisher.py
│ │ ├── linkedin_publisher.py
│ │ ├── instagram_publisher.py
│ │ └── xhs_publisher.py
│ └── learning/ # RLHFシステム
│ ├── feedback_collector.py
│ └── rlhf_manager.py
├── projects/
│ └── example/ # サンプルプロジェクト
│ ├── project.yaml
│ ├── output/ # 生成されたコンテンツ
│ └── database/ # 永続データ
├── docker-compose.yml
├── Dockerfile
└── .env.example
重要ルール
PostAllを使用する際は、一般的な問題を避けるため以下のルールに従ってください:
- コンテンツに括号なし - 括号はLinkedInコンテンツの切り詰めを引き起こす
- AI的な陳腐な表現なし - 「久久不能平静」「震撼了我」「颠覆认知」などの空洞な表現を避ける
- 架空データなし - 元のコンテンツの真実の情報のみを使用し、統計データを作成しない
- 画像プロンプトは英語で - AI画像生成器は中文字を描写できない
- レート制限に丁寧に対応 - プラットフォーム制限に遭遇した場合は待機して再試行
- *WeChat: _content.md ファイルを使用 - コンテンツパーサーが単一記事を誤って分割する可能性があるため、公開時には常に完全な
*_content.mdファイル(例:wechat_content.md)を使用し、分割後の小ファイル(例:01_monday_morning_article.md)は使用しないでください
コンテンツファイル構成
コンテンツが生成されたときに以下が表示されます:
wechat-posts/
├── wechat_content.md # ✅ 完全コンテンツ - 公開時に使用
├── 01_monday_morning_article.md # ❌ 切り詰められる可能性
├── 02_tuesday_morning_post.md # ❌ 切り詰められる可能性
└── ...
番号付き分割ファイルではなく、*_content.mdファイルを使用して公開してください。
トラブルシューティング
一般的な問題
コンテンツが公開されない:
# プラットフォーム認証情報を確認
python -m postall.cli status --project project.yaml
# 詳細ログを表示
docker-compose logs -f postall | grep ERROR
レート制限:
- Twitter: プラットフォーム1投稿あたり1投稿(投稿スロット)
- LinkedIn: 1日100投稿制限を尊重
- Instagram: 1日25投稿制限
画像生成に失敗:
GEMINI_API_KEYが設定されていることを確認- Google AI Studioのクォータ制限を確認
リソース
- ウェブサイト: https://postall.live
- GitHub: https://github.com/qingxuantang/postall
- デモビデオ: https://youtube.com/shorts/12EMDFuA8mc
- プラットフォーム設定ガイド: https://github.com/qingxuantang/postall/blob/master/docs/PLATFORM_SETUP.md
ライセンス
MIT License - 自由に使用・改変可能です。
最終更新: 2026-03-04
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- qingxuantang
- リポジトリ
- qingxuantang/postall
- ライセンス
- MIT
- 最終更新
- 2026/5/11
Source: https://github.com/qingxuantang/postall / ライセンス: MIT