🚀 トレンドレーダー(TrendRadar)
最短で30秒でデプロイ可能なホットニュースアシスタント。無駄な情報を避け、本当に関心のあるニュースのみを見ることができます。
🚀 クイックスタート
📖 注意:Fork したユーザーは、まず 最新の公式ドキュメント を確認し、設定手順が最新のものであることを確認してください。
1️⃣ プロジェクトコードの取得
このリポジトリページの右上にある緑色の [Use this template] ボタンをクリックし、「Create a new repository」を選択します。
⚠️ 注意:
- 後続のドキュメントで言及する「Fork」は、すべて「Use this template」と理解してください。
- Fork を使用すると実行時にエラーが発生する可能性があります。詳細は Issue #606 を参照してください。
2️⃣ GitHub Secrets の設定(必須 + オプションのプラットフォーム):
あなたが Fork したリポジトリで、Settings > Secrets and variables > Actions > New repository secret にアクセスします。
⚠️ GitHub Actions の使用に関する説明
v4.0.0 重要な変更:「アクティビティ検出」メカニズムが導入され、GitHub Actions は定期的にサインインして実行を維持する必要があります。
🔄 サインインによる有効期限の更新メカニズム:
- 実行周期:有効期限は 7日 で、カウントダウンが終了するとサービスは自動的に一時停止します。
- 更新方法:Actions ページで「Check In」ワークフローを手動でトリガーすることで、7日間の有効期限をリセットできます。
- 操作パス:
Actions → Check In → Run workflow
- 設計理念:
- もし7日間サインインを忘れた場合、これらの情報があなたにとって必須ではないかもしれません。適切な休止は、情報の流れから離れ、脳に休息を与えるのに役立ちます。
- GitHub Actions は貴重な公共の計算資源です。サインインメカニズムを導入することで、無効なコンピューティングパワーの浪費を避け、リソースを本当にアクティブで必要なユーザーに割り当てることができます。ご理解とご協力をいただき、ありがとうございます。
📌 重要な説明(必ずよく読んでください):
- 1つの Name は1つの Secret に対応:設定項目を追加するたびに、「New repository secret」ボタンをクリックし、「Name」と「Secret」のペアを入力します。
- 保存後に値が見えないのは正常:セキュリティ上の理由から、保存後に再編集すると、Name(名前)のみが表示され、Secret(値)の内容は表示されません。
- 名称を勝手に作成しないでください:Secret の Name(名前)は、以下に示す名称(例:
WEWORK_WEBHOOK_URL、FEISHU_WEBHOOK_URL など)を厳密に使用する必要があり、自分で勝手に変更したり新しい名称を作成したりすることはできません。そうしないと、システムが認識できません。
- 複数のプラットフォームを同時に設定できます:システムは、設定されたすべてのプラットフォームに通知を送信します。
👉 クリックして展開:軽量モード vs 完全モード + AI分析
2種類のデプロイモード:
| モード |
設定要件 |
機能範囲 |
| 軽量モード |
ストレージの設定不要 |
リアルタイムクローリング + キーワードフィルタリング + 複数チャネルの通知 |
| 完全モード |
リモートクラウドストレージの設定 |
軽量モード + 新規ニュースの検出 + トレンド追跡 + インクリメンタル通知 + AI分析 |
軽量モードの説明:
- ✅ 利用可能:リアルタイムニュースのクローリング、キーワードフィルタリング、ホットキーワードの重み付けソート、現在のランキングの通知
- ❌ 利用不可:新規ニュースの検出(🆕)、ホット度のトレンド追跡、インクリメンタルモード、毎日の集計蓄積、MCP AI分析
完全モードの説明:
リモートクラウドストレージを設定すると、すべての機能が有効になります(以下の 推奨設定:リモートクラウドストレージ を参照)。
🚀 推奨:Docker デプロイ
長期的に安定して運用する場合は、Docker デプロイ をお勧めします。データはローカルに保存され、サインインの必要がない代わりに、追加でクラウドサーバーを有料で購入する必要があります。
👉 クリックして展開:複数アカウントの通知に関する説明(v3.5.0 新機能)
- 複数アカウントの設定をサポート:すべての通知チャネル(飛書、钉钉、企業微信、Telegram、ntfy、Bark、Slack)は、複数のアカウントを設定できます。
- 設定方法:英語のセミコロン
; で複数のアカウント値を区切ります。
- 例:
FEISHU_WEBHOOK_URL の Secret 値に https://webhook1;https://webhook2 と入力します。
- ペア設定:Telegram と ntfy は、ペアパラメーターの数を一致させる必要があります(例:token と chat_id がどちらも2つ)。
- 数量制限:デフォルトでは、各チャネルのアカウント数は最大3つで、それを超えると切り捨てられます。
複数アカウント設定の例:
| Name(名前) |
Secret(値)の例 |
FEISHU_WEBHOOK_URL |
https://webhook1;https://webhook2;https://webhook3 |
TELEGRAM_BOT_TOKEN |
token1;token2 |
TELEGRAM_CHAT_ID |
chatid1;chatid2 |
NTFY_TOPIC |
topic1;topic2 |
NTFY_TOKEN |
;token2(最初の token がない場合は空で占位) |
設定例:
上記のように、各行は1つの設定項目です。
- Name(名前):必ず以下に展開された内容に記載されている固定の名称(例:
WEWORK_WEBHOOK_URL)を使用してください。
- Secret(値):対応するプラットフォームから取得した実際の内容(Webhook アドレス、Token など)を入力します。
👉 クリックして展開:推奨設定:リモートクラウドストレージ
⚠️ Cloudflare R2 を例とした設定の前提条件:
Cloudflare プラットフォームのルールにより、R2 を有効にするには支払い方法を設定する必要があります。
- 目的:身分認証のみ(Verify Only)で、料金は発生しません。
- 支払い方法:デュアル通貨クレジットカードまたは中国版 PayPal がサポートされています。
- 使用量:R2 の無料枠(10GB ストレージ/月)は、このプロジェクトの日常的な運用をカバーするのに十分であり、料金がかかる心配はありません。
GitHub Secret の設定:
必須設定(4項目):
| Name(名前) |
Secret(値)の説明 |
S3_BUCKET_NAME |
ストレージバケットの名前(例:trendradar-data) |
S3_ACCESS_KEY_ID |
アクセスキー ID(Access Key ID) |
S3_SECRET_ACCESS_KEY |
シークレットアクセスキー(Secret Access Key) |
S3_ENDPOINT_URL |
S3 API エンドポイント(例:R2 の場合:https://<account-id>.r2.cloudflarestorage.com) |
オプション設定:
| Name(名前) |
Secret(値)の説明 |
S3_REGION |
リージョン(デフォルトは auto、一部のサービスプロバイダーでは指定する必要がある場合があります) |
💡 その他のストレージ設定オプション:ストレージ設定の詳細 を参照してください。
クレデンシャルの取得方法(Cloudflare R2 を例として):
-
R2 の概要ページにアクセス:
-
ストレージバケットの作成:
概要 をクリックします。
- 右上の
バケットを作成 (Create bucket) をクリックします。
- 名前を入力し(例:
trendradar-data)、バケットを作成 をクリックします。
-
API トークンの作成:
- 「概要」ページに戻ります。
- 右下の
アカウント詳細 (Account Details) をクリックし、管理 (Manage R2 API Tokens) をクリックします。
- 同時に、
S3 API:https://<account-id>.r2.cloudflarestorage.com(これが S3_ENDPOINT_URL です)が表示されます。
アカウントAPIトークンを作成 をクリックします。
- ⚠️ 重要な設定:
- トークン名:任意の名前を入力します(例:
github-action-write)。
- 権限:
管理者の読み取りと書き込み を選択します。
- 指定するバケット:セキュリティ上の理由から、
指定されたバケットにのみ適用 を選択し、あなたのバケット(例:trendradar-data)を選択します。
APIトークンを作成 をクリックし、表示された Access Key ID と Secret Access Key をすぐにコピーしてください(一度しか表示されません!)。
👉 クリックして展開:企業微信ロボット(最も簡単かつ迅速な設定)
GitHub Secret の設定(⚠️ Name の名称は厳密に一致する必要があります):
- Name(名前):
WEWORK_WEBHOOK_URL(この名称をコピーして貼り付けてください。手打ちすると間違いやすいです)
- Secret(値):あなたの企業微信ロボットの Webhook アドレス
ロボットの設定手順:
モバイル端末での設定:
- 企業微信アプリを開き、対象の内部チャットに入ります。
- 右上の「…」ボタンをクリックし、「メッセージプッシュ」を選択します。
- 「追加」をクリックし、名前に「TrendRadar」を入力します。
- Webhook アドレスをコピーし、保存して、上記の GitHub Secret にコピーした内容を設定します。
PC 端末での設定手順も同様です。
👉 クリックして展開:個人微信の通知(企業微信アプリを介して、個人微信に通知を送信)
この方法は企業微信のプラグインメカニズムに基づいているため、通知の形式は純粋なテキスト(Markdown 形式ではありません)ですが、企業微信アプリをインストールすることなく、直接個人微信に通知を送信することができます。
GitHub Secret の設定(⚠️ Name の名称は厳密に一致する必要があります):
-
Name(名前):WEWORK_WEBHOOK_URL(この名称をコピーして貼り付けてください。手打ちすると間違いやすいです)
-
Secret(値):あなたの企業微信アプリの Webhook アドレス
-
Name(名前):WEWORK_MSG_TYPE(この名称をコピーして貼り付けてください。手打ちすると間違いやすいです)
-
Secret(値):text
設定手順:
- 上記の企業微信ロボットの Webhook 設定を完了します。
WEWORK_MSG_TYPE Secret を追加し、値を text に設定します。
- 以下の画像に従って操作し、個人微信を関連付けます。
- 設定が完了したら、携帯電話の企業微信アプリを削除することができます。
説明:
- 企業微信ロボットと同じ Webhook アドレスを使用します。
- 違いはメッセージ形式です:
text は純粋なテキスト、markdown はリッチテキスト(デフォルト)です。
- 純粋なテキスト形式では、すべての Markdown 構文(太字、リンクなど)が自動的に削除されます。
👉 クリックして展開:飛書ロボット(最も使いやすいメッセージ表示)
GitHub Secret の設定(⚠️ Name の名称は厳密に一致する必要があります):
- Name(名前):
FEISHU_WEBHOOK_URL(この名称をコピーして貼り付けてください。手打ちすると間違いやすいです)
- Secret(値):あなたの飛書ロボットの Webhook アドレス(このリンクは
https://www.feishu.cn/flow/api/trigger-webhook/******** のような形式です)
2つの方法があります。方法1 は設定が簡単で、方法2 は設定が複雑ですが(しかし安定した通知が可能です)。
方法1は、ziventian によって発見され、提案されたものです。ここで感謝の意を表します。デフォルトでは個人通知ですが、グループ通知にも設定できます #97。
方法1:
一部の人には追加の操作が必要で、そうしないと「システムエラー」が表示される場合があります。モバイル端末でロボットを検索し、飛書ロボットアプリを有効にする必要があります(この提案はユーザーからのもので、参考にしてください)。
-
コンピュータのブラウザで https://botbuilder.feishu.cn/home/my-command を開きます。
-
「新しいロボットコマンドを作成」をクリックします。
-
「トリガーを選択」をクリックし、下にスクロールして「Webhook トリガー」をクリックします。
-
この時点で「Webhook アドレス」が表示されます。このリンクを一時的にローカルのメモ帳にコピーし、次の操作を続けます。
-
「パラメーター」に以下の内容を入力し、「完了」をクリックします。
{
"message_type": "text",
"content": {
"total_titles": "{{内容}}",
"timestamp": "{{内容}}",
"report_type": "{{内容}}",
"text": "{{内容}}"
}
}
-
「操作を選択」> 「公式ロボットでメッセージを送信」をクリックします。
-
メッセージのタイトルに「TrendRadar ホットニュース監視」を入力します。
-
最も重要な部分です。+ ボタンをクリックし、「Webhook トリガー」を選択し、以下の画像のように配置します。
- 設定が完了したら、4 ステップでコピーした Webhook アドレスを GitHub Secrets の
FEISHU_WEBHOOK_URL に設定します。
方法2:
-
コンピュータのブラウザで https://botbuilder.feishu.cn/home/my-app を開きます。
-
「新しいロボットアプリを作成」をクリックします。
-
作成したアプリに入り、「フローの設定」> 「フローを作成」> 「トリガーを選択」をクリックします。
-
下にスクロールして「Webhook トリガー」をクリックします。
-
この時点で「Webhook アドレス」が表示されます。このリンクを一時的にローカルのメモ帳にコピーし、次の操作を続けます。
-
「パラメーター」に以下の内容を入力し、「完了」をクリックします。
{
"message_type": "text",
"content": {
"total_titles": "{{内容}}",
"timestamp": "{{内容}}",
"report_type": "{{内容}}",
"text": "{{内容}}"
}
}
-
「操作を選択」> 「飛書メッセージを送信」をクリックし、「グループメッセージ」をチェックし、下の入力ボックスをクリックして「私が管理するグループ」を選択します(グループがない場合は、飛書アプリでグループを作成することができます)。
-
メッセージのタイトルに「TrendRadar ホットニュース監視」を入力します。
-
最も重要な部分です。+ ボタンをクリックし、「Webhook トリガー」を選択し、以下の画像のように配置します。
- 設定が完了したら、5 ステップでコピーした Webhook アドレスを GitHub Secrets の
FEISHU_WEBHOOK_URL に設定します。
👉 クリックして展開:钉钉ロボット
GitHub Secret の設定(⚠️ Name の名称は厳密に一致する必要があります):
- Name(名前):
DINGTALK_WEBHOOK_URL(この名称をコピーして貼り付けてください。手打ちすると間違いやすいです)
- Secret(値):あなたの钉钉ロボットの Webhook アドレス
ロボットの設定手順:
-
ロボットの作成(PC 端末のみサポート):
- 钉钉の PC クライアントを開き、対象のグループチャットに入ります。
- グループ設定アイコン(⚙️)をクリックし、下にスクロールして「ロボット」を開きます。
- 「ロボットを追加」> 「カスタム」を選択します。
-
ロボットの設定:
- ロボットの名前を設定します。
- セキュリティ設定:
- カスタムキーワード:「ホットニュース」を設定します。
-
設定の完了:
- サービス利用規約にチェックを入れ、「完了」をクリックします。
- 取得した Webhook URL をコピーします。
- URL を GitHub Secrets の
DINGTALK_WEBHOOK_URL に設定します。
注意:モバイル端末ではメッセージを受信することはできますが、新しいロボットを作成することはできません。
👉 クリックして展開:Telegram Bot
GitHub Secret の設定(⚠️ Name の名称は厳密に一致する必要があります):
-
Name(名前):TELEGRAM_BOT_TOKEN(この名称をコピーして貼り付けてください。手打ちすると間違いやすいです)
-
Secret(値):あなたの Telegram Bot Token
-
Name(名前):TELEGRAM_CHAT_ID(この名称をコピーして貼り付けてください。手打ちすると間違いやすいです)
-
Secret(値):あなたの Telegram Chat ID
説明:Telegram では、2つの Secret を設定する必要があります。それぞれ2回「New repository secret」ボタンをクリックして追加してください。
ロボットの設定手順:
-
ロボットの作成:
- Telegram で
@BotFather を検索します(大文字と小文字に注意してください。青いバッジのチェックマークがあり、37849827 monthly users のような表示があるものが公式です。一部の模倣アカウントに注意してください)。
/newbot コマンドを送信して新しいロボットを作成します。
- ロボットの名前を設定します(必ず「bot」で終わる必要があり、重複した名前が多いため、異なる名前を考える必要があります)。
- Bot Token を取得します(形式は
123456789:AAHfiqksKZ8WmR2zSjiQ7_v4TMAKdiHm9T0 のようになります)。
-
Chat ID の取得:
方法1:公式 API を使用して取得
- まず、あなたのロボットにメッセージを送信します。
https://api.telegram.org/bot<あなたのBot Token>/getUpdates にアクセスします。
- 返された JSON データの中から
"chat":{"id":数字} の数字を見つけます。
方法2:サードパーティツールを使用
@userinfobot を検索し、/start を送信します。
- あなたのユーザー ID を Chat ID として取得します。
-
GitHub への設定:
TELEGRAM_BOT_TOKEN:1 ステップで取得した Bot Token を入力します。
TELEGRAM_CHAT_ID:2 ステップで取得した Chat ID を入力します。
👉 クリックして展開:メール通知(すべての主要なメールプロバイダーをサポート)
- 注意事項:メールの一斉送信機能が悪用されるのを防ぐため、現在の一斉送信ではすべての受信者がお互いのメールアドレスを見ることができます。
- 以下のようなメール送信の設定経験がない場合は、試すことをお勧めしません。
⚠️ 重要な設定依存関係:メール通知には HTML レポートファイルが必要です。config/config.yaml の formats.html を true に設定してください。
formats:
sqlite: true
txt: false
html: true
false に設定すると、メール通知時に エラー:HTMLファイルが存在しないか、提供されていません: None というエラーが表示されます。
GitHub Secret の設定(⚠️ Name の名称は厳密に一致する必要があります):
-
Name(名前):EMAIL_FROM(この名称をコピーして貼り付けてください。手打ちすると間違いやすいです)
-
Secret(値):送信元のメールアドレス
-
Name(名前):EMAIL_PASSWORD(この名称をコピーして貼り付けてください。手打ちすると間違いやすいです)
-
Secret(値):メールのパスワードまたは認証コード
-
Name(名前):EMAIL_TO(この名称をコピーして貼り付けてください。手打ちすると間違いやすいです)
-
Secret(値):受信者のメールアドレス(複数の受信者は英語のカンマで区切ります。EMAIL_FROM と同じアドレスに自分自身に送信することもできます)
-
Name(名前):EMAIL_SMTP_SERVER(オプション設定。この名称をコピーして貼り付けてください)
-
Secret(値):SMTP サーバーのアドレス(空白にすることができ、システムが自動的に認識します)
-
Name(名前):EMAIL_SMTP_PORT(オプション設定。この名称をコピーして貼り付けてください)
-
Secret(値):SMTP ポート(空白にすることができ、システムが自動的に認識します)
説明:メール通知には、少なくとも3つの必須 Secret(EMAIL_FROM、EMAIL_PASSWORD、EMAIL_TO)を設定する必要があり、後の2つはオプション設定です。
サポートされるメールプロバイダー(SMTP 設定を自動認識):
| メールプロバイダー |
ドメイン |
SMTP サーバー |
ポート |
暗号化方式 |
| Gmail |
gmail.com |
smtp.gmail.com |
587 |
TLS |
| QQメール |
qq.com |
smtp.qq.com |
465 |
SSL |
| Outlook |
outlook.com |
smtp-mail.outlook.com |
587 |
TLS |
| Hotmail |
hotmail.com |
smtp-mail.outlook.com |
587 |
TLS |
| Live |
live.com |
smtp-mail.outlook.com |
587 |
TLS |
| 163メール |
163.com |
smtp.163.com |
465 |
SSL |
| 126メール |
126.com |
smtp.126.com |
465 |
SSL |
| 新浪メール |
sina.com |
smtp.sina.com |
465 |
SSL |
| 搜狐メール |
sohu.com |
smtp.sohu.com |
465 |
SSL |
| 天翼メール |
189.cn |
smtp.189.cn |
465 |
SSL |
| 阿里云メール |
aliyun.com |
smtp.aliyun.com |
465 |
TLS |
| Yandexメール |
yandex.com |
smtp.yandex.com |
465 |
TLS |
自動認識:上記のメールを使用する場合、EMAIL_SMTP_SERVER と EMAIL_SMTP_PORT を手動で設定する必要はありません。システムが自動的に認識します。
フィードバックの説明:
- 他のメール をテストして成功した場合は、Issues を開いて教えてください。サポートリストに追加します。
- 上記のメール設定が誤っているか、使用できない場合は、Issues を開いてフィードバックし、プロジェクトの改善にご協力ください。
特別な感謝:
一般的なメール設定:
QQメール:
- QQメールのウェブ版にログインし、「設定」> 「アカウント」をクリックします。
- POP3/SMTP サービスを有効にします。
- 認証コードを生成します(16 文字の英字)。
EMAIL_PASSWORD に認証コードを入力します。QQ パスワードではないことに注意してください。
Gmail:
- 2段階認証を有効にします。
- アプリ専用パスワードを生成します。
EMAIL_PASSWORD にアプリ専用パスワードを入力します。
163/126メール:
- ウェブ版にログインし、「設定」> 「POP3/SMTP/IMAP」をクリックします。
- SMTP サービスを有効にします。
- クライアント認証コードを設定します。
EMAIL_PASSWORD に認証コードを入力します。
高度な設定:
自動認識が失敗した場合は、SMTP を手動で設定することができます。
EMAIL_SMTP_SERVER:例:smtp.gmail.com
EMAIL_SMTP_PORT:例:587(TLS)または 465(SSL)
複数の受信者がいる場合(英語のカンマで区切ることに注意):
- EMAIL_TO="user1@example.com,user2@example.com,user3@example.com"
👉 クリックして展開:ntfy 通知(オープンソースで無料、自前のサーバーでの運用も可能)
2種類の使用方法:
方法1:無料で使用(初心者におすすめ) 🆓
特徴:
- ✅ アカウント登録不要ですぐに使えます。
- ✅ 1日に250 件のメッセージが送信できます(90% のユーザーには十分です)。
- ✅ Topic 名が「パスワード」になります(推測しにくい名前を選択してください)。
- ⚠️ メッセージは暗号化されていないため、機密情報には適していませんが、このプロジェクトの非機密情報には適しています。
クイックスタート:
-
ntfy アプリのダウンロード:
-
トピックの購読(推測しにくい名前を選択してください):
推奨形式:trendradar-{あなたの名前の頭文字}-{ランダムな数字}
日本語は使用できません。
✅ 良い例:trendradar-zs-8492
❌ 悪い例:news、alerts(推測しやすい)
-
GitHub Secret の設定(⚠️ Name の名称は厳密に一致する必要があります):
-
Name(名前):NTFY_TOPIC(この名称をコピーして貼り付けてください。手打ちすると間違いやすいです)
-
Secret(値):先ほど購読したトピック名を入力します。
-
Name(名前):NTFY_SERVER_URL(オプション設定。この名称をコピーして貼り付けてください)
-
Secret(値):空白にします(デフォルトでは ntfy.sh を使用します)。
-
Name(名前):NTFY_TOKEN(オプション設定。この名称をコピーして貼り付けてください)
-
Secret(値):空白にします。
説明:ntfy では、少なくとも 1 つの必須 Secret (NTFY_TOPIC) を設定する必要があり、後の 2 つはオプション設定です。
-
テスト:
curl -d "テストメッセージ" ntfy.sh/あなたのトピック名
方法2:自前のサーバーで運用(完全なプライバシー管理) 🔒
対象ユーザー:サーバーを持ち、完全なプライバシーを求め、技術力のあるユーザー。
利点:
- ✅ 完全にオープンソース(Apache 2.0 + GPLv2)です。
- ✅ データを完全に自主管理できます。
- ✅ 制限がありません。
- ✅ 無料です。
Docker での一键デプロイ:
docker run -d \
--name ntfy \
-p 80:80 \
-v /var/cache/ntfy:/var/cache/ntfy \
binwiederhier/ntfy \
serve --cache-file /var/cache/ntfy/cache.db
TrendRadar の設定:
NTFY_SERVER_URL: https://ntfy.yourdomain.com
NTFY_TOPIC: trendradar-alerts
NTFY_TOKEN: tk_your_token
アプリでのトピック購読:
- 「別のサーバーを使用」をクリックします。
- あなたのサーバーのアドレスを入力します。
- トピック名を入力します。
- (オプション)ログイン資格情報を入力します。
よくある質問:
Q1: 無料版で十分ですか?
1日に250 件のメッセージは、ほとんどのユーザーにとって十分です。30分ごとにクローリングすると仮定すると、1日に約48 回の通知が送信されるため、十分です。
Q2: Topic 名は本当に安全ですか?
ランダムで十分に長い名前(例:trendradar-zs-8492-news)を選択すると、ブルートフォース攻撃はほぼ不可能です。
- ntfy には厳格なレート制限があります(1秒に1 回のリクエスト)。
- 64 文字の選択肢(A-Z、a-z、0-9、_、-)があります。
- 10 文字のランダムな文字列には 64^10 通りの可能性があり(数年かかると思われます)。
推奨選択:
| ユーザータイプ |
推奨方案 |
理由 |
| 一般ユーザー |
方法1(無料) |
簡単で迅速、十分です。 |
| 技術者ユーザー |
方法2(自前のサーバーで運用) |
完全な管理、制限なし。 |
| 高頻度ユーザー |
方法3(有料) |
公式ウェブサイトを参照してください。 |
関連リンク:
👉 クリックして展開:Bark 通知(iOS 専用、シンプルで効率的)
GitHub Secret の設定(⚠️ Name の名称は厳密に一致する必要があります):
- Name(名前):
BARK_URL(この名称をコピーして貼り付けてください。手打ちすると間違いやすいです)
- Secret(値):あなたの Bark 通知 URL
Bark の概要:
Bark は iOS プラットフォーム用の無料のオープンソース通知ツールで、シンプルで高速、広告がないという特徴があります。
使用方法:
方法1:公式サーバーを使用(初心者におすすめ) 🆓
-
Bark App のダウンロード:
-
通知 URL の取得:
- Bark App を開きます。
- トップページに表示される通知 URL をコピーします(形式は
https://api.day.app/your_device_key のようになります)。
- URL を GitHub Secrets の
BARK_URL に設定します。
方法2:自前のサーバーを構築(完全なプライバシー管理) 🔒
対象ユーザー:サーバーを持ち、完全なプライバシーを求め、技術力のあるユーザー。
Docker での一键デプロイ:
docker run -d \
--name bark-server \
-p 8080:8080 \
finab/bark-server
TrendRadar の設定:
BARK_URL: http://your-server-ip:8080/your_device_key
注意事項:
- ✅ Bark は APNs を使用して通知を送信し、1 つのメッセージの最大サイズは 4KB です。
- ✅ 自動的にバッチ送信がサポートされており、メッセージが長い場合も心配する必要はありません。
- ✅ 通知形式は純粋なテキストです(Markdown 構文は自動的に削除されます)。
- ⚠️ iOS プラットフォームのみサポートされています。
関連リンク:
👉 クリックして展開:Slack 通知
GitHub Secret の設定(⚠️ Name の名称は厳密に一致する必要があります):
- Name(名前):
SLACK_WEBHOOK_URL(この名称をコピーして貼り付けてください。手打ちすると間違いやすいです)
- Secret(値):あなたの Slack Incoming Webhook URL
Slack の概要:
Slack はチームコラボレーションツールで、Incoming Webhooks を使用すると、メッセージを Slack チャンネルに送信することができます。
設定手順:
ステップ1:Slack App の作成
-
Slack API ページにアクセス:
- https://api.slack.com/apps?new_app=1 を開きます。
- 未ログインの場合は、Slack ワークスペースにログインします。
-
作成方法の選択:
- "From scratch"(最初から作成)をクリックします。
-
App 情報の入力:
- App Name:アプリの名前を入力します(例:
TrendRadar または ホットニュース監視)。
- Workspace:ドロップダウンリストからあなたのワークスペースを選択します。
- "Create App" ボタンをクリックします。
ステップ2:Incoming Webhooks の有効化
-
Incoming Webhooks ページに移動:
- 左側のメニューで "Incoming Webhooks" をクリックします。
-
機能の有効化:
- "Activate Incoming Webhooks" スイッチを見つけます。
- スイッチを
OFF から ON に切り替えます。
- ページが自動的に更新され、新しい設定オプションが表示されます。
ステップ3:Webhook URL の生成
-
新しい Webhook の追加:
- ページの下部までスクロールします。
- "Add New Webhook to Workspace" ボタンをクリックします。
-
ターゲットチャンネルの選択:
- システムが承認ページを表示します。
- ドロップダウンリストからメッセージを受信するチャンネルを選択します(例:
#ホットニュース)。
- ⚠️ プライベートチャンネルを選択する場合は、まずそのチャンネルに参加している必要があります。
-
アプリの承認:
- "Allow" ボタンをクリックして承認を完了します。
- システムが自動的に設定ページに戻ります。
ステップ4:Webhook URL のコピーと保存
-
生成された URL の確認:
- "Webhook URLs for Your Workspace" エリアで、先ほど生成された Webhook URL を見つけます。
- 形式は
https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX のようになります。
-
URL のコピー:
- URL の右側にある "Copy" ボタンをクリックするか、手動で URL を選択してコピーします。
-
TrendRadar への設定:
- GitHub Actions:URL を GitHub Secrets の
SLACK_WEBHOOK_URL に追加します。
- ローカルテスト:URL を
config/config.yaml の slack_webhook_url フィールドに入力します。
- Docker デプロイ:URL を
docker/.env ファイルの SLACK_WEBHOOK_URL 変数に追加します。
注意事項:
- ✅ Markdown 形式がサポートされています(自動的に Slack mrkdwn 形式に変換されます)。
- ✅ 自動的なバッチ送信がサポートされており、1 バッチあたり 4KB です。
- ✅ チームコラボレーションに適しており、メッセージを集中管理できます。
- ⚠️ Webhook URL は秘密鍵を含んでいるため、公開しないでください。
メッセージ形式のプレビュー:
*[第 1/2 バッチ]*
📊 *ホットキーワードの統計*
🔥 *[1/3] AI ChatGPT* : 2 件
1. [百度ホットニュース] 🆕 ChatGPT-5正式リリース *[1]* - 09時15分 (1回)
2. [今日头条] AIチップ関連株が急騰 *[3]* - [08時30分 ~ 10時45分] (3回)
関連リンク:
3️⃣ ニュース通知の手動テスト:
⚠️ 注意:
- 1 - 2 ステップを完了したら、すぐにテストを行ってください!テストが成功したら、必要に応じて設定を調整してください(4 ステップ)。
- あなた自身のプロジェクトにアクセスしてください。このプロジェクトではありません!
あなたの Actions ページを見つける方法:
- 方法1:あなたが fork したプロジェクトのホームページを開き、上部の Actions タブをクリックします。
- 方法2:直接
https://github.com/あなたのユーザー名/TrendRadar/actions にアクセスします。
例の比較:
- ❌ 作者のプロジェクト:
https://github.com/sansan0/TrendRadar/actions
- ✅ あなたのプロジェクト:
https://github.com/あなたのユーザー名/TrendRadar/actions
テスト手順:
- あなたのプロジェクトの Actions ページにアクセスします。
- "Get Hot News"(この文字通りでなければなりません)を見つけてクリックし、右側の "Run workflow" ボタンをクリックして実行します。
- この文字が表示されない場合は、#109 を参照して解決してください。
- 約3分後、メッセージが設定したプラットフォームに通知されます。
⚠️ 注意:
- 手動テストは頻繁に行わないでください。GitHub Actions の制限をトリガーする可能性があります。
- "Run workflow" をクリックした後、ブラウザのページを更新すると、新しい実行記録が表示されます。
4️⃣ 設定の説明(オプション):
デフォルトの設定でも正常に使用できますが、カスタマイズしたい場合は、以下の3つのファイルを理解する必要があります。
| ファイル |
役割 |
config/config.yaml |
メイン設定ファイル:通知モード、時間ウィンドウ、プラットフォームリスト、ホットキーワードの重み付けなど |
config/frequency_words.txt |
キーワードファイル:関心のあるキーワードを設定し、通知内容をフィルタリングします |
.github/workflows/crawler.yml |
実行頻度:実行間隔を制御します(⚠️ 慎重に変更してください) |
👉 詳細な設定ガイド:設定の詳細
5️⃣ 🎉 デプロイ成功!使用体験を共有しましょう
TrendRadar の設定が完了しました!これでホットニュースを追跡することができます。
💬 もっと多くのユーザーがブロ