
现在提示这个, 原来用的美国代理,绑定的招行的 Mastercard ,用的好好的,现在不知道怎么搞了。。
]]>有没有便宜皮实的手机推荐哇? 平时就用个微信,看个小说,刷刷视频,不卡,耐用,结实就行
预算 2k 以下,或者更低....
]]>我也在学英语 把音频字母 自己本地做了个小程序 开车 摸鱼的时候听一听 学一学
这种自己用应该不会造成啥影响
那如果推广给别人使用 每个人个 10 快 20 快的 是不是就会导致侵权了呀 好奇别人是怎么薅羊毛的
]]>聚合了什么微信登录 QQ 登录 github google 。。。。 聚合了支付宝 微信 strip 信用卡 。。。。
有没有这种的。哈哈
]]>
访问微软的话就根本就是无法连接
之前买的机场很便宜,我是够用了
但是要关站了
来这求一个。月付 10 块钱以内的

这一个月已经给我打了第 3 个了。。。
我到底触发了什么啊?
]]>ANTHROPIC_BASE_URL=https://dashscope.aliyuncs.com/apps/anthropic ANTHROPIC_MODEL=qwen3-max ANTHROPIC_SMALL_FAST_MODEL=qwen-plus 但是触发 Sub-Agent 时(比如 Explore ),强制使用 qwen3-max 会报错,导致 Sub-Agent 无法使用。大家遇到这个问题了吗?有什么解法吗?
{ "round":4, "session_id":"20251223_175114", "message_type":"UserMessage", "message":{ "parent_tool_use_id":null, "uuid":"da69a48d-9f57-4f1f-a0a3-0309aa4a3054", "content":[ { "tool_use_id":"call_d32dc053b6424cec868932ca", "is_error":true, "content":"<tool_use_error>InputValidationError: [\n {\n \"received\": \"qwen3-max\",\n \"code\": \"invalid_enum_value\",\n \"options\": [\n \"sonnet\",\n \"opus\",\n \"haiku\"\n ],\n \"path\": [\n \"model\"\n ],\n \"message\": \"Invalid enum value. Expected 'sonnet' | 'opus' | 'haiku', received 'qwen3-max'\"\n }\n]</tool_use_error>" } ] }, "timestamp":"2025-12-23T17:51:24.784456" } [ { "received": "qwen3-max", "code": "invalid_enum_value", "options": [ "sonnet", "opus", "haiku" ], "path": [ "model" ], "message": "Invalid enum value. Expected 'sonnet' | 'opus' | 'haiku', received 'qwen3-max'" } ] ]]>我设想的实现方法有以下几种:
基于以上思路,我调研了:
| 方案 | 优点 | 缺点 |
|---|---|---|
| 行车记录仪 | 移动中录像和拍照 | 只能通过自家 app 实时查看 |
| 运动相机 | 移动中录像和拍照 | 无法实时获取相片 |
| 手机 | 可以拿到定位 | 未测试车辆运动中的拍照情况 |
| 车载云台 | 可以通过 sdk 对流截图以及定位信息 | 贵,一台 1w+ |
我又搜了一下,大多数摄像头支持 rtmp/onvif 播放,我是否可以在局域网内播放流进行截图?由于未接触过,所以不知道能否实现。可以在车内增加别的设备但要考虑供电问题,例如 NVR
希望有经验的大佬可以不吝赐教。
]]>export default { async fetch(request, env, ctx) { // 处理 CORS 预检请求 if (request.method === 'OPTIONS') { return new Response(null, { status: 200, headers: { 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': 'GET, POST, OPTIONS', 'Access-Control-Allow-Headers': 'Content-Type, Authorization', 'Access-Control-Max-Age': '86400', }, }); } // 验证 API Key const authHeader = request.headers.get('Authorization'); if (!authHeader || !authHeader.startsWith('Bearer ')) { return new Response(JSON.stringify({ error: { message: 'API key required', type: 'invalid_request_error', code: 'invalid_api_key' } }), { status: 401, headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } }); } const apiKey = authHeader.substring(7); const validApiKeys = env.VALID_API_KEYS ? env.VALID_API_KEYS.split(',') : ['your-api-key-here']; if (!validApiKeys.includes(apiKey)) { return new Response(JSON.stringify({ error: { message: 'Invalid API key', type: 'invalid_request_error', code: 'invalid_api_key' } }), { status: 401, headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } }); } const url = new URL(request.url); // 模型映射 const modelMap = { 'deepseek-r1': '@cf/deepseek-ai/deepseek-r1-distill-qwen-32b', 'gpt-oss-120b': '@cf/openai/gpt-oss-120b', 'gpt-oss-20b': '@cf/openai/gpt-oss-20b', 'llama-4-scout': '@cf/meta/llama-4-scout-17b-16e-instruct', 'qwen32b': '@cf/qwen/qwq-32b', 'gemma-3': '@cf/google/gemma-3-12b-it', 'qwen3-embedding-0.6b': '@cf/qwen/qwen3-embedding-0.6b' }; // 聊天接口 if (url.pathname === '/v1/chat/completions' && request.method === 'POST') { try { const body = await request.json(); if (!body.messages || !Array.isArray(body.messages)) { return new Response(JSON.stringify({ error: { message: 'Messages must be an array', type: 'invalid_request_error', code: 'invalid_parameter' } }), { status: 400, headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } }); } const model = body.model || 'deepseek-r1'; const cfModel = modelMap[model]; if (!cfModel) { return new Response(JSON.stringify({ error: { message: `Model '${model}' not supported`, type: 'invalid_request_error', code: 'model_not_found' } }), { status: 400, headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } }); } // 构造 AI 请求参数 let aiRequest = {}; let useRespOnsesAPI= cfModel.startsWith('@cf/openai/gpt-oss'); if (useResponsesAPI) { // Responses API 格式 const systemMsg = body.messages.find(m => m.role === 'system')?.content || "You are a helpful assistant."; const userMsgs = body.messages.filter(m => m.role === 'user').map(m => m.content).join("\n"); aiRequest = { input: userMsgs, instructions: systemMsg, temperature: body.temperature ?? 0.7, top_p: body.top_p ?? 0.9, max_tokens: body.max_tokens ?? 2048, reasoning: body.reasoning ?? { effort: "medium" } }; } else { // 旧模型:拼接 prompt let prompt = ''; for (const message of body.messages) { if (message.role === 'system') prompt += `System: ${message.content}\n\n`; if (message.role === 'user') prompt += `User: ${message.content}\n\n`; if (message.role === 'assistant') prompt += `Assistant: ${message.content}\n\n`; } prompt += 'Assistant: '; aiRequest = { prompt, temperature: body.temperature ?? 0.7, top_p: body.top_p ?? 0.9, max_tokens: body.max_tokens ?? 4096, }; } // 调用 Cloudflare AI const respOnse= await env.AI.run(cfModel, aiRequest); const completiOnId= 'chatcmpl-' + Math.random().toString(36).substring(2, 15); const timestamp = Math.floor(Date.now() / 1000); // 获取最终回答内容 let assistantCOntent= ""; if (useResponsesAPI) { if (response.output && Array.isArray(response.output)) { assistantCOntent= response.output .flatMap(msg => msg.content .filter(c => c.type === "output_text") .map(c => c.text) ) .join("\n"); } } else { assistantCOntent= response.response ?? ""; } // 流式输出 if (body.stream) { const encoder = new TextEncoder(); const stream = new ReadableStream({ start(controller) { // 开始事件 controller.enqueue(encoder.encode(`data: ${JSON.stringify({ id: completionId, object: 'chat.completion.chunk', created: timestamp, model, choices: [{ index: 0, delta: { role: 'assistant', content: "" }, finish_reason: null }] })}\n\n`)); // 模拟逐块输出 const chunkSize = 20; for (let i = 0; i < assistantContent.length; i += chunkSize) { const chunk = assistantContent.slice(i, i + chunkSize); controller.enqueue(encoder.encode(`data: ${JSON.stringify({ id: completionId, object: 'chat.completion.chunk', created: timestamp, model, choices: [{ index: 0, delta: { content: chunk }, finish_reason: null }] })}\n\n`)); } // 结束事件 controller.enqueue(encoder.encode(`data: ${JSON.stringify({ id: completionId, object: 'chat.completion.chunk', created: timestamp, model, choices: [{ index: 0, delta: {}, finish_reason: 'stop' }] })}\n\n`)); controller.enqueue(encoder.encode('data: [DONE]\n\n')); controller.close(); } }); return new Response(stream, { headers: { 'Content-Type': 'text/event-stream', 'Cache-Control': 'no-cache', 'Connection': 'keep-alive', 'Access-Control-Allow-Origin': '*' }, }); } // 非流式输出 const chatCompletion = { id: completionId, object: 'chat.completion', created: timestamp, model, choices: [{ index: 0, message: { role: 'assistant', content: assistantContent }, finish_reason: 'stop' }], usage: { prompt_tokens: Math.ceil(JSON.stringify(body.messages).length / 4), completion_tokens: Math.ceil(assistantContent.length / 4), total_tokens: Math.ceil((JSON.stringify(body.messages).length + assistantContent.length) / 4) } }; return new Response(JSON.stringify(chatCompletion), { headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } }); } catch (error) { console.error('Error:', error); return new Response(JSON.stringify({ error: { message: 'Internal server error', type: 'server_error', code: 'internal_error' } }), { status: 500, headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } }); } } // 嵌入模型 if (url.pathname === '/v1/embeddings' && request.method === 'POST') { try { const body = await request.json(); if (!body.input) { return new Response(JSON.stringify({ error: { message: 'Input is required', type: 'invalid_request_error', code: 'invalid_parameter' } }), { status: 400, headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } }); } const model = body.model; const cfModel = modelMap[model]; if (!cfModel) { return new Response(JSON.stringify({ error: { message: `Model '${model}' not supported`, type: 'invalid_request_error', code: 'model_not_found' } }), { status: 400, headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } }); } // 调用 AI 获取 embedding let embeddingResponse; // Responses API 假设支持 embedding embeddingRespOnse= await env.AI.run(cfModel, { text: body.input }); // 构造返回 const embedding = embeddingResponse.embedding || [0]; // 如果返回格式不同,需要根据实际结果调整 return new Response(JSON.stringify(embeddingResponse), { headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } }); } catch (error) { console.error('Embedding error:', error); return new Response(JSON.stringify({ error: { message: 'Internal server error', type: 'server_error', code: 'internal_error' } }), { status: 500, headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } }); } } // 模型列表 if (url.pathname === '/v1/models' && request.method === 'GET') { const models = Object.keys(modelMap).map(id => ({ id, object: 'model', created: Math.floor(Date.now() / 1000), owned_by: 'cloudflare', permission: [{ id: 'modelperm-' + id, object: 'model_permission', created: Math.floor(Date.now() / 1000), allow_create_engine: false, allow_sampling: true, allow_logprobs: false, allow_search_indices: false, allow_view: true, allow_fine_tuning: false, organization: '*', group: null, is_blocking: false }] })); return new Response(JSON.stringify({ object: 'list', data: models }), { headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } }); } // 健康检查 if (url.pathname === '/health' && request.method === 'GET') { return new Response(JSON.stringify({ status: 'healthy', timestamp: new Date().toISOString(), models: Object.keys(modelMap) }), { headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } }); } // 404 return new Response(JSON.stringify({ error: { message: 'Not found', type: 'invalid_request_error', code: 'not_found' } }), { status: 404, headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } }); }, }; ]]>不晓得现在的无线蓝牙耳机如何,能否正常进行麦克风的交流?
求 v 友推荐,最好百元以内。
]]>
]]>clash for windows,下架后还用了很久clash verge,用了一年感觉小毛病挺多的clash在windows,android,ios三个平台的最好的选择是哪些,毕竟现在clashxxx太多了,有点挑花了眼