この記事ではAIエージェントに特化して解説します。AIエージェント全般は AIエージェントフレームワーク比較2026年版 をご覧ください。
AiToEarn完全ガイド:12プラットフォーム一括投稿AIエージェント機能の全貌
Douyin(抖音)、小紅書(Rednote)、TikTok、YouTube、Instagram、X(Twitter)。グローバルに活動するクリエイターやマーケーターが運用すべきSNSプラットフォームは年々増え続けている。各媒体へのログイン、画像アスペクト比の調整、文字数制限への対応、投稿、コメント管理、分析レポート確認—この作業サイクルに1日3〜5時間を費やしている専門家は珍しくない。
AiToEarnは、このSNS運用の全工程をAIエージェントで自動化するオープンソースツールだ。MITライセンスで公開されており、中国発祥ながら欧米でも急速に採用が進んでいる。v2.1ではMCP(Model Context Protocol)連携が追加予定とされており、ClaudeやCursorなどのAIアシスタントから直接SNS投稿を操作できるようになる見込み。
最大の特徴は4つのAIエージェント機能だ。Create(コンテンツ生成)、Publish(一括配信)、Engage(自動エンゲージメント)、Monetize(マネタイズ)という個別エージェントがパイプラインで連結し、1人のクリエイターが複数アカウントを運用できる「OPC(One Person Company)」体制を実現する。

