AIを活用したトレンドの発見・コンテンツ公開システム。複数ソースからのデータ収集、AI要約、WeChat公式アカウントへの自動投稿に対応しています。
🌰 WeChat公式アカウントの例:深巷懒猫
今すぐフォローして、AIがスマートに作ったコンテンツを体験しよう~
🌟 主な機能
🤖 複数ソースからのデータ収集
- Twitter/Xのコンテンツ取得
- Webページのコンテンツ取得 (FireCrawlベース)
- カスタムデータソースの設定に対応
🧠 AIによるスマート処理
- DeepseekAIを使ったコンテンツ要約
- 重要情報の抽出
- スマートなタイトル生成
📢 自動投稿
- WeChat公式アカウントへの記事投稿
- カスタム記事テンプレート
- 定期投稿ジョブ
📱 通知システム
- Bark通知との連携
- ジョブ実行状況の通知
- エラーアラート
🛠 技術スタック
- 実行環境: Node.js + TypeScript
- フレームワーク: Express.js
- AIサービス: DeepseekAI
- データソース:
- Twitter/X API
- FireCrawl
- スケジュールジョブ: node-cron
- テンプレートエンジン: EJS
- 開発ツール:
- nodemon (ホットリロード)
- TypeScript
- Jest (テスト)
📦 プロジェクト構成
src/
├── controllers/ # 控制器层,处理请求
├── data-sources/ # 数据源配置
├── publishers/ # 发布器实现
├── scrapers/ # 数据采集实现
├── services/ # 业务逻辑层
├── summarizer/ # AI 总结实现
├── templates/ # 文章模板
└── utils/ # 工具函数
🚀 クイックスタート
環境要件
- Node.js (v14+)
- npm または yarn
- TypeScript
インストール
- プロジェクトをクローン
BASH
git clone [repository-url]
cd trendpublish
- 依存関係をインストール
BASH
npm install
- 環境変数を設定
BASH
cp .env.example .env
# 编辑 .env 文件配置必要的环境变量
- プロジェクトを起動
BASH
# 开发模式
npm run start
# 构建
npm run build
⚙️ 環境変数の設定
.env ファイルで次の環境変数を設定します:
ENV
# DeepseekAI API 配置
DEEPSEEK_API_KEY=your_api_key
# FireCrawl 配置
FIRECRAWL_API_KEY=your_api_key
# Twitter API 配置
TWITTER_API_KEY=your_api_key
# 微信公众号配置
WEIXIN_APP_ID=your_app_id
WEIXIN_APP_SECRET=your_app_secret
# Bark 通知配置
BARK_KEY=your_key
📝 使い方
新しいデータソースを追加
src/data-sources/getCronSources.ts でデータソースを設定します:
CodeBlock Loading...
記事テンプレートをカスタマイズ
src/templates ディレクトリに新しいテンプレートファイルを作成し、既存のテンプレートを参考にしてください。
スケジュールジョブの設定
src/controllers/cron.ts のスケジュールジョブ設定を変更します:
CodeBlock Loading...
🤝 コントリビュートガイド
- このリポジトリをフォーク
- 機能ブランチを作成 (
git checkout -b feature/amazing-feature) - 変更をコミット (
git commit -m 'Add some amazing feature') - ブランチにプッシュ (
git push origin feature/amazing-feature) - Pull Requestを送信
📄 ライセンス
このプロジェクトはMITライセンスを採用しています。詳細は LICENSE ファイルを参照してください。