Vector Image Detection
GitHub リポジトリ

検索したい単語を入力

いつでも検索バーを開ける

本番構成と復旧

Cloudflare binding、状態遷移、保守 job の責務

資源本番での責務必須 invariant
Worker Static AssetsSPA と /api/*/api/* は Worker first、assets は SPA fallback
D1 (DB)catalog、provenance、outbox、quota、tombstonemigration 0001_public_photo_library.sql と pinned model metadata
R2 (PHOTOS)private originalURL を公開せず Worker 経由の ready media のみ
Queue / DLQenrich/reindex/repair/purgeconsumer と dead letter queue、最大 retry 8
Workers AI (AI)vision と text embeddingmoondream3.1-9B-A2B / embeddinggemma-300m
Vectorize (PHOTO_VECTORS)derived semantic vectors768 dimensions、cosine、revision-stamped IDs
Rate Limit (WRITE_RATE_LIMIT)公開 write の短期制限D1 quota と併用、認証の代替ではない

状態は pending、enqueue_failed、processing、ready、failed、tombstoned を中心に扱います。failed のうち retryable なものは lease/backoff/outbox repair で復旧し、terminal/DLQ は運用者が原因を確認します。tombstone は R2、全 vector generation、D1 関連行を削除できるまで retryable に保持します。

既定の上限は 5 MiB、最小 32 / 最大 12,000 px、40M pixels、tag 64 文字・写真あたり 32、bulk 50、日次 upload 500、全 stored photo 10,000、処理 lease 5 分です。値を変更する場合は UI 文言、Worker validation、quota/retention 運用を同時に見直してください。