FrugalFinder
FrugalFinder
作为服务的最佳价值淘货。 提交你想要的东西 + 原因 + 预算;一个 FrugalBot 代理会定期扫描并返回最佳 价值 机会——不是最便宜的,也不是最花哨的。
架构(MVP)
[Web UI / Telegram bot / MCP client agents]
↓ POST
Vercel serverless API ──→ Vercel KV store (wishlists + scans)
↓ ↑
FrugalBot analyzer │ scheduled re-scan
(OpenRouter LLM) ────────┘ (Vercel Cron, hourly tick)Related MCP server: ecommerce-mcp-server
端点
路由 | 方法 | 用途 |
| GET | Web UI:提交心愿单,查看分析 |
| POST | 创建心愿单 → 运行首次 FrugalBot 分析 |
| GET/PATCH | 获取或更新一个心愿单 |
| GET/POST | 轮询最新扫描 / 立即触发扫描 |
| POST | Cron 目标 — 扫描所有到期的心愿单 |
| POST | Telegram webhook 摄取 |
| POST | 供外部 AI 代理使用的 MCP Streamable HTTP 端点 |
| POST | 创建露营地预订监视器(Recreation.gov) |
| GET/PATCH | 列出/获取/更新预订监视器 |
| POST | 立即触发预订扫描 |
| POST/GET | 3 模型 LLM 对比扫描 / 性能摘要 |
| GET | 管理仪表盘:LLM 质量与成本监控 |
露营地预订监视器
监视多个 Recreation.gov 露营地,在你的日期窗口内寻找空位。
site_preference: "lakefront" 会在湖滨场地因取消而释放时给予更高评分。
评分:可用性 + 偏好匹配 + 设施(遮荫、宠物、铺砌车道)− 价格。
curl -X POST https://YOUR-DOMAIN.vercel.app/api/reservations \
-H 'Content-Type: application/json' \
-d '{"campground_ids":["233117","232665"],"date_window":"2026-10-09 to 2026-10-12","site_preference":"lakefront","cadence":"daily"}'已知限制:Recreation.gov 基于日期的可用性端点目前对匿名调用者返回 404(API 已更改)。扫描器使用其公开的站点元数据搜索(已验证可用:循环、属性、状态、价格)。当日期级可用性重新开放时,将其接入 getCampgroundSites() —— 下游所有内容已能处理。ReserveAmerica(北卡罗来纳州立公园)阻止匿名 API 调用;如果以后需要,可添加为带 cookies/会话的提供者。
多 LLM 对比(“质量与成本控制”)
POST /api/compare 在同一个 frugal-bot 提示上竞速三个模型层级:
层级 | 默认模型 | 用途 |
|
| OpenRouter 自己的最佳模型路由 |
|
| 最便宜的具备网络能力 |
|
| 中档具备网络能力 |
然后一个裁判(anthropic/claude-opus-4.1)对三者进行盲评(顺序打乱),评分 1–10。
每次运行都会将 tokens/成本/评分/胜场记录到性能存储中;GET /api/compare 聚合它们,/admin.html 可视化。所有 slug 均可通过环境变量每周覆盖,无需代码更改:
PARETO_MODEL、BUDGET_WEB_MODEL、MID_WEB_MODEL、JUDGE_MODEL。
已验证的实时运行:mid_web(Sonar)得分 9,pareto(路由到 DeepSeek v4 flash)得分 8,budget(GPT-4.1-nano)得分 4–7,总成本 ≈ $0.05/次对比。
环境变量(在 Vercel 仪表盘 → 设置 → 环境变量中设置)
OPENROUTER_API_KEY(必需)— LLM 提供者FRUGAL_MODEL(可选,默认stealth/ox-alpha)— 任意 OpenRouter 模型 slugKV_REST_API_URL、KV_REST_API_TOKEN(生产持久化必需)— 来自在 Vercel → 存储中附加的 Vercel KV(Upstash)数据库WISHLIST_TOKEN(可选)—/api/wishlists的共享密钥CRON_SECRET(可选但推荐)— 保护/api/scan-allTELEGRAM_BOT_TOKEN、TELEGRAM_WEBHOOK_SECRET(可选)— Telegram 摄取MCP_TOKEN(可选)—/api/mcp的共享密钥PARETO_MODEL、BUDGET_WEB_MODEL、MID_WEB_MODEL、JUDGE_MODEL(可选)— LLM 对比层级覆盖
分享路径
添加到心愿单(书签小工具)
创建一个名为 添加到心愿单 的浏览器书签,URL 如下:
javascript:(function(){var u=location.href;var t=document.title;prompt('Send to FrugalFinder? Add budget/use hints:',t+'\n'+u)&&fetch('https://frugalfinder.vercel.app/api/wishlists',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({item:t,source_url:u,budget:'see notes',use_case:'shared from '+u,cadence:'daily'})}).then(r=>r.json()).then(d=>alert('Added! id='+d.id))})()在任何产品页面上点击它,即可将该列表项作为心愿单条目提交。
电子邮件(MVP 说明)
尚未接入 — MVP 使用 Web UI + Telegram + 书签小工具。电子邮件摄取是自然的 v2 补充,可通过入站电子邮件 webhook(例如 Resend/Postmark → /api/wishlists)实现。
定价层级(推荐)
层级 | 频率 | 价格理由 |
免费 | 每日 | ~30 次 LLM 调用/月/项目,免费 stealth 模型边际成本为 $0 ≈ 基础设施可忽略 |
高级 | 每小时 | $0.01/次扫描 × ~720 次扫描/月 = $7.20/月/项目 — 定价为 $5/月固定,利润来自将多个心愿单批量合并到一次每小时 cron 触发中 |
专业(未来) | 每小时 + 优先队列 + 电子邮件摘要 | $12/月 |
单位经济性之所以可行,是因为分析器将所有到期的心愿单批量合并到一次 cron 遍历中(/api/scan-all),摊销了冷启动开销。
认证路线图(MVP 之后)
MVP 现在:无认证,单用户,由可选共享密钥保护。
v1.1:魔法链接电子邮件登录(Auth.js 或 Clerk 免费层)→ 按用户 ID 键控的每用户心愿单。
v2:Stripe 结账用于高级/专业层级;用量计量 = 每个计费周期的扫描次数。
本地开发
npm install
vercel dev # needs `vercel link` once
npm test # node:test unit testsMCP 用法(用于外部代理,如 ChatGPT/Claude/Codex)
将支持 MCP 的客户端连接到:
https://YOUR-DOMAIN.vercel.app/api/mcp如果设置了,请包含请求头:x-mcp-token: <MCP_TOKEN>。
暴露的工具:
submit_wishlist(item, use_case, budget, flexibility?, cadence?, source_url?)→ 保存 + 立即分析get_wishlist(id)→ 完整记录,包括最新分析和扫描历史list_wishlists()→ 所有活动心愿单的摘要trigger_scan(id)→ 强制进行带外 frugal-bot 扫描submit_reservation_watch(campground_ids, date_window?, site_preference?, min_features?, max_price?, cadence?, notes?)→ 露营地监视器 + 首次扫描(支持湖滨偏好)list_reservations()→ 所有预订监视器及上次结果trigger_reservation_scan(id)→ 立即重新扫描预订run_model_comparison(item, use_case, budget, flexibility?)→ 3 层级 LLM 竞速 + 裁判裁决get_model_performance()→ 每个层级的聚合质量/成本统计
调用代理应将其视为 提交 + 轮询:提交一次,然后按适合它们的任何频率调用 get_wishlist(或等待它们自己的调度器)。MCP 规范没有用于任意更新的推送通道,因此定期轮询是标准模式。
This server cannot be deployed
Maintenance
Related MCP Connectors
AI-powered product search, affiliate links, and price negotiation for e-commerce platforms
Personal-finance workspace for AI agents: accounts, spending, budgets, goals, and investments.
Directory of APIs, merchants, and tools AI agents can actually use.
AI Agent Utility Layer for agent safety, web monitoring, crypto research and tool discovery.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to save product URLs to a user's Wishfinity wishlist. When recommending products, the AI can generate a clickable link that saves items for later purchase or gifting.63 npm1MIT
- AlicenseAqualityFmaintenanceEnables AI agents to search products, lookup barcodes, and manage shopping carts and wishlists using free e-commerce APIs.8MIT
- FlicenseAqualityDmaintenanceEnables AI assistants to manage shopping lists and items (create, edit, delete, mark as purchased) via integration with a backend API.8-
- AlicenseNot gradedqualityDmaintenanceImplements the iwant.fyi demand-side protocol, enabling AI agents to express structured purchase intent, receive matched supply from multiple sources, and report outcomes.Apache 2.0