AiToEarnが解決する5つの運用課題
従来のSNS運用には慢性的な課題が存在する。AiToEarnはそれらをプラットフォーム横断で解決する。
| 課題カテゴリ | 従来の問題 | AiToEarnによる解決方法 |
|---|---|---|
| 媒体管理 | 12媒体に個別ログイン・手動投稿が必要 | Publish Agent:1つのコンテンツを12媒体に同時配信 |
| コンテンツ制作 | 動画・画像・テキストそれぞれ工程が異なり時間がかかる | Create Agent:AIが動画・画像・テキストを自動生成 |
| エンゲージメント | コメント対応・いいね・フォロー作業が追いつかない | Engage Agent:自動化されたコミュニティ管理機能 |
| 収益化 | 案件とクリエイターのマッチング手段がない | Monetize Agent:CPS/CPE/CPMで自動マッチング・決済 |
| 運用効率 | 複数アカウント並列運用が不可能 | バッチ処理対応:マトリクスアカウント運用で自動配信 |
AiToEarnはシングルクリエイターが10人規模チームの発信力・収益力を獲得できるよう設計されている。パートタイムでも複数プラットフォーム運用が可能。
4つのAIエージェント:パイプラインで完結するコンテンツマーケティング
AiToEarnの中核は、コンテンツマーケティング全工程をカバーする4つのAIエージェント機能だ。AIエージェントフレームワークの比較でも触れたように、各エージェントが順序立って連結することで、入力から収益化までを自動化できる。
Create Agent:動画・画像・テキストの自動生成エージェント
AIがコンテンツ制作の全工程を自動実行する。複数の生成モデルに対応し、手作業なしで成品を生成する。
バッチ処理機能により、複数アカウント運用(マトリクスアカウント運営)や大規模コンテンツ配信に対応する。例えば「週次30本のショート動画を全自動生成」「商品説明を10パターン生成してA/Bテスト」といった運用スケールをサポート。
# Create Agent をローカルで試す(簡易例)
# aitoearn-backend の aitoearn-ai サービスで以下を実行
pnpm nx serve aitoearn-ai
生成モデル各社はレート制限やクォータを設けている。バッチ生成時は長期間にわたる並列実行を避け、スケジュール分散で対応するのが安全。
Publish Agent:12プラットフォームへの一括配信エージェント
1つのコンテンツを12以上のプラットフォームに同時配信できる。カレンダーUIでスケジュール管理も可能で、各媒体の最適投稿時間に合わせた予約配信に対応。
対応プラットフォーム:
- 中国系:Douyin(抖音)、小紅書(Rednote)、快手(Kuaishou)、Bilibili(哔哩哔哩)
- グローバル:TikTok、YouTube、Facebook、Instagram、Threads、X(Twitter)、Pinterest、LinkedIn
各媒体のフォーマット制限(動画尺、縦横比、キャプション文字数)をAiToEarnが自動検証し、投稿前に警告を表示。配信エラーを事前防止できる。MCPプロトコルの基本を知りたい場合はMCPサーバーの構築ガイドも参考になる。
# docker-compose.yml で Publish Agent を含むサーバーを起動
services:
aitoearn-server:
image: aitoearn/server:latest
environment:
# 自動フォーマット検証を有効化
FORMAT_VALIDATION_ENABLED: "true"
# 各媒体のAPI接続情報(Relay設定)
RELAY_SERVER_URL: https://aitoearn.ai/api
RELAY_API_KEY: ${YOUR_API_KEY}
ports:
- "8080:8080"
TikTokは19〜21時、LinkedInは平日朝9時といった媒体別最適投稿時間をAiToEarnが自動認識。タイムゾーン管理も自動化され、グローバル複数地域へのアクセス最大化が実現する。
Engage Agent:自動エンゲージメント運営エージェント
ブラウザ拡張機能を通じてすべての対応プラットフォーム上で自動化されたコミュニティ管理を実現。
機能一覧:
| 機能 | 説明 | 実用性 |
|---|---|---|
| 自動アクション | いいね、ブックマーク、フォローを自動実行 | フォロワー増加、ブランド認知拡大 |
| AIスマートリプライ | LLMがコメントの文脈を理解し自動返信 | エンゲージメント率向上、返信遅延0化 |
| コメントマイニング | 「リンク教えて」「購入方法は?」等の購買シグナル自動検出 | 高いコンバージョン可能性のコメント優先対応 |
| ブランドモニタリング | 自社ブランド言及をリアルタイム追跡・自動参加 | 口コミ対応、風評管理の自動化 |
自動化エンゲージメント機能は各SNSガイドラインと抵触する可能性がある。Instagramやxは大量いいね・フォローを検知して一時制限をかける。初期は1時間10〜20件程度の低頻度から試し、アカウント安全性を確認してから段階的に増速するのが安全。
Monetize Agent:マネタイズ・マーケットプレイス機能
クリエイターがコンテンツを販売し、ブランドがプロモーション案件を発注できるマーケットプレイス。3つの課金モデルで柔軟な報酬体系を実現。
| 課金モデル | 正式名 | 計算ロジック | 活用シーン |
|---|---|---|---|
| CPS | Cost Per Sale | 成約時に売上の一定%をクリエイターに支払い | アフィリエイト商品紹介、EC商材プロモ |
| CPE | Cost Per Engagement | いいね・コメント・シェア数に応じて支払い | ブランド認知キャンペーン、フォロワー獲得 |
| CPM | Cost Per Mille | 1000インプレッションごとに固定額支払い | リーチ重視の大規模広告配信 |
例えば、アパレルブランドがアイテムを「CPS」で案件化すれば、クリエイターは紹介→購入の実績に応じた報酬を獲得。ビューティ企業が「CPE」で新商品プロモを発注すれば、いいねやコメント数で透明性のある支払いが実現。
// Monetize Agent API(簡易呼び出し例)
// 案件情報を取得(Node.js)
const taskClient = new AiToEarnMonetizeClient({
apiKey: process.env.AITOEARN_API_KEY
});
// CPS型案件を取得
const cpsTasks = await taskClient.getTasks({
billingModel: 'CPS',
category: 'apparel',
minCommission: 0.15 // 15%以上の案件
});
console.log(`利用可能な案件: ${cpsTasks.length}件`);
Create → Publish → Engage → Monetize の順に4つのエージェントを連結するとROI最大化。最初はCreate+Publishの2つで運用軌道に乗せ、安定後にEngage・Monetizeを追加する段階的導入が失敗しにくい。
AI自動生成"] B --> C["Publish Agent
12媒体同時配信"] C --> D["Engage Agent
自動エンゲージメント"] D --> E["Monetize Agent
CPS/CPE/CPM収益化"] E -->|"分析フィードバック"| A style A fill:#f9f,stroke:#333 style B fill:#bbf,stroke:#333 style C fill:#bfb,stroke:#333 style D fill:#fbb,stroke:#333 style E fill:#fb9,stroke:#333
技術アーキテクチャ:Electron + Node.js + MCPプロトコル統合
AiToEarnの技術構成は3層レイヤー + MCP統合で設計されている。Web版とElectronデスクトップ版のデュアル提供により、ブラウザとネイティブアプリの両方でアクセス可能。
| レイヤー | 技術スタック | 詳細説明 |
|---|---|---|
| フロントエンド | TypeScript、Electron、React、SCSS | Web版(React SPA)とデスクトップ版(Electronラッパー)の2形態提供 |
| バックエンド | Node.js、NestJS、Nx monorepo | マイクロサービスアーキテクチャ。pnpm nx serve で各サービス起動 |
| データベース | MongoDB、Redis | コンテンツメタデータはMongo、キャッシュ・セッションはRedis管理 |
| AI連携層 | MCP Protocol + 各種LLM/生成モデルAPI | Claude、Cursor、OpenHandsなど外部AIツールとの統合インターフェース |
| SNS連携 | OAuth 2.0 + Relay機能 | 各SNS公式APIへの認証。Relay経由なら開発者アカウント申請不要 |
| デプロイ環境 | Docker Compose + Nginx | MongoDB・Redis・バックエンド・フロント一括起動可能 |
| ライセンス | MIT | 商用利用・改変・再配布すべて自由 |
| 必須環境 | Node.js 20.18.x以上 | pnpm推奨(npm/yarnより高速) |
MCP連携は、OpenHandsやBrowser Useなどの自律型ブラウザ操作エージェントのような先駆的AIエージェント同様に、外部AIツールとの統合を設計思想の中核に据えたアーキテクチャだ。AiToEarnはコンテンツマーケティング分野でこのアプローチをいち早く採用した革新的なOSS。
(React)"] B["Electron App
(デスクトップ)"] C["Browser Ext
(Engage)"] end subgraph "API・連携層" H["MCP Protocol
(Claude/Cursor)"] I["外部SNS API"] J["生成モデルAPI"] end subgraph "バックエンド層" D["aitoearn-ai
(生成サービス)"] E["aitoearn-server
(メインAPI)"] end subgraph "データ層" F["MongoDB
(コンテンツ)"] G["Redis
(キャッシュ)"] end A --> E B --> E C --> E H --> E E --> D D --> J E --> F E --> G E --> I style A fill:#e1f5ff style D fill:#fff3e0 style F fill:#f3e5f5
Docker Composeで5分セットアップ:導入完全マニュアル
AiToEarnの導入はDocker Composeを使えば3コマンドで完了。MongoDB・Redis・Nginx含めて個別インストール不要。
ステップ1:リポジトリクローンと起動
# GitHubからリポジトリをクローン
git clone https://github.com/yikart/AiToEarn.git
cd AiToEarn
# Docker Composeで全サービス起動(-dでバックグラウンド実行)
docker compose up -d
# 起動状態を確認
docker compose ps
起動直後はMongoDBのインデックス作成とRedisのウォームアップで30〜60秒待機。その後、ブラウザで http://localhost:8080 にアクセスするとWeb UIが表示される。
| サービス | URL・ポート | 用途 |
|---|---|---|
| Web UI | http://localhost:8080 | メインダッシュボード・管理画面 |
| API Gateway | http://localhost:8080/api | バックエンドREST API |
| MongoDB | localhost:27017 | ユーザー・投稿・分析データ永続化 |
| Redis | localhost:6379 | セッション・キャッシュ・タスク管理 |
| Nginx | localhost:80 | リバースプロキシ・静的ファイル配信 |
ステップ2:Relay設定でSNS認証を簡素化(推奨)
SNS各媒体のOAuth認証には開発者アカウント申請が必要だが、Relay機能を使えば公式サーバーの認証情報を借用できる。Douyinや小紅書など申請ハードルが高い媒体も即座に接続可能。
# docker-compose.yml の aitoearn-server セクションに追加
services:
aitoearn-server:
image: aitoearn/server:latest
environment:
# Relay設定(APIキーはaitoearn.cnまたはaitoearn.aiで取得)
RELAY_SERVER_URL: https://aitoearn.ai/api
RELAY_API_KEY: your-api-key-here
RELAY_CALLBACK_URL: http://127.0.0.1:8080/api/plat/relay-callback
# データベース接続
MONGODB_URI: mongodb://mongo:27017/aitoearn
REDIS_URL: redis://redis:6379
# ポート設定
PORT: 8000
depends_on:
- mongo
- redis
ports:
- "8000:8000"
設定完了後、サービスを再起動:
# Relay設定適用のため再起動
docker compose restart aitoearn-server
# ログで正常起動を確認(Relay接続成功メッセージが表示)
docker compose logs -f aitoearn-server | grep -i relay
Relay機能を使う場合、SNS認証情報はAiToEarn公式サーバーを経由する。完全なデータ主権が必要な企業・組織は、自前で各SNSの開発者アカウントを取得し、RELAY_*環境変数を設定しない運用を推奨。
ステップ3:APIキー取得と自動化連携
Relay・MCP連携・OpenClaw連携など全機能を使うにはAPIキーが必要。以下の手順で無料取得可能:
# ブラウザでaitoearn.aiまたはaitoearn.cnにアクセス
# 1. 右上「Sign Up」からメールで登録
# 2. ダッシュボード → 左メニュー「設定」
# 3. 「API Key」セクションで「新規作成」をクリック
# 4. 生成されたキーをコピーして安全に保管
# 環境変数に設定(Linux/macOS)
export AITOEARN_API_KEY="sk_aitoearn_xxxxx"
# Windowsの場合
set AITOEARN_API_KEY=sk_aitoearn_xxxxx
APIキー取得後、Docker設定ファイルや後述のMCP設定に組み込める。
MCP連携:Claude・CursorからSNS投稿を直接制御
MCPプロトコルへの対応により、Claude DesktopやCursorなど主要なAIアシスタントからAiToEarnの全機能を自然言語で操作できるようになる見込み。
Claude Desktop設定例
設定ファイル claude_desktop_config.json(macOSなら ~/Library/Application Support/Claude/claude_desktop_config.json、Windowsなら %APPDATA%\Claude\claude_desktop_config.json)に以下を追加:
{
"mcpServers": {
"aitoearn": {
"type": "http",
"url": "https://aitoearn.ai/api/unified/mcp",
"headers": {
"x-api-key": "sk_aitoearn_your_key_here"
}
}
}
}
設定後Claude Desktopを再起動。その後、ChatウィンドウでAiToEarnの機能を利用できる:
ユーザー:「小紅書に新商品の紹介動画を自動生成して投稿して」
Claude:
✓ Create Agent が動画を生成します
✓ Publish Agent が小紅書に投稿予約します
✓ Engage Agent が関連コメント監視に設定します
処理中...完了しました。投稿予約が確定しました。
セルフホスト環境(ローカルDocker)の場合:
{
"mcpServers": {
"aitoearn-local": {
"type": "http",
"url": "http://localhost:8080/api/unified/mcp",
"headers": {
"x-api-key": "sk_aitoearn_your_local_key"
}
}
}
}
Cursor設定例
CursorのMCP設定メニュー(Cmd+Shift+P → MCP Settings)で以下を登録:
| 設定項目 | 値 |
|---|---|
| MCP Server URL | https://aitoearn.ai/api/unified/mcp |
| Authentication Header | x-api-key: sk_aitoearn_xxxxx |
| Protocol | HTTP (Standard) |
長時間ジョブ対応:SSE(Server-Sent Events)連携
動画生成など長時間のタスク実行時は、SSE長時間接続を利用。ストリーム方式でリアルタイムに進捗を受信できる:
// JavaScript での SSE 長時間接続例
const eventSource = new EventSource(
'https://aitoearn.ai/api/unified/sse?task_id=video_001',
{
headers: {
'x-api-key': 'sk_aitoearn_xxxxx'
}
}
);
eventSource.onmessage = (event) => {
const data = JSON.parse(event.data);
console.log(`進捗: ${data.progress}%`);
console.log(`ステータス: ${data.status}`);
if (data.status === 'completed') {
console.log(`生成完了: ${data.videoUrl}`);
eventSource.close();
}
};
eventSource.onerror = () => {
console.error('接続エラー');
eventSource.close();
};
| 接続方式 | エンドポイント | 用途 | 応答時間 |
|---|---|---|---|
| HTTP(MCP) | /api/unified/mcp |
単発リクエスト・投稿 | 数秒〜数十秒 |
| SSE | /api/unified/sse |
動画生成・バッチ処理 | 数分〜数十分 |
ユーザーが「TikTokに60秒の縦動画を投稿」と指示 → Claudeが自動的にAPIコール(Create→Publish)に変換 → AiToEarnが実行 → 結果をChatで報告。ユーザーはAPI詳細を意識せず、チャットで完結する。
競合ツール徹底比較:Buffer・Hootsuite・Laterとの差別化ポイント
SNS一括投稿ツールは複数存在するが、AiToEarnは特に中国系プラットフォーム対応とAIエージェント機能で明確に差別化されている。
| 機能カテゴリ | AiToEarn | Buffer | Hootsuite | Later |
|---|---|---|---|---|
| 対応プラットフォーム数 | 12+ | 6媒体 | 8媒体 | 7媒体 |
| 中国系SNS対応 | ✅ Douyin・小紅書・快手・B站 | ✗ | ✗ | ✗ |
| AIコンテンツ生成 | ✅ 動画・画像・テキスト | △ テキストのみ | △ テキストのみ | △ テキストのみ |
| AIエンゲージメント自動化 | ✅ スマートリプライ・コメント検出 | ✗ | △ 限定的 | ✗ |
| MCP連携(Claude等) | ✅ 対応予定 | ✗ | ✗ | ✗ |
| マネタイズ機能 | ✅ CPS/CPE/CPM | ✗ | ✗ | ✗ |
| セルフホスト可能 | ✅ Docker対応 | ✗ | ✗ | ✗ |
| オープンソース | ✅ MIT | ✗ | ✗ | ✗ |
| 料金 | 無料(OSS) | $6/月〜 | $99/月〜 | $25/月〜 |
主要プレイヤー別の使い分け
AiToEarnを選ぶべき場合:
- Douyin・小紅書・快手など中国主流SNSを運用する必要がある
- AIで動画・画像を自動生成し、一括投稿したい
- Claudeなどの外部AIツールから直接SNS運用を制御したい
- 収益化(CPS/CPE/CPM)案件マッチングが必要
- サーバーコストを最小化したい(オープンソース)
Buffer・Later・Hootsuite選択が適切な場合:
- 欧米SNS(Facebook・Instagram・TikTok・X)の運用のみ
- チーム権限管理・監査ログが重要
- エンタープライズ向けカスタマーサポートが必要
- クラウド託管を好む
組み合わせ活用シナリオ
複数ツールの併用で運用効率を最大化できる:
| シナリオ | ツール構成 | 理由 |
|---|---|---|
| グローバル多プラットフォーム運用 | AiToEarn + Browser Use + Buffer | ニッチプラットフォーム対応(Browser Use)+ 欧米SNS追加管理(Buffer) |
| YouTube特化型 | AiToEarn + DreamMisSocial | YouTubeメタデータ最適化はDreamMisSocialが強い |
| エンタープライズ運用 | Hootsuite + AiToEarn(セルフホスト) | Hootsuiteで権限管理・ワークフロー、AiToEarnでAIエージェント機能 |
| ニッチSNS含む全自動化 | AiToEarn + Browser Use | ブラウザ自動化でMastodon・Bluesky等もカバー |
実務運用ガイド:段階的スケールアップ戦略
AiToEarnの4エージェントを全て導入するのではなく、ビジネス成熟段階に応じた段階的な拡張が成功鍵となる。
フェーズ1:Create + Publish(基盤構築期・1〜2ヶ月)
まずはコンテンツ生成と一括配信の2つに絞る。毎週定期投稿を複数プラットフォームで実現し、フォロワー増加の基盤を構築。
# 基本的なCLI操作例(Node.js環境)
# Create + Publish の簡易実行
const AiToEarn = require('aitoearn-sdk');
const client = new AiToEarn({
apiKey: process.env.AITOEARN_API_KEY
});
// Step1: コンテンツ生成(Create Agent)
const videoTask = await client.create.generateVideo({
prompt: '新製品紹介の30秒ショート動画',
style: 'modern_product'
});
// Step2: 複数プラットフォームに投稿(Publish Agent)
const publishTask = await client.publish.toMultiplePlatforms({
contentId: videoTask.id,
platforms: ['douyin', 'tiktok', 'youtube_shorts'],
scheduleTime: '2025-04-15T18:00:00Z'
});
console.log(`投稿予定: ${publishTask.platforms.length}媒体`);
この段階で投稿品質・フォロワー反応・プラットフォーム別パフォーマンスを測定。
週間3本以上の投稿継続、フォロワー月+20%成長、各媒体で平均いいね数100以上を達成したらフェーズ2進行。
フェーズ2:Engage 追加(エンゲージメント最大化期・3〜4ヶ月)
コンテンツが安定的に投稿できるようになったら、Engage Agentでコミュニティ管理を自動化。
// Engage Agent の有効化例
const engageConfig = {
// 自動アクション設定
autoActions: {
likeEnabled: true,
likeFrequency: 20, // 1時間に20件のいいね
followEnabled: true,
followFrequency: 5, // 1時間に5フォロー
},
// AI返信設定
aiReplyEnabled: true,
replyContext: {
brand: '美容コスメ企業',
productLines: ['ファンデーション', 'アイシャドウ'],
tone: 'friendly_professional'
},
// コメント挖掘設定
commentMining: {
highValueKeywords: [
'購入したい',
'リンク教えて',
'販売店は',
'どこで買える',
'価格は'
],
alertLevel: 'high' // マッチしたら通知
},
// ブランドモニタリング
brandMonitoring: {
keywords: ['ブランド名', '商品名'],
autoParticipation: true
}
};
await client.engage.configure(engageConfig);
いいね・フォローは1時間10〜20件程度の低頻度から開始。SNS側のスパム検知アルゴリズムにフラグが立つのを防ぐため、2週間かけて段階的に増速する。
フェーズ3:Monetize 導入(収益化期・5ヶ月以降)
エンゲージメント率が安定し、フォロワー数が5,000以上になったら、Monetize Agentで案件マッチング・収益化を本格化。
// Monetize Agent での案件取得・実行
const monetizeClient = new AiToEarn.Monetize({
apiKey: process.env.AITOEARN_API_KEY,
creatorProfile: {
followerCount: 25000,
avgEngagementRate: 0.085, // 8.5%
niche: 'beauty_cosmetics',
primaryPlatforms: ['douyin', 'xiaohongshu']
}
});
// 利用可能な案件を検索
const availableTasks = await monetizeClient.getTasks({
billingModel: 'CPS', // 成約課金
category: 'cosmetics',
minCommission: 0.20, // 20%以上
sortBy: 'commission_desc'
});
console.log(`利用可能案件: ${availableTasks.length}件`);
availableTasks.forEach(task => {
console.log(`${task.brandName}: ${task.commission * 100}% | ${task.description}`);
});
// 案件を受注
const accepted = await monetizeClient.acceptTask(availableTasks[0].id);
console.log(`受注: ${accepted.taskName} | 報酬予定額: ${accepted.estimatedEarning}`);
CPS型は「成約率」、CPE型は「エンゲージメント品質」、CPM型は「リーチ量」がそれぞれ成否を左右。案件ごとにパフォーマンス分析し、自分に適した課金モデルを特定。
ソースコード開発:バックエンド・フロント・Electronの構築手順
開発者向けにソースコードからのビルドも可能。バックエンド(aitoearn-ai + aitoearn-server)、Web版フロント(aitoearn-web)、デスクトップ版(AttAiToEarn)の3リポジトリをそれぞれ起動。
ステップ1:バックエンド起動(NestJS + Nx monorepo)
バックエンドは2つのマイクロサービスで構成。それぞれ別プロセスで起動する:
# バックエンドリポジトリをクローン
git clone https://github.com/yikart/AiToEarn.git
cd AiToEarn/project/aitoearn-backend
# 依存インストール
pnpm install
# ローカル開発用設定ファイルをコピー
cp apps/aitoearn-ai/config/config.js apps/aitoearn-ai/config/local.config.js
cp apps/aitoearn-server/config/config.js apps/aitoearn-server/config/local.config.js
# ターミナル1:AI生成サービス起動
pnpm nx serve aitoearn-ai
# 出力例:
# ⠙ Building...
# [aitoearn-ai] Listening on http://localhost:3001
# ターミナル2:メインサーバー起動(別ウィンドウで実行)
pnpm nx serve aitoearn-server
# 出力例:
# [aitoearn-server] Listening on http://localhost:8000
ステップ2:フロントエンド起動(Next.js)
Web版はホットリロード対応。コード変更が即座にブラウザに反映される:
# フロントエンドリポジトリをクローン
cd ../aitoearn-web
# 依存インストール
pnpm install
# 開発サーバー起動
pnpm run dev
# ブラウザで http://localhost:3000 にアクセス
ステップ3:Electronデスクトップ版のビルド
Electron版は別リポジトリ(AttAiToEarn)として管理。ネイティブモジュールのビルドが必要なため、Pythonが必須:
# Electronリポジトリをクローン
git clone https://github.com/yikart/AttAiToEarn.git
cd AttAiToEarn
# Node.js 20.18.x確認
node --version
# 依存インストール(better-sqlite3などネイティブモジュール含む)
npm install
# ネイティブモジュールの再ビルド(Python 3.8+が必要)
npm run rebuild
# 出力例:
# > Rebuild native modules...
# gyp info ok
# better-sqlite3 rebuilt successfully
# 開発モード起動
npm run dev
# デスクトップアプリケーションウィンドウが起動
実行時エラーが出た場合、一般的には以下で対応:
# キャッシュクリア
npm cache clean --force
rm -rf node_modules package-lock.json
# 再インストール
npm install
npm run rebuild
# 開発サーバー再起動
npm run dev
aitoearn-backend、aitoearn-web、AttAiToEarnの3リポジトリは独立しており、必要に応じて1つだけ開発することも可能。例えばWeb版UIのみ改修する場合はaitoearn-webだけ起動すればよい。
よくある質問・トラブルシューティング
Q1:中国でDocker Composeが遅い場合はどうする?
A:国内ミラーレジストリを使用。docker-compose.ymlのimage:行を以下に修正:
# 修正前
image: aitoearn/server:latest
# 修正後(Alibaba Cloud Registry)
image: registry.cn-hangzhou.aliyuncs.com/aitoearn/server:latest
Q2:MongoDB接続エラーが出た場合は?
A:MongoDB起動確認とポート確認:
# MongoDB起動状態確認
docker compose logs mongo | tail -20
# ポート27017が使用中でないか確認
lsof -i :27017
# 強制リセット
docker compose down
docker volume rm aitoearn_mongo_data # データ初期化
docker compose up -d
Q3:SNS投稿に失敗する場合は?
A:OAuth認証トークンの有効期限確認。トークンは約30日で期限切れになるため、定期的に再認証が必要:
# 設定画面で SNS を再接続
# 1. ダッシュボード → 設定 → SNS連携
# 2. 対象プラットフォームの「再認証」をクリック
# 3. ブラウザでログインして許可
Q4:MCP連携がClaudeで表示されない場合は?
A:Claude Desktopを完全に再起動。設定ファイル編集後は必ず全プロセス終了が必要:
# macOS の場合
killall "Claude"
# Windows の場合
taskkill /IM claude.exe /F
# その後、Claude Desktop を再起動
グローバル運用例:中国と欧米の異なるプラットフォーム戦略
実際の複数地域運用では、プラットフォームの性質が大きく異なる。AiToEarnはこの地域差を吸収できる設計になっている。
中国主流SNS戦略(Douyin・小紅書・快手):
- 動画長:15〜60秒が最適(短尺化傾向)
- コンテンツ:ビジュアル・感情訴求が強い
- ハッシュタグ:アルゴリズム重視(#多用)
- Monetize:ライブコマース・商品リンク直貼りが主流
欧米SNS戦略(TikTok・YouTube・Instagram):
- 動画長:平均30秒(TikTok)〜数分(YouTube)
- コンテンツ:ナレーション・エンタメ性が重視
- ハッシュタグ:限定的(1〜3個)
- Monetize:CPM広告・アフィリエイトが主流
AiToEarnは各プラットフォームのテンプレートを用意しているため、同じコンテンツでも自動最適化される:
// 地域別テンプレート選択例
const publishConfig = {
content: {
title: '新商品紹介',
videoPath: '/content/product_intro.mp4'
},
platforms: {
// 中国市場向け
china: {
douyin: {
template: 'short_form_cn',
duration: '30s', // 自動カット
hashtags: ['新商品', '推薦', '#商品紹介'],
enableLiveCommerce: true
},
xiaohongshu: {
template: 'lifestyle_review_cn',
duration: '45s',
hashtags: ['好物分享', '#使用感'],
enableShoppingLink: true
}
},
// 欧米市場向け
global: {
tiktok: {
template: 'viral_short_form',
duration: '30s',
hashtags: ['NewProduct'],
enableDuet: true
},
youtube_shorts: {
template: 'product_education',
duration: '60s',
hashtags: ['ProductReview'],
enableAffiliateLink: true
}
}
}
};