Uber Eats のレコメンド。注文分析スキルを活用し、過去の傾向や時間帯に合わせておすすめの店舗を提案する。店舗の閉鎖情報なども管理する。
分析データの確認・更新
.codex/skills/uber-eats-analysys/SKILL.md の手順に従い、最新の注文データを集計する。.ai-secretary/uber-analysis/uber_orders_summary_all.json が存在し、最新の状態であればそれを読み込む。リアルタイム情報の取得 (Cookie利用)
.cookie/user-eats.cookie.json が存在する場合、以下の手順で ubereats.com を開く。storageState 形式に変換(sameSite のマッピング、id フィールドの削除など)。playwright-cli を使用し、Firefox で https://www.ubereats.com/jp にアクセスする。レコメンドロジックの適用
.ai-secretary/uber-eats-knowlegde/ を参照し、閉鎖店舗を除外する。提案の構成
.ai-secretary/uber_eats_data)がある場合は、その店舗でよく頼んでいたメニューも併せて提示する。.ai-secretary/uber-eats-knowlegde/<store_name>.md に作成する。.codex/skills/uber-eats-analysys/SKILL.md.ai-secretary/uber-analysis/ (集計データ).ai-secretary/uber_eats_data/ (メニュー詳細).ai-secretary/uber-eats-knowlegde/ (店舗知識)Playwright でクッキーを読み込む際は、以下の Python スクリプト等で形式を整えて .ai-secretary/uber-auth-state.json に保存して使用する。
import json
with open(".cookie/user-eats.cookie.json", "r") as f:
cookies = json.load(f)
for c in cookies:
if "id" in c: del c["id"]
ss = c.get("sameSite", "").lower()
if ss == "no_restriction": c["sameSite"] = "None"
elif ss == "lax": c["sameSite"] = "Lax"
elif ss == "strict": c["sameSite"] = "Strict"
else: c["sameSite"] = "Lax"
state = {"cookies": cookies, "origins": []}
with open(".ai-secretary/uber-auth-state.json", "w") as f:
json.dump(state, f)