- 在服务端隐藏上游 API 密钥
- 绕过 CORS
- 添加缓存 + 按 IP 速率限制
- 标准化响应形状
原始数据直通
所有代理:
- 遵守源 CORS 允许列表。
- 在处理函数显式启用的前提下,通过
api/_rate-limit.js或server/_shared/rate-limit.ts应用按 IP 速率限制(默认 600 请求/分钟/IP),更严格的按路由额度在ENDPOINT_RATE_POLICIES中声明 — 参见速率限制。速率限制按路由启用,而非平台级统一应用:/api/polymarket已启用,而/api/gpsjam和/api/oref-alerts目前未计量。 - 积极缓存(
s-maxage因上游而异)。
内容代理
GET /api/rss-proxy?url=<allowed-feed>
获取 RSS/Atom 源并返回解析后的 JSON。URL 必须匹配 _rss-allowed-domains.js 中的模式之一 — 拒绝任意 URL 以防止 SSRF。
Skills 注册表
POST /api/skills/fetch-agentskills
获取单个 agentskills.io 技能定义 — 在 JSON 请求体中传入 url 或 id — 返回其名称、描述和指令,指令截断为 2,000 个字符。仅接受三个 agentskills.io 主机并拒绝重定向,因此该路由无法用于访问任意主机。由设置中的技能导入器使用。限制为 30 请求/分钟/IP;成功的查询会在 Redis 中缓存一小时。
遗留/内部
GET /api/fwdstart
抓取 FwdStart 通讯归档并以 RSS 2.0 XML 订阅源重新发布(缓存 30 分钟)。内部订阅源垫片,不是 JSON API。
GET|POST /api/mcp-proxy
Pro 门控的出站 MCP 代理:将 MCP 流量转发到调用方指定的第三方 MCP 服务器,带 SSRF 防护(拒绝私网/链路本地目标)和独立的每 IP 每分钟 30 次限流。它不会转发到 WorldMonitor 自己的 /api/mcp —— 请直接调用后者。