Files

1 line
12 KiB
JSON

{"repo": "badbingo/fivelements", "files": {"system/wrangler.toml": {"90e837bc2cbbc5becf1eb66cfe7f0fbdd7935e4c": {"t": 1785745370.836774, "n": 367, "h": "1ef77af1ecf129ad", "c": "name = \"deepseek-api-proxy\"\nmain = \"src/worker.js\"\ncompatibility_date = \"2023-12-01\"\n\n[env.production.vars]\nENVIRONMENT = \"production\"\n\n# 在Cloudflare Dashboard中设置环境变量:\n# DEEPSEEK_API_KEY = \"your-deepseek-api-key\"\n\n[[env.production.routes]]\npattern = \"your-domain.com/api/*\"\nzone_name = \"your-domain.com\"\n\n[build]\ncommand = \"\"\n\n[build.upload]\nformat = \"service-worker\""}, "cb8879b70bb90a9fe19d8949ef5c30e25cfb29d9": {"t": 1785750812.686472, "n": 367, "h": "1ef77af1ecf129ad", "c": "name = \"deepseek-api-proxy\"\nmain = \"src/worker.js\"\ncompatibility_date = \"2023-12-01\"\n\n[env.production.vars]\nENVIRONMENT = \"production\"\n\n# 在Cloudflare Dashboard中设置环境变量:\n# DEEPSEEK_API_KEY = \"your-deepseek-api-key\"\n\n[[env.production.routes]]\npattern = \"your-domain.com/api/*\"\nzone_name = \"your-domain.com\"\n\n[build]\ncommand = \"\"\n\n[build.upload]\nformat = \"service-worker\""}}, "system/src/worker.js": {"90e837bc2cbbc5becf1eb66cfe7f0fbdd7935e4c": {"t": 1785745529.2700744, "n": 2260, "h": "792712ff6aed253e", "c": "// Cloudflare Workers代理服务器\n// 用于保护DeepSeek API密钥\n\naddEventListener('fetch', event => {\n event.respondWith(handleRequest(event.request))\n})\n\nasync function handleRequest(request) {\n // 处理CORS预检请求\n if (request.method === 'OPTIONS') {\n return handleCORS()\n }\n\n const url = new URL(request.url)\n \n // 只处理/api/deepseek路径\n if (url.pathname !== '/api/deepseek') {\n return new Response('Not Found', { status: 404 })\n }\n\n // 只允许POST请求\n if (request.method !== 'POST') {\n return new Response('Method Not Allowed', { status: 405 })\n }\n\n try {\n // 获取请求体\n const requestBody = await request.json()\n \n // 从环境变量获取API密钥\n const apiKey = DEEPSEEK_API_KEY\n if (!apiKey) {\n console.error('DEEPSEEK_API_KEY not configured')\n return new Response(\n JSON.stringify({ error: 'API key not configured' }), \n { \n status: 500,\n headers: {\n 'Content-Type': 'application/json',\n ...getCORSHeaders()\n }\n }\n )\n }\n\n // 调用DeepSeek API\n const deepseekResponse = await fetch('https://api.deepseek.com/v1/chat/completions', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${apiKey}`\n },\n body: JSON.stringify(requestBody)\n })\n\n const responseData = await deepseekResponse.json()\n \n return new Response(JSON.stringify(responseData), {\n status: deepseekResponse.status,\n headers: {\n 'Content-Type': 'application/json',\n ...getCORSHeaders()\n }\n })\n\n } catch (error) {\n console.error('Proxy error:', error)\n return new Response(\n JSON.stringify({ error: 'Internal server error' }), \n { \n status: 500,\n headers: {\n 'Content-Type': 'application/json',\n ...getCORSHeaders()\n }\n }\n )\n }\n}\n\n// 处理CORS预检请求\nfunction handleCORS() {\n return new Response(null, {\n status: 200,\n headers: getCORSHeaders()\n })\n}\n\n// 获取CORS头部\nfunction getCORSHeaders() {\n return {\n 'Access-Control-Allow-Origin': '*',\n 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',\n 'Access-Control-Allow-Headers': 'Content-Type, Authorization',\n 'Access-Control-Max-Age': '86400'\n }\n}"}, "9cfc4ee4df2c573e339a6e2195d01e678052f7e8": {"t": 1785750811.9793303, "n": 2260, "h": "792712ff6aed253e", "c": "// Cloudflare Workers代理服务器\n// 用于保护DeepSeek API密钥\n\naddEventListener('fetch', event => {\n event.respondWith(handleRequest(event.request))\n})\n\nasync function handleRequest(request) {\n // 处理CORS预检请求\n if (request.method === 'OPTIONS') {\n return handleCORS()\n }\n\n const url = new URL(request.url)\n \n // 只处理/api/deepseek路径\n if (url.pathname !== '/api/deepseek') {\n return new Response('Not Found', { status: 404 })\n }\n\n // 只允许POST请求\n if (request.method !== 'POST') {\n return new Response('Method Not Allowed', { status: 405 })\n }\n\n try {\n // 获取请求体\n const requestBody = await request.json()\n \n // 从环境变量获取API密钥\n const apiKey = DEEPSEEK_API_KEY\n if (!apiKey) {\n console.error('DEEPSEEK_API_KEY not configured')\n return new Response(\n JSON.stringify({ error: 'API key not configured' }), \n { \n status: 500,\n headers: {\n 'Content-Type': 'application/json',\n ...getCORSHeaders()\n }\n }\n )\n }\n\n // 调用DeepSeek API\n const deepseekResponse = await fetch('https://api.deepseek.com/v1/chat/completions', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${apiKey}`\n },\n body: JSON.stringify(requestBody)\n })\n\n const responseData = await deepseekResponse.json()\n \n return new Response(JSON.stringify(responseData), {\n status: deepseekResponse.status,\n headers: {\n 'Content-Type': 'application/json',\n ...getCORSHeaders()\n }\n })\n\n } catch (error) {\n console.error('Proxy error:', error)\n return new Response(\n JSON.stringify({ error: 'Internal server error' }), \n { \n status: 500,\n headers: {\n 'Content-Type': 'application/json',\n ...getCORSHeaders()\n }\n }\n )\n }\n}\n\n// 处理CORS预检请求\nfunction handleCORS() {\n return new Response(null, {\n status: 200,\n headers: getCORSHeaders()\n })\n}\n\n// 获取CORS头部\nfunction getCORSHeaders() {\n return {\n 'Access-Control-Allow-Origin': '*',\n 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',\n 'Access-Control-Allow-Headers': 'Content-Type, Authorization',\n 'Access-Control-Max-Age': '86400'\n }\n}"}, "cb8879b70bb90a9fe19d8949ef5c30e25cfb29d9": {"t": 1785750813.081958, "n": 2257, "h": "6e00e7531ce42806", "c": "// Cloudflare Workers代理服务器\n// 用于保护DeepSeek API密钥\n\naddEventListener('fetch', event => {\n event.respondWith(handleRequest(event.request))\n})\n\nasync function handleRequest(request) {\n // 处理CORS预检请求\n if (request.method === 'OPTIONS') {\n return handleCORS()\n }\n\n const url = new URL(request.url)\n \n // 只处理/api/deepseek路径\n if (url.pathname !== '/api/deepseek') {\n return new Response('Not Found', { status: 404 })\n }\n\n // 只允许POST请求\n if (request.method !== 'POST') {\n return new Response('Method Not Allowed', { status: 405 })\n }\n\n try {\n // 获取请求体\n const requestBody = await request.json()\n \n // 从环境变量获取API密钥\n const apiKey = DEEPSEEK_API_KEY\n if (!apiKey) {\n console.error('DEEPSEEK_API_KEY not configured')\n return new Response(\n JSON.stringify({ error: 'API key not configured' }), \n { \n status: 500,\n headers: {\n 'Content-Type': 'application/json',\n ...getCORSHeaders()\n }\n }\n )\n }\n\n // 调用DeepSeek API\n const deepseekResponse = await fetch('https://api.deepseek.com/chat/completions', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${apiKey}`\n },\n body: JSON.stringify(requestBody)\n })\n\n const responseData = await deepseekResponse.json()\n \n return new Response(JSON.stringify(responseData), {\n status: deepseekResponse.status,\n headers: {\n 'Content-Type': 'application/json',\n ...getCORSHeaders()\n }\n })\n\n } catch (error) {\n console.error('Proxy error:', error)\n return new Response(\n JSON.stringify({ error: 'Internal server error' }), \n { \n status: 500,\n headers: {\n 'Content-Type': 'application/json',\n ...getCORSHeaders()\n }\n }\n )\n }\n}\n\n// 处理CORS预检请求\nfunction handleCORS() {\n return new Response(null, {\n status: 200,\n headers: getCORSHeaders()\n })\n}\n\n// 获取CORS头部\nfunction getCORSHeaders() {\n return {\n 'Access-Control-Allow-Origin': '*',\n 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',\n 'Access-Control-Allow-Headers': 'Content-Type, Authorization',\n 'Access-Control-Max-Age': '86400'\n }\n}"}}, "system/deploy-cloudflare.sh": {"90e837bc2cbbc5becf1eb66cfe7f0fbdd7935e4c": {"t": 1785745950.4738843, "n": 1268, "h": "419aad410d2e8037", "c": "#!/bin/bash\n\n# Cloudflare Workers 部署脚本\n# 用于自动化部署DeepSeek API代理服务器\n\nset -e\n\necho \"🚀 开始部署到Cloudflare Workers...\"\n\n# 检查是否安装了wrangler\nif ! command -v wrangler &> /dev/null; then\n echo \"❌ Wrangler CLI未安装\"\n echo \"请运行: npm install -g wrangler\"\n exit 1\nfi\n\n# 检查是否已登录\nif ! wrangler whoami &> /dev/null; then\n echo \"❌ 未登录Cloudflare\"\n echo \"请运行: wrangler login\"\n exit 1\nfi\n\necho \"✅ Wrangler CLI已就绪\"\n\n# 检查API密钥是否已设置\necho \"🔑 检查API密钥配置...\"\nif ! wrangler secret list | grep -q \"DEEPSEEK_API_KEY\"; then\n echo \"⚠️ DEEPSEEK_API_KEY未设置\"\n read -p \"请输入您的DeepSeek API密钥: \" api_key\n echo \"$api_key\" | wrangler secret put DEEPSEEK_API_KEY\n echo \"✅ API密钥已设置\"\nelse\n echo \"✅ API密钥已配置\"\nfi\n\n# 部署到Cloudflare\necho \"📦 开始部署...\"\nwrangler deploy\n\nif [ $? -eq 0 ]; then\n echo \"🎉 部署成功!\"\n echo \"\"\n echo \"📋 部署信息:\"\n echo \" - Workers URL: https://deepseek-api-proxy.你的子域名.workers.dev\"\n echo \" - API端点: https://deepseek-api-proxy.你的子域名.workers.dev/api/deepseek\"\n echo \"\"\n echo \"📝 下一步:\"\n echo \" 1. 复制上面的API端点URL\"\n echo \" 2. 在bazinew.html中更新apiUrl变量\"\n echo \" 3. 测试API调用功能\"\n echo \"\"\n echo \"📊 监控命令:\"\n echo \" - 查看实时日志: wrangler tail\"\n echo \" - 查看配置: wrangler whoami\"\nelse\n echo \"❌ 部署失败\"\n echo \"请检查错误信息并重试\"\n exit 1\nfi"}, "cb8879b70bb90a9fe19d8949ef5c30e25cfb29d9": {"t": 1785750811.9828103, "n": 1268, "h": "419aad410d2e8037", "c": "#!/bin/bash\n\n# Cloudflare Workers 部署脚本\n# 用于自动化部署DeepSeek API代理服务器\n\nset -e\n\necho \"🚀 开始部署到Cloudflare Workers...\"\n\n# 检查是否安装了wrangler\nif ! command -v wrangler &> /dev/null; then\n echo \"❌ Wrangler CLI未安装\"\n echo \"请运行: npm install -g wrangler\"\n exit 1\nfi\n\n# 检查是否已登录\nif ! wrangler whoami &> /dev/null; then\n echo \"❌ 未登录Cloudflare\"\n echo \"请运行: wrangler login\"\n exit 1\nfi\n\necho \"✅ Wrangler CLI已就绪\"\n\n# 检查API密钥是否已设置\necho \"🔑 检查API密钥配置...\"\nif ! wrangler secret list | grep -q \"DEEPSEEK_API_KEY\"; then\n echo \"⚠️ DEEPSEEK_API_KEY未设置\"\n read -p \"请输入您的DeepSeek API密钥: \" api_key\n echo \"$api_key\" | wrangler secret put DEEPSEEK_API_KEY\n echo \"✅ API密钥已设置\"\nelse\n echo \"✅ API密钥已配置\"\nfi\n\n# 部署到Cloudflare\necho \"📦 开始部署...\"\nwrangler deploy\n\nif [ $? -eq 0 ]; then\n echo \"🎉 部署成功!\"\n echo \"\"\n echo \"📋 部署信息:\"\n echo \" - Workers URL: https://deepseek-api-proxy.你的子域名.workers.dev\"\n echo \" - API端点: https://deepseek-api-proxy.你的子域名.workers.dev/api/deepseek\"\n echo \"\"\n echo \"📝 下一步:\"\n echo \" 1. 复制上面的API端点URL\"\n echo \" 2. 在bazinew.html中更新apiUrl变量\"\n echo \" 3. 测试API调用功能\"\n echo \"\"\n echo \"📊 监控命令:\"\n echo \" - 查看实时日志: wrangler tail\"\n echo \" - 查看配置: wrangler whoami\"\nelse\n echo \"❌ 部署失败\"\n echo \"请检查错误信息并重试\"\n exit 1\nfi"}}}}