Files
ds2api/vercel.json
BigUncle 83b4c7bcad fix: add missing Vercel rewrite rules for admin API routes
/admin/chat-history, /admin/proxies, /admin/dev/raw-samples,
and /admin/dev/captures were falling through to the SPA fallback
(/admin/index.html), causing "Unexpected token '<'" JSON parse
errors on the frontend.
2026-05-01 20:50:12 +08:00

138 lines
2.7 KiB
JSON

{
"version": 2,
"buildCommand": "npm ci --prefix webui && npm run build --prefix webui",
"outputDirectory": "static",
"functions": {
"api/chat-stream.js": {
"maxDuration": 300
},
"api/index.go": {
"maxDuration": 300
}
},
"rewrites": [
{
"source": "/v1/chat/completions",
"has": [
{
"type": "query",
"key": "__go"
}
],
"destination": "/api/index"
},
{
"source": "/v1/chat/completions",
"destination": "/api/chat-stream"
},
{
"source": "/admin/login",
"destination": "/api/index"
},
{
"source": "/admin/verify",
"destination": "/api/index"
},
{
"source": "/admin/config",
"destination": "/api/index"
},
{
"source": "/admin/config/(.*)",
"destination": "/api/index"
},
{
"source": "/admin/settings",
"destination": "/api/index"
},
{
"source": "/admin/settings/(.*)",
"destination": "/api/index"
},
{
"source": "/admin/keys(.*)",
"destination": "/api/index"
},
{
"source": "/admin/accounts(.*)",
"destination": "/api/index"
},
{
"source": "/admin/queue/status",
"destination": "/api/index"
},
{
"source": "/admin/import",
"destination": "/api/index"
},
{
"source": "/admin/test",
"destination": "/api/index"
},
{
"source": "/admin/vercel/(.*)",
"destination": "/api/index"
},
{
"source": "/admin/export",
"destination": "/api/index"
},
{
"source": "/admin/version",
"destination": "/api/index"
},
{
"source": "/admin/chat-history(.*)",
"destination": "/api/index"
},
{
"source": "/admin/proxies(.*)",
"destination": "/api/index"
},
{
"source": "/admin/dev/raw-samples/(.*)",
"destination": "/api/index"
},
{
"source": "/admin/dev/captures(.*)",
"destination": "/api/index"
},
{
"source": "/admin",
"destination": "/admin/index.html"
},
{
"source": "/admin/assets/(.*)",
"destination": "/admin/assets/$1"
},
{
"source": "/admin/(.*)",
"destination": "/admin/index.html"
},
{
"source": "/(.*)",
"destination": "/api/index"
}
],
"headers": [
{
"source": "/admin/assets/(.*)",
"headers": [
{
"key": "Cache-Control",
"value": "public, max-age=31536000, immutable"
}
]
},
{
"source": "/admin/(.*)",
"headers": [
{
"key": "Cache-Control",
"value": "no-store, must-revalidate"
}
]
}
]
}