第31回: ニュース監視・SNS監視 — 情報収集の自動化とPart 6の振り返り
この回で学ぶこと
キーワードベースのニュース監視設定
SNSアカウントの定期チェック設定
Heartbeatの限界と正直な注意点
Part 6全体の振り返り
前回のおさらい
前回、cronを使って日報と週報の自動生成を設定した。毎晩22時に日報が、毎週日曜に週次サマリーが自動でTelegramに届くようになった。今回はHeartbeatの最後のユースケースとして、ニュースとSNSの自動監視を設定する。
ニュースの自動収集
OpenClawには web_search というWeb検索ツールが組み込まれている。ただし、このツールを使うにはBrave Search APIキーの設定が必要になる(第9回で設定済みであればそのまま利用可能)。
Brave Search APIキーを設定していない場合: Brave Search(https://brave.com/search/api/)で無料アカウントを作成し、APIキーを取得する。無料枠は月2,000リクエストまで。取得したキーを環境変数
BRAVE_API_KEYに設定すれば使えるようになる。
この検索機能を使い、特定のキーワードに関連するニュースを定期的に検索し、新しい記事が見つかったらTelegramに通知する仕組みを作る。
HEARTBEAT.mdへの追記:
## ニュース監視
- [ ] 以下のキーワードでニュースを検索し、新しい記事があればTelegramに概要を送信
- 「AI エージェント」「Claude Code」「自動化 ツール」
- [ ] 通知する際は: タイトル + 1行要約 + URL の形式で
- [ ] 直近で通知済みの記事は再送信しない
通知の出力例:
【ニュース】
1. AIエージェントの市場規模が2027年までに10倍に
→ 調査会社がAIエージェント市場の急成長を予測。特に業務自動化分野が牽引。
<https://example.com/news/ai-agent-market>
2. Claude Code新バージョンリリース
→ Anthropicがclaude codeの新機能を発表。ファイル操作の精度が向上。
<https://example.com/news/claude-code-update>
カスタマイズのポイント:
キーワードは自由に追加・変更できる。自分の業界や関心分野に合わせて設定する
検索頻度を下げたい場合は、Heartbeat自体の実行間隔を
openclaw.jsonのheartbeat.everyで変更する(例:"3h"で3時間ごと)。ただし、間隔を変えると全てのHeartbeatタスク(第29回のリマインド等)も同じ間隔になる点に注意
SNSアカウントの定期チェック
特定のSNSアカウントの投稿を定期的にチェックし、注目すべき投稿があったら通知する設定も可能。
ただし、SNS監視にはスキルの追加が必要。 OpenClawにはSNS監視ツールがビルトインされていないため、まず対応スキルをインストールする。
X(Twitter)を監視する場合:
clawhub install x-tweet-fetcher
x-tweet-fetcher はAPIキー不要・ログイン不要でXの投稿を取得できるスキル。特定ユーザーのタイムライン(最大200件)やスレッドの取得に対応している。
注意: このスキルはFxTwitterという非公式サービスを経由してデータを取得している。公式APIではないため、サービスが停止すると動かなくなるリスクがある。安定性を重視する場合は、X公式APIを使うComposio統合(有料: Basic $200/月〜)が堅実な選択肢。
HEARTBEAT.mdへの追記:
## SNS監視
- [ ] 以下のXアカウントの最新投稿をチェック
- @competitor1, @competitor2
- [ ] バズっている投稿(いいね100以上)があれば、内容の要約とともにTelegramで通知
- [ ] 直近で通知済みの投稿は再送信しない
この設定により、競合の動向を手動でチェックする手間が減る。秘書が定期的に巡回し、重要な動きがあったときだけ通知してくれる。
活用例:
競合企業のSNS | 新製品の発表や価格変更を素早くキャッチ |
業界インフルエンサー | トレンドの発信元を早期に把握 |
自社ブランドの言及 | 自社名を含む投稿を検知し、炎上の早期発見に活用 |
Heartbeatの正直な限界
ここまでHeartbeatをいくつかのユースケースで使ってきたが、正直な限界も知っておくべき。
間隔制御はLLMの判断に依存する:
HEARTBEAT.mdに「3時間ごと」「1日1回」と書いても、Heartbeat自体は設定された間隔(デフォルト30分)ごとに全項目を読む。「3時間ごと」を守るかどうかは、秘書(LLM)が前回の実行時刻を覚えていて判断できるかどうかに依存する。プログラムによる厳密な間隔制御ではない。
重複防止も完璧ではない:
「通知済みの記事は再送信しない」も同様に、秘書の判断に基づく。通常モード(デフォルト)では会話履歴が残るためほぼ機能するが、100%保証されるものではない。
コストに注意:
Web検索やSNS取得を伴うHeartbeatは、単純な監視(ディスク容量チェック等)より多くのトークンを消費する。目安:
軽量な監視のみ(Haiku + lightContext): 月3,000円以下
Web検索あり(Sonnet + 通常コンテキスト): 月5,000〜15,000円
フルコンテキスト + 高頻度: 月10,000円超
コストを抑えるコツ:
openclaw.jsonでheartbeat.everyの間隔を長くする("1h"や"3h")lightContext: trueを設定してHeartbeat実行時のコンテキストを最小化するHeartbeatのモデルを安価なもの(Haiku等)にオーバーライドする
完璧を求めるなら:
ニュース収集を「毎日朝8時に1回だけ確実に」実行したい場合は、第30回で学んだcronの方が適している。Heartbeatは「常時巡回して何かあれば通知」に向いており、「正確な時刻・回数制御」が必要なタスクにはcronを使う。
Part 6全体の振り返り
Part 6の5回で構築した自律動作を整理する。
第27回 | Heartbeat導入(おはようメッセージ) | Heartbeat + activeHours | activeHours開始時 |
第28回 | モーニングブリーフィング(天気・ニュース・予定) | cron | 毎朝7:00 |
第29回 | スケジュールリマインド | Heartbeat | 30分ごと(予定前に通知) |
第30回 | 日報・週報の自動作成 | cron | 毎晩22:00 / 毎週日曜20:00 |
第31回 | ニュース監視・SNS監視 | Heartbeat | Heartbeat間隔ごと |
使い分けのポイント:
Heartbeat: 「何かあったら教えて」系 → リマインド、監視、異常検知
cron: 「この時間にやって」系 → ブリーフィング、日報、週報
ここまでで、秘書は以下の状態になった:
SOUL.md で人格と行動ルールが定義されている
メモリ で過去の会話を記憶している
チャネル でスマホから指示を受けられる
Heartbeat で自分から異常を見つけて報告してくれる
cron で決まった時刻にタスクを実行してくれる
秘書はもう「話しかけないと動かない」ツールではない。自分で考えて、自分から動く。次のPart 7では、スキルとClawHubを使って秘書の機能をさらに拡張する。
ゴール状態
ニュース監視が設定されている(Brave Search APIキーの設定を含む)
SNS監視が設定されている(x-tweet-fetcherスキルのインストールを含む)
Heartbeatの限界(間隔制御・重複防止・コスト)を理解している
HeartbeatとCronの使い分けが説明できる