☁️

Cloudflare Monitor

エージェント仕様
📋 概要

Cloudflareの公式情報(ブログ・Changelog・障害情報)を毎日自動チェックし、新着があればこのページを更新するAIエージェントです。Cloudflare Workers と Agents SDK を使ってサーバーレスで動作します。

⚙️ 基本仕様
実行スケジュール毎日 6:00 JST(= 21:00 UTC)
ページ更新新着情報がある場合は差分を表示。新着なしの場合は「本日の新着情報はありませんでした」と表示
履歴保持過去 5 年分(/?date=YYYY-MM-DD でアクセス可)
差分検知記事 GUID / インシデント ID をDurable Objectに保存し、前回との差分のみ抽出
初回実行既存データを全て「既読」として登録。翌日以降から差分通知を開始
📡 監視ソース
ソースURL取得内容
公式ブログ blog.cloudflare.com/rss/ 新着ブログ記事(RSS)
Changelog developers.cloudflare.com/changelog/rss/ 機能追加・変更履歴(Atom RSS)
障害情報 cloudflarestatus.com API アクティブなインシデント
メンテナンス cloudflarestatus.com API 予定メンテナンス情報
GitHub 新着リポジトリ api.github.com/orgs/cloudflare/repos Cloudflare GitHub org の新規リポジトリ(GitHub API)
Community アナウンス community.cloudflare.com/c/announcements 公式フォーラムのアナウンスカテゴリ(RSS)— ⚠️ 取得不可: Cloudflare Bot Management により 403 が返るためアクセスできません
Hacker News hn.algolia.com (Algolia API) 過去24時間の Cloudflare 関連ストーリー(認証不要)
Reddit r/CloudFlare reddit.com/r/CloudFlare/.rss コミュニティの議論・障害報告(RSS / Atom)
Dev.to dev.to/feed/tag/cloudflare 開発者による Cloudflare タグ付き記事(RSS)
🛠️ 技術スタック
実行基盤 Cloudflare Workers Agents SDK
状態管理 Durable Objects SQLite(既読ID保持)
ページ保存 Cloudflare KV 5年 TTL
AI処理 Workers AI @cf/meta/llama-3.1-8b-instruct-fast
日本語翻訳・カテゴリ分類・更新サマリー生成に使用
スケジュール Cron Trigger 0 22 * * *
言語 TypeScript
🔄 動作フロー
1
Cron Trigger 発火(毎日 22:00 UTC)— Cloudflare が Worker を起動
2
Durable Object 起動CloudflareMonitorAgent インスタンスを取得
3
情報ソース並列フェッチ— ブログ RSS / Changelog RSS / Status API を同時取得
4
差分検知— 前回実行時の既読 GUID・ID と比較し、新着のみ抽出
5
翻訳 & カテゴリ分類— Workers AI が記事タイトル・概要を日本語訳し、開発者プラットフォーム / Application Service / Cloudflare One に分類
6
AI 要約生成— Workers AI(Llama 3.1)が新着内容を日本語の番号付きリストで要約
7
ページ生成 & KV 保存— HTML を生成して KV の latest キーと日付キーに保存
8
状態更新— 今回取得した GUID・ID を Durable Object の SQLite に保存
🌐 エンドポイント
URL内容
GET /最新の更新情報ページ
GET /?date=YYYY-MM-DD指定日の更新情報(過去90日分)
GET /specこのページ(エージェント仕様)
GET /check手動チェック実行(開発・テスト用)
GET /sample直近の記事をサンプル表示(掲載内容の確認用